@mndrk/agx 2.3.3 → 2.4.1

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 (1038) hide show
  1. package/README.md +1 -1
  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 +27 -19
  4. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +2 -2
  5. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +213 -125
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +1 -1
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/skills/route.js +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/skills/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +10 -10
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/events/route/app-paths-manifest.json +3 -0
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/events/route.js +7 -0
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → chat-runs/[id]/events}/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → chat-runs/[id]/events}/route_client-reference-manifest.js +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -3
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/health/route.js +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/health/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/learnings/route.js +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/learnings/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/memories/route.js +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/memories/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +1 -1
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/unassigned/route.js +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/unassigned/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +2 -2
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +1 -1
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +1 -1
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +1 -1
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +13 -13
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +1 -1
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +14 -14
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +1 -1
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +8 -8
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/agents/route.js +1 -1
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/agents/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/route.js +1 -1
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/route.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/export/route.js +1 -1
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/export/route.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/import/route.js +1 -1
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/import/route.js.nft.json +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/[key]/route.js +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/[key]/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +15 -15
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/complete/route.js +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +2 -2
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +9 -9
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +12 -12
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/route/app-paths-manifest.json +3 -0
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/route.js +8 -0
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → task-groups/[id]}/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → task-groups/[id]}/route_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/tasks/route/app-paths-manifest.json +3 -0
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/tasks/route.js +8 -0
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/active-agents → task-groups/[id]/tasks}/route.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → task-groups/[id]/tasks}/route_client-reference-manifest.js +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route/app-paths-manifest.json +3 -0
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route.js +8 -0
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route.js.nft.json +1 -0
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → task-groups}/route_client-reference-manifest.js +1 -1
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js +1 -1
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +2 -2
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +1 -1
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +1 -1
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tracker/notes/route/app-paths-manifest.json +3 -0
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tracker/notes/route.js +6 -0
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → tracker/notes}/route.js.nft.json +1 -1
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → tracker/notes}/route_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route/app-paths-manifest.json +3 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route.js +7 -0
  236. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/[id] → trackers/[tracker]/active-agents}/route.js.nft.json +1 -1
  237. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route_client-reference-manifest.js +2 -0
  238. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route/app-paths-manifest.json +3 -0
  239. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → trackers/[tracker]/auth}/route.js +8 -7
  240. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js.nft.json +1 -0
  241. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route_client-reference-manifest.js +2 -0
  242. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route/app-paths-manifest.json +3 -0
  243. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js +12 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js.nft.json +1 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/active-agents → trackers/[tracker]/callback}/route_client-reference-manifest.js +1 -1
  246. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route/app-paths-manifest.json +3 -0
  247. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js +12 -0
  248. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js.nft.json +1 -0
  249. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route_client-reference-manifest.js +2 -0
  250. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route/app-paths-manifest.json +3 -0
  251. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js +12 -0
  252. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js.nft.json +1 -0
  253. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route_client-reference-manifest.js +2 -0
  254. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route/app-paths-manifest.json +3 -0
  255. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js +13 -0
  256. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -0
  257. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route_client-reference-manifest.js +2 -0
  258. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route/app-paths-manifest.json +3 -0
  259. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js +12 -0
  260. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js.nft.json +1 -0
  261. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route_client-reference-manifest.js +2 -0
  262. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route/app-paths-manifest.json +3 -0
  263. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js +12 -0
  264. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js.nft.json +1 -0
  265. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → trackers/[tracker]/items}/route_client-reference-manifest.js +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route/app-paths-manifest.json +3 -0
  267. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js +13 -0
  268. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js.nft.json +1 -0
  269. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route_client-reference-manifest.js +2 -0
  270. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route/app-paths-manifest.json +3 -0
  271. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js +12 -0
  272. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js.nft.json +1 -0
  273. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route_client-reference-manifest.js +2 -0
  274. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route/app-paths-manifest.json +3 -0
  275. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js +12 -0
  276. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js.nft.json +1 -0
  277. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route_client-reference-manifest.js +2 -0
  278. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route/app-paths-manifest.json +3 -0
  279. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/runs}/route.js +8 -7
  280. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js.nft.json +1 -0
  281. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route_client-reference-manifest.js +2 -0
  282. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route/app-paths-manifest.json +3 -0
  283. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js +12 -0
  284. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -0
  285. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route_client-reference-manifest.js +2 -0
  286. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route/app-paths-manifest.json +3 -0
  287. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route/build-manifest.json +11 -0
  288. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js +12 -0
  289. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -0
  290. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route_client-reference-manifest.js +2 -0
  291. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route/app-paths-manifest.json +3 -0
  292. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route/build-manifest.json +11 -0
  293. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route/server-reference-manifest.json +4 -0
  294. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js +12 -0
  295. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.map +5 -0
  296. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.nft.json +1 -0
  297. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route_client-reference-manifest.js +2 -0
  298. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route/app-paths-manifest.json +3 -0
  299. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route/build-manifest.json +11 -0
  300. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route/server-reference-manifest.json +4 -0
  301. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js +12 -0
  302. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.map +5 -0
  303. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.nft.json +1 -0
  304. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route_client-reference-manifest.js +2 -0
  305. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route/app-paths-manifest.json +3 -0
  306. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route/build-manifest.json +11 -0
  307. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route/server-reference-manifest.json +4 -0
  308. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js +16 -0
  309. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.map +5 -0
  310. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.nft.json +1 -0
  311. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route_client-reference-manifest.js +2 -0
  312. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route/app-paths-manifest.json +3 -0
  313. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route/build-manifest.json +11 -0
  314. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route/server-reference-manifest.json +4 -0
  315. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js +7 -0
  316. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js.map +5 -0
  317. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → trackers/connections}/route.js.nft.json +1 -1
  318. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/connections}/route_client-reference-manifest.js +1 -1
  319. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route/app-paths-manifest.json +3 -0
  320. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route/build-manifest.json +11 -0
  321. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route/server-reference-manifest.json +4 -0
  322. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js +7 -0
  323. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.map +5 -0
  324. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -0
  325. package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → update-check}/route_client-reference-manifest.js +1 -1
  326. package/cloud-runtime/standalone/apps/local/.next/server/app/api/user-settings/route.js +1 -1
  327. package/cloud-runtime/standalone/apps/local/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  328. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  329. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +3 -3
  330. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  331. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +3 -3
  332. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  333. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  334. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  335. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  336. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  337. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  340. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  342. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  343. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  344. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  345. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  346. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  347. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  348. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  349. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  350. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  351. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  352. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  353. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  354. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  355. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  356. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  357. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  358. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  359. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  360. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  361. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  362. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  363. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  364. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  365. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  366. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  367. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  368. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/app-paths-manifest.json +3 -0
  369. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/next-font-manifest.json +11 -0
  370. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking/[tracker]}/page/react-loadable-manifest.json +3 -3
  371. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/server-reference-manifest.json +4 -0
  372. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js +16 -0
  373. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.map +5 -0
  374. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -0
  375. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +2 -0
  376. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/app-paths-manifest.json +3 -0
  377. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/build-manifest.json +18 -0
  378. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/next-font-manifest.json +11 -0
  379. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/react-loadable-manifest.json +1 -0
  380. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/server-reference-manifest.json +4 -0
  381. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js +16 -0
  382. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.map +5 -0
  383. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -0
  384. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +2 -0
  385. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/app-paths-manifest.json +3 -0
  386. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/build-manifest.json +18 -0
  387. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking}/page/next-font-manifest.json +1 -1
  388. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/react-loadable-manifest.json +16 -0
  389. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/server-reference-manifest.json +4 -0
  390. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking}/page.js +6 -6
  391. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.map +5 -0
  392. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking}/page.js.nft.json +1 -1
  393. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +2 -0
  394. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  395. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  396. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  397. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  398. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  399. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  400. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  401. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  402. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  403. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  404. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  405. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  406. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  407. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +2 -2
  408. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +2 -2
  409. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  410. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  411. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  412. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
  413. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  414. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  415. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  416. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  417. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
  418. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  419. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  420. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  421. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  422. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  423. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  424. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +27 -19
  425. package/cloud-runtime/standalone/apps/local/.next/server/chunks/083c9_next-internal_server_app_api_trackers_[tracker]_callback_route_actions_e1d8c3e4.js +3 -0
  426. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_trackers_connections_route_actions_35145606.js +3 -0
  427. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_active-agents_route_actions_e9c27b60.js +3 -0
  428. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_items_[id]_activity_route_actions_bb364795.js +3 -0
  429. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_items_[id]_recap_route_actions_aaed4138.js +3 -0
  430. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_items_[id]_route_actions_6382f424.js +3 -0
  431. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_mcp-setup_route_actions_1279e3c1.js +3 -0
  432. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_runs_[id]_route_actions_4c32ff23.js +3 -0
  433. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_runs_scripted_route_actions_3c16062e.js +3 -0
  434. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_token-receive_route_actions_f831c68f.js +3 -0
  435. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__cb7264ab._.js +3 -0
  436. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]_fs_promises_0bfe4114._.js +3 -0
  437. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8ea8c1b9._.js → [root-of-the-server]__03585144._.js} +2 -2
  438. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9a457fa6._.js → [root-of-the-server]__04ee9637._.js} +2 -2
  439. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__079c42ac._.js +3 -0
  440. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08a40fc7._.js +3 -0
  441. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__bad0734e._.js → [root-of-the-server]__0a528fae._.js} +2 -2
  442. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__29ef193f._.js → [root-of-the-server]__0b317b6d._.js} +2 -2
  443. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fbbaf2d._.js +95 -0
  444. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__101fe653._.js +3 -0
  445. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10a90219._.js +69 -0
  446. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__305e10a8._.js → [root-of-the-server]__10bfac8f._.js} +2 -2
  447. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__121d8e45._.js +3 -0
  448. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1629da24._.js +9 -0
  449. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9a4dd378._.js → [root-of-the-server]__19d0fac1._.js} +2 -2
  450. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1d3e684e._.js +70 -0
  451. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__203428c1._.js +6 -0
  452. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__21721841._.js +3 -0
  453. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__240d98b0._.js +3 -0
  454. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__a7163d7b._.js → [root-of-the-server]__2ab23e45._.js} +2 -2
  455. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2bb933c7._.js +3 -0
  456. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2c148e2b._.js +3 -0
  457. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2ff70366._.js +3 -0
  458. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__17474404._.js → [root-of-the-server]__368f5ffd._.js} +2 -2
  459. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__80be3fd0._.js → [root-of-the-server]__39baf5f6._.js} +1 -1
  460. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3a038592._.js +10 -8
  461. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3b27260f._.js +114 -0
  462. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__f99bf39d._.js → [root-of-the-server]__41534d9e._.js} +2 -2
  463. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9f7dc3d5._.js → [root-of-the-server]__4641ba3f._.js} +2 -2
  464. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0408eb2d._.js → [root-of-the-server]__4b167927._.js} +2 -2
  465. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e11afc3._.js → [root-of-the-server]__4b9d4f5c._.js} +2 -2
  466. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__45988247._.js → [root-of-the-server]__4e296e1f._.js} +2 -2
  467. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__3a639150._.js → [root-of-the-server]__4fbf7baa._.js} +2 -2
  468. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__cf874bd3._.js → [root-of-the-server]__5184da61._.js} +3 -3
  469. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__5859156d._.js +8 -0
  470. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6062bf0a._.js +3 -0
  471. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__68b692c4._.js +131 -0
  472. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__92dfd9af._.js → [root-of-the-server]__6b0b354d._.js} +2 -2
  473. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8363ba26._.js → [root-of-the-server]__6e0ef488._.js} +2 -2
  474. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__68c85bdd._.js → [root-of-the-server]__6e73b6e1._.js} +2 -2
  475. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__a8861f5b._.js → [root-of-the-server]__6ead08b8._.js} +2 -2
  476. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__fd3e97e7._.js → [root-of-the-server]__6f6afa0f._.js} +20 -20
  477. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__73f80c8c._.js +3 -0
  478. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__7be142e5._.js → [root-of-the-server]__7b7b4601._.js} +2 -2
  479. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7cd28ae0._.js +3 -0
  480. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7db7c421._.js +119 -0
  481. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__1888961f._.js → [root-of-the-server]__7fcbb0c2._.js} +96 -94
  482. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__83baa76e._.js → [root-of-the-server]__80aea589._.js} +1 -1
  483. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8269cb17._.js +3 -0
  484. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__847236fb._.js +3 -0
  485. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__847ab7ae._.js +3 -0
  486. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__91dd4b59._.js → [root-of-the-server]__8dd3b8c5._.js} +2 -2
  487. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__268327fe._.js → [root-of-the-server]__905a5b44._.js} +2 -2
  488. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8c1f1ac0._.js → [root-of-the-server]__90dd5edd._.js} +2 -2
  489. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__97b5dbf7._.js +3 -0
  490. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__bb6304da._.js → [root-of-the-server]__97e51964._.js} +2 -2
  491. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0ce28b4a._.js → [root-of-the-server]__97e7a600._.js} +2 -2
  492. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9e4c0741._.js +8 -0
  493. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9e9149cd._.js +3 -0
  494. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__cea6728f._.js → [root-of-the-server]__a74338e8._.js} +2 -2
  495. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__816926cc._.js → [root-of-the-server]__aa4e5942._.js} +2 -2
  496. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ab9b38d8._.js +3 -0
  497. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__4c4892ef._.js → [root-of-the-server]__ac854687._.js} +2 -2
  498. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c18c59db._.js → [root-of-the-server]__ae54e5ab._.js} +2 -2
  499. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b0a94c41._.js +70 -0
  500. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b1357960._.js +3 -0
  501. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__53af378f._.js → [root-of-the-server]__b810670d._.js} +2 -2
  502. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ba72d342._.js +91 -0
  503. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__da39c8a8._.js → [root-of-the-server]__bb757af8._.js} +2 -2
  504. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c07d22ff._.js +3 -0
  505. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c3408141._.js +3 -0
  506. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c4a986f6._.js +3 -0
  507. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__6e876a97._.js → [root-of-the-server]__c614c26c._.js} +2 -2
  508. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c936d679._.js +17 -0
  509. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__caa79472._.js +3 -0
  510. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__dc146f58._.js → [root-of-the-server]__cbd45246._.js} +2 -2
  511. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8316aa3e._.js → [root-of-the-server]__d402ed75._.js} +2 -2
  512. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d8cc43c7._.js +114 -0
  513. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__e9ff8266._.js → [root-of-the-server]__d8efbb6c._.js} +2 -2
  514. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__e679695d._.js → [root-of-the-server]__dd538d32._.js} +2 -2
  515. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c16e8d2d._.js → [root-of-the-server]__df0f00fd._.js} +2 -2
  516. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__131f801a._.js → [root-of-the-server]__e237981c._.js} +2 -2
  517. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__7d454180._.js → [root-of-the-server]__e583235c._.js} +2 -2
  518. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__ccd1a823._.js → [root-of-the-server]__ece576c1._.js} +2 -2
  519. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ef1c393e._.js +70 -0
  520. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c97ac79d._.js → [root-of-the-server]__f21be9eb._.js} +2 -2
  521. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f598d976._.js +3 -0
  522. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f7a936d9._.js +114 -0
  523. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__d7e4a538._.js → [root-of-the-server]__fb5944d3._.js} +1 -1
  524. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fb694089._.js +3 -0
  525. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fbe43c0a._.js +3 -0
  526. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{_3a4bfa8b._.js → _08b93004._.js} +2 -2
  527. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1a4cb196._.js +95 -0
  528. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_2124f905._.js +25 -0
  529. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_21812330._.js +23 -23
  530. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_25136564._.js +11 -0
  531. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_520e6344._.js +25 -0
  532. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5b3f1f41._.js +1 -1
  533. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5e5f36c4._.js +91 -0
  534. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_80b34b78._.js +3 -0
  535. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_8f9f647d._.js +128 -0
  536. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_task-groups_[id]_route_actions_b10cc67c.js +3 -0
  537. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_task-groups_route_actions_0079ff4a.js +3 -0
  538. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_tracker_notes_route_actions_b8a47be9.js +3 -0
  539. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_update-check_route_actions_29ba83b6.js +3 -0
  540. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_3e0a6a05._.js → apps_local_a15e73a6._.js} +3 -3
  541. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_aac0e4cb._.js +109 -0
  542. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_b8cc7add._.js +23 -23
  543. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_2c8c923a._.js → apps_local_c101ba9e._.js} +2 -2
  544. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d256aa32._.js +286 -0
  545. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e12b284f._.js +23 -23
  546. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e1f4d9ad._.js +91 -0
  547. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e55f28ef._.js +296 -0
  548. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_ea2bca7e._.js +109 -0
  549. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_f8b3abae._.js +91 -0
  550. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_3ddc6591._.js +4 -0
  551. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_6bd3d8a2._.js +15 -15
  552. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_cli-runner_ts_ead5489c._.js +18 -18
  553. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_d268503a._.js +15 -15
  554. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_history-store_ts_e4ff7678._.js +19 -12
  555. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_history-store_ts_e98db4de._.js +19 -12
  556. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_58f0d34e._.js → apps_local_lib_linear-issues_ts_50093d17._.js} +15 -20
  557. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_46384f36._.js +22 -21
  558. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_7b90c71f._.js +49 -23
  559. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_7ee03cea._.js +3 -0
  560. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_a3d4d8f4._.js +48 -22
  561. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_tracker_tracker-run-store_ts_5aa9592e._.js +114 -0
  562. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_chat-runs_[id]_events_route_actions_2099e8ec.js +3 -0
  563. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_task-groups_[id]_tasks_route_actions_9a8b437b.js +3 -0
  564. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_auth_route_actions_93e51026.js +3 -0
  565. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_groups_route_actions_950eeaf7.js +3 -0
  566. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_items_route_actions_41ec2af7.js +3 -0
  567. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_options_route_actions_19b0ffef.js +3 -0
  568. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_runs_route_actions_54d24a56.js +3 -0
  569. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_status_route_actions_1f8ce507.js +3 -0
  570. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_token_route_actions_93eeb2d1.js +3 -0
  571. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_worker_route_actions_22ced26f.js +3 -0
  572. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/083c9_next-internal_server_app_projects_[slug]_tracking_connect_page_actions_72d4a587.js +3 -0
  573. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0da96_local__next-internal_server_app_projects_[slug]_tracking_page_actions_ad982907.js +3 -0
  574. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/30bdd_server_app_projects_[slug]_tracking_[tracker]_page_actions_c27c0fcc.js +3 -0
  575. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_5e38c2ed._.js +3 -0
  576. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__6e4038bb._.js → [root-of-the-server]__2c4531d0._.js} +2 -2
  577. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__30bf097e._.js +3 -0
  578. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__46ae9d33._.js +3 -0
  579. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__50fd8680._.js +3 -0
  580. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__64cb5d93._.js → [root-of-the-server]__51edc9b6._.js} +2 -2
  581. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5aa35736._.js +3 -0
  582. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5c817ed1._.js +3 -0
  583. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__799f4d13._.js +3 -0
  584. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__8059a285._.js +3 -0
  585. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__886953ec._.js +7 -0
  586. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__97160565._.js +3 -0
  587. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__b8a00d09._.js +3 -0
  588. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bc60b3cf._.js +3 -0
  589. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bce1fbf7._.js +1 -1
  590. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__c2c07c79._.js +3 -0
  591. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__c7e1ea27._.js +1 -1
  592. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__24007358._.js → [root-of-the-server]__ce586680._.js} +2 -2
  593. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__fdfb2d96._.js +3 -0
  594. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_55671310._.js +13 -13
  595. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_ba2abc47._.js +7 -0
  596. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_e00b6c25._.js +3 -0
  597. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_e485f527._.js +3 -0
  598. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_064c7b93._.js +18 -0
  599. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_16902bc1._.js +1 -1
  600. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_1e4a0236._.js +1 -1
  601. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_35d90b5d._.js +3 -0
  602. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3e5712aa._.js +3 -0
  603. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3f9f6417._.js +1 -1
  604. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5d6a3ce2._.js +3 -0
  605. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5eebb5cb._.js +3 -0
  606. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_7395ab20._.js +18 -0
  607. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_86f59be8._.js +3 -0
  608. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js +1 -1
  609. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_3bb31889._.js +1 -1
  610. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_76330306._.js +1 -1
  611. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_0933eeaf._.js +1 -1
  612. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_thread_[threadId]_page_tsx_2a1d1d5e._.js +1 -1
  613. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_c5e75cc1._.js +18 -0
  614. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +48 -0
  615. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_f0554cb4._.js +11 -0
  616. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +3 -3
  617. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_d9a0fd57._.js +4 -0
  618. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_da1774f7._.js +4 -0
  619. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_5b388b71._.js → apps_local_e46807f8._.js} +3 -3
  620. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_e7a823e9._.js +3 -0
  621. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_f67bb291._.js +18 -0
  622. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +20 -17
  623. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  624. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  625. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +12 -4
  626. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  627. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
  628. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  629. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  630. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0876dfd6ce07abaf.js +9 -0
  631. package/cloud-runtime/standalone/apps/local/.next/static/chunks/114ea1bfd6907330.js +1 -0
  632. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1533a70763aff97d.js +1 -0
  633. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1ec83777a9abd420.js +16 -0
  634. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1fef9364e8667e88.js +1 -0
  635. package/cloud-runtime/standalone/apps/local/.next/static/chunks/286758b0fd546c68.js +16 -0
  636. package/cloud-runtime/standalone/apps/local/.next/static/chunks/31eb3dfbf34049d2.js +1 -0
  637. package/cloud-runtime/standalone/apps/local/.next/static/chunks/31fa61ac9eccd69e.js +1 -0
  638. package/cloud-runtime/standalone/apps/local/.next/static/chunks/37f4e8258ca4d3fb.js +1 -0
  639. package/cloud-runtime/standalone/apps/local/.next/static/chunks/416f4124364c7ec8.js +1 -0
  640. package/cloud-runtime/standalone/apps/local/.next/static/chunks/4eaf7bca1be5edfa.js +1 -0
  641. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6c278ae4535b6d5c.js +1 -0
  642. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6c777fe66e042eec.js +16 -0
  643. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{2b946f9d53da482e.js → 77cea126364aab3c.js} +1 -1
  644. package/cloud-runtime/standalone/apps/local/.next/static/chunks/85b0b6ed57b5df52.js +1 -0
  645. package/cloud-runtime/standalone/apps/local/.next/static/chunks/87e4fb11329a358d.js +1 -0
  646. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{4bc34bec0c539bb8.js → 8a9626e4d7c259ee.js} +6 -6
  647. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a72ed5cb3feb0d51.js +5 -0
  648. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b02c180ad1d968eb.js +16 -0
  649. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b048a4812b51f97a.js +1 -0
  650. package/cloud-runtime/standalone/apps/local/.next/static/chunks/be9022a471666b85.js +1 -0
  651. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c63d97c917d96f47.js +46 -0
  652. package/cloud-runtime/standalone/apps/local/.next/static/chunks/cb19d71dd7ffb935.js +1 -0
  653. package/cloud-runtime/standalone/apps/local/.next/static/chunks/cbb4dbdc63177701.js +1 -0
  654. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{bf4057d9deff2a78.js → cd19b123505dd26c.js} +2 -2
  655. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d3bf70e2fbdc0ae5.js +5 -0
  656. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{592bca7fe1fc1455.js → d500a3f5d15b31d5.js} +1 -1
  657. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d5b14e14665024a9.js +5 -0
  658. package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd5a56eea2d4c067.js +16 -0
  659. package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd7d7c382389b8b9.js +16 -0
  660. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{571e45336377eb45.js → e72724fd8225ec39.js} +3 -3
  661. package/cloud-runtime/standalone/apps/local/.next/static/chunks/ec92e3bd6c2db6e6.css +1 -0
  662. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f3c1b6295b9442c6.js +1 -0
  663. package/cloud-runtime/standalone/apps/local/app/api/chat-runs/[id]/events/route.ts +98 -0
  664. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +1 -1
  665. package/cloud-runtime/standalone/apps/local/app/api/task-groups/[id]/route.ts +38 -0
  666. package/cloud-runtime/standalone/apps/local/app/api/task-groups/[id]/tasks/route.ts +42 -0
  667. package/cloud-runtime/standalone/apps/local/app/api/task-groups/route.ts +38 -0
  668. package/cloud-runtime/standalone/apps/local/app/api/tracker/notes/route.ts +65 -0
  669. package/cloud-runtime/standalone/apps/local/app/api/{linear/issues → trackers/[tracker]}/active-agents/route.ts +3 -2
  670. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/auth/route.ts +29 -0
  671. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/callback/route.ts +58 -0
  672. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/groups/route.ts +24 -0
  673. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/activity/route.ts +24 -0
  674. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/recap/route.ts +125 -0
  675. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/route.ts +60 -0
  676. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/route.ts +44 -0
  677. package/cloud-runtime/standalone/apps/local/app/api/{linear → trackers/[tracker]}/mcp-setup/route.ts +90 -33
  678. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/options/route.ts +33 -0
  679. package/cloud-runtime/standalone/apps/local/app/api/{linear → trackers/[tracker]}/runs/[id]/route.ts +24 -16
  680. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/runs/route.ts +87 -0
  681. package/cloud-runtime/standalone/apps/local/app/api/{linear → trackers/[tracker]}/runs/scripted/route.ts +13 -6
  682. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/status/route.ts +48 -0
  683. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/token/route.ts +49 -0
  684. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/token-receive/route.ts +52 -0
  685. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/worker/route.ts +163 -0
  686. package/cloud-runtime/standalone/apps/local/app/api/trackers/connections/route.ts +96 -0
  687. package/cloud-runtime/standalone/apps/local/app/api/update-check/route.ts +50 -0
  688. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +2 -1
  689. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/terminal/page.tsx +4 -1
  690. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/{linear → tracking/[tracker]}/page.tsx +11 -6
  691. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/connect/page.tsx +180 -0
  692. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/page.tsx +36 -0
  693. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +3 -3
  694. package/cloud-runtime/standalone/apps/local/components/{LinearBoard.tsx → TrackerBoard.tsx} +654 -302
  695. package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +18 -75
  696. package/cloud-runtime/standalone/apps/local/components/chat-ui/MessageBubble.tsx +6 -1
  697. package/cloud-runtime/standalone/apps/local/components/chat-ui/MessageList.tsx +34 -8
  698. package/cloud-runtime/standalone/apps/local/components/chat-ui/StreamingSegments.tsx +88 -0
  699. package/cloud-runtime/standalone/apps/local/components/chat-ui/ThreadView.tsx +23 -13
  700. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +18 -2
  701. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +7 -7
  702. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +28 -5
  703. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +61 -46
  704. package/cloud-runtime/standalone/apps/local/components/tracker/FolderRow.tsx +161 -0
  705. package/cloud-runtime/standalone/apps/local/components/tracker/GroupNamePrompt.tsx +110 -0
  706. package/cloud-runtime/standalone/apps/local/components/tracker/GroupPanel.tsx +306 -0
  707. package/cloud-runtime/standalone/apps/local/components/tracker/NoteSticker.tsx +161 -0
  708. package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/RunScriptManager.tsx +7 -7
  709. package/cloud-runtime/standalone/apps/local/components/tracker/SelectionBar.tsx +38 -0
  710. package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/TicketPanel.tsx +39 -37
  711. package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/TicketRecapSection.tsx +9 -5
  712. package/cloud-runtime/standalone/apps/local/components/tracker/TicketRow.tsx +279 -0
  713. package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/TicketSessionList.tsx +3 -3
  714. package/cloud-runtime/standalone/apps/local/components/{linear/LinearSettingsModal.tsx → tracker/TrackerSettingsModal.tsx} +26 -22
  715. package/cloud-runtime/standalone/apps/local/components/{linear/LinearWorkerConfig.tsx → tracker/TrackerWorkerConfig.tsx} +12 -12
  716. package/cloud-runtime/standalone/apps/local/components/{linear/LinearWorkerRunLog.tsx → tracker/TrackerWorkerRunLog.tsx} +4 -4
  717. package/cloud-runtime/standalone/apps/local/components/tracking/TaskTrackingNav.tsx +125 -0
  718. package/cloud-runtime/standalone/apps/local/components/tracking/TrackerIcon.tsx +58 -0
  719. package/cloud-runtime/standalone/apps/local/components/tracking/TrackerSetup.tsx +264 -0
  720. package/cloud-runtime/standalone/apps/local/hooks/useGroupChat.ts +1 -0
  721. package/cloud-runtime/standalone/apps/local/hooks/useProcessPolling.ts +155 -12
  722. package/cloud-runtime/standalone/apps/local/hooks/useSidebarStage.ts +54 -18
  723. package/cloud-runtime/standalone/apps/local/hooks/useTaskGroups.ts +133 -0
  724. package/cloud-runtime/standalone/apps/local/hooks/{useLinearActiveAgents.ts → useTrackerActiveAgents.ts} +19 -6
  725. package/cloud-runtime/standalone/apps/local/hooks/{useLinearConnection.ts → useTrackerConnection.ts} +107 -26
  726. package/cloud-runtime/standalone/apps/local/hooks/useTrackerConnections.ts +99 -0
  727. package/cloud-runtime/standalone/apps/local/hooks/{useLinearIssueMentions.ts → useTrackerItemMentions.ts} +15 -8
  728. package/cloud-runtime/standalone/apps/local/hooks/useTrackerItems.ts +120 -0
  729. package/cloud-runtime/standalone/apps/local/hooks/{useLinearParticipants.ts → useTrackerParticipants.ts} +4 -4
  730. package/cloud-runtime/standalone/apps/local/hooks/{useLinearRunScripts.ts → useTrackerRunScripts.ts} +15 -15
  731. package/cloud-runtime/standalone/apps/local/hooks/{useLinearRuns.ts → useTrackerRuns.ts} +33 -55
  732. package/cloud-runtime/standalone/apps/local/hooks/useUpdateCheck.ts +37 -0
  733. package/cloud-runtime/standalone/apps/local/hooks/useUrlSelection.ts +19 -0
  734. package/cloud-runtime/standalone/apps/local/lib/agent-process-registry.ts +24 -6
  735. package/cloud-runtime/standalone/apps/local/lib/chat/tracker-issue-context.ts +11 -0
  736. package/cloud-runtime/standalone/apps/local/lib/chat/{linear-issue-context.ts → tracker-item-context.ts} +19 -10
  737. package/cloud-runtime/standalone/apps/local/lib/chat-event-bus.ts +84 -0
  738. package/cloud-runtime/standalone/apps/local/lib/chat-utils.ts +68 -0
  739. package/cloud-runtime/standalone/apps/local/lib/cli-runner.ts +46 -21
  740. package/cloud-runtime/standalone/apps/local/lib/constants/timing.ts +1 -0
  741. package/cloud-runtime/standalone/apps/local/lib/history-store.ts +14 -0
  742. package/cloud-runtime/standalone/apps/local/lib/linear-run-status.ts +3 -1
  743. package/cloud-runtime/standalone/apps/local/lib/{objective-linear-issues.ts → objective-tracker-issues.ts} +12 -6
  744. package/cloud-runtime/standalone/apps/local/lib/orchestrator/chat-processor.ts +35 -1
  745. package/cloud-runtime/standalone/apps/local/lib/sqlite-query-adapter.ts +32 -0
  746. package/cloud-runtime/standalone/apps/local/lib/stream-multiplexer.ts +5 -0
  747. package/cloud-runtime/standalone/apps/local/lib/task-groups-db.ts +130 -0
  748. package/cloud-runtime/standalone/apps/local/lib/tiptap/composer-mentions.ts +5 -5
  749. package/cloud-runtime/standalone/apps/local/lib/tiptap/editor-utils.ts +1 -1
  750. package/cloud-runtime/standalone/apps/local/lib/tiptap/serialize-composer.ts +2 -2
  751. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/adapter.tsx +324 -0
  752. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/client.ts +517 -0
  753. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/index.ts +18 -0
  754. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/issues.ts +268 -0
  755. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/jira-icon.tsx +22 -0
  756. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/adapter.tsx +307 -0
  757. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/client.ts +907 -0
  758. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/index.ts +9 -0
  759. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/issues.ts +376 -0
  760. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/linear-icon.tsx +14 -0
  761. package/cloud-runtime/standalone/apps/local/lib/tracker/connections.ts +67 -0
  762. package/cloud-runtime/standalone/apps/local/lib/tracker/index.ts +44 -0
  763. package/cloud-runtime/standalone/apps/local/lib/tracker/recap.ts +246 -0
  764. package/cloud-runtime/standalone/apps/local/lib/tracker/registry.ts +32 -0
  765. package/cloud-runtime/standalone/apps/local/lib/tracker/route-helpers.ts +27 -0
  766. package/cloud-runtime/standalone/apps/local/lib/{linear-scripted-session.ts → tracker/scripted-session.ts} +28 -23
  767. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-adapter.ts +64 -0
  768. package/cloud-runtime/standalone/apps/local/lib/{linear-execution-prompt.ts → tracker/tracker-execution-prompt.ts} +27 -23
  769. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-store.ts +804 -0
  770. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-run-store.ts +560 -0
  771. package/cloud-runtime/standalone/apps/local/lib/tracker/types.ts +119 -0
  772. package/cloud-runtime/standalone/apps/local/lib/tracker-board-utils.ts +4 -0
  773. package/cloud-runtime/standalone/apps/local/lib/tracker-run-status.ts +88 -0
  774. package/cloud-runtime/standalone/apps/local/lib/types.ts +1 -0
  775. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +4 -4
  776. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +7 -6
  777. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/{linear-worker-constants.ts → task-worker-constants.ts} +11 -11
  778. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/task-worker-job.ts +49 -0
  779. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/{linear-worker.ts → task-worker.ts} +47 -31
  780. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +5 -3
  781. package/cloud-runtime/standalone/apps/local/state/lastSession.test.ts +83 -0
  782. package/cloud-runtime/standalone/apps/local/state/lastSession.ts +46 -0
  783. package/cloud-runtime/standalone/apps/local/state/trackerBoardFilters.ts +112 -0
  784. package/cloud-runtime/standalone/apps/local/state/{linearBoardPins.ts → trackerBoardPins.ts} +14 -9
  785. package/cloud-runtime/standalone/apps/local/state/{linearRunScripts.ts → trackerRunScripts.ts} +32 -24
  786. package/cloud-runtime/standalone/apps/local/worker/index.js +189 -13
  787. package/lib/commands/chat.js +0 -4
  788. package/lib/logger.ts +72 -0
  789. package/package.json +1 -1
  790. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/auth/route/app-paths-manifest.json +0 -3
  791. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/auth/route.js +0 -7
  792. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/callback/route/app-paths-manifest.json +0 -3
  793. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/callback/route.js +0 -7
  794. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/callback/route_client-reference-manifest.js +0 -2
  795. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route/app-paths-manifest.json +0 -3
  796. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route.js +0 -7
  797. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route.js.nft.json +0 -1
  798. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route_client-reference-manifest.js +0 -2
  799. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/recap/route/app-paths-manifest.json +0 -3
  800. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/recap/route.js +0 -12
  801. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/recap/route.js.nft.json +0 -1
  802. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route/app-paths-manifest.json +0 -3
  803. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +0 -1
  804. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route_client-reference-manifest.js +0 -2
  805. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/active-agents/route/app-paths-manifest.json +0 -3
  806. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/active-agents/route.js +0 -7
  807. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/activity/route/app-paths-manifest.json +0 -3
  808. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/activity/route.js +0 -7
  809. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route/app-paths-manifest.json +0 -3
  810. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +0 -1
  811. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route/app-paths-manifest.json +0 -3
  812. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js +0 -11
  813. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +0 -1
  814. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route_client-reference-manifest.js +0 -2
  815. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/mcp-setup/route/app-paths-manifest.json +0 -3
  816. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/mcp-setup/route.js +0 -8
  817. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route/app-paths-manifest.json +0 -3
  818. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js +0 -11
  819. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +0 -1
  820. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route_client-reference-manifest.js +0 -2
  821. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/[id]/route/app-paths-manifest.json +0 -3
  822. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/[id]/route.js +0 -7
  823. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/[id]/route_client-reference-manifest.js +0 -2
  824. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route/app-paths-manifest.json +0 -3
  825. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route.js +0 -7
  826. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route.js.nft.json +0 -1
  827. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route_client-reference-manifest.js +0 -2
  828. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route/app-paths-manifest.json +0 -3
  829. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +0 -24
  830. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +0 -1
  831. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route/app-paths-manifest.json +0 -3
  832. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js +0 -7
  833. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +0 -1
  834. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/token/route/app-paths-manifest.json +0 -3
  835. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/token/route.js +0 -7
  836. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/token/route.js.nft.json +0 -1
  837. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +0 -3
  838. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +0 -13
  839. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +0 -1
  840. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +0 -2
  841. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route/app-paths-manifest.json +0 -3
  842. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +0 -14
  843. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +0 -1
  844. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route_client-reference-manifest.js +0 -2
  845. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/app-paths-manifest.json +0 -3
  846. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +0 -2
  847. package/cloud-runtime/standalone/apps/local/.next/server/chunks/083c9_next-internal_server_app_api_linear_issues_active-agents_route_actions_e49a4900.js +0 -3
  848. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_linear_issues_[id]_route_actions_8966da68.js +0 -3
  849. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_linear_runs_scripted_route_actions_65d0c32b.js +0 -3
  850. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_4a0d9040.js +0 -3
  851. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__c397277f._.js +0 -3
  852. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__ec108b52._.js +0 -3
  853. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0e80a97a._.js +0 -3
  854. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fc11060._.js +0 -3
  855. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1926415e._.js +0 -3
  856. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1a87c857._.js +0 -3
  857. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1d278aeb._.js +0 -8
  858. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1ee65b64._.js +0 -3
  859. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2f038740._.js +0 -8
  860. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4b05c44d._.js +0 -141
  861. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4c070f04._.js +0 -165
  862. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6183b682._.js +0 -67
  863. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__63752370._.js +0 -3
  864. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__713ff4cf._.js +0 -145
  865. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7ce30f24._.js +0 -3
  866. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__87abf03f._.js +0 -141
  867. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__a22e30c6._.js +0 -22
  868. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b176d4d9._.js +0 -160
  869. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c84eafe2._.js +0 -141
  870. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d28ace89._.js +0 -3
  871. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d7e18064._.js +0 -160
  872. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d9bbc1a6._.js +0 -141
  873. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__dfd77ac4._.js +0 -31
  874. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ef75c5b6._.js +0 -4
  875. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f66666f9._.js +0 -141
  876. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f844df91._.js +0 -3
  877. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ff6a99f0._.js +0 -160
  878. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_00ea3122._.js +0 -415
  879. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_022eee16._.js +0 -3
  880. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_08d3c605._.js +0 -25
  881. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_671682cc._.js +0 -3
  882. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_7222e528._.js +0 -9
  883. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_755b8689._.js +0 -415
  884. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_auth_route_actions_845dd997.js +0 -3
  885. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_callback_route_actions_90a636e1.js +0 -3
  886. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_cycles_route_actions_20618fe1.js +0 -3
  887. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_issues_route_actions_f798ab06.js +0 -3
  888. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_mcp-setup_route_actions_9c461973.js +0 -3
  889. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_options_route_actions_3455e6c0.js +0 -3
  890. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_runs_[id]_route_actions_4bd5ad16.js +0 -3
  891. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_runs_route_actions_8613ec29.js +0 -3
  892. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_status_route_actions_746bcaf4.js +0 -3
  893. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_token_route_actions_8fed80a2.js +0 -3
  894. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_ef891304.js +0 -3
  895. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_af73c5e8._.js +0 -155
  896. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_b3086d93._.js +0 -25
  897. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c530bd77._.js +0 -11
  898. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_f13708ae._.js +0 -415
  899. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_077d49c2._.js +0 -8
  900. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_62edff06._.js +0 -4
  901. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_941822a8._.js +0 -4
  902. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_e7ef8bcb._.js +0 -4
  903. package/cloud-runtime/standalone/apps/local/.next/server/chunks/e2f97_api_projects_[id]_objectives_[objectiveId]_linear-issues_route_actions_d506d8a3.js +0 -3
  904. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_linear_issues_[id]_recap_route_actions_7b9ac0ec.js +0 -3
  905. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_linear_issues_activity_route_actions_a25a56a3.js +0 -3
  906. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_linear_issues_context_route_actions_b8ed252b.js +0 -3
  907. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0da96_local__next-internal_server_app_projects_[slug]_linear_page_actions_d3e5c399.js +0 -3
  908. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_c5dc4091._.js +0 -3
  909. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__31c61bac._.js +0 -3
  910. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__364fdd09._.js +0 -3
  911. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__45e37c6d._.js +0 -18
  912. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7c5959c3._.js +0 -18
  913. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__8666da53._.js +0 -3
  914. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__94ab2a92._.js +0 -18
  915. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__97e9f8c3._.js +0 -18
  916. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__a3cf8479._.js +0 -3
  917. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__d47e7e93._.js +0 -18
  918. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e9f82952._.js +0 -3
  919. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_480cf274._.js +0 -3
  920. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_4e95976c._.js +0 -3
  921. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_5ec7006b._.js +0 -3
  922. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ac2a791._.js +0 -3
  923. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0c3f9085._.js +0 -7
  924. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_37d519f7._.js +0 -7
  925. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_96dee4fc._.js +0 -3
  926. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_3fd25408._.js +0 -37
  927. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_d30cc504._.js +0 -11
  928. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_df7bb32d._.js +0 -3
  929. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_f1b23697._.js +0 -11
  930. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09a9b0ff9fedfd4c.js +0 -1
  931. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1d442896a9e6f641.js +0 -1
  932. package/cloud-runtime/standalone/apps/local/.next/static/chunks/26078932a72e240a.js +0 -1
  933. package/cloud-runtime/standalone/apps/local/.next/static/chunks/28f49fb8b0515698.js +0 -1
  934. package/cloud-runtime/standalone/apps/local/.next/static/chunks/2d455dcd9ffde753.js +0 -5
  935. package/cloud-runtime/standalone/apps/local/.next/static/chunks/37015d5c91f9a893.js +0 -1
  936. package/cloud-runtime/standalone/apps/local/.next/static/chunks/5cfcd19e814c5846.js +0 -1
  937. package/cloud-runtime/standalone/apps/local/.next/static/chunks/678144d458893b62.js +0 -1
  938. package/cloud-runtime/standalone/apps/local/.next/static/chunks/79fc27e54d194ae1.css +0 -1
  939. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8c64b8a9eee8e202.js +0 -16
  940. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8f8da5f39011a5fb.js +0 -5
  941. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9a293e4003752b7f.js +0 -1
  942. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9be47f89ded22972.js +0 -16
  943. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a6bfcaae2ac8b716.js +0 -35
  944. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b2bbe7bc1d2e8729.js +0 -16
  945. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b4175ba3d8d2c54a.js +0 -1
  946. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b6ef2665e828eb71.js +0 -9
  947. package/cloud-runtime/standalone/apps/local/.next/static/chunks/be15308d13860246.js +0 -1
  948. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c91eaf8278deda9c.js +0 -1
  949. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d36cc96f4da78fc6.js +0 -1
  950. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d96375ecaaf51dbd.js +0 -1
  951. package/cloud-runtime/standalone/apps/local/.next/static/chunks/e845c01d0cc3b9a2.js +0 -1
  952. package/cloud-runtime/standalone/apps/local/.next/static/chunks/ec699df05370dd42.js +0 -1
  953. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f67c9e5af56eb2d0.js +0 -5
  954. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f693c7ecc12d1d78.js +0 -16
  955. package/cloud-runtime/standalone/apps/local/.next/static/chunks/fa9d7bb55267b173.js +0 -16
  956. package/cloud-runtime/standalone/apps/local/.next/static/chunks/fdebf03746baf784.js +0 -9
  957. package/cloud-runtime/standalone/apps/local/app/api/linear/auth/route.ts +0 -32
  958. package/cloud-runtime/standalone/apps/local/app/api/linear/callback/route.ts +0 -49
  959. package/cloud-runtime/standalone/apps/local/app/api/linear/cycles/route.ts +0 -27
  960. package/cloud-runtime/standalone/apps/local/app/api/linear/issues/[id]/recap/route.ts +0 -30
  961. package/cloud-runtime/standalone/apps/local/app/api/linear/issues/[id]/route.ts +0 -92
  962. package/cloud-runtime/standalone/apps/local/app/api/linear/issues/activity/route.ts +0 -23
  963. package/cloud-runtime/standalone/apps/local/app/api/linear/issues/context/route.ts +0 -26
  964. package/cloud-runtime/standalone/apps/local/app/api/linear/issues/route.ts +0 -96
  965. package/cloud-runtime/standalone/apps/local/app/api/linear/options/route.ts +0 -48
  966. package/cloud-runtime/standalone/apps/local/app/api/linear/runs/route.ts +0 -106
  967. package/cloud-runtime/standalone/apps/local/app/api/linear/status/route.ts +0 -51
  968. package/cloud-runtime/standalone/apps/local/app/api/linear/token/route.ts +0 -72
  969. package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +0 -151
  970. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.ts +0 -197
  971. package/cloud-runtime/standalone/apps/local/components/LinearSetup.tsx +0 -239
  972. package/cloud-runtime/standalone/apps/local/components/linear/LinearIcon.tsx +0 -19
  973. package/cloud-runtime/standalone/apps/local/components/linear/TicketRow.tsx +0 -158
  974. package/cloud-runtime/standalone/apps/local/hooks/useLinearIssues.ts +0 -122
  975. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +0 -52
  976. package/cloud-runtime/standalone/apps/local/state/linearBoardFilters.ts +0 -108
  977. package/cloud-runtime/standalone/apps/local/state/linearRunScripts.test.ts +0 -99
  978. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → chat-runs/[id]/events}/route/build-manifest.json +0 -0
  979. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → chat-runs/[id]/events}/route/server-reference-manifest.json +0 -0
  980. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → chat-runs/[id]/events}/route.js.map +0 -0
  981. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → task-groups/[id]}/route/build-manifest.json +0 -0
  982. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → task-groups/[id]}/route/server-reference-manifest.json +0 -0
  983. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → task-groups/[id]}/route.js.map +0 -0
  984. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/cycles → task-groups/[id]/tasks}/route/build-manifest.json +0 -0
  985. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/cycles → task-groups/[id]/tasks}/route/server-reference-manifest.json +0 -0
  986. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/cycles → task-groups/[id]/tasks}/route.js.map +0 -0
  987. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → task-groups}/route/build-manifest.json +0 -0
  988. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → task-groups}/route/server-reference-manifest.json +0 -0
  989. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → task-groups}/route.js.map +0 -0
  990. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → tracker/notes}/route/build-manifest.json +0 -0
  991. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → tracker/notes}/route/server-reference-manifest.json +0 -0
  992. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → tracker/notes}/route.js.map +0 -0
  993. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]}/active-agents/route/build-manifest.json +0 -0
  994. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]}/active-agents/route/server-reference-manifest.json +0 -0
  995. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]}/active-agents/route.js.map +0 -0
  996. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → trackers/[tracker]/auth}/route/build-manifest.json +0 -0
  997. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → trackers/[tracker]/auth}/route/server-reference-manifest.json +0 -0
  998. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → trackers/[tracker]/auth}/route.js.map +0 -0
  999. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/callback}/route/build-manifest.json +0 -0
  1000. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/callback}/route/server-reference-manifest.json +0 -0
  1001. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/callback}/route.js.map +0 -0
  1002. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]/groups}/route/build-manifest.json +0 -0
  1003. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]/groups}/route/server-reference-manifest.json +0 -0
  1004. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]/groups}/route.js.map +0 -0
  1005. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → trackers/[tracker]/items/[id]/activity}/route/build-manifest.json +0 -0
  1006. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → trackers/[tracker]/items/[id]/activity}/route/server-reference-manifest.json +0 -0
  1007. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → trackers/[tracker]/items/[id]/activity}/route.js.map +0 -0
  1008. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/options → trackers/[tracker]/items/[id]/recap}/route/build-manifest.json +0 -0
  1009. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/options → trackers/[tracker]/items/[id]/recap}/route/server-reference-manifest.json +0 -0
  1010. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/options → trackers/[tracker]/items/[id]/recap}/route.js.map +0 -0
  1011. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/[id]/route/build-manifest.json +0 -0
  1012. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/[id]/route/server-reference-manifest.json +0 -0
  1013. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/[id]/route.js.map +0 -0
  1014. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/route/build-manifest.json +0 -0
  1015. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/route/server-reference-manifest.json +0 -0
  1016. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/route.js.map +0 -0
  1017. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/[tracker]/mcp-setup}/route/build-manifest.json +0 -0
  1018. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/[tracker]/mcp-setup}/route/server-reference-manifest.json +0 -0
  1019. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/[tracker]/mcp-setup}/route.js.map +0 -0
  1020. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → trackers/[tracker]/options}/route/build-manifest.json +0 -0
  1021. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → trackers/[tracker]/options}/route/server-reference-manifest.json +0 -0
  1022. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → trackers/[tracker]/options}/route.js.map +0 -0
  1023. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → trackers/[tracker]/runs/[id]}/route/build-manifest.json +0 -0
  1024. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → trackers/[tracker]/runs/[id]}/route/server-reference-manifest.json +0 -0
  1025. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → trackers/[tracker]/runs/[id]}/route.js.map +0 -0
  1026. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/worker → trackers/[tracker]/runs}/route/build-manifest.json +0 -0
  1027. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/worker → trackers/[tracker]/runs}/route/server-reference-manifest.json +0 -0
  1028. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/worker → trackers/[tracker]/runs}/route.js.map +0 -0
  1029. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{projects/[id]/objectives/[objectiveId]/linear-issues → trackers/[tracker]/runs/scripted}/route/build-manifest.json +0 -0
  1030. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{projects/[id]/objectives/[objectiveId]/linear-issues → trackers/[tracker]/runs/scripted}/route/server-reference-manifest.json +0 -0
  1031. /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{projects/[id]/objectives/[objectiveId]/linear-issues → trackers/[tracker]/runs/scripted}/route.js.map +0 -0
  1032. /package/cloud-runtime/standalone/apps/local/.next/server/app/{projects/[slug]/linear/page → api/trackers/[tracker]/status/route}/server-reference-manifest.json +0 -0
  1033. /package/cloud-runtime/standalone/apps/local/.next/server/app/{projects/[slug]/linear/page.js.map → api/trackers/[tracker]/status/route.js.map} +0 -0
  1034. /package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking/[tracker]}/page/build-manifest.json +0 -0
  1035. /package/cloud-runtime/standalone/apps/local/.next/static/{a4zqdHSrJMueXhCPqODSx → ycVU7ABTMiX10ainku7bE}/_buildManifest.js +0 -0
  1036. /package/cloud-runtime/standalone/apps/local/.next/static/{a4zqdHSrJMueXhCPqODSx → ycVU7ABTMiX10ainku7bE}/_clientMiddlewareManifest.json +0 -0
  1037. /package/cloud-runtime/standalone/apps/local/.next/static/{a4zqdHSrJMueXhCPqODSx → ycVU7ABTMiX10ainku7bE}/_ssgManifest.js +0 -0
  1038. /package/cloud-runtime/standalone/apps/local/components/{linear/LinearBoardFilters.tsx → tracker/TrackerBoardFilters.tsx} +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,574957,e=>{"use strict";var t=e.i(762281),a=e.i(935851),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(307241),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)})})]})}let b=(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})});b.displayName="ActionToolbar";let j=()=>(0,t.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)] mx-1"}),w=(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})});w.displayName="IconButton";var y=e.i(597628),N=e.i(19035),k=e.i(629155),I=e.i(906724),S=e.i(794731),C=e.i(169610),M=e.i(580873),T=e.i(363732);let $=(0,T.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),R=(0,T.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]);var A=e.i(999824);let P=[{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"}],E=new Set(["done","in-review","archived"]),z="<!-- thread-summary -->";function _({messages:e,streaming:r,participants:s,onOpenThread:l,onCopyThread:n,onAddToChat:i,onDeleteThreadRoot:o,onSummarize:d,summarizingThreads:m,deletingThreadRootId:x,highlightedMessageId:g,onUpdateMessageThreadStatus:T,onUpdateMessageOutcomeNote:_,shipModeThreads:U}){let O=(0,a.useRef)(new Map),[L,D]=(0,a.useState)(null),[W,F]=(0,a.useState)("active"),B=Object.fromEntries(s.map(e=>[e.id,e])),q=(0,a.useMemo)(()=>[...e.filter(e=>!e.rootMessageId)].reverse(),[e]),V={active:new Set(["active"]),paused:new Set(["paused"]),"in-review":new Set(["in-review"]),done:new Set(["done"]),archived:new Set(["archived"])},H=(0,a.useMemo)(()=>q.filter(e=>V[W].has(e.threadStatus??"active")),[q,W]),J=(0,a.useMemo)(()=>({active:q.filter(e=>V.active.has(e.threadStatus??"active")).length,paused:q.filter(e=>V.paused.has(e.threadStatus??"active")).length,"in-review":q.filter(e=>V["in-review"].has(e.threadStatus??"active")).length,done:q.filter(e=>V.done.has(e.threadStatus??"active")).length,archived:q.filter(e=>V.archived.has(e.threadStatus??"active")).length}),[q]),K=(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]),G=(0,a.useCallback)((e,t)=>{t?O.current.set(e,t):O.current.delete(e)},[]),Y=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(!g){Y.current=null;return}if(g===Y.current)return;Y.current=g;let e=O.current.get(g);e&&e.scrollIntoView({behavior:"smooth",block:"center"})},[g,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:[q.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=J[e.key],r=W===e.key;return(0,t.jsxs)("button",{type:"button",onClick:()=>F(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===q.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"})]}),q.length>0&&0===H.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 ",W," threads"]})}),H.map(e=>{let a,s=e.participantId?B[e.participantId]:null,g=K.get(e.id),y=x===e.id,_=g?.allReplies.find(e=>e.content.startsWith(z)),O=_?_.content.slice(z.length).trim():null,W=e.threadStatus??"active",F=E.has(W),q=P.find(e=>e.value===W)??P[0],V=Object.values(r).some(t=>t.rootMessageId===e.id);if(F){let a;return(0,t.jsx)("div",{ref:t=>G(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 ${L===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)(k.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])}),U?.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)(A.Rocket,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),V&&(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)}),T&&(a=L===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),D(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:q.color+"40",color:q.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:q.color}}),q.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:P.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===W?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:t=>{t.stopPropagation(),T(e.id,a.value),D(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),g&&g.replyCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] shrink-0",children:[g.replyCount," replies"]})]}),O&&(0,t.jsx)("div",{className:"mt-1.5 pl-6 flex flex-col gap-1",children:(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:O,isUser:!1})})})]})},e.id)}return(0,t.jsxs)("div",{className:`max-w-2xl mx-auto surface-card mb-6 group relative ${L===e.id?"z-50":""}`,children:[(n||i||o)&&(0,t.jsxs)(b,{className:"z-10",children:[i&&(0,t.jsx)(w,{type:"button",variant:"primary",size:"sm",onClick:()=>i(e.id),title:"Mention in chat",children:(0,t.jsx)(R,{className:"w-3.5 h-3.5"})}),(0,t.jsx)(w,{type:"button",variant:"neutral",size:"sm",onClick:()=>{navigator.clipboard.writeText(e.id)},title:"Copy message ID",children:(0,t.jsx)($,{className:"w-3.5 h-3.5"})}),n&&(0,t.jsx)(w,{type:"button",variant:"neutral",size:"sm",onClick:()=>n(e.id),title:"Copy thread as markdown",children:(0,t.jsx)(N.Copy,{className:"w-3.5 h-3.5"})}),o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j,{}),(0,t.jsx)(w,{type:"button",variant:"destructive",size:"sm",onClick:()=>o(e.id),disabled:y,title:"Delete this thread",children:y?(0,t.jsx)(I.Loader2,{className:"w-3.5 h-3.5 animate-spin"}):(0,t.jsx)(S.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=>G(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)}),T&&(a=L===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),D(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:q.color+"40",color:q.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:q.color}}),q.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:P.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===W?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:t=>{t.stopPropagation(),T(e.id,a.value),D(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),U?.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)(A.Rocket,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),V&&(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})}),O&&(0,t.jsx)("div",{className:"mb-4 text-sm text-[var(--muted-foreground)] leading-relaxed",children:(0,t.jsx)(u.Markdown,{content:O,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&&g&&g.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>d(e.id),disabled:m?.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:[m?.has(e.id)?(0,t.jsx)(I.Loader2,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,t.jsx)(M.Clock,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),m?.has(e.id)?"Summarizing…":"Summarize"]}),g&&g.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:[g.replyCount," replies"]}),(0,t.jsx)("div",{className:"flex -space-x-2",children:g.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)(C.User,{className:"w-3 h-3 text-[var(--muted-foreground)]"})},"user");let a=B[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)})})]})]})]})}),Object.entries(r).filter(([,t])=>t.rootMessageId===e.id).map(([e,a])=>{let r=B[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 U=(0,T.default)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var O=e.i(519132);let L={ack:{symbol:"👍",label:"Acknowledged"},working:{symbol:"🔄",label:"Working"},done:{symbol:"✅",label:"Done"},clarify:{symbol:"❓",label:"Needs clarification"},blocked:{symbol:"⛔",label:"Blocked"}};function D({type:e,count:a,participantIds:r}){let s=L[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 W({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)(D,{type:e.type,count:e.count,participantIds:e.participantIds},e.type))})}function F({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:y=[]}){let k=(0,a.useRef)(null),I=(0,a.useRef)(new Map),M=Object.fromEntries(s.map(e=>[e.id,e])),T=(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]),R=(0,a.useRef)(null),A=(0,a.useRef)(!1),P=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=R.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:a,clientHeight:r}=e;A.current=a-t-r>80};return e.addEventListener("scroll",t,{passive:!0}),()=>e.removeEventListener("scroll",t)},[]),(0,a.useEffect)(()=>{if(x&&x!==P.current){P.current=x;let e=I.current.get(x);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}else x||A.current||(P.current=null,k.current?.scrollIntoView({behavior:"smooth"}))},[x,T,r]),(0,t.jsxs)("div",{className:"flex flex-col h-full overflow-hidden bg-[var(--app-shell-bg)] transition-colors",children:[y.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)(O.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:y.map(e=>{let a=M[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:R,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:[T.map(e=>{let a,r="user"===e.role,s=e.participantId?M[e.participantId]:null;return(0,t.jsxs)("div",{ref:t=>{var a;return a=e.id,void(t?I.current.set(a,t):I.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)(C.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)(W,{reactions:e.reactions})})]}),(0,t.jsxs)(b,{children:[e.id===l&&(0,t.jsx)(w,{variant:"primary",size:"sm",onClick:()=>navigator.clipboard.writeText(e.id),title:"Copy message ID",children:(0,t.jsx)($,{className:"w-3.5 h-3.5"})}),e.id===l&&o&&(0,t.jsx)(w,{variant:"neutral",size:"sm",onClick:()=>o(e.id),title:"Copy Thread",children:(0,t.jsx)(U,{className:"w-3.5 h-3.5"})}),(0,t.jsx)(w,{variant:"neutral",size:"sm",onClick:()=>navigator.clipboard.writeText(e.content),title:"Copy as Markdown",children:(0,t.jsx)(N.Copy,{className:"w-3.5 h-3.5"})}),e.id===l&&m&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j,{}),(0,t.jsx)(w,{variant:"destructive",size:"sm",onClick:()=>m(e.id),title:"Delete Thread",children:(0,t.jsx)(S.Trash2,{className:"w-3.5 h-3.5"})})]}),e.id!==l&&f&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j,{}),(0,t.jsx)(w,{variant:"destructive",size:"sm",onClick:()=>f(e.id),title:"Delete Message",children:(0,t.jsx)(S.Trash2,{className:"w-3.5 h-3.5"})})]})]})]})]},e.id)}),n&&0===y.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)(O.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=M[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:k,className:"h-4"})]})}),(0,t.jsx)("div",{className:"z-20 transition-colors duration-200",children:g(l)})]})}var B=e.i(51297);let q=(0,T.default)("search-x",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function V({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)(q,{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)(C.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)(B.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 H=e.i(984242),J=e.i(481248),K=e.i(169433);let G="agx-chat:project-agent-config",Y={activeParticipantIdsByThread:{}};function X(){return void 0!==window.localStorage}function Q(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 Z(){if(!X())return{...Y};let e=window.localStorage.getItem(G);if(!e)return{...Y};try{let t=JSON.parse(e).activeParticipantIdsByThread;if(!t||"object"!=typeof t)return{...Y};return{activeParticipantIdsByThread:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,Q(t)]))}}catch{return{...Y}}}function ee(e,t){let a=e.trim();if(!a)return;let r=Z();r.activeParticipantIdsByThread[a]=Q(t);if(X())try{window.localStorage.setItem(G,JSON.stringify(r))}catch{}}let et={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,fileIgnorePatterns:[]};function ea(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 er="/api/userPreferences";function es(e){return e.json().then(e=>e&&"object"==typeof e?ea(e.preferences??e):ea(e)).catch(()=>ea(null))}function el(e){return e.statusText||`Failed to reach ${er} (${e.status})`}async function en(){let e=await fetch(er,{cache:"no-store"});if(!e.ok)throw Error(el(e));return es(e)}async function ei(e){let t=await fetch(er,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(el(t));return es(t)}var eo=e.i(990933),ed=e.i(352687),ec=e.i(524123),eu=e.i(8707),ep=e.i(493141),eh=e.i(846279),eh=eh,em=e.i(169729),ef=e.i(721571),ex=e.i(468947),eg=e.i(837958),ev=e.i(595807),ev=ev;function eb({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 ej=e.i(524780);let ew="agx-theme";async function ey(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 eN(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 ek(e,t){let a=Object.fromEntries(t.map(e=>[e.id,e])),r=[];for(let t of e){let e="user"===t.role?"You":t.participantId?a[t.participantId]?.name||t.participantId:"Assistant",s=function(e,t=!1){return(t?e.replace(/(?:^|\n)Thinking\.\.\.[\s\S]*?\.\.\.done thinking\.?\s*/g,"\n").trim():e).replaceAll("<!-- thread-summary -->","").trim().replace(/\r\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}(t.content,"user"!==t.role);s&&(r.push(`**${e}:**`),r.push(""),r.push(s),r.push(""))}return r.join("\n").trim()}function eI({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:N,deletingThreadId:k,renamingThreadId:I,isLoading:S,isRestoringActiveThread:C,renameThread:M,updateThreadStatus:T,updateThreadOutcomeNote:$,updateMessageThreadStatus:R,updateMessageOutcomeNote:A}=(0,i.useThreadState)(c),{messages:P,setMessages:E,logs:z,sendMessage:U,loadHistory:O,clearLogs:L,chatRuns:D,setChatRuns:W,stop:B,stopThread:q}=(0,l.useGroupChat)(v),{activeAgents:G,processes:Y,streaming:X,chatRuns:Q,poll:et}=(0,n.useProcessPolling)(v?{workspaceId:v}:null,{messages:P,setMessages:E}),ea=(0,a.useMemo)(()=>{let e=Date.now(),t=new Map(Q.map(e=>[e.chatRunId,e]));for(let a of D)!(!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)},[D,Q]),er=G.size>0||ea.some(e=>"running"===e.status)?"working":ea.some(e=>"queued"===e.status)?"queued":"ready";(0,a.useEffect)(()=>{W(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 Q)e?.chatRunId&&a.set(e.chatRunId,e);return Array.from(a.values()).filter(e=>!!(!e.optimistic||Q.some(t=>t.chatRunId===e.chatRunId))||t-(e.enqueuedAt??0)<=5e3).sort((e,t)=>String(e.chatRunId||"").localeCompare(String(t.chatRunId||"")))})},[Q,W]);let es=(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))},[]),el=(0,a.useCallback)(async()=>{let e=ea[0];e?.chatRunId&&await es(e.chatRunId),await B(),await et()},[ea,es,B,et]),eS=(0,a.useCallback)(async e=>{let t=ea.find(t=>t.rootMessageId===e);t?.chatRunId&&await es(t.chatRunId),await q(e),await et()},[ea,es,q,et]),eC=(0,a.useRef)(el);(0,a.useEffect)(()=>{eC.current=el},[el]);let{projects:eM,createProject:eT,deleteProject:e$,addAgent:eR,removeAgent:eA,reorderAgents:eP}=(0,ec.useProjectsWithAgents)(),{projects:eE,updateProject:ez}=(0,ec.useProjects)(),e_=(0,a.useMemo)(()=>v?eM.filter(e=>e.thread_ids?.includes(v)):eM,[eM,v]),eU=(0,a.useMemo)(()=>e||e_[0]?.slug||void 0,[e,e_]),eO=(0,a.useMemo)(()=>e_[0]?.id??void 0,[e_]),[eL,eD]=(0,a.useState)([]),[eW,eF]=(0,a.useState)(!1),[eB,eq]=(0,a.useState)([]),[eV,eH]=(0,a.useState)(!1),[eJ,eK]=(0,a.useState)(()=>{let e=window.localStorage.getItem(ew);return"dark"===e||"light"===e?e:document.documentElement.classList.contains("dark")?"dark":"light"}),[eG,eY]=(0,a.useState)(!1),[eX,eQ]=(0,a.useState)(368),eZ=(0,a.useRef)(!1);(0,a.useEffect)(()=>{let e=(0,J.loadWorkspaceSidebarVisible)();eZ.current=!0,eY(e),eQ((0,K.loadWorkspaceWidth)()||368)},[]),(0,a.useEffect)(()=>{let e="dark"===eJ;document.documentElement.classList.toggle("dark",e),document.documentElement.style.colorScheme=eJ,window.localStorage.setItem(ew,eJ)},[eJ]);let[e0,e1]=(0,a.useState)(!1),[e5,e2]=(0,a.useState)(new Set),[e3,e4]=(0,a.useState)(!1),[e6,e8]=(0,a.useState)(!1),[e7,e9]=(0,a.useState)(null),te=m("open"),tt=m("message"),ta=e?te??u??null:u??null,tr=ta?e5.has(ta):e3;(0,a.useEffect)(()=>{if(!ta)return;let e=!1,t=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(ta)}`).then(e=>e.json()).then(t=>{e||e2(e=>{let a=e.has(ta);if(t.active&&!a){let t=new Set(e);return t.add(ta),t}if(!t.active&&a){let t=new Set(e);return t.delete(ta),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)}},[ta]),(0,a.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/schedules").then(e=>e.json()).then(t=>{!e&&t.activeRootMessageIds&&e2(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 ts=(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[tl,tn]=(0,a.useState)(""),[ti,to]=(0,a.useState)([]),[td,tc]=(0,a.useState)(0),[tu,tp]=(0,a.useState)(!1),[th,tm]=(0,a.useState)(null),[tf,tx]=(0,a.useState)(new Set),[tg,tv]=(0,a.useState)(null),[tb,tj]=(0,a.useState)(null),tw=(0,a.useRef)(null),ty=(0,a.useRef)(""),tN=(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;eD(t)}finally{e&&eF(!0)}},[]),tk=(0,a.useCallback)(async e=>{try{await ei({threadSidebarVisible:e})}catch(e){console.error("Unable to persist thread sidebar preference",e)}},[ei]),tI=(0,a.useCallback)(e=>{(0,J.persistWorkspaceSidebarVisible)(e),tk(e)},[tk]),tS=tl.trim(),tC=tS.length>0,tM=(0,a.useMemo)(()=>Object.fromEntries(g.map(e=>[e.id,e.title?.trim()||"Untitled thread"])),[g]),tT=(0,a.useMemo)(()=>{if(!ta)return[];let e=new Set([P.find(e=>e.id===ta),...P.filter(e=>e.rootMessageId===ta)].filter(Boolean).map(e=>e.participantId).filter(Boolean));return Object.keys(X).forEach(t=>{X[t].rootMessageId===ta&&e.add(t)}),eL.filter(t=>e.has(t.id))},[ta,P,X,eL]),t$=(0,a.useMemo)(()=>{let e=new Map(eL.map(e=>[e.id,e]));return eB.map(t=>e.get(t)).filter(Boolean)},[eL,eB]),tR=(0,a.useMemo)(()=>eE.map(e=>({id:e.id,name:e.name,slug:e.slug})),[eE]),tA=(0,a.useMemo)(()=>{if(!ta)return 0;let e=[P.find(e=>e.id===ta),...P.filter(e=>e.rootMessageId===ta)].filter(Boolean);return 0===e.length?0:Math.max(...e.map(e=>e.timestamp))},[ta,P]),tP=(0,a.useMemo)(()=>{if(!ta)return"";let e=P.find(e=>e.id===ta);if(!e)return"Discussion";let t=e.content.trim();return t.length>60?t.slice(0,60)+"...":t},[ta,P]),tE=(0,a.useMemo)(()=>{if(!ta)return null;let e=P.find(e=>e.id===ta),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]}},[ta,P]);(0,a.useEffect)(()=>{if(!tt)return;let e=P.find(e=>e.id===tt)??null;if(e){let t=e.rootMessageId||e.id;t!==ta&&ts(t,{messageId:tt,replace:!0});return}!ta||[P.find(e=>e.id===ta),...P.filter(e=>e.rootMessageId===ta)].filter(Boolean).length>0&&x({message:null})},[P,ts,ta,x,tt]);let tz=(0,a.useCallback)(()=>{tn(""),to([]),tc(0),tm(null),tp(!1)},[]);(0,a.useCallback)(()=>{let e=ek(P,eL);navigator.clipboard.writeText(e).then(()=>{eH(!0),setTimeout(()=>eH(!1),2e3)})},[P,eL]);let[t_,tU]=(0,a.useState)(null),tO=(0,a.useCallback)(e=>{let t=P.find(t=>t.id===e);if(!t)return;let a=[t,...P.filter(t=>t.rootMessageId===e).sort((e,t)=>e.timestamp-t.timestamp)];tU({title:t.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:e,messages:a})},[P]),tL=(0,a.useCallback)(e=>{let t=ek([P.find(t=>t.id===e),...P.filter(t=>t.rootMessageId===e).sort((e,t)=>e.timestamp-t.timestamp)].filter(Boolean),eL);navigator.clipboard.writeText(t).catch(e=>console.error("Failed to copy thread",e))},[P,eL]),tD=(0,a.useCallback)(async()=>{if(ta){e8(!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:ta,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");e9(a?.run??null)}catch(t){let e=t instanceof Error?t.message:"Request failed";window.alert(`Failed to extract knowledge: ${e}`)}finally{e8(!1)}}},[ta,eU]);(0,a.useEffect)(()=>{if(!ta){e9(null),e8(!1);return}let e=!1;return(async()=>{try{let t=await ey(ta);if(e)return;e9(t)}catch{e||e9(null)}})(),()=>{e=!0}},[ta]),(0,a.useEffect)(()=>{if(!ta||e7?.status!=="running")return;let e=!1,t=async()=>{try{let t=await ey(ta);if(e)return;e9(t)}catch{}};t();let a=window.setInterval(()=>{t()},2e3);return()=>{e=!0,window.clearInterval(a)}},[ta,e7?.status]);let tW=e7?.status==="running",tF=e6||tW,tB=(e7?.repoInsertedCount??0)+(e7?.projectInsertedCount??0),tq=(0,a.useMemo)(()=>{if(!e7)return null;if("running"===e7.status)return"Learning in progress";if("failed"===e7.status)return"Last learning run failed";if(tB>0){let e=1===tB?"insight":"insights";return`Learned ${tB} ${e}`}return"No new learnings"},[tB,e7]);(0,a.useEffect)(()=>{tN(!0)},[tN]);let tV=(0,a.useMemo)(()=>{if(!eW)return[];let e=new Set(eL.map(e=>e.id)),t=new Set;for(let a of P)"assistant"===a.role&&a.participantId&&(e.has(a.participantId)||t.add(a.participantId));for(let a of Object.keys(X))e.has(a)||t.add(a);return Array.from(t).sort()},[P,eL,eW,X]);(0,a.useEffect)(()=>{if(!eW)return;let e=tV.join("|");if(!e){ty.current="";return}ty.current!==e&&(ty.current=e,tN(!1))},[eW,tN,tV]),(0,a.useEffect)(()=>{if(!eW)return;let e=eN(eL,eM,v);if(!v)return void eq(e);let t=function(e){let t=e.trim();if(!t)return null;let a=Z();return t in a.activeParticipantIdsByThread?[...a.activeParticipantIdsByThread[t]]:null}(v);if(null===t)return void eq(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))&&ee(v,r),eq(r)},[v,eL,eW,eM]),(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await en();if(e)return;eY(e=>e===t.threadSidebarVisible?e:eZ.current?(tk(e),e):((0,J.persistWorkspaceSidebarVisible)(t.threadSidebarVisible),t.threadSidebarVisible))}catch(e){console.error("Failed to load user preferences",e)}})(),()=>{e=!0}},[tk]),(0,a.useEffect)(()=>{S||N||0!==g.length||j({id:"global",title:"General"})},[S,N,g.length,j]),(0,a.useEffect)(()=>{if(e)return;let t=e=>{if((e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()){e.preventDefault(),tw.current?.focus(),tw.current?.select();return}"Escape"===e.key&&tS&&tz()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[tz,tS,e]),(0,a.useEffect)(()=>{if(!tS){to([]),tc(0),tm(null),tp(!1);return}let e=!1;tp(!0);let t=window.setTimeout(()=>{(async()=>{try{let t=new URLSearchParams({q:tS,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";to([]),tc(0),tm(e);return}to(Array.isArray(r.results)?r.results:[]),tc("number"==typeof r.total?r.total:0),tm(null)}catch(t){if(e)return;console.error("Search request failed",t),to([]),tc(0),tm("Search failed")}finally{e||tp(!1)}})()},300);return()=>{e=!0,window.clearTimeout(t)}},[tS]);let tH=(0,a.useRef)(null);(0,a.useEffect)(()=>{null!==tH.current&&tH.current!==v&&eC.current(),tH.current=v,v&&O(v)},[v,O]),(0,a.useEffect)(()=>{v&&y(v,P)},[v,P,y]);let tJ=(0,a.useCallback)((e,t,a=10,r,s,l)=>{v&&0!==t$.length&&U(t,a,v,e,void 0,void 0,(0,eo.orderParticipantIds)(t$.map(e=>e.id),r),eU,s,l)},[v,U,t$,eU]),tK=(0,a.useCallback)(async e=>{if(v){if(0===t$.length)return void window.alert("Enable at least one agent in this project.");tx(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:t$.map(e=>e.id)})});t.ok?await O(v):console.error("Summarize failed:",await t.text())}catch(e){console.error("Summarize error:",e)}finally{tx(t=>{let a=new Set(t);return a.delete(e),a})}}},[v,O,t$]);(0,a.useCallback)(e=>{ts(e)},[ts]);let tG=(0,a.useCallback)(e=>{ts(e)},[ts]),tY=(0,a.useCallback)(e=>{let t=e?.trim()??"";t&&tn(t),requestAnimationFrame(()=>{tw.current?.focus(),t||tw.current?.select()})},[]),tX=(0,a.useCallback)(()=>{if(!v)return;let e=(()=>{if(ta)return ta;let e=new Set(P.map(e=>e.rootMessageId).filter(e=>!!e));for(let t=P.length-1;t>=0;t-=1){let a=P[t];if(!a.rootMessageId&&e.has(a.id))return a.id}return null})();e?tK(e):console.warn("No thread with replies available to summarize")},[v,tK,P,ta]),tQ=(0,a.useCallback)(async(e,t,a,r,s,l,n)=>{let i=e.match(/^\/search(?:\s+([\s\S]+))?$/i);if(i)return void tY(i[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(e))return void tX();let o=v;o||(o=(await j()).id);let d=t$.map(e=>e.id);if(0===d.length)return void window.alert("Enable at least one agent in this project.");let c=(0,eo.orderParticipantIds)(d,s);if(ta)return void await U(e,t,o,ta,a,r,c,eU,l,n);let u=await U(e,t,o,null,a,r,c,eU,l,n);e3&&u&&(e4(!1),e2(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,e3,j,tY,tX,ta,t$,U,eU]),tZ=(0,a.useCallback)(async e=>{if(!ta)return void e4(e);e2(t=>{let a=new Set(t);return e?a.add(ta):a.delete(ta),a});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e?"activate":"stop",rootMessageId:ta})})}catch(e){console.error("Failed to toggle autonomous schedule:",e)}},[ta]),t0=(0,a.useCallback)(e=>{ts(e.rootMessageId||e.messageId,{messageId:e.messageId,threadId:e.threadId}),tz()},[tz,ts]),t1=(0,a.useCallback)(async e=>{el(),await w(e)},[w,el]),t5=(0,a.useCallback)(e=>{if(!v||!e)return;let t=P.find(t=>t.id===e);tj({type:"thread",id:e,preview:t?.content?.slice(0,120)||void 0})},[v,P]),t2=(0,a.useCallback)(async e=>{if(v){tv(e),eS(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=tt?P.find(e=>e.id===tt)??null:null,s=r?r.rootMessageId||r.id:null;ta===e?ts(null,{replace:!0}):s===e&&x({message:null});let l=P.filter(t=>t.id!==e&&t.rootMessageId!==e);y(v,l),await O(v)}catch(e){console.error("Failed to delete message thread",e)}finally{tv(t=>t===e?null:t)}}},[v,eS,O,P,ts,ta,x,tt,y]),t3=(0,a.useCallback)(e=>{if(!v||!e)return;let t=P.find(t=>t.id===e);tj({type:"message",id:e,preview:t?.content?.slice(0,120)||void 0})},[v,P]),t4=(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());tt===e&&x({message:null});let r=P.filter(t=>t.id!==e);y(v,r),await O(v)}catch(e){console.error("Failed to delete message",e)}},[v,O,P,x,tt,y]),t6=(0,a.useCallback)(()=>{tb&&("thread"===tb.type?t2(tb.id):t4(tb.id),tj(null))},[tb,t2,t4]),t8=(0,a.useCallback)(()=>{tj(null)},[]),t7=(0,a.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>tY()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>tX()}],[tY,tX]),t9=(0,a.useMemo)(()=>{let e=eU?e_.find(e=>e.slug===eU):e_[0];return e?.repos??[]},[e_,eU]),[ae,at]=(0,a.useState)(new Set),aa=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!ta){at(new Set),aa.current=null;return}aa.current!==ta&&(at(new Set),aa.current=ta,fetch(`/api/thread-repos?rootMessageId=${encodeURIComponent(ta)}`).then(e=>e.json()).then(e=>{aa.current===ta&&e.repoIds&&e.repoIds.length>0&&at(new Set(e.repoIds))}).catch(e=>console.warn("[ChatContainer] load thread repos failed:",e)))},[ta]);let ar=(0,a.useCallback)(e=>{at(e),ta&&fetch("/api/thread-repos",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:ta,repoIds:[...e]})}).catch(e=>console.warn("[ChatContainer] save thread repos failed:",e))},[ta]),as=(0,a.useCallback)(e=>{let a=Y.some(t=>["spawning","running"].includes(t.state)&&t.threadId===e)||Object.values(X).some(t=>t.rootMessageId===e)?"working":ea.some(t=>t.rootMessageId===e&&"queued"===t.status)?"queued":"ready";return(0,t.jsx)(H.Composer,{onSend:(t,a,r,s,l,n,i)=>tJ(e,t,a,l,n,i),onStop:()=>eS(e),loading:"ready"!==a,activityStatus:a,participants:t$,projectGroups:e_,projects:tR,projectId:eO,projectSlug:eU,messages:P,commands:t7,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:tr,onAutoModeChange:tZ,repos:t9,selectedRepoIds:ae,onRepoSelectionChange:ar})},[tJ,eS,X,t$,e_,tR,eO,eU,t7,P,tr,tZ,Y,ea,t9,ae,ar]),al=(0,a.useCallback)(()=>{eY(e=>{let t=!e;return tI(t),t})},[tI]),an=(0,a.useCallback)(e=>{eQ(e),(0,K.persistWorkspaceWidth)(e)},[]),ai=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();eD(t=>t.map(t=>t.id===e.id?e:t))}},ao=(0,a.useCallback)((e,t)=>{eq(a=>{let r=eN(eL,eM,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&&ee(v,l),l})},[v,eL,eM]),ad=(0,a.useCallback)(e=>{let t=eM.find(t=>t.id===e);if(!t||v&&!t.thread_ids?.includes(v))return;let a=t.agents.map(e=>e.agent_id);eq(a),v&&ee(v,a)},[eM,v]),ac=(0,a.useCallback)(()=>{eK(e=>"dark"===e?"light":"dark")},[]),au=()=>(0,t.jsx)("button",{type:"button",onClick:ac,"aria-label":"dark"===eJ?"Switch to light theme":"Switch to dark theme",title:"dark"===eJ?"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"===eJ?(0,t.jsx)(ex.Sun,{className:"h-4 w-4",strokeWidth:1.75}):(0,t.jsx)(ef.Moon,{className:"h-4 w-4",strokeWidth:1.75})}),ap=(0,t.jsxs)("div",{className:"relative group/search min-w-0 flex-1",children:[(0,t.jsx)(eu.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:tw,type:"text",value:tl,onChange:e=>tn(e.target.value),onKeyDown:e=>{"Escape"===e.key&&tz()},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"}`}),tS?(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:tu?"…":td}),(0,t.jsx)("button",{type:"button",onClick:tz,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"})]}),ah=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&&!eG&&(0,t.jsx)("button",{type:"button",onClick:al,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)(em.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:[ap,(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[au(),(0,t.jsx)(ej.StatusIndicator,{}),ta&&(0,t.jsx)("button",{type:"button",onClick:()=>e1(!e0),"aria-label":e0?"Hide logs":`Show logs${z.length>0?` (${z.length})`:""}`,"aria-pressed":e0,title:e0?"Hide logs":`Show logs${z.length>0?` (${z.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)] ${e0?"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)(eh.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:eL,activeThreadId:v,isLoading:S,isRestoringActiveThread:C,isCreating:N,deletingThreadId:k,renamingThreadId:I,onSelectThread:b,onCreateThread:j,onRenameThread:M,onDeleteThread:t1,activeParticipantIds:eB,onToggleParticipantActive:ao,visible:eG,onToggle:al,width:eX,onWidthChange:an,projects:eM,onCreateProject:eT,onUpdateProject:ez,onDeleteProject:e$,onAddAgentToProject:eR,onRemoveAgentFromProject:eA,onReorderProjectAgents:eP,onUpdateParticipant:ai,onSelectProject:ad}):null,(0,t.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:C?(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:[ta?(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&&!eG?(0,t.jsx)("button",{type:"button",onClick:al,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)(em.PanelLeftOpen,{className:"h-4 w-4",strokeWidth:1.75})}):null,(0,t.jsx)("button",{onClick:()=>ts(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)(ep.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:tP}),tE&&(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:tE.color+"40",color:tE.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:tE.color}}),tE.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:[tT.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)}(tA)]}),tq&&(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:tq})]})]})]}),(0,t.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:tT.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 tD(),disabled:tF,title:tW?"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)] ${tF?"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:[tF?(0,t.jsx)(ev.default,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,t.jsx)(eg.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,t.jsx)("span",{className:"hidden sm:inline",children:tW?"Learning...":"Learn from discussion"})]}),!e&&au(),!e&&(0,t.jsx)(ej.StatusIndicator,{}),(0,t.jsx)("button",{type:"button",onClick:()=>e1(!e0),"aria-label":e0?"Hide logs":`Show logs${z.length>0?` (${z.length})`:""}`,"aria-pressed":e0,title:e0?"Hide logs":`Show logs${z.length>0?` (${z.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)] ${e0?"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)(eh.default,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):ah,tC?(0,t.jsx)(V,{query:tS,results:ti,total:td,participants:eL,threadTitleById:tM,isLoading:tu,error:th,onSelectResult:t0}):ta?(0,t.jsx)(F,{messages:P,streaming:X,participants:eL,rootMessageId:ta,queued:ea.some(e=>e.rootMessageId===ta&&"queued"===e.status),onClose:()=>ts(null),onCopyThread:tL,onAddToChat:tO,onDeleteThreadRoot:t5,onDeleteMessage:t3,highlightedMessageId:tt||void 0,renderReplyComposer:as,activeProcesses:Y.filter(e=>["spawning","running"].includes(e.state)&&e.threadId===ta)}):(0,t.jsx)(_,{messages:P,streaming:X,participants:eL,onOpenThread:tG,onCopyThread:tL,onAddToChat:tO,onDeleteThreadRoot:t5,onSummarize:tK,summarizingThreads:tf,deletingThreadRootId:tg,highlightedMessageId:tt,shipModeThreads:e5,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)),A(v,e,t);let a=P.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}),!tC&&!ta&&(0,t.jsx)(H.Composer,{onSend:tQ,onStop:el,loading:"ready"!==er,activityStatus:er,participants:t$,projects:tR,projectGroups:e_,projectId:eO,projectSlug:eU,messages:P,commands:t7,pendingThreadInsert:t_,onClearPendingThread:()=>tU(null),autoMode:tr,onAutoModeChange:tZ,repos:t9,selectedRepoIds:ae,onRepoSelectionChange:ar})]})})}),u&&(0,t.jsx)(eb,{logs:z,participants:eL,onClear:()=>void L(v),open:e0,onToggle:()=>e1(!1)}),(0,t.jsx)(ed.default,{isOpen:null!==tb,title:tb?.type==="thread"?"Delete Discussion":"Delete Message",message:tb?.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:tb?.preview,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:t6,onCancel:t8})]})}function eS({params:e}){let{slug:r,threadId:s}=(0,a.use)(e);return(0,t.jsx)(eI,{projectSlug:r,initialThreadId:s,showSidebar:!1})}e.s(["default",()=>eS],574957)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,292135,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return s}});let s=e=>{}},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",()=>t],640481)},367859,e=>{"use strict";let t=(0,e.i(363732).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],367859)},80673,e=>{"use strict";let t=(0,e.i(363732).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",()=>t],80673)},629155,e=>{"use strict";let t=(0,e.i(363732).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],629155)},118311,e=>{"use strict";let t=(0,e.i(363732).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],118311)},884196,e=>{"use strict";var t=e.i(762281),r=e.i(935851),s=e.i(307241),a=e.i(429056),n=e.i(498027),l=e.i(367859),i=e.i(19035),o=e.i(529471),d=e.i(80673),c=e.i(118311),x=e.i(629155),p=e.i(640481),m=e.i(929870),h=e.i(363732);let u=(0,h.default)("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),g=(0,h.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var f=e.i(572665),v=e.i(797167),b=e.i(524123),j=e.i(884564),y=e.i(434405);function N(e){return e?e.projects??[]:[]}let w=["Ada","Kai","Sage","Nova","Cleo","Milo","Iris","Juno","Remy","Zara","Arlo","Luna","Ezra","Wren","Nico","Thea","Fern","Orla","Kira","Dax","Lyra","Soren","Vera","Elio"];function k(){let[e,h]=(0,r.useState)([]),[k,S]=(0,r.useState)([]),{projects:C,createProject:z,addAgent:A,removeAgent:I,refresh:P}=(0,b.useProjectsWithAgents)(),[E,T]=(0,r.useState)(new Set),[$,O]=(0,r.useState)(null),[B,D]=(0,r.useState)(new Set),[U,F]=(0,r.useState)(!1),[L,_]=(0,r.useState)(null),[M,R]=(0,r.useState)(!1),[J,H]=(0,r.useState)(new Set),[K,X]=(0,r.useState)(!0),[q,W]=(0,r.useState)(!1),[V,Z]=(0,r.useState)(null),[G,Q]=(0,r.useState)(null),[Y,ee]=(0,r.useState)(!1),[et,er]=(0,r.useState)(!1),[es,ea]=(0,r.useState)("choice"),[en,el]=(0,r.useState)(""),[ei,eo]=(0,r.useState)(!1),[ed,ec]=(0,r.useState)(null),[ex,ep]=(0,r.useState)(new Set),[em,eh]=(0,r.useState)(new Set),[eu,eg]=(0,r.useState)(!1),[ef,ev]=(0,r.useState)(null),eb=(0,r.useRef)(null),[ej,ey]=(0,r.useState)(new Set),eN=()=>{fetch("/api/participants").then(e=>e.json()).then(e=>h(Array.isArray(e)?e:[]))},ew=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/processes");if(!e.ok)return;let t=await e.json();ey(new Set(t.filter(e=>"spawning"===e.state||"running"===e.state).map(e=>e.agentId)))}catch{}},[]);(0,r.useEffect)(()=>{eN(),y.threadService.listThreads().then(S),ew();let e=setInterval(ew,3e3);return()=>clearInterval(e)},[ew]);let ek=new Map(k.map(e=>[e.id,e])),eS=C.filter(e=>!e.is_default),eC=async()=>{if(0!==J.size){W(!0);try{let e=await fetch("/api/agent-specs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:Array.from(J),includeSelf:K})});if(!e.ok)throw Error("Share failed");let t=await e.json();Z(t.code),Q(t.expires_at)}catch(e){console.error("Share error:",e)}finally{W(!1)}}},ez=async()=>{if(0!==J.size){W(!0);try{let e=Array.from(J),t=await fetch("/api/agents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:e})});if(!t.ok)throw Error("Export failed");let r=(await t.json()).agents.map(e=>({...e,self:K?e.self:null})),s={version:1,exportedAt:new Date().toISOString(),agents:r,projects:[]},a=new Blob([JSON.stringify(s,null,2)],{type:"application/json"}),n=URL.createObjectURL(a),l=document.createElement("a");l.href=n,l.download=1===r.length?`${r[0].name.toLowerCase().replace(/\s+/g,"-")}.agent.json`:"agents.bundle.json",l.click(),URL.revokeObjectURL(n),R(!1)}catch(e){console.error("Export error:",e)}finally{W(!1)}}},eA=async()=>{if(0!==en.trim().length){eo(!0),ev(null),ec(null);try{let e=await fetch(`/api/agent-specs/pull?code=${encodeURIComponent(en.trim())}`);if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to pull"}));ev(t.error||"Code not found or expired");return}let t=(await e.json()).bundle;ec(t),ep(new Set(t.agents.map(e=>e.id))),eh(new Set(N(t).map(e=>e.name)))}catch{ev("Failed to connect. Is agx-api running?")}finally{eo(!1)}}},eI=async()=>{if(ed){eg(!0);try{let t=new Set(e.map(e=>e.id));for(let e of ed.agents){if(!ex.has(e.id))continue;let r={name:e.name,provider:e.provider,model:e.model,color:e.color,identity:e.identity||void 0,voice:e.voice||void 0,seed:e.seed||void 0,identityFile:e.identityFile||void 0,skills:e.skills||[],variables:e.variables||{}};t.has(e.id)?(r.id=e.id,await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})):await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}for(let e of N(ed)){if(!em.has(e.name))continue;let t=await z(e.name);if(t)for(let r of e.agentIds)ex.has(r)&&await A(t.id,r)}eN(),await P(),er(!1),ec(null)}catch(e){console.error("Import error:",e),ev("Import failed. Check console for details.")}finally{eg(!1)}}},eP=$?C.find(e=>e.id===$.projectId):null,eE=new Set(eP?.agents.map(e=>e.agent_id)??[]),eT=$?e.filter(e=>!eE.has(e.id)):[],e$=({checked:e})=>(0,t.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${e?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--app-shell-soft-text)]"}`,children:e&&(0,t.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,t.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})});return(0,t.jsxs)("div",{className:"min-h-screen bg-[var(--secondary)] p-6",children:[(0,t.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,t.jsxs)("div",{className:"desktop-titlebar sticky top-0 z-20 -mx-6 mb-6 flex items-center gap-3 border-b border-[var(--border)] bg-[var(--secondary)]/92 px-6 py-4 backdrop-blur-md",children:[(0,t.jsxs)(s.default,{href:"/",className:"inline-flex items-center gap-1 text-sm text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",children:[(0,t.jsx)(a.ArrowLeft,{size:16}),"Back"]}),(0,t.jsx)("h1",{className:"text-2xl font-semibold text-[var(--foreground)]",children:"Manage Agents"}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-[var(--foreground)] rounded-lg hover:opacity-90 transition-colors",onClick:()=>F(!0),children:[(0,t.jsx)(m.Plus,{size:13}),"New Agent"]}),(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 transition-colors",onClick:()=>{H(new Set(e.map(e=>e.id))),X(!0),Z(null),Q(null),ee(!1),R(!0)},disabled:0===e.length,children:[(0,t.jsx)(u,{size:13}),"Share"]}),(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-violet-600 bg-violet-50 border border-violet-200 rounded-lg hover:bg-violet-100 transition-colors",onClick:()=>{ea("choice"),el(""),ec(null),ep(new Set),eh(new Set),ev(null),er(!0)},children:[(0,t.jsx)(d.Download,{size:13}),"Import"]}),(0,t.jsx)("input",{ref:eb,type:"file",accept:".json",className:"hidden",onChange:e=>{let t=e.target.files?.[0];if(!t)return;ev(null);let r=new FileReader;r.onload=()=>{try{let e=JSON.parse(r.result);if(!e.version||!Array.isArray(e.agents))throw Error("Invalid bundle format");ec(e),ep(new Set(e.agents.map(e=>e.id))),eh(new Set(N(e).map(e=>e.name)))}catch{ev("Invalid file. Expected an .agent.json bundle.")}},r.readAsText(t),e.target.value=""}})]})]}),ef&&!et&&(0,t.jsxs)("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-50 border border-red-200 text-sm text-red-700 flex items-center justify-between",children:[(0,t.jsx)("span",{children:ef}),(0,t.jsx)("button",{type:"button",onClick:()=>ev(null),className:"text-red-400 hover:text-red-600",children:(0,t.jsx)(v.X,{size:14})})]}),0===e.length?(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm",children:"No agents configured yet."}):(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:e.map(e=>(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl border border-[var(--border)] p-4 hover:shadow-md transition-shadow text-left group",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 mb-3",children:[(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(e.id,48,e.color),alt:e.name,className:"w-12 h-12 rounded-full bg-[var(--secondary)]"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"font-medium text-[var(--foreground)] truncate",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-[var(--app-shell-soft-text)] truncate mt-0.5",children:e.model}),ej.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 mt-1 text-[10px] font-medium text-emerald-600",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Working"]})]})]}),e.skills&&e.skills.length>0&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-1 mb-3",children:[e.skills.slice(0,3).map((e,r)=>(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-blue-50 text-blue-600 truncate max-w-[120px]",children:e.file.split("/").pop()},r)),e.skills.length>3&&(0,t.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-[var(--secondary)] text-[var(--app-shell-soft-text)]",children:["+",e.skills.length-3]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between pt-2 border-t border-[var(--border)]",children:[(0,t.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-[var(--secondary)] text-[var(--muted-foreground)] uppercase tracking-wide",children:e.provider}),(0,t.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)("button",{type:"button",title:"Edit",onClick:()=>_(e),className:"p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors",children:(0,t.jsx)(p.Pencil,{size:13})}),(0,t.jsx)(s.default,{href:`/agents/${e.id}`,title:"View profile",className:"p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors",children:(0,t.jsx)(c.Eye,{size:13})})]})]})]},e.id))}),(0,t.jsxs)("div",{className:"mt-10",children:[(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-[var(--foreground)]",children:"Project assignments"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--app-shell-soft-text)]",children:"Assign agents to existing projects."})]}),0===eS.length?(0,t.jsx)("p",{className:"text-sm text-[var(--app-shell-soft-text)]",children:"No projects available for assignment."}):(0,t.jsx)("div",{className:"bg-[var(--card-bg)] rounded-xl border border-[var(--border)] divide-y divide-[var(--border)]",children:eS.map(r=>{let s=E.has(r.id),a=(r.thread_ids??[]).map(e=>ek.get(e)?.title?.trim()||"Untitled").filter(Boolean);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3.5 group",children:[(0,t.jsxs)("button",{type:"button",className:"flex items-center gap-3 flex-1 min-w-0 text-left",onClick:()=>{var e;return e=r.id,void T(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},children:[s?(0,t.jsx)(n.ChevronDown,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}):(0,t.jsx)(l.ChevronRight,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}),(0,t.jsx)(f.Users,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}),(0,t.jsx)("span",{className:"font-medium text-[var(--foreground)] text-sm",children:r.name}),(0,t.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)]",children:[r.agents.length," ",1===r.agents.length?"agent":"agents",a.length>0&&` \xb7 ${a.length} ${1===a.length?"thread":"threads"}`]})]}),(0,t.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-[var(--border)] px-2.5 py-1.5 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--item-hover-bg)] hover:text-[var(--foreground)]",title:"Add agents",onClick:()=>{D(new Set),O({projectId:r.id})},children:[(0,t.jsx)(m.Plus,{size:14}),"Add agents"]})})]}),s&&(0,t.jsxs)("div",{className:"px-5 pb-4 pt-1 ml-9 flex flex-col gap-1",children:[0===r.agents.length&&(0,t.jsx)("p",{className:"text-xs text-[var(--app-shell-soft-text)] py-1",children:"No agents in this project."}),r.agents.map(s=>{let a=e.find(e=>e.id===s.agent_id);return(0,t.jsxs)("div",{className:"flex items-center gap-2.5 py-1.5 group/agent",children:[(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(s.agent_id,24,a?.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm text-[var(--secondary-foreground)] truncate flex-1",children:a?.name??s.agent_id}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:a?.model}),(0,t.jsx)("button",{type:"button",className:"opacity-0 group-hover/agent:opacity-100 text-[var(--app-shell-soft-text)] hover:text-red-500 transition-opacity",onClick:()=>void I(r.id,s.agent_id),title:"Remove from project",children:(0,t.jsx)(v.X,{size:14})})]},s.agent_id)}),(0,t.jsxs)("button",{type:"button",className:"mt-2 inline-flex items-center gap-1.5 self-start rounded-lg border border-[var(--border)] px-2.5 py-1.5 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--item-hover-bg)] hover:text-[var(--foreground)]",onClick:()=>{D(new Set),O({projectId:r.id})},children:[(0,t.jsx)(m.Plus,{size:12}),"Add agents"]}),a.length>0&&(0,t.jsxs)("div",{className:"mt-2 pt-2 border-t border-[var(--border)]",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-1",children:"Threads"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.map((e,r)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-1 rounded-md bg-indigo-50 text-indigo-600",children:[(0,t.jsx)(x.Hash,{size:11}),e]},r))})]})]})]},r.id)})})]})]}),M&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>R(!1),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:"Share Agents"}),(0,t.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>R(!1),children:(0,t.jsx)(v.X,{size:16})})]}),V?(0,t.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-4",children:[(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] mb-3",children:"Share this code with the recipient:"}),(0,t.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,t.jsx)("span",{className:"text-3xl font-mono font-bold tracking-[0.3em] text-[var(--foreground)]",children:V}),(0,t.jsx)("button",{type:"button",className:"p-2 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] transition-colors",onClick:()=>{V&&(navigator.clipboard.writeText(V),ee(!0),setTimeout(()=>ee(!1),2e3))},children:Y?(0,t.jsx)(o.Check,{size:18,className:"text-green-500"}):(0,t.jsx)(i.Copy,{size:18})})]})]}),G&&(0,t.jsxs)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:["Expires ",new Date(G).toLocaleTimeString()]}),(0,t.jsx)("button",{type:"button",className:"px-4 py-2 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--secondary)] rounded-lg hover:bg-[var(--item-hover-bg)] transition-colors",onClick:()=>R(!1),children:"Done"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"overflow-y-auto flex-1",children:[eS.length>0&&(0,t.jsxs)("div",{className:"border-b border-[var(--border)] px-5 py-3",children:[(0,t.jsx)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-2",children:"Select by project"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:eS.map(r=>{let s=r.agents.map(e=>e.agent_id),a=s.length>0&&s.every(e=>J.has(e)),n=s.some(e=>J.has(e));return(0,t.jsxs)("button",{type:"button",className:`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-[11px] font-medium transition-colors ${a?"bg-[var(--foreground)] text-white":n?"bg-[var(--app-shell-soft-text)] text-[var(--secondary-foreground)]":"bg-[var(--secondary)] text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{H(e=>{let t=new Set(e);return a?s.forEach(e=>t.delete(e)):s.forEach(e=>t.add(e)),t})},title:s.map(t=>e.find(e=>e.id===t)?.name??t).join(", "),children:[(0,t.jsx)(f.Users,{size:10}),r.name,(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:r.agents.length})]},r.id)})})]}),(0,t.jsxs)("div",{className:"border-b border-[var(--border)]",children:[(0,t.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,t.jsx)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide",children:"Agents"}),(0,t.jsx)("button",{type:"button",className:"text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>{J.size===e.length?H(new Set):H(new Set(e.map(e=>e.id)))},children:J.size===e.length?"Deselect all":"Select all"})]}),e.map(e=>{let r=J.has(e.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${r?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{H(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)(e$,{checked:r}),(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:e.name}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:e.provider})]},e.id)})]}),(0,t.jsx)("div",{className:"px-5 py-3",children:(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-3 w-full px-3 py-2 rounded-lg text-sm transition-colors ${K?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>X(!K),children:[(0,t.jsx)(e$,{checked:K}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Include self.md (agent bio)"})]})})]}),(0,t.jsxs)("div",{className:"px-5 py-3 border-t border-[var(--border)] flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:[J.size," ",1===J.size?"agent":"agents"]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("button",{type:"button",disabled:0===J.size||q,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--card-bg)] border border-[var(--border)] rounded-lg hover:bg-[var(--item-hover-bg)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void ez(),children:[(0,t.jsx)(d.Download,{size:12}),q?"Exporting...":"Export to File"]}),(0,t.jsxs)("button",{type:"button",disabled:0===J.size||q,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void eC(),children:[(0,t.jsx)(u,{size:12}),q?"Pushing...":"Push to Hub"]}),(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>R(!1),children:"Cancel"})]})]})]})]})}),$&&!U&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>O(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",eP?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>O(null),children:(0,t.jsx)(v.X,{size:16})})]}),(0,t.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,t.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--secondary-foreground)] hover:bg-[var(--item-hover-bg)] transition-colors border-b border-[var(--border)]",onClick:()=>F(!0),children:[(0,t.jsx)(m.Plus,{size:14,className:"text-[var(--app-shell-soft-text)]"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eT.length?(0,t.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--app-shell-soft-text)] text-center",children:"All agents are already in this project"}):eT.map(e=>{let r=B.has(e.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${r?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--secondary-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{D(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)(e$,{checked:r}),(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsx)("div",{className:"min-w-0 flex-1 text-left",children:(0,t.jsx)("div",{className:"truncate font-medium text-xs",children:e.name})})]},e.id)})]}),eT.length>0&&(0,t.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>O(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===B.size,className:"px-3 py-1.5 text-xs font-medium text-white bg-[var(--foreground)] rounded-lg hover:opacity-90 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let e of B)A($.projectId,e);O(null)},children:["Add ",B.size>0?`(${B.size})`:""]})]})]})}),U&&(0,t.jsx)(j.AgentForm,{title:"Create new agent",initial:{name:w[Math.floor(Math.random()*w.length)],provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create",projects:eS.map(e=>{let t=(e.thread_ids??[]).map(e=>ek.get(e)?.title?.trim()).filter(Boolean).join(", ")||"No thread";return{id:e.id,name:e.name,label:`${t} › ${e.name}`}}),initialProjectIds:$?[$.projectId]:[],onSubmit:async(t,r)=>{let s=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=s[e.length%s.length],n=t.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),l=r?.[0],i=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:n,name:t.name,provider:t.provider,model:t.model,color:t.color??a,...t.role?{role:t.role}:{},...t.identity?{identity:t.identity}:{},skills:t.skills??[],skillBindings:t.skillBindings??[],...l?{projectId:l}:{}})});if(i.ok){let e=await i.json().catch(()=>({})),t="string"==typeof e?.id&&e.id.trim()?e.id.trim():n;for(let e of(r??[]).slice(1))await A(e,t);F(!1),O(null),eN(),P()}},onCancel:()=>{F(!1)}}),L&&(0,t.jsx)(j.AgentForm,{title:"Edit agent",initial:{name:L.name,role:L.role||"",provider:L.provider,model:L.model||"",identity:L.identity||"",color:L.color,skills:L.skills||[],skillBindings:L.skillBindings||[]},agentId:L.id,submitLabel:"Save",projectMemberships:{current:C.filter(e=>e.agents.some(e=>e.agent_id===L.id)).map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:C.filter(e=>!e.agents.some(e=>e.agent_id===L.id)).map(e=>({id:e.id,name:e.name}))},onAddToProject:e=>A(e,L.id),onRemoveFromProject:e=>I(e,L.id),onSubmit:async e=>{await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:L.id,name:e.name,role:e.role||null,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[]})}),_(null),eN()},onCancel:()=>_(null)}),et&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>er(!1),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:"Import Agents"}),(0,t.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>er(!1),children:(0,t.jsx)(v.X,{size:16})})]}),"choice"===es&&!ed&&(0,t.jsxs)("div",{className:"px-5 py-6 flex flex-col gap-3",children:[(0,t.jsxs)("button",{type:"button",className:"flex items-center gap-3 px-4 py-3.5 rounded-lg border border-[var(--border)] hover:border-violet-300 hover:bg-violet-50 transition-colors text-left",onClick:()=>ea("pull"),children:[(0,t.jsx)("div",{className:"w-9 h-9 rounded-lg bg-violet-100 flex items-center justify-center flex-shrink-0",children:(0,t.jsx)(d.Download,{size:16,className:"text-violet-600"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-[var(--foreground)]",children:"Pull from Hub"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:"Enter a share code to import agents"})]})]}),(0,t.jsxs)("button",{type:"button",className:"flex items-center gap-3 px-4 py-3.5 rounded-lg border border-[var(--border)] hover:border-[var(--border)] hover:bg-[var(--item-hover-bg)] transition-colors text-left",onClick:()=>{ea("file"),setTimeout(()=>eb.current?.click(),100)},children:[(0,t.jsx)("div",{className:"w-9 h-9 rounded-lg bg-[var(--secondary)] flex items-center justify-center flex-shrink-0",children:(0,t.jsx)(g,{size:16,className:"text-[var(--muted-foreground)]"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-[var(--foreground)]",children:"Upload File"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:"Import from a .agent.json bundle"})]})]})]}),"pull"===es&&!ed&&(0,t.jsxs)("div",{className:"px-5 py-5 flex flex-col gap-3",children:[(0,t.jsx)("label",{className:"text-sm text-[var(--muted-foreground)]",children:"Enter share code:"}),(0,t.jsx)("input",{autoFocus:!0,type:"text",value:en,onChange:e=>el(e.target.value.toUpperCase()),placeholder:"e.g. A3X9K2",maxLength:6,className:"w-full px-3 py-2.5 text-center text-2xl font-mono font-bold tracking-[0.3em] border border-[var(--border)] rounded-lg outline-none focus:border-violet-400 focus:ring-1 focus:ring-violet-200 transition-all bg-[var(--card-bg)] text-[var(--foreground)]",onKeyDown:e=>{"Enter"===e.key&&eA()}}),ef&&(0,t.jsx)("p",{className:"text-xs text-red-500",children:ef}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 mt-1",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>{ea("choice"),ev(null)},children:"Back"}),(0,t.jsx)("button",{type:"button",disabled:0===en.trim().length||ei,className:"px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void eA(),children:ei?"Fetching...":"Fetch"})]})]}),"file"===es&&!ed&&(0,t.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Select a .agent.json file to import"}),(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--secondary)] rounded-lg hover:bg-[var(--item-hover-bg)] transition-colors",onClick:()=>eb.current?.click(),children:[(0,t.jsx)(g,{size:13}),"Choose File"]}),ef&&(0,t.jsx)("p",{className:"text-xs text-red-500",children:ef}),(0,t.jsx)("button",{type:"button",className:"text-xs text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] mt-1",onClick:()=>{ea("choice"),ev(null)},children:"Back"})]}),ed&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"overflow-y-auto flex-1",children:[ed.exportedAt&&(0,t.jsx)("div",{className:"px-5 py-3 border-b border-[var(--border)] bg-[var(--secondary)]",children:(0,t.jsxs)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:["Exported ",new Date(ed.exportedAt).toLocaleDateString()," · ",ed.agents.length," agents",N(ed).length>0?`, ${N(ed).length} projects`:""]})}),(0,t.jsxs)("div",{className:"border-b border-[var(--border)]",children:[(0,t.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,t.jsxs)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide",children:[ed.agents.length," agent",1===ed.agents.length?"":"s"," found"]}),(0,t.jsx)("button",{type:"button",className:"text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>{ex.size===ed.agents.length?ep(new Set):ep(new Set(ed.agents.map(e=>e.id)))},children:ex.size===ed.agents.length?"Deselect all":"Select all"})]}),ed.agents.map(r=>{let s=ex.has(r.id),a=e.find(e=>e.id===r.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2.5 text-sm transition-colors ${s?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{ep(e=>{let t=new Set(e);return t.has(r.id)?t.delete(r.id):t.add(r.id),t})},children:[(0,t.jsx)(e$,{checked:s}),(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(r.id,24,r.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate text-xs font-medium",children:r.name}),(0,t.jsxs)("div",{className:"truncate text-[10px] text-[var(--app-shell-soft-text)]",children:[r.provider,r.model?` \xb7 ${r.model}`:""]})]}),a&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-amber-50 text-amber-600 flex-shrink-0",children:"update"}),!a&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-green-50 text-green-600 flex-shrink-0",children:"new"}),r.self&&(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex-shrink-0",children:"+ self.md"})]},r.id)})]}),N(ed).length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"px-5 pt-3 pb-1",children:(0,t.jsx)("p",{className:"text-[11px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Projects"})}),N(ed).map(e=>{let r=em.has(e.name);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${r?"bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{eh(t=>{let r=new Set(t);return r.has(e.name)?r.delete(e.name):r.add(e.name),r})},children:[(0,t.jsx)(e$,{checked:r}),(0,t.jsx)(f.Users,{size:14,className:"text-[var(--muted-foreground)] flex-shrink-0"}),(0,t.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:e.name}),(0,t.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:[e.agentIds.length," agents"]})]},e.name)})]})]}),ef&&(0,t.jsx)("div",{className:"px-5 py-2",children:(0,t.jsx)("p",{className:"text-xs text-red-500",children:ef})}),(0,t.jsxs)("div",{className:"px-5 py-3 border-t border-[var(--border)] flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:[ex.size," ",1===ex.size?"agent":"agents",em.size>0?`, ${em.size} ${1===em.size?"project":"projects"}`:""]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>{ec(null),ep(new Set),eh(new Set)},children:"Back"}),(0,t.jsxs)("button",{type:"button",disabled:0===ex.size||eu,className:"inline-flex items-center gap-1.5 px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void eI(),children:[(0,t.jsx)(g,{size:12}),eu?"Importing...":`Import ${ex.size} agent${1===ex.size?"":"s"}`]})]})]})]})]})})]})}e.s(["default",()=>k],884196)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,837958,e=>{"use strict";let t=(0,e.i(363732).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",()=>t],837958)},812549,871920,e=>{"use strict";var t=e.i(363732);let r=(0,t.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);e.s(["Cpu",()=>r],812549);let l=(0,t.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);e.s(["Box",()=>l],871920)},884564,e=>{"use strict";let t;var r,l,n,o,i,a,s,d,c,u,p,m,x,g,f,h,v,b,y,j=e.i(762281),w=e.i(935851),k=e.i(797167),N=e.i(169610),S=e.i(812549),C=e.i(871920),A=e.i(837958),I=e.i(519132),z=e.i(929870),O=e.i(538292),D=e.i(498027),M=e.i(19035),E=e.i(529471),T=e.i(40527);e.i(866389);let B="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function R(e){let t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function F(e){return"nodeType"in e}function $(e){var t,r;return e?R(e)?e:F(e)&&null!=(t=null==(r=e.ownerDocument)?void 0:r.defaultView)?t:window:window}B?w.useLayoutEffect:w.useEffect;function U(e){return function(t){for(var r=arguments.length,l=Array(r>1?r-1:0),n=1;n<r;n++)l[n-1]=arguments[n];return l.reduce((t,r)=>{for(let[l,n]of Object.entries(r)){let r=t[l];null!=r&&(t[l]=r+e*n)}return t},{...t})}}function X(e){if(!e)return!1;let{KeyboardEvent:t}=$(e.target);return t&&e instanceof t}function L(e){if(function(e){if(!e)return!1;let{TouchEvent:t}=$(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:r}=e.touches[0];return{x:t,y:r}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:r}=e.changedTouches[0];return{x:t,y:r}}}return"clientX"in e&&"clientY"in e?{x:e.clientX,y:e.clientY}:null}let P=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:r}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:r}=e;return"scaleX("+t+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[P.Translate.toString(e),P.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:r,easing:l}=e;return t+" "+r+"ms "+l}}});function Y(){}(r=u||(u={})).DragStart="dragStart",r.DragMove="dragMove",r.DragEnd="dragEnd",r.DragCancel="dragCancel",r.DragOver="dragOver",r.RegisterDroppable="registerDroppable",r.SetDroppableDisabled="setDroppableDisabled",r.UnregisterDroppable="unregisterDroppable";let J=Object.freeze({x:0,y:0}),K={ignoreTransform:!1};function W(e,t){void 0===t&&(t=K);let r=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:l}=$(e).getComputedStyle(e);t&&(r=function(e,t,r){let l=function(e){if(e.startsWith("matrix3d(")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!l)return e;let{scaleX:n,scaleY:o,x:i,y:a}=l,s=e.left-i-(1-n)*parseFloat(r),d=e.top-a-(1-o)*parseFloat(r.slice(r.indexOf(" ")+1)),c=n?e.width/n:e.width,u=o?e.height/o:e.height;return{width:c,height:u,top:d,right:s+c,bottom:d+u,left:s}}(r,t,l))}let{top:l,left:n,width:o,height:i,bottom:a,right:s}=r;return{top:l,left:n,width:o,height:i,bottom:a,right:s}}function V(e){return W(e,{ignoreTransform:!0})}function _(e){return R(e)?e.scrollX:e.scrollLeft}function q(e){return R(e)?e.scrollY:e.scrollTop}(l=p||(p={}))[l.Forward=1]="Forward",l[l.Backward=-1]="Backward";(n=m||(m={})).Click="click",n.DragStart="dragstart",n.Keydown="keydown",n.ContextMenu="contextmenu",n.Resize="resize",n.SelectionChange="selectionchange",n.VisibilityChange="visibilitychange",(o=x||(x={})).Space="Space",o.Down="ArrowDown",o.Right="ArrowRight",o.Left="ArrowLeft",o.Up="ArrowUp",o.Esc="Escape",o.Enter="Enter",o.Tab="Tab";x.Space,x.Enter,x.Esc,x.Space,x.Enter,x.Tab;(i=g||(g={}))[i.RightClick=2]="RightClick";(a=f||(f={}))[a.Pointer=0]="Pointer",a[a.DraggableRect=1]="DraggableRect",(s=h||(h={}))[s.TreeOrder=0]="TreeOrder",s[s.ReversedTreeOrder=1]="ReversedTreeOrder",p.Backward,p.Forward,p.Backward,p.Forward,(d=v||(v={}))[d.Always=0]="Always",d[d.BeforeDragging=1]="BeforeDragging",d[d.WhileDragging=2]="WhileDragging",(b||(b={})).Optimized="optimized";let G={draggable:{measure:V},droppable:{measure:V,strategy:v.WhileDragging,frequency:b.Optimized},dragOverlay:{measure:W}};class Z extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,r;return null!=(t=null==(r=this.get(e))?void 0:r.node.current)?t:void 0}}let H={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Z,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Y},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:G,measureDroppableContainers:Y,windowRect:null,measuringScheduled:!1},Q={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Y,draggableNodes:new Map,over:null,measureDroppableContainers:Y},ee=(0,w.createContext)(Q),et=(0,w.createContext)({...J,scaleX:1,scaleY:1});(c=y||(y={}))[c.Uninitialized=0]="Uninitialized",c[c.Initializing=1]="Initializing",c[c.Initialized=2]="Initialized";let er={position:"fixed",touchAction:"none"},el=e=>X(e)?"transform 250ms ease":void 0;t={styles:{active:{opacity:"0"}}},x.Down,x.Right,x.Up,x.Left;var en=e.i(378764);function eo(e,t=32,r){let l=`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${encodeURIComponent(e)}&size=${t}`;if(!r)return l;let n=r.replace("#","");return`${l}&backgroundColor=${n}`}e.i(44054);let ei=["claude","ollama","gemini","codex","zai"];function ea(e){return(e??[]).map(e=>e.condition?.trim()?`${e.file} | ${e.condition}`:e.file).join("\n")}function es(e){return e.split("\n").map(e=>e.trim()).filter(Boolean).map(e=>{let[t,...r]=e.split("|");return{file:t.trim(),condition:r.join("|").trim()}}).filter(e=>e.file.length>0)}function ed(e,t){return JSON.stringify({name:e.name,...e.roleId?{roleId:e.roleId}:{},...e.role?{role:e.role}:{},provider:e.provider,model:e.model,identity:e.identity,color:e.color??"#6B7280",skills:e.skills??[],skillBindings:e.skillBindings??[],...t?{projectIds:t}:{}},null,2)}function ec({title:e,initial:t,submitLabel:r,onSubmit:l,onCancel:n,projects:o,initialProjectIds:i,agentId:a,projectMemberships:s,onAddToProject:d,onRemoveFromProject:c,roleOptions:u,roleLabel:p="Role",onRolePresetChange:m}){let[x,g]=(0,w.useState)(t.name),[f,h]=(0,w.useState)(t.roleId??""),[v,b]=(0,w.useState)(t.role??""),[y,B]=(0,w.useState)(t.provider),[R,F]=(0,w.useState)(t.model),[$,U]=(0,w.useState)(t.identity),[X,L]=(0,w.useState)(t.color??"#6B7280"),[P,Y]=(0,w.useState)(ea(t.skills)),[J,K]=(0,w.useState)(new Set(i??[])),[W,V]=(0,w.useState)("form"),[_,q]=(0,w.useState)(()=>ed(t,o?i??[]:void 0)),[G,Z]=(0,w.useState)(null),[H,Q]=(0,w.useState)(!1),[ee,et]=(0,w.useState)([]),[er,el]=(0,w.useState)(""),[ec,eu]=(0,w.useState)(!1),[ep,em]=(0,w.useState)(t.skillBindings??[]),ex=(0,w.useRef)(null),eg=(0,w.useRef)(null),ef=!!(u&&u.length>0),eh=a||x.trim()||t.name||"agent";(0,w.useEffect)(()=>{let e=e=>{eg.current&&!eg.current.contains(e.target)&&n()},t=setTimeout(()=>document.addEventListener("pointerdown",e),0);return()=>{clearTimeout(t),document.removeEventListener("pointerdown",e)}},[eg,n]),(0,w.useEffect)(()=>{if(!ec)return;let e=e=>{ex.current&&!ex.current.contains(e.target)&&eu(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[ec]),(0,w.useEffect)(()=>{"form"===W&&q(ed({name:x,...ef&&f?{roleId:f}:{},role:v,provider:y,model:R,identity:$,color:X,skills:es(P),skillBindings:ep},o?Array.from(J):void 0))},[W,x,f,ef,v,y,R,$,X,P,ep,J,o]),(0,w.useEffect)(()=>{if(!H)return;let e=window.setTimeout(()=>Q(!1),1200);return()=>window.clearTimeout(e)},[H]),(0,w.useEffect)(()=>{let e=!1;return async function(){try{let t=await fetch("/api/skills");if(!t.ok)return;let r=await t.json();if(e)return;let l=Array.isArray(r.skills)?r.skills.filter(e=>!!e&&"object"==typeof e).map(e=>({skillId:String(e.skillId??"").trim(),repo:String(e.repo??"").trim(),name:String(e.name??e.skillId??"").trim()})).filter(e=>e.skillId.length>0&&e.repo.length>0):[];et(l)}catch{e||et([])}}(),()=>{e=!0}},[]);let ev=(e,t)=>{let r=o?(t??[]).filter(e=>o.some(t=>t.id===e)):void 0;return g(e.name),h(e.roleId??""),b(e.role??""),B(e.provider),F(e.model),U(e.identity),L(e.color??"#6B7280"),Y(ea(e.skills)),em(e.skillBindings??[]),o&&K(new Set(r??[])),q(ed(e,o?r??[]:void 0)),Z(null),r},eb=e=>{let t=function(e,t){let r;try{r=JSON.parse(e)}catch{throw Error("JSON is invalid.")}if(!r||"object"!=typeof r||Array.isArray(r))throw Error("JSON must be an object.");let l=r,n="string"==typeof l.provider?l.provider:t,o=ei.includes(n)?n:t,i=(Array.isArray(l.skills)?l.skills:[]).flatMap(e=>{if("string"==typeof e){let[t,...r]=e.split("|"),l=t.trim();return l?[{file:l,condition:r.join("|").trim()}]:[]}if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.file?e.file.trim():"";return t?[{file:t,condition:"string"==typeof e.condition?e.condition.trim():""}]:[]}),a=Array.isArray(l.projectIds)?l.projectIds.filter(e=>"string"==typeof e&&e.trim().length>0):void 0,s=(Array.isArray(l.skillBindings)?l.skillBindings:[]).flatMap(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.repo?e.repo.trim():"",r="string"==typeof e.skillId?e.skillId.trim():"";return t&&r?[{repo:t,skillId:r,condition:"string"==typeof e.condition?e.condition.trim():""}]:[]});return{data:{name:"string"==typeof l.name?l.name:"",roleId:"string"==typeof l.roleId?l.roleId:void 0,role:"string"==typeof l.role?l.role:"",provider:o,model:"string"==typeof l.model?l.model:"",identity:"string"==typeof l.identity?l.identity:"",color:"string"==typeof l.color&&l.color.trim()?l.color:"#6B7280",skills:i,skillBindings:s},projectIds:a}}(e,y),r=ev(t.data,t.projectIds);return{...t,projectIds:r}},ey=()=>{if("form"!==W)try{eb(_),V("form")}catch(e){Z(e instanceof Error?e.message:"Unable to parse JSON.")}},ej=async()=>{try{await navigator.clipboard.writeText(_),Q(!0)}catch{Q(!1)}},ew=(0,w.useMemo)(()=>{let e=er.trim().toLowerCase();return e?ee.filter(t=>[t.name,t.skillId,t.repo].some(t=>t.toLowerCase().includes(e))).slice(0,50):ee.slice(0,50)},[ee,er]),ek=(0,w.useMemo)(()=>new Set(ep.map(e=>`${e.repo}::${e.skillId}`)),[ep]);return(0,j.jsx)("div",{ref:eg,className:"fixed inset-0 z-[100] flex items-center justify-center p-4 bg-black/30 backdrop-blur-sm",onKeyDown:e=>{"Escape"===e.key&&n()},children:(0,j.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-[32px] shadow-2xl overflow-hidden w-full max-w-2xl max-h-[90vh] flex flex-col animate-in fade-in zoom-in duration-300",children:[(0,j.jsxs)("div",{className:"px-8 pt-8 pb-4 shrink-0 flex items-center justify-between",children:[(0,j.jsxs)("div",{className:"flex items-center gap-4",children:[(0,j.jsxs)("div",{className:"flex flex-col items-center gap-1.5",children:[(0,j.jsx)("img",{src:eo(eh,64,X),alt:x,className:"w-14 h-14 rounded-full bg-[var(--muted)]"}),(0,j.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,j.jsx)("label",{className:"text-[10px] text-[var(--muted-foreground)]",children:"Color"}),(0,j.jsx)("input",{type:"color",value:X,onChange:e=>L(e.target.value),className:"w-5 h-5 rounded border border-[var(--border)] cursor-pointer p-0"})]})]}),(0,j.jsxs)("div",{children:[(0,j.jsx)("h2",{className:"text-[10px] font-bold tracking-widest text-[var(--muted-foreground)] uppercase",children:e}),(0,j.jsx)("h1",{className:"text-2xl font-semibold mt-1",children:x||"Configure Agent"})]})]}),(0,j.jsx)("button",{onClick:n,className:"p-2 text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] hover:bg-[var(--muted)] rounded-full transition-all",children:(0,j.jsx)(k.X,{size:20})})]}),(0,j.jsxs)("div",{className:"px-8 pb-8 space-y-6 overflow-y-auto",children:[(0,j.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,j.jsxs)("div",{className:"inline-flex rounded-xl bg-[var(--muted)] p-1",children:[(0,j.jsx)("button",{type:"button",onClick:ey,className:"form"===W?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"Form"}),(0,j.jsx)("button",{type:"button",onClick:()=>{q(ed({name:x,...ef&&f?{roleId:f}:{},role:v,provider:y,model:R,identity:$,color:X,skills:es(P),skillBindings:ep},o?Array.from(J):void 0)),Z(null),V("json")},className:"json"===W?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"JSON"})]}),"json"===W&&(0,j.jsxs)("button",{type:"button",onClick:ej,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:[H?(0,j.jsx)(E.Check,{size:14,className:"text-emerald-500"}):(0,j.jsx)(M.Copy,{size:14}),H?"Copied":"Copy"]})]}),"form"===W?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,j.jsx)(N.User,{size:16})," Name"]}),(0,j.jsx)("input",{type:"text",value:x,onChange:e=>g(e.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. Ada, Kai, Sage...",autoFocus:!0})]}),ef?(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:p}),(0,j.jsx)(en.default,{options:u??[],value:f||null,onChange:e=>{if(!ef)return;let t={name:x,roleId:e,role:v,provider:y,model:R,identity:$,color:X,skills:es(P),skillBindings:ep},r=m?.(e,t);r?ev({...r,roleId:e},o?Array.from(J):void 0):h(e)},placeholder:"Select a role preset..."})]}):(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:"Role"}),(0,j.jsx)("input",{type:"text",value:v,onChange:e=>b(e.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. Senior Backend Engineer"})]})]}),(0,j.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,j.jsx)(C.Box,{size:16})," Provider"]}),(0,j.jsxs)("div",{className:"relative",children:[(0,j.jsxs)("select",{value:y,onChange:e=>B(e.target.value),className:"w-full appearance-none px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all pr-10 cursor-pointer",children:[(0,j.jsx)("option",{value:"claude",children:"Claude"}),(0,j.jsx)("option",{value:"ollama",children:"Ollama"}),(0,j.jsx)("option",{value:"gemini",children:"Gemini"}),(0,j.jsx)("option",{value:"codex",children:"Codex"}),(0,j.jsx)("option",{value:"zai",children:"Z.AI"})]}),(0,j.jsx)(D.ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)] pointer-events-none",size:16})]})]}),(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,j.jsx)(S.Cpu,{size:16})," Model"]}),(0,j.jsx)("input",{type:"text",value:R,onChange:e=>F(e.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-sm",placeholder:"e.g. claude-sonnet-4-6"})]})]}),(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,j.jsx)(A.BookOpen,{size:16})," Identity"]}),(0,j.jsx)("div",{className:"border border-[var(--border)] rounded-xl overflow-hidden bg-[var(--app-shell-subtle)] focus-within:ring-2 focus-within:ring-indigo-500/20 focus-within:border-indigo-500 transition-all",children:(0,j.jsx)(T.default,{content:$,onChange:e=>U(e),placeholder:"You are a ..."})}),(0,j.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Identity defines who the agent is. Keep portable knowledge separate below; project and repo knowledge belong on their scoped surfaces."})]}),(0,j.jsxs)("div",{className:"space-y-2",children:[(0,j.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,j.jsx)(I.Sparkles,{size:16})," Portable Knowledge"]}),(0,j.jsxs)("div",{className:"rounded-xl border border-[var(--border)] bg-[var(--app-shell-subtle)] p-3 space-y-3",children:[(0,j.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,j.jsxs)("div",{children:[(0,j.jsx)("p",{className:"text-xs font-semibold text-[var(--foreground)]",children:"Skills Picker"}),(0,j.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"Pick a skill here. AGX will install it later only if the run actually needs it."})]})}),ee.length>0?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"relative",ref:ex,children:[(0,j.jsxs)("button",{type:"button",onClick:()=>eu(e=>!e),className:"w-full flex items-center justify-between px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--card-bg)] text-sm font-medium hover:border-indigo-500",children:[(0,j.jsx)("span",{className:"truncate text-left",children:"Search and add skills"}),(0,j.jsx)(D.ChevronDown,{size:16,className:`shrink-0 text-[var(--muted-foreground)] transition-transform ${ec?"rotate-180":""}`})]}),ec&&(0,j.jsxs)("div",{className:"absolute left-0 right-0 top-full mt-2 z-30 rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg overflow-hidden",children:[(0,j.jsx)("div",{className:"p-2 border-b border-[var(--border)]",children:(0,j.jsx)("input",{type:"text",value:er,onChange:e=>el(e.target.value),placeholder:"Search skills",className:"w-full px-3 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500",autoFocus:!0})}),(0,j.jsx)("div",{className:"max-h-64 overflow-y-auto",children:ew.length>0?ew.map(e=>{let t=`${e.repo}::${e.skillId}`,r=ek.has(t);return(0,j.jsx)("button",{type:"button",className:`w-full px-3 py-2 text-left text-sm transition-colors ${r?"bg-emerald-50 text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:e=>e.preventDefault(),onClick:()=>{var t,r;return t=e.repo,r=e.skillId,void(em(e=>e.some(e=>e.repo===t&&e.skillId===r)?e.filter(e=>e.repo!==t||e.skillId!==r):[...e,{repo:t,skillId:r}]),el(""))},children:(0,j.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,j.jsxs)("div",{className:"min-w-0",children:[(0,j.jsx)("div",{className:"font-medium",children:e.name||e.skillId}),(0,j.jsx)("div",{className:"text-[11px] text-[var(--muted-foreground)]",children:e.repo})]}),r&&(0,j.jsx)("span",{className:"shrink-0 rounded-full bg-emerald-100 px-2 py-0.5 text-[10px] font-semibold text-emerald-700",children:"Added"})]})},t)}):(0,j.jsx)("div",{className:"px-3 py-3 text-sm text-[var(--muted-foreground)]",children:"No matching skills."})})]})]}),(0,j.jsxs)("div",{className:"flex flex-wrap gap-2",children:[ep.map(e=>(0,j.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-emerald-50 text-emerald-700 border border-emerald-200 px-2.5 py-1 text-[11px] font-medium",children:[e.skillId,(0,j.jsx)("button",{type:"button",onClick:()=>{var t,r;return t=e.repo,r=e.skillId,void em(e=>e.filter(e=>e.repo!==t||e.skillId!==r))},className:"text-emerald-700/70 hover:text-emerald-900",title:`Remove ${e.skillId}`,children:(0,j.jsx)(k.X,{size:12})})]},`${e.repo}::${e.skillId}`)),0===ep.length&&(0,j.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No library skills selected yet."})]})]}):(0,j.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No catalog skills available right now."})]}),(0,j.jsx)("textarea",{value:P,onChange:e=>Y(e.target.value),rows:5,className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-xs",placeholder:"one/path/to/skill.md\npath/to/skill.md | when coding in TypeScript"}),(0,j.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)]",children:["Portable agent knowledge only. One reference per line. Use ",(0,j.jsx)("code",{children:"|"})," to add an optional condition."]})]}),o&&o.length>0&&(0,j.jsxs)("div",{className:"space-y-3",children:[(0,j.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,j.jsx)(O.FolderOpen,{size:16})," Assign To Projects"]}),(0,j.jsx)("div",{className:"space-y-1 max-h-[160px] overflow-y-auto",children:o.map(e=>{let t=J.has(e.id);return(0,j.jsxs)("button",{type:"button",className:t?"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors bg-indigo-50 text-indigo-700":"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]",onClick:()=>K(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r}),children:[(0,j.jsx)("div",{className:t?"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center bg-indigo-600 border-indigo-600":"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center border-[var(--border)]",children:t&&(0,j.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,j.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,j.jsx)("span",{className:"text-xs font-medium text-left",children:e.label??e.name})]},e.id)})})]}),s&&(0,j.jsxs)("div",{className:"space-y-3",children:[(0,j.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,j.jsx)(O.FolderOpen,{size:16})," Project Memberships"]}),s.current.length>0?(0,j.jsx)("div",{className:"flex flex-col gap-1",children:s.current.map(e=>(0,j.jsxs)("div",{className:"flex items-center gap-2 text-xs bg-[var(--app-shell-subtle)] rounded-lg px-3 py-2",children:[(0,j.jsx)(O.FolderOpen,{size:12,className:"text-[var(--muted-foreground)] shrink-0"}),(0,j.jsx)("span",{className:"truncate flex-1",children:e.name}),c&&!e.is_default&&(0,j.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-red-500 transition-colors",onClick:()=>c(e.id),title:"Remove from project",children:(0,j.jsx)(k.X,{size:12})})]},e.id))}):(0,j.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] italic",children:"Not assigned to any projects"}),s.available.length>0&&d&&(0,j.jsx)("div",{className:"flex flex-wrap gap-1",children:s.available.map(e=>(0,j.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 text-[10px] px-2 py-1 rounded-lg border border-dashed border-[var(--border)] text-[var(--muted-foreground)] hover:border-[var(--border)] hover:text-[var(--foreground)] transition-colors",onClick:()=>d(e.id),children:[(0,j.jsx)(z.Plus,{size:10}),e.name]},e.id))})]})]}):(0,j.jsxs)("div",{className:"space-y-3",children:[(0,j.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,j.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Paste agent JSON here. Switching back to Form or saving will apply valid JSON to the form state."}),(0,j.jsx)("button",{type:"button",onClick:ey,className:"px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:"Apply to Form"})]}),(0,j.jsx)("textarea",{value:_,onChange:e=>{q(e.target.value),G&&Z(null)},rows:22,className:"w-full px-4 py-3 bg-[var(--app-shell-bg)] text-[var(--foreground)] border border-[var(--app-shell-border)] rounded-2xl focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)] transition-all font-mono text-xs",spellCheck:!1,autoFocus:!0}),G&&(0,j.jsx)("p",{className:"text-xs text-red-500",children:G})]}),(0,j.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-4 border-t border-[var(--border)]",children:[(0,j.jsx)("button",{onClick:n,className:"px-6 py-2.5 text-sm font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all",children:"Cancel"}),(0,j.jsx)("button",{onClick:()=>{let e=x.trim(),t=f,r=v.trim(),n=y,i=R.trim(),a=$.trim(),s=X,d=es(P),c=ep,u=o?Array.from(J):void 0;if("json"===W)try{let l=eb(_);e=l.data.name.trim(),t=l.data.roleId??"",r=(l.data.role??"").trim(),n=l.data.provider,i=l.data.model.trim(),a=l.data.identity.trim(),s=l.data.color??"#6B7280",d=l.data.skills??[],c=l.data.skillBindings??[],u=o?l.projectIds??[]:void 0}catch(e){Z(e instanceof Error?e.message:"Unable to parse JSON.");return}e&&i&&l({name:e,...ef&&t?{roleId:t}:{},role:r||void 0,provider:n,model:i,identity:a,color:s,skills:d,skillBindings:c},u)},disabled:"form"===W&&(!x.trim()||!R.trim()),className:"px-8 py-2.5 bg-indigo-600 text-white text-sm font-semibold rounded-xl shadow-[0_4px_12px_rgba(79,70,229,0.3)] hover:bg-indigo-700 active:scale-95 disabled:opacity-50 transition-all font-bold",children:r})]})]})]})})}e.s(["AgentForm",()=>ec,"agentAvatarUrl",()=>eo],884564)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,958164,e=>{"use strict";let t=(0,e.i(363732).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],958164)},780004,e=>{"use strict";let t="obra/superpowers",n="vercel/next-skills";function i(e,t,n){return n?{repo:e,skillId:t,condition:n}:{repo:e,skillId:t}}function a(e){return e.condition?{...e}:{repo:e.repo,skillId:e.skillId}}function r(e){let t={...e};return t.extraSkills&&(t.extraSkills=t.extraSkills.map(a)),t}function s(e){return{...e,agents:e.agents.map(r)}}function l(e){let t={...e,agents:e.agents.map(r)};return t.variants&&(t.variants=t.variants.map(s)),t}let o={"strategist-lead":[i(t,"brainstorming"),i(t,"writing-plans"),i(t,"dispatching-parallel-agents"),i(t,"requesting-code-review"),i(t,"verification-before-completion")],"senior-builder":[i(t,"test-driven-development"),i(t,"systematic-debugging"),i(t,"subagent-driven-development"),i(t,"requesting-code-review"),i(t,"verification-before-completion"),i(t,"finishing-a-development-branch")],builder:[i(t,"test-driven-development"),i(t,"systematic-debugging"),i(t,"verification-before-completion"),i(t,"finishing-a-development-branch")],planner:[i(t,"brainstorming"),i(t,"writing-plans"),i(t,"verification-before-completion")],researcher:[i(t,"brainstorming"),i(t,"writing-plans"),i(t,"systematic-debugging"),i(t,"verification-before-completion")],reviewer:[i(t,"systematic-debugging"),i(t,"test-driven-development"),i(t,"requesting-code-review"),i(t,"verification-before-completion")]},d=["strategist-lead","senior-builder","builder","planner","researcher","reviewer"].map(e=>({id:e,skills:o[e].map(a)})),c=[i(n,"api-routes","next.js app router, route handlers, api endpoints"),i(n,"nextjs-patterns","next.js app structure, routing, layouts, data fetching"),i(n,"react-server-components","react server components, server client boundaries, next.js rendering")],m={"team-lead":{name:"Ada",role:"Team Lead",style:"balanced",skillProfileId:"strategist-lead",identity:"Own technical direction, break ambiguous work into executable plans, and keep the squad aligned on delivery."},"fullstack-engineer":{name:"Kai",role:"Senior Fullstack Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Ship features end-to-end across frontend and backend with pragmatic tradeoffs and clean boundaries.",extraSkills:c},"backend-engineer":{name:"Ravi",role:"Senior Backend Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Own backend contracts, data integrity, and safe delivery under real production constraints."},"frontend-engineer":{name:"Mira",role:"Senior Frontend Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Own product-facing UI quality, interaction design fidelity, and maintainable front-end architecture.",extraSkills:c},"data-engineer":{name:"Nia",role:"Data Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Build reliable data pipelines, schemas, and transformations with a bias toward traceability."},"ml-engineer":{name:"Luca",role:"ML Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Ship model-backed systems pragmatically, with evaluation, rollback paths, and tight production feedback."},"devops-engineer":{name:"Juno",role:"DevOps Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Own delivery automation, deployment safety, and infrastructure changes that must fail predictably."},"security-engineer":{name:"Iris",role:"Security Engineer",style:"conservative",skillProfileId:"senior-builder",identity:"Harden trust boundaries, implement secure defaults, and turn vague risk into concrete engineering requirements."},"ui-designer":{name:"Theo",role:"UI Designer",style:"specialist",skillProfileId:"builder",identity:"Refine interfaces into consistent, high-signal UI systems that are practical to build and maintain.",extraSkills:[i(n,"nextjs-patterns","next.js ui flows, routing, layouts, app router"),i(n,"react-server-components","react server components, server client boundaries, data fetching placement")]},"qa-engineer":{name:"Sana",role:"QA Engineer",style:"conservative",skillProfileId:"reviewer",identity:"Find regressions early, tighten acceptance boundaries, and force evidence before release claims."},sre:{name:"Dax",role:"Site Reliability Engineer",style:"conservative",skillProfileId:"reviewer",identity:"Guard uptime, incident readiness, and operational correctness by challenging risky assumptions early."},"pen-tester":{name:"Vega",role:"Penetration Tester",style:"specialist",skillProfileId:"reviewer",identity:"Probe the system as an adversary, find exploit paths, and make the attack surface legible to builders."},"product-manager":{name:"Sage",role:"Product Manager",style:"balanced",skillProfileId:"planner",identity:"Turn ambiguous requests into scoped bets, crisp plans, and explicit tradeoffs the team can execute."},"ux-designer":{name:"Yara",role:"UX Designer",style:"balanced",skillProfileId:"planner",identity:"Clarify user intent, reduce friction in flows, and turn product goals into coherent interaction design."},"technical-writer":{name:"Orin",role:"Technical Writer",style:"balanced",skillProfileId:"planner",identity:"Turn complex implementation detail into clear docs, rollout notes, and operational guidance."},"growth-marketer":{name:"Zed",role:"Growth Marketer",style:"balanced",skillProfileId:"strategist-lead",identity:"Design growth experiments with clear hypotheses, sequencing, and measurable outcomes."},analyst:{name:"Piper",role:"Product Analyst",style:"specialist",skillProfileId:"researcher",identity:"Ground decisions in evidence, identify gaps in the brief, and surface the signal behind user behavior."},"content-writer":{name:"Wren",role:"Content Strategist",style:"balanced",skillProfileId:"researcher",identity:"Translate product and audience insight into clear narratives, launch copy, and feedback loops."},researcher:{name:"Ezra",role:"Researcher",style:"balanced",skillProfileId:"researcher",identity:"Map fast-changing domains, synthesize evidence, and surface the governing model behind decisions."},"marketing-strategist":{name:"Finn",role:"Marketing Strategist",style:"balanced",skillProfileId:"strategist-lead",identity:"Own brand positioning, campaign strategy, and channel mix with measurable conversion targets."},copywriter:{name:"Blair",role:"Copywriter",style:"balanced",skillProfileId:"researcher",identity:"Craft clear, persuasive copy that serves both the reader and the business goal."},"support-engineer":{name:"Gwen",role:"Support Engineer",style:"balanced",skillProfileId:"builder",identity:"Diagnose customer issues fast, escalate with precision, and turn patterns into preventive fixes."},"support-lead":{name:"Eli",role:"Support Lead",style:"balanced",skillProfileId:"planner",identity:"Triage incoming issues, route to the right responder, and track resolution quality."},"devrel-engineer":{name:"Milo",role:"Developer Relations Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Build sample apps, integrations, and tooling that make the platform easy to adopt."},"community-manager":{name:"Uma",role:"Community Manager",style:"balanced",skillProfileId:"planner",identity:"Grow and engage the developer community through events, content, and feedback loops."},"ops-engineer":{name:"Nate",role:"Operations Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Automate operational workflows, reduce toil, and keep internal tooling reliable."},"project-manager":{name:"Quinn",role:"Project Manager",style:"balanced",skillProfileId:"planner",identity:"Track milestones, remove blockers, and keep cross-team delivery on schedule."},"solutions-architect":{name:"Cass",role:"Solutions Architect",style:"balanced",skillProfileId:"strategist-lead",identity:"Design system-level architectures, evaluate tradeoffs, and guide teams through technical decisions."},"mobile-engineer":{name:"Rio",role:"Senior Mobile Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Ship native and cross-platform mobile experiences with attention to performance and platform conventions."}},u=["team-lead","fullstack-engineer","backend-engineer","frontend-engineer","qa-engineer","product-manager","analyst","growth-marketer","content-writer","data-engineer","ml-engineer","ux-designer","ui-designer","devops-engineer","sre","security-engineer","pen-tester","researcher","technical-writer","marketing-strategist","copywriter","support-engineer","support-lead","devrel-engineer","community-manager","ops-engineer","project-manager","solutions-architect","mobile-engineer"].map(e=>r({id:e,...m[e]}));function g(e){return r({id:e,...m[e]})}let p=[{id:"engineering",name:"Engineering",description:"Software engineering teams across all domains — pick a specialization or build your own.",icon:"hammer",agents:[g("team-lead"),g("backend-engineer"),g("frontend-engineer"),g("fullstack-engineer"),g("qa-engineer")],variants:[{id:"general",name:"General",description:"Product engineering with leadership, builders across the stack, and quality gates.",agents:[g("team-lead"),g("backend-engineer"),g("frontend-engineer"),g("fullstack-engineer"),g("qa-engineer")]},{id:"ai",name:"AI",description:"Applied AI and ML engineering for models, evaluation, and production inference.",agents:[g("team-lead"),g("ml-engineer"),g("data-engineer"),g("researcher"),g("qa-engineer")]},{id:"data",name:"Data",description:"Data platform engineering for pipelines, warehousing, and transformation reliability.",agents:[g("team-lead"),g("data-engineer"),g("qa-engineer")]},{id:"mobile",name:"Mobile",description:"Native and cross-platform mobile engineering with fullstack support.",agents:[g("team-lead"),g("mobile-engineer"),g("fullstack-engineer"),g("qa-engineer")]},{id:"infra",name:"Infrastructure",description:"Platform reliability for delivery pipelines, runtime stability, and operational safety.",agents:[g("team-lead"),g("devops-engineer"),g("sre")]},{id:"security",name:"Security",description:"Security engineering for secure defaults, hardening, and adversarial validation.",agents:[g("team-lead"),g("security-engineer"),g("pen-tester")]},{id:"solutions",name:"Solutions",description:"Architecture and integration work across systems and customer deployments.",agents:[g("team-lead"),g("solutions-architect"),g("backend-engineer"),g("devops-engineer")]}]},{id:"product",name:"Product",description:"Discovery and prioritization for product direction, scope, and validation.",icon:"clipboard-list",agents:[g("team-lead"),g("product-manager"),g("analyst")]},{id:"design",name:"Design",description:"UX and UI pairing for flows, interaction models, and polished product surfaces.",icon:"palette",agents:[g("team-lead"),g("ux-designer"),g("ui-designer")]},{id:"growth",name:"Growth",description:"Experiment and content team for acquisition, activation, and learning loops.",icon:"trending-up",agents:[g("team-lead"),g("growth-marketer"),g("content-writer")]},{id:"research",name:"Research",description:"Research and synthesis pair for investigations, briefs, and decision support.",icon:"flask-conical",agents:[g("team-lead"),g("researcher"),g("technical-writer")]},{id:"marketing",name:"Marketing",description:"Brand strategy, campaign execution, and content production.",icon:"megaphone",agents:[g("team-lead"),g("marketing-strategist"),g("copywriter"),g("content-writer")]},{id:"support",name:"Support",description:"Customer-facing support with triage, diagnosis, and escalation.",icon:"life-buoy",agents:[g("team-lead"),g("support-lead"),g("support-engineer")]},{id:"devrel",name:"Developer Relations",description:"Developer advocacy through tooling, content, and community engagement.",icon:"users",agents:[g("team-lead"),g("devrel-engineer"),g("community-manager"),g("technical-writer")]},{id:"operations",name:"Operations",description:"Internal tooling, project delivery, and cross-team coordination.",icon:"settings",agents:[g("team-lead"),g("project-manager"),g("ops-engineer")]}].map(l),f=new Map(d.map(e=>[e.id,e])),h=new Map(u.map(e=>[e.id,e]));function b(){return u.map(r)}function y(e){let t,n="string"==typeof e?function(e){if(!e)return null;let t=h.get(e);return t?r(t):null}(e):e;return n?[...(t=function(e){if(!e)return null;let t=f.get(e);return t?{id:t.id,skills:t.skills.map(a)}:null}(n.skillProfileId))?t.skills:[],...n.extraSkills?n.extraSkills.map(a):[]]:[]}function v(){return p.map(l)}p.map(e=>[e.id,e]),e.s(["getAgentPresetBindings",()=>y,"listAgentPresets",()=>b,"listTeamTemplates",()=>v])},737820,e=>{"use strict";var t=e.i(762281),n=e.i(935851),i=e.i(506420),a=e.i(780004),r=e.i(378764),s=e.i(524123),l=e.i(929870),o=e.i(8707),d=e.i(906724),c=e.i(958164),m=e.i(529471),u=e.i(797167);function g({params:e}){let{slug:g}=(0,n.use)(e),p=(0,i.useRouter)(),{projects:f}=(0,s.useProjectsWithAgents)(),h=f.find(e=>e.slug===g),[b,y]=(0,n.useState)([]),[v,x]=(0,n.useState)(!0),[k,w]=(0,n.useState)(null),[j,S]=(0,n.useState)(null),[P,I]=(0,n.useState)(new Set),[N,C]=(0,n.useState)(""),[T,M]=(0,n.useState)(""),[E,A]=(0,n.useState)(!1),[q,R]=(0,n.useState)(null),D=(0,n.useMemo)(()=>(0,a.listTeamTemplates)(),[]),O=(0,n.useMemo)(()=>(0,a.listAgentPresets)(),[]),z=(0,n.useMemo)(()=>D.find(e=>e.id===k)??null,[D,k]),L=(0,n.useCallback)(async()=>{if(h){try{let e=await fetch(`/api/projects/${h.id}/agents/unassigned`);if(e.ok){let t=await e.json();y(t.agents??[])}}catch{}x(!1)}},[h]);(0,n.useEffect)(()=>{L()},[L]);let U=(0,n.useMemo)(()=>D.map(e=>({id:e.id,label:e.name,description:e.description,meta:e.variants?`${e.variants.length} specializations`:`${e.agents.length} roles`})),[D]),$=(0,n.useMemo)(()=>z?.variants?z.variants.map(e=>({id:e.id,label:e.name,description:e.description,meta:`${e.agents.length} roles`})):[],[z]),B=(0,n.useMemo)(()=>O.filter(e=>P.has(e.id)),[O,P]),F=(0,n.useMemo)(()=>{let e=T.toLowerCase();return O.filter(t=>!P.has(t.id)&&(!e||t.name.toLowerCase().includes(e)||t.id.includes(e)||t.skillProfileId.includes(e)))},[O,P,T]);function G(e){I(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}async function X(){if(k&&0!==P.size&&h){A(!0),R(null);try{await Promise.all(b.map(e=>fetch(`/api/projects/${h.id}/agents?agentId=${encodeURIComponent(e.id)}`,{method:"DELETE"})));let e={templateId:k,name:N.trim()||z?.name,agents:[...P]};j&&(e.variantId=j);let t=await fetch(`/api/projects/${h.id}/teams`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create team");p.push(`/projects/${g}/teams`)}catch(e){R(e instanceof Error?e.message:"Failed to replace agents"),A(!1)}}}if(!h||v)return(0,t.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-zinc-500",children:"Loading..."});let K=!!z?.variants,W=P.size>0;return(0,t.jsx)("div",{className:"h-full overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto px-6 py-8 space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-lg font-bold",children:"Replace Unassigned Agents"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Remove unassigned agents and create a new team."})]}),q&&(0,t.jsx)("div",{className:"p-3 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:q}),(0,t.jsx)("div",{className:"p-3.5 rounded-xl bg-red-500/5",style:{border:"1px solid rgba(239,68,68,0.2)"},children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(c.AlertTriangle,{className:"w-4 h-4 text-red-400 flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-red-400 mb-1.5",children:"These agents will be removed:"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:b.map(e=>(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 rounded-lg bg-red-500/10 text-red-300 border border-red-500/20",children:e.name},e.id))})]})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-[var(--muted-foreground)] mb-1.5",children:"Replacement team name"}),(0,t.jsx)("input",{value:N,onChange:e=>C(e.target.value),placeholder:"e.g. Engineering",className:"input w-full text-sm",disabled:E})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-[var(--muted-foreground)] mb-1.5",children:"Template"}),(0,t.jsx)(r.default,{options:U,value:k,onChange:function(e){w(e),S(null);let t=D.find(t=>t.id===e);t&&(C(t.name),t.variants?I(new Set):I(new Set(t.agents.map(e=>e.id))))},placeholder:"Select a team template...",disabled:E})]}),K&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-[var(--muted-foreground)] mb-1.5",children:"Specialization"}),(0,t.jsx)(r.default,{options:$,value:j,onChange:function(e){S(e);let t=z?.variants?.find(t=>t.id===e);t&&(C(t.name),I(new Set(t.agents.map(e=>e.id))))},placeholder:"Select a specialization...",disabled:E})]}),W&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs font-medium text-[var(--muted-foreground)] mb-2",children:["Roles (",B.length,")"]}),(0,t.jsx)("div",{className:"space-y-1.5",children:B.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between py-2 px-3 rounded-xl",style:{background:"var(--muted)",border:"1px solid var(--border)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5 min-w-0",children:[(0,t.jsx)("div",{className:"w-5 h-5 rounded-md flex items-center justify-center flex-shrink-0 bg-emerald-500/15",children:(0,t.jsx)(m.Check,{className:"w-3 h-3 text-emerald-400"})}),(0,t.jsx)("span",{className:"text-sm font-medium truncate",children:e.role}),(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full flex-shrink-0",style:{background:"var(--card-bg)",color:"var(--muted-foreground)"},children:e.skillProfileId})]}),(0,t.jsx)("button",{onClick:()=>G(e.id),disabled:E,className:"p-1.5 rounded-lg hover:bg-red-500/15 text-[var(--muted-foreground)] hover:text-red-400 transition-colors",children:(0,t.jsx)(u.X,{className:"w-3.5 h-3.5"})})]},e.id))})]}),k&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-[var(--muted-foreground)] mb-1.5",children:"Add roles"}),(0,t.jsxs)("div",{className:"relative mb-3",children:[(0,t.jsx)(o.Search,{className:"w-4 h-4 absolute left-3 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)]"}),(0,t.jsx)("input",{value:T,onChange:e=>M(e.target.value),placeholder:"Search all roles...",className:"input w-full text-sm",style:{paddingLeft:"2.25rem"},disabled:E}),T&&(0,t.jsx)("button",{onClick:()=>M(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,t.jsx)(u.X,{className:"w-3.5 h-3.5"})})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[F.map(e=>(0,t.jsxs)("button",{onClick:()=>G(e.id),disabled:E,className:"inline-flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded-full transition-colors",style:{background:"var(--muted)",border:"1px solid var(--border)",color:"var(--muted-foreground)"},onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--primary)",e.currentTarget.style.color="var(--primary)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.color="var(--muted-foreground)"},children:[(0,t.jsx)(l.Plus,{className:"w-3 h-3"}),e.name]},e.id)),0===F.length&&(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] py-2",children:T?"No matching roles":"All roles selected"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 pt-4 border-t",style:{borderColor:"var(--border)"},children:[(0,t.jsx)("button",{onClick:()=>p.push(`/projects/${g}/teams`),disabled:E,className:"px-4 py-2 rounded-xl border hover:bg-[var(--muted)]/50 transition-colors text-sm",style:{borderColor:"var(--border)"},children:"Cancel"}),(0,t.jsx)("button",{onClick:X,disabled:!W||!k||E,className:"px-5 py-2 rounded-xl text-sm font-medium min-w-[120px] flex items-center justify-center gap-2 bg-red-600 hover:bg-red-700 text-white transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:E?(0,t.jsx)(d.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.AlertTriangle,{className:"w-4 h-4"}),"Replace (",P.size,")"]})})]})]})})}e.s(["default",()=>g])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,169729,e=>{"use strict";let r=(0,e.i(363732).default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);e.s(["PanelLeftOpen",()=>r],169729)},468947,e=>{"use strict";let r=(0,e.i(363732).default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",()=>r],468947)},721571,e=>{"use strict";let r=(0,e.i(363732).default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",()=>r],721571)},524780,e=>{"use strict";var r=e.i(762281),t=e.i(935851),a=e.i(307241),s=e.i(810605);function l(){let[e,l]=(0,t.useState)("unknown"),[i,o]=(0,t.useState)([]),[n,d]=(0,t.useState)(""),[c,u]=(0,t.useState)(!1),p=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/status");if(!e.ok)return void l("unknown");let r=await e.json();l("ok"===r.status?"ok":"degraded");let t=r.services.filter(e=>"agx-chat"===e.name||"agx-cloud"===e.name);o(t),d(new Date().toLocaleTimeString())}catch{l("unknown"),o([])}},[]);return(0,t.useEffect)(()=>{p();let e=setInterval(p,s.UI_POLL_SYSTEM_STATUS_MS);return()=>clearInterval(e)},[p]),(0,r.jsxs)("div",{className:"relative",onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[(0,r.jsx)(a.default,{href:"/status",className:"inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] transition-all hover:bg-[var(--app-shell-subtle)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)]",title:"System status",children:(0,r.jsx)("span",{className:`h-2.5 w-2.5 rounded-full ${"ok"===e?"bg-emerald-400":"degraded"===e?"bg-amber-400":"bg-[var(--app-shell-muted)]"} ${"degraded"===e?"animate-pulse":""}`})}),c&&(0,r.jsxs)("div",{className:"absolute top-full right-0 z-50 mt-1.5 w-52 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] p-3 text-xs shadow-lg",children:[i.length>0?(0,r.jsx)("ul",{className:"space-y-1.5",children:i.map(e=>(0,r.jsxs)("li",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:e.name}),(0,r.jsx)("span",{className:"ok"===e.status?"text-emerald-600":"error"===e.status?"text-red-500":"text-[var(--muted-foreground)]",children:"ok"===e.status?"Healthy":"error"===e.status?e.detail||"Error":"Unavailable"})]},e.name))}):(0,r.jsx)("p",{className:"text-[var(--app-shell-soft-text)]",children:"Checking..."}),n&&(0,r.jsxs)("p",{className:"mt-2 border-t border-[var(--app-shell-border)] pt-1.5 text-[var(--app-shell-soft-text)]",children:["Last check: ",n]})]})]})}e.s(["StatusIndicator",()=>l])},749410,e=>{"use strict";var r=e.i(762281),t=e.i(935851),a=e.i(866389),s=e.i(498027),l=e.i(997626),i=e.i(55236),o=e.i(196630),n=e.i(363732);let d=(0,n.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var c=e.i(929870),u=e.i(8707),p=e.i(797167),m=e.i(257587),h=e.i(938201),x=e.i(572665);let f=(0,n.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var b=e.i(597628),v=e.i(99296);let g=(0,n.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var j=e.i(307241),w=e.i(44054),k=e.i(884564),y=e.i(535208),N=e.i(902572),_=e.i(644660);function S({compact:e=!1}){return(0,r.jsxs)("span",{className:`workspace-sidebar__brand-logo${e?" workspace-sidebar__brand-logo--compact":""}`,"aria-hidden":"true",children:[(0,r.jsxs)("span",{className:"workspace-sidebar__brand-grid",children:[(0,r.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--blue"}),(0,r.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--yellow"}),(0,r.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--mint"}),(0,r.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--red"})]}),(0,r.jsx)("span",{className:"workspace-sidebar__brand-text",children:"AGX"})]})}function C({label:e,children:s}){let l=(0,t.useRef)(null),[i,o]=(0,t.useState)(null);return(0,r.jsxs)("div",{ref:l,onMouseEnter:()=>{let e=l.current?.firstElementChild??l.current;if(!e)return;let r=e.getBoundingClientRect();o({top:r.top+r.height/2,left:r.right+8})},onMouseLeave:()=>o(null),style:{display:"contents"},children:[s,i&&(0,a.createPortal)((0,r.jsx)("div",{className:"workspace-sidebar__rail-tooltip",style:{top:i.top,left:i.left,transform:"translateY(-50%)"},children:e}),document.body)]})}function I({projects:e,activeProjectId:a,onSelectProject:l,onCreateProject:o}){let[n,d]=(0,t.useState)(!1),[m,h]=(0,t.useState)(""),x=(0,t.useRef)(null),f=(0,t.useRef)(null),b=e.find(e=>e.id===a)??e[0],v=m.trim()?e.filter(e=>e.name.toLowerCase().includes(m.toLowerCase())):e;return(0,t.useEffect)(()=>{if(!n)return;let e=e=>{x.current&&!x.current.contains(e.target)&&(d(!1),h(""))};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[n]),(0,t.useEffect)(()=>{n&&f.current&&f.current.focus()},[n]),(0,r.jsxs)("div",{className:"relative px-3 pt-3 pb-2",ref:x,children:[(0,r.jsxs)("button",{type:"button",onClick:()=>d(!n),className:"flex w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 py-2 text-sm text-[var(--foreground)] transition-all hover:border-[var(--app-shell-border-strong)]",children:[(0,r.jsx)(i.Folder,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"flex-1 truncate text-left font-medium",children:b?.name??"Select project"}),(0,r.jsx)(s.ChevronDown,{size:14,className:`flex-shrink-0 text-[var(--muted-foreground)] transition-transform ${n?"rotate-180":""}`})]}),n&&(0,r.jsxs)("div",{className:"absolute left-3 right-3 z-50 mt-1 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg overflow-hidden",children:[(0,r.jsx)("div",{className:"p-2 border-b border-[var(--app-shell-border)]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-2 py-1.5",children:[(0,r.jsx)(u.Search,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("input",{ref:f,type:"text",value:m,onChange:e=>h(e.target.value),placeholder:"Search projects...",className:"flex-1 bg-transparent text-xs text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] outline-none"}),m&&(0,r.jsx)("button",{type:"button",onClick:()=>h(""),className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,r.jsx)(p.X,{size:10})})]})}),(0,r.jsxs)("div",{className:"max-h-52 overflow-y-auto py-1",children:[v.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>{l?.(e.id),d(!1),h("")},className:`flex w-full items-center gap-2 px-3 py-1.5 text-sm transition-colors hover:bg-[var(--app-shell-subtle)] ${e.id===b?.id?"text-[var(--foreground)] font-medium":"text-[var(--muted-foreground)]"}`,children:[(0,r.jsx)(i.Folder,{size:12,className:"flex-shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:e.name})]},e.id)),0===v.length&&(0,r.jsx)("p",{className:"px-3 py-2 text-xs text-[var(--muted-foreground)]",children:"No projects found"})]}),(0,r.jsx)("div",{className:"border-t border-[var(--app-shell-border)] p-1",children:(0,r.jsxs)("button",{type:"button",onClick:()=>{d(!1),h(""),o()},className:"flex w-full items-center gap-2 rounded-md px-2.5 py-1.5 text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:[(0,r.jsx)(c.Plus,{size:12}),(0,r.jsx)("span",{children:"New project"})]})})]})]})}function $({threads:e,participants:s=[],activeThreadId:i,isLoading:n,isCreating:u,onSelectThread:$,onCreateThread:z,onRenameThread:T,onDeleteThread:F,deletingThreadId:E=null,renamingThreadId:M=null,activeParticipantIds:P=[],onToggleParticipantActive:L,visible:A=!1,isRestoringActiveThread:R=!1,onToggle:B,onSearch:V,projects:D=[],onCreateProject:O,onUpdateProject:U,onDeleteProject:W,onAddAgentToProject:K,onRemoveAgentFromProject:q,onAddAgentViaForm:J,onReorderProjectAgents:X,onUpdateParticipant:H,onSelectProject:Y,activeProjectId:G=null,activeProjectView:Z=null,width:Q,onWidthChange:ee,onAddTeam:er,stageShow:et}){let ea,es,{isTouchLayout:el,isPhone:ei}=(0,w.useInputCapabilities)(),eo=(0,t.useRef)(!1);(0,t.useRef)(0);let en=(0,t.useRef)(null),[ed,ec]=(0,t.useState)(!1),[eu,ep]=(0,t.useState)(new Set);(0,t.useEffect)(()=>{if(eu.size>0||!D?.length)return;let e=D.find(e=>window.location.pathname.includes(`/projects/${e.slug}`));ep(new Set([e?.id??D[0].id]))},[D]);let[em,eh]=(0,t.useState)(null),[ex,ef]=(0,t.useState)(new Set),[eb,ev]=(0,t.useState)(!1),[eg,ej]=(0,t.useState)(null),[ew,ek]=(0,t.useState)(null),ey=(0,y.useProjectFormState)(),[eN,e_]=(0,t.useState)(null),eS=(0,t.useCallback)(e=>{e&&(e.focus(),e.select())},[]),[eC,eI]=(0,t.useState)(null),[e$,ez]=(0,t.useState)(null),eT=e$?s.find(e=>e.id===e$)??null:null,[eF,eE]=(0,t.useState)(null),[eM,eP]=(0,t.useState)({});(0,t.useEffect)(()=>{if(!D?.length)return;let e=!1,r=async()=>{try{let r=await fetch("/api/processes?enrich=1");if(!r.ok||e)return;let t=await r.json();if(e)return;let a=t.filter(e=>"spawning"===e.state||"running"===e.state),l={};for(let e of D){let r=e.slug.trim().toLowerCase(),t=new Set((e.thread_ids??[]).map(e=>e.trim()).filter(Boolean)),i=[],o=[],n=[],d=new Set,c=new Set,u=new Set;for(let e of a){let a=e.projectSlug?.trim().toLowerCase();if(!(a&&a===r||t.has(e.workspaceId)||t.has(e.threadId)))continue;let l=s.find(r=>r.id===e.agentId),p={agentId:e.agentId,color:l?.color??"#10b981"};e.linearIssueId?c.has(e.agentId)||(c.add(e.agentId),o.push(p)):e.threadId?.startsWith("objective-chat:")||e.workspaceId?.startsWith("objective-chat:")?d.has(e.agentId)||(d.add(e.agentId),i.push(p)):u.has(e.agentId)||(u.add(e.agentId),n.push(p))}(i.length||o.length||n.length)&&(l[e.id]={objectives:i,linear:o,chat:n})}eP(l)}catch{}};r();let t=setInterval(r,3e3);return()=>{e=!0,clearInterval(t)}},[D,s]);let[eL,eA]=(0,t.useState)({}),[eR,eB]=(0,t.useState)(new Set),[eV,eD]=(0,t.useState)(new Set),eO=(0,t.useRef)(new Set);(0,t.useEffect)(()=>{Array.from(eu).forEach(e=>{eV.has(e)||(eD(r=>new Set(r).add(e)),(async()=>{try{let r=await fetch(`/api/projects/${e}/teams`);if(!r.ok)return;let t=await r.json();eA(r=>({...r,[e]:t.teams??[]}))}catch{}})())})},[eu,eV]);let[eU,eW]=(0,t.useState)(null),eK=async()=>{if(!eg&&!ew)return;if(!ey.form.name.trim())return void ey.setFormError("Project name is required");let e=ey.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void ey.setFormError(`Local path is required for folder "${e.name}"`);ey.setFormError(null),ey.setIsSubmitting(!0);let r=(0,y.createProjectPayload)(ey.form,ey.repos);ew?await U?.(ew.id,r):await O?.(r,eg?.threadId),ey.setIsSubmitting(!1),ej(null),ek(null)};(0,t.useEffect)(()=>{ec(!0)},[]),(0,t.useEffect)(()=>{let e=!1;async function r(){if(eF?.repoId)try{let r=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(eF.repoId)}`),t=(r.ok?await r.json():{note:null}).note;e||eE(e=>e&&e.repoId===eF.repoId?{...e,generatedKnowledge:t?.content?[{id:t.id,content:t.content,created_at:t.updatedAt??t.createdAt}]:[],isLoadingKnowledge:!1}:e)}catch{e||eE(e=>e&&e.repoId===eF.repoId?{...e,generatedKnowledge:[],isLoadingKnowledge:!1}:e)}}return eF?.repoId&&r(),()=>{e=!0}},[eF?.repoId]);let eq=em?D.find(e=>e.id===em.projectId):null,eJ=new Set(eq?.agents.map(e=>e.agent_id)??[]),eX=em?s.filter(e=>!eJ.has(e.id)):[],eH=e.length>0,eY=!!A,eG=(0,t.useCallback)(()=>{el&&B?.()},[el,B]),eZ=[...e].sort((e,r)=>(e.title??"").localeCompare(r.title??"")),eQ=new Map(e.map(e=>[e.id,e])),e0=D.filter(e=>!e.is_default),e1=e0.find(e=>e.id===G)??e0[0]??null,e2=et??{home:!0,threads:!0,terminal:!0,objectives:!1,objectivesIsNew:!1,linear:!1,teams:!1,folders:!1,scheduledTasks:!1,envVars:!1};if((0,t.useEffect)(()=>{if(0===e0.length)return;let r=new Map,t=new Set,a=new Map;for(let e of e0){for(let r of e.thread_ids??[])"string"==typeof r&&r.trim()&&t.add(r);for(let t of(0,N.readProjectObjectivesWorkspace)(e.metadata).objectives){let a=t.id.trim();a&&r.set(a,{projectId:e.id,canonicalThreadId:t.threadId?.trim()||`objective-chat:${a}`})}}for(let r of e){let e=r.metadata&&"object"==typeof r.metadata?r.metadata:null,t="objective"===("string"==typeof e?.scope?e.scope:"")||r.id.startsWith("objective-chat:"),s=r.title?.trim().toLowerCase()??"";if(!t||!s)continue;let l=a.get(s)??[];l.push(r),a.set(s,l)}for(let[e,r]of a)a.set(e,[...r].sort((e,r)=>r.updatedAt-e.updatedAt));for(let s of e){let e=s.metadata&&"object"==typeof s.metadata?s.metadata:null,l="string"==typeof e?.scope?e.scope:"",i="string"==typeof e?.objectiveId?e.objectiveId.trim():"",o=s.id.startsWith("objective-chat:")?s.id.slice(15).trim():"",n=i||o,d="objective"===l||!!o,c=s.title?.trim().toLowerCase()??"",u=0===s.messages.length&&s.updatedAt<Date.now()-3e5;if(!d)continue;let p=n?r.get(n):void 0;if(p){if(s.id!==p.canonicalThreadId&&u){let e=`delete:${s.id}`;if(eO.current.has(e))continue;eO.current.add(e),Promise.resolve(F(s.id)).catch(r=>{eO.current.delete(e),console.warn("Failed to delete legacy objective thread",r)});continue}if(!t.has(s.id)){let e=`link:${s.id}`;if(eO.current.has(e))continue;eO.current.add(e),fetch(`/api/projects/${p.projectId}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:s.id})}).then(e=>{if(!e.ok)throw Error(`Request failed with status ${e.status}`)}).catch(r=>{eO.current.delete(e),console.warn("Failed to re-link objective thread",r)})}continue}if(!u)continue;let m=c?a.get(c)??[]:[];if(m.length<2||m[0]?.id===s.id)continue;let h=`delete:${s.id}`;eO.current.has(h)||(eO.current.add(h),Promise.resolve(F(s.id)).catch(e=>{eO.current.delete(h),console.warn("Failed to delete orphan objective thread",e)}))}},[e0,F,e]),!function({focusTarget:e,shouldFocus:r}){(0,t.useEffect)(()=>{if(!r||"u"<typeof document)return;let t=e.current;if(!t||t instanceof HTMLButtonElement&&t.disabled)return;let a=document.activeElement;if(!(a&&(t===a||t.contains(a))))try{t.focus({preventScroll:!0})}catch{t.focus()}},[e,r])}({focusTarget:en,shouldFocus:eY&&!(n&&!eH||R&&eH)&&!eH&&!u}),!eY){if(el)return null;let t=e1?.slug;return(0,r.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,r.jsx)("div",{className:"workspace-sidebar__brand",children:(0,r.jsx)("button",{type:"button",onClick:B,className:"workspace-sidebar__brand-trigger border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,r.jsx)(S,{compact:!0})})}),t&&(0,r.jsxs)("nav",{className:"workspace-sidebar__collapsed-rail",children:[(0,r.jsx)(C,{label:"Home",children:(0,r.jsx)(j.default,{href:`/projects/${t}`,className:`workspace-sidebar__rail-icon${"home"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(f,{size:16})})}),(e2.objectives||e2.linear||e2.scheduledTasks)&&(0,r.jsx)("div",{className:"workspace-sidebar__rail-separator"}),e2.objectives&&(0,r.jsx)(C,{label:"Objectives",children:(0,r.jsx)(j.default,{href:`/projects/${t}/objectives`,className:`workspace-sidebar__rail-icon${"objectives"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(h.Target,{size:16})})}),e2.linear&&(0,r.jsx)(C,{label:"Tasks",children:(0,r.jsx)(j.default,{href:`/projects/${t}/linear`,className:`workspace-sidebar__rail-icon${"linear"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(_.LinearIcon,{size:16})})}),e2.scheduledTasks&&(0,r.jsx)(C,{label:"Scheduled Jobs",children:(0,r.jsx)(j.default,{href:`/projects/${t}/automations`,className:`workspace-sidebar__rail-icon${"automations"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(l.Zap,{size:16})})}),(0,r.jsx)("div",{className:"workspace-sidebar__rail-separator"}),(0,r.jsx)(C,{label:"Terminal",children:(0,r.jsx)(j.default,{href:`/projects/${t}/terminal`,className:`workspace-sidebar__rail-icon${"terminal"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(v.TerminalSquare,{size:16})})}),(0,r.jsx)(C,{label:"Chat",children:(0,r.jsx)("button",{type:"button",className:`workspace-sidebar__rail-icon${"thread"===Z?" workspace-sidebar__rail-icon--active":""}`,onClick:()=>{let r=eZ.filter(e=>e1?.thread_ids?.includes(e.id)),t=e1?.thread_ids?.find(r=>e.some(e=>e.id===r))??r[0]?.id;t&&$(t)},children:(0,r.jsx)(b.MessageSquare,{size:16})})}),(e2.teams||e2.folders||e2.envVars)&&(0,r.jsx)("div",{className:"workspace-sidebar__rail-separator"}),e2.teams&&(0,r.jsx)(C,{label:"Teams",children:(0,r.jsx)(j.default,{href:`/projects/${t}/teams`,className:`workspace-sidebar__rail-icon${"teams"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(x.Users,{size:16})})}),e2.folders&&(0,r.jsx)(C,{label:"Folders",children:(0,r.jsx)(j.default,{href:`/projects/${t}/folders`,className:`workspace-sidebar__rail-icon${"folders"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(o.FolderGit2,{size:16})})}),e2.envVars&&(0,r.jsx)(C,{label:"Env Variables",children:(0,r.jsx)(j.default,{href:`/projects/${t}/env-vars`,className:`workspace-sidebar__rail-icon${"env-vars"===Z?" workspace-sidebar__rail-icon--active":""}`,children:(0,r.jsx)(g,{size:16})})})]}),(0,r.jsx)("div",{className:"mt-auto p-2",children:(0,r.jsx)(C,{label:"Join Discord",children:(0,r.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"workspace-sidebar__rail-icon",style:{backgroundColor:"#5865F2",color:"white"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",children:(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})})]})}return(0,r.jsxs)(r.Fragment,{children:[el?(0,r.jsx)("button",{type:"button",className:"workspace-sidebar__backdrop",onClick:B,"aria-label":"Close sidebar"}):null,(0,r.jsxs)("aside",{id:"workspace-sidebar",className:`workspace-sidebar${el?" workspace-sidebar--drawer":""}${el&&ei?" workspace-sidebar--drawer-phone":""}`,"aria-label":"Workspace sidebar","aria-busy":n?"true":void 0,"aria-modal":el?"true":void 0,role:el?"dialog":void 0,style:!el&&Q?{width:`${Q}px`,minWidth:`${Q}px`}:void 0,children:[(0,r.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,r.jsx)("div",{className:"workspace-sidebar__brand-content",children:(0,r.jsx)(S,{})}),B&&(0,r.jsx)("button",{type:"button",onClick:B,"aria-label":"Hide chats",title:"Hide chats",className:"workspace-sidebar__brand-toggle ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,r.jsx)(d,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,r.jsxs)("div",{className:"workspace-sidebar__content",children:[(0,r.jsx)(I,{projects:e0,activeProjectId:G,onSelectProject:e=>{Y?.(e),eG()},onCreateProject:()=>{ey.resetForm(),ek(null),ej({})}}),(()=>{if(!e1)return null;let e=eZ.filter(e=>e1.thread_ids?.includes(e.id)),t=e1.thread_ids?.find(e=>eQ.has(e))??e1.thread_ids?.[0]??e[0]?.id??null,a=e1.id===G,n=a&&"home"===Z,d=a&&"objectives"===Z,c=a&&"linear"===Z,u=a&&"automations"===Z,p=a&&"terminal"===Z,w=a&&"thread"===Z&&t===i,y=a&&"teams"===Z,N=a&&"folders"===Z,S=a&&"env-vars"===Z,C=eM[e1.id],I=e2.objectives||e2.linear||e2.scheduledTasks,z=e2.teams||e2.folders||e2.envVars;return(0,r.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,r.jsx)("div",{className:"px-2 mt-2 mb-3",children:(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}`,onClick:eG,className:`workspace-sidebar__nav-item ${n?"workspace-sidebar__nav-item--active":""}`,"aria-current":n?"page":void 0,children:[(0,r.jsx)(f,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Home"})]})})}),I&&(0,r.jsxs)("div",{className:"mb-3",children:[(0,r.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,r.jsx)("p",{className:"workspace-sidebar__section-label",children:"Work"})}),(0,r.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[e2.objectives&&(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}/objectives`,onClick:eG,className:`workspace-sidebar__nav-item ${d?"workspace-sidebar__nav-item--active":""}`,"aria-current":d?"page":void 0,children:[(0,r.jsx)(h.Target,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Objectives"}),e2.objectivesIsNew&&(0,r.jsx)("span",{className:"ml-auto inline-flex items-center rounded-full bg-indigo-500/15 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider text-indigo-500 animate-pulse",children:"NEW"}),!e2.objectivesIsNew&&C?.objectives.length>0&&(0,r.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.objectives.slice(0,3).map(e=>{let t=s.find(r=>r.id===e.agentId);return(0,r.jsxs)("span",{className:"relative inline-block",title:t?.name,children:[(0,r.jsx)("img",{src:(0,k.agentAvatarUrl)(t?.id??e.agentId,16,e.color),alt:t?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,r.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},e.agentId)})})]})}),e2.linear&&(0,r.jsxs)("div",{className:"workspace-sidebar__workspace-item group/linear flex items-center",children:[(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}/linear`,onClick:eG,className:`workspace-sidebar__nav-item flex-1 ${c?"workspace-sidebar__nav-item--active":""}`,"aria-current":c?"page":void 0,children:[(0,r.jsx)(_.LinearIcon,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Tasks"}),C?.linear.length>0&&(0,r.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.linear.slice(0,3).map(e=>{let t=s.find(r=>r.id===e.agentId);return(0,r.jsxs)("span",{className:"relative inline-block",title:t?.name,children:[(0,r.jsx)("img",{src:(0,k.agentAvatarUrl)(t?.id??e.agentId,16,e.color),alt:t?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,r.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},e.agentId)})})]}),(0,r.jsx)(j.default,{href:`/projects/${e1.slug}/linear?settings=true`,onClick:eG,className:"flex h-5 w-5 items-center justify-center rounded opacity-0 group-hover/linear:opacity-100 hover:bg-[var(--sidebar-hover)] transition-opacity",title:"Linear settings",children:(0,r.jsx)(m.Settings,{size:11,className:"text-[var(--muted-foreground)]"})})]}),e2.scheduledTasks&&(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}/automations`,onClick:eG,className:`workspace-sidebar__nav-item ${u?"workspace-sidebar__nav-item--active":""}`,"aria-current":u?"page":void 0,children:[(0,r.jsx)(l.Zap,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Scheduled Jobs"})]})})]})]}),(0,r.jsxs)("div",{className:"mb-3",children:[(0,r.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,r.jsx)("p",{className:"workspace-sidebar__section-label",children:"Tools"})}),(0,r.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}/terminal`,onClick:eG,className:`workspace-sidebar__nav-item ${p?"workspace-sidebar__nav-item--active":""}`,"aria-current":p?"page":void 0,children:[(0,r.jsx)(v.TerminalSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Terminal"})]})}),(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:t?(0,r.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${w?"workspace-sidebar__nav-item--active":""}`,onClick:()=>{$(t),eG()},"aria-current":w?"page":void 0,children:[(0,r.jsx)(b.MessageSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Chat"}),C?.chat.length>0&&(0,r.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.chat.slice(0,3).map(e=>{let t=s.find(r=>r.id===e.agentId);return(0,r.jsxs)("span",{className:"relative inline-block",title:t?.name,children:[(0,r.jsx)("img",{src:(0,k.agentAvatarUrl)(t?.id??e.agentId,16,e.color),alt:t?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,r.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},e.agentId)})})]}):null})]})]}),z&&(0,r.jsxs)("div",{className:"mb-3",children:[(0,r.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,r.jsx)("p",{className:"workspace-sidebar__section-label",children:"Settings"})}),(0,r.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[e2.teams&&(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}/teams`,onClick:eG,className:`workspace-sidebar__nav-item ${y?"workspace-sidebar__nav-item--active":""}`,"aria-current":y?"page":void 0,children:[(0,r.jsx)(x.Users,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Teams"})]})}),e2.folders&&(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}/folders`,onClick:eG,className:`workspace-sidebar__nav-item ${N?"workspace-sidebar__nav-item--active":""}`,"aria-current":N?"page":void 0,children:[(0,r.jsx)(o.FolderGit2,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Folders"})]})}),e2.envVars&&(0,r.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,r.jsxs)(j.default,{href:`/projects/${e1.slug}/env-vars`,onClick:eG,className:`workspace-sidebar__nav-item ${S?"workspace-sidebar__nav-item--active":""}`,"aria-current":S?"page":void 0,children:[(0,r.jsx)(g,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Environment Variables"})]})})]})]})]})})()]}),(0,r.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,r.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",children:[(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),ed&&eF&&(0,a.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{eF.isSaving||eE(null)},children:(0,r.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:eF.projectName}),(0,r.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:eF.repoId?eF.name||"Folder":"Add Folder"})]}),(0,r.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{eF.isSaving||eE(null)},"aria-label":"Close folder details",disabled:eF.isSaving,children:(0,r.jsx)(p.X,{size:16})})]}),(0,r.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,r.jsx)("input",{value:eF.name,onChange:e=>eE(r=>r?{...r,name:e.target.value,error:null}:r),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:eF.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("input",{value:eF.path,onChange:e=>eE(r=>r?{...r,path:e.target.value,error:null}:r),className:"flex-1 rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:eF.isSaving,placeholder:"Local path to folder"}),(0,r.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",disabled:eF.isSaving,onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),r=await e.json();r.path&&eE(e=>e?{...e,path:r.path,error:null}:e)}catch{}},children:"Browse"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,r.jsx)("textarea",{value:eF.notes,onChange:e=>eE(r=>r?{...r,notes:e.target.value,error:null}:r),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:eF.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),eF.repoId?(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),eF.isLoadingKnowledge?(0,r.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):eF.generatedKnowledge.length>0?(0,r.jsx)("div",{className:"space-y-2",children:eF.generatedKnowledge.slice(0,5).map(e=>(0,r.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,r.jsx)("div",{children:e.content}),e.created_at?(0,r.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,r.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,eF.error?(0,r.jsx)("p",{className:"text-xs text-red-600",children:eF.error}):null,(0,r.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,r.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>eE(null),disabled:eF.isSaving,children:"Cancel"}),(0,r.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:eF.isSaving||!U,onClick:async()=>{let e=D.find(e=>e.id===eF.projectId);if(!e)return void eE(e=>e?{...e,error:"Project not found."}:e);let r=eF.name.trim(),t=eF.path.trim();if(!r)return void eE(e=>e?{...e,error:"Folder name is required."}:e);if(!t)return void eE(e=>e?{...e,error:"Folder path is required."}:e);eE(e=>e?{...e,isSaving:!0,error:null}:e);try{let a=eF.repoId?e.repos.map(e=>e.id===eF.repoId?{id:e.id,name:r,path:t,git_url:eF.gitUrl.trim()||void 0,notes:eF.notes.trim()||void 0}:{id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}):[...e.repos.map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes})),{name:r,path:t,git_url:eF.gitUrl.trim()||void 0,notes:eF.notes.trim()||void 0}];await U?.(e.id,{repos:a}),eE(null)}catch(e){eE(r=>r?{...r,isSaving:!1,error:e instanceof Error?e.message:"Failed to save folder details."}:r)}},children:eF.isSaving?"Saving...":eF.repoId?"Save":"Add Folder"})]})]})]})}),document.body),ed&&em&&!eb&&(0,a.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eh(null),children:(0,r.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,r.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",eq?.name??"project"]}),(0,r.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eh(null),children:(0,r.jsx)(p.X,{size:16})})]}),(0,r.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,r.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>ev(!0),children:[(0,r.jsx)(c.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,r.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eX.length?(0,r.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):eX.map(e=>{let t=ex.has(e.id);return(0,r.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${t?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{ef(r=>{let t=new Set(r);return t.has(e.id)?t.delete(e.id):t.add(e.id),t})},children:[(0,r.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${t?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--border)]"}`,children:t&&(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,r.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,r.jsx)("img",{src:(0,k.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,r.jsx)("div",{className:"truncate font-medium text-xs",children:e.name}),(0,r.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:e.model})]})]},e.id)})]}),eX.length>0&&(0,r.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>eh(null),children:"Cancel"}),(0,r.jsxs)("button",{type:"button",disabled:0===ex.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let e of ex)K?.(em.projectId,e);eh(null)},children:["Add ",ex.size>0?`(${ex.size})`:""]})]})]})}),document.body),ed&&eb&&(0,a.createPortal)((0,r.jsx)(k.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:D?.filter(e=>!e.is_default).map(r=>{let t=(r.thread_ids??[]).map(r=>e.find(e=>e.id===r)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:r.id,name:r.name,label:`${t} › ${r.name}`}}),initialProjectIds:em?[em.projectId]:[],onSubmit:async(e,r)=>{let t=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=t[s.length%t.length],l=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),i=r?.[0],o=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:l,name:e.name,provider:e.provider,model:e.model,color:e.color??a,...e.role?{role:e.role}:{},...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[],...i?{projectId:i}:{}})});if(o.ok){let e=await o.json().catch(()=>({})),t="string"==typeof e?.id&&e.id.trim()?e.id.trim():l;for(let e of(r??[]).slice(1))K?.(e,t);ev(!1),eh(null)}},onCancel:()=>{ev(!1)}}),document.body),ed&&eN&&(0,a.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>e_(null),children:(0,r.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,r.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:eN.title}),(0,r.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>e_(null),children:(0,r.jsx)(p.X,{size:16})})]}),(0,r.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:e=>{e.preventDefault();let r=new FormData(e.currentTarget),t=r.get("value")?.trim();t&&(eN.onSubmit(t),e_(null))},children:[(0,r.jsx)("input",{ref:eS,name:"value",type:"text",defaultValue:eN.defaultValue,placeholder:eN.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>e_(null),children:"Cancel"}),(0,r.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:eN.defaultValue?"Save":"Create"})]})]})]})}),document.body),ed&&eC&&(0,a.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eI(null),children:(0,r.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,r.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:eC.title}),(0,r.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eI(null),children:(0,r.jsx)(p.X,{size:16})})]}),(0,r.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,r.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:eC.message}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>eI(null),children:"Cancel"}),(0,r.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{eC.onConfirm(),eI(null)},children:"Delete"})]})]})]})}),document.body),ed&&(eg||ew)&&(0,a.createPortal)((0,r.jsx)(y.default,{isOpen:!0,onClose:()=>{ey.resetForm(),ej(null),ek(null)},onSubmit:()=>void eK(),editingProject:ew,form:ey.form,repos:ey.repos,isSubmitting:ey.isSubmitting,formError:ey.formError,onFieldChange:(e,r)=>ey.setForm(t=>({...t,[e]:r})),onRepoChange:ey.handleRepoChange,onAddRepo:ey.addRepo,onRemoveRepo:ey.removeRepo}),document.body),ed&&eT&&(0,a.createPortal)((ea=D.filter(e=>e.agents.some(e=>e.agent_id===eT.id)),es=D.filter(e=>!e.agents.some(e=>e.agent_id===eT.id)),(0,r.jsx)(k.AgentForm,{title:"Edit agent",initial:{name:eT.name,role:eT.role||"",provider:eT.provider,model:eT.model||"",identity:eT.identity||"",color:eT.color,skills:eT.skills||[],skillBindings:eT.skillBindings||[]},agentId:eT.id,submitLabel:"Save",projectMemberships:{current:ea.map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:es.map(e=>({id:e.id,name:e.name}))},onAddToProject:K?e=>K(e,eT.id):void 0,onRemoveFromProject:q?e=>q(e,eT.id):void 0,onSubmit:async e=>{H&&await H({...eT,name:e.name,role:e.role||void 0,provider:e.provider,model:e.model,color:e.color??eT.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[]}),ez(null)},onCancel:()=>ez(null)})),document.body),ee&&!el&&(0,r.jsx)("div",{className:"absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group",onMouseDown:e=>{e.preventDefault(),eo.current=!0;let r=e.clientX,t=Q??368;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let a=e=>{ee(Math.max(200,Math.min(600,t+e.clientX-r)))},s=()=>{eo.current=!1,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",a),window.addEventListener("mouseup",s)},children:(0,r.jsx)("div",{className:"absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40"})})]})]})}e.s(["WorkspaceSidebar",()=>$],749410)},969039,e=>{"use strict";var r=e.i(935851),t=e.i(506420),a=e.i(434405);let s="agx-chat:last-thread";function l(){return void 0!==window.localStorage}function i(){if(l())try{window.localStorage.removeItem(s)}catch{}}let o=e=>[...e].sort((e,r)=>r.createdAt-e.createdAt);function n(e){let n=(0,t.useSearchParams)(),d=(e||n.get("thread")||"").trim()||null,c=(0,r.useRef)(!0),[u,p]=(0,r.useState)([]),[m,h]=(0,r.useState)(null),[x,f]=(0,r.useState)(!0),[b,v]=(0,r.useState)(!0),[g,j]=(0,r.useState)(!1),[w,k]=(0,r.useState)(null),[y,N]=(0,r.useState)(null),_=(0,r.useRef)(!1),S=(0,r.useCallback)(e=>{h(e)},[]);(0,r.useEffect)(()=>(c.current=!0,()=>{c.current=!1}),[]),(0,r.useEffect)(()=>{let e=!1;return(async()=>{try{var r;let t,n=await a.threadService.listThreads();if(d&&!n.some(e=>e.id===d)){let e=await a.threadService.createThread({id:d});n=o([...n.filter(r=>r.id!==e.id),e])}if(e||!c.current)return;p(n);let u=d||function(){if(!l())return null;try{return window.localStorage.getItem(s)}catch{return null}}(),{threadId:m,shouldClearSavedId:x,restoredFromStorage:f}=(r=n,t=r[0]?.id??null,u?r.some(e=>e.id===u)?{threadId:u,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:t,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:t,shouldClearSavedId:!1,restoredFromStorage:!1});x&&i(),_.current||(_.current=!0),f&&m?S(m):m?h(e=>e??m):h(null)}catch(e){console.error("Failed to load threads",e)}finally{c.current&&(f(!1),v(!1))}})(),()=>{e=!0}},[d,S]),(0,r.useEffect)(()=>{if(_.current)if(m){if(l())try{window.localStorage.setItem(s,m)}catch{}}else i()},[m]);let C=(0,r.useCallback)(async e=>{j(!0);try{let r=await a.threadService.createThread(e);if(!c.current)return r;return p(e=>o([...e.filter(e=>e.id!==r.id),r])),h(r.id),r}catch(e){throw console.error("Failed to create thread",e),e}finally{c.current&&j(!1)}},[]),I=(0,r.useCallback)(async e=>{if(e){k(e);try{if(await a.threadService.deleteThread(e),!c.current)return;let r=[];p(t=>r=o(t.filter(r=>r.id!==e))),h(t=>t===e?r[0]?.id??null:t)}catch(e){throw console.error("Failed to delete thread",e),e}finally{c.current&&k(null)}}},[]),$=(0,r.useCallback)(async(e,r)=>{let t=e.trim(),s=r.trim();if(t&&s){N(t);try{let e=await a.threadService.renameThread(t,s);if(!e||!c.current)return;p(r=>o(r.map(r=>r.id===e.id?e:r)))}catch(e){throw console.error("Failed to rename thread",e),e}finally{c.current&&N(e=>e===t?null:e)}}},[]),z=(0,r.useCallback)(async(e,r)=>{if(e)try{let t=await a.threadService.saveThreadMessages(e,r);if(!t||!c.current)return;p(e=>o(e.map(e=>e.id===t.id?t:e)))}catch(e){console.error("Failed to update thread messages",e)}},[]),T=(0,r.useCallback)(async(e,r)=>{if(e)try{let t=await a.threadService.updateThreadStatus(e,r);if(!t||!c.current)return;p(e=>o(e.map(e=>e.id===t.id?t:e)))}catch(e){console.error("Failed to update thread status",e)}},[]),F=(0,r.useCallback)(async(e,r)=>{if(e)try{let t=await a.threadService.updateThreadOutcomeNote(e,r);if(!t||!c.current)return;p(e=>o(e.map(e=>e.id===t.id?t:e)))}catch(e){console.error("Failed to update thread outcome note",e)}},[]),E=(0,r.useCallback)(async(e,r,t)=>{if(e&&r)try{let s=await a.threadService.updateMessageThreadStatus(e,r,t);if(!s||!c.current)return;p(e=>o(e.map(e=>e.id===s.id?s:e)))}catch(e){console.error("Failed to update message thread status",e)}},[]),M=(0,r.useCallback)(async(e,r,t)=>{if(e&&r)try{let s=await a.threadService.updateMessageOutcomeNote(e,r,t);if(!s||!c.current)return;p(e=>o(e.map(e=>e.id===s.id?s:e)))}catch(e){console.error("Failed to update message outcome note",e)}},[]),P=null!==m&&w===m;return{threads:u,activeThreadId:m,selectThread:S,createThread:C,deleteThread:I,isLoading:x,isRestoringActiveThread:b,isCreating:g,deletingThreadId:w,renamingThreadId:y,isDeletingActiveThread:P,updateThreadMessages:z,renameThread:$,updateThreadStatus:T,updateThreadOutcomeNote:F,updateMessageThreadStatus:E,updateMessageOutcomeNote:M}}e.s(["useThreadState",()=>n],969039)},481248,e=>{"use strict";let r="agx-chat:uiSettings",t={threadSidebarVisible:!1};function a(){return void 0!==window.localStorage}function s(){if(!a())return{...t};let e=window.localStorage.getItem(r);if(!e)return{...t};try{let r=JSON.parse(e);return{...t,threadSidebarVisible:"boolean"==typeof r.threadSidebarVisible&&r.threadSidebarVisible}}catch{return{...t}}}function l(){return s().threadSidebarVisible}function i(e){var t={...s(),threadSidebarVisible:e};if(a())try{window.localStorage.setItem(r,JSON.stringify(t))}catch{}}e.s(["loadWorkspaceSidebarVisible",()=>l,"persistWorkspaceSidebarVisible",()=>i])}]);