@mndrk/agx 2.4.6 → 2.4.8

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 (364) hide show
  1. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +4 -0
  3. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +33 -0
  6. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/app-paths-manifest.json +3 -0
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/build-manifest.json +11 -0
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/server-reference-manifest.json +4 -0
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js +13 -0
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js.map +5 -0
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js.nft.json +1 -0
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route_client-reference-manifest.js +2 -0
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/app-paths-manifest.json +3 -0
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/build-manifest.json +11 -0
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/server-reference-manifest.json +4 -0
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js +11 -0
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js.map +5 -0
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js.nft.json +1 -0
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route_client-reference-manifest.js +2 -0
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/app-paths-manifest.json +3 -0
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/build-manifest.json +11 -0
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/server-reference-manifest.json +4 -0
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js +11 -0
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js.map +5 -0
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js.nft.json +1 -0
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route_client-reference-manifest.js +2 -0
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +3 -3
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +3 -3
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page_client-reference-manifest.js +1 -1
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.html +2 -2
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.rsc +2 -2
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_full.segment.rsc +2 -2
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_head.segment.rsc +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_index.segment.rsc +2 -2
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_tree.segment.rsc +2 -2
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos/__PAGE__.segment.rsc +1 -1
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos.segment.rsc +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github.segment.rsc +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations.segment.rsc +1 -1
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page_client-reference-manifest.js +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page_client-reference-manifest.js +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/app-paths-manifest.json +3 -0
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/build-manifest.json +18 -0
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/next-font-manifest.json +11 -0
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/react-loadable-manifest.json +1 -0
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/server-reference-manifest.json +4 -0
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js +16 -0
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js.map +5 -0
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js.nft.json +1 -0
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page_client-reference-manifest.js +2 -0
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +4 -0
  197. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_projects_[id]_workspace_export_route_actions_e161f108.js +3 -0
  198. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_projects_[id]_workspace_import_route_actions_10d2bce2.js +3 -0
  199. package/cloud-runtime/standalone/apps/local/.next/server/chunks/7255d_app_api_projects_[id]_objectives_[objectiveId]_program_route_actions_e6cdbc76.js +3 -0
  200. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1563ebff._.js +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3fdd57cb._.js +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__45af4365._.js +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__683b7ad7._.js +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__736d5859._.js +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__96b5ea56._.js +3 -0
  206. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ba72d342._.js +5 -5
  207. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c3188470._.js +1 -1
  208. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb69343e._.js +3 -0
  209. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1d99e7a5._.js +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_29a06140._.js +1 -1
  211. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4d88e4dc._.js +91 -0
  212. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4dec65a2._.js +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_50e3a6e3._.js +1 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_56a2544c._.js +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5843a1a1._.js +1 -1
  216. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_a15e73a6._.js +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_bd72806a._.js +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c101ba9e._.js +1 -1
  219. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c530bd77._.js +11 -0
  220. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d69937f2._.js +91 -0
  221. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e2867b32._.js +3 -0
  222. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e32b0cab._.js +91 -0
  223. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_5ab8f104._.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_77c23d6c._.js +1 -1
  225. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0da96_local__next-internal_server_app_projects_[slug]_thread_page_actions_3ceeb59b.js +3 -0
  226. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__1e0fd816._.js +3 -0
  227. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__42499ecf._.js +3 -0
  228. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5f31e40b._.js +3 -0
  229. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__636799fb._.js +3 -0
  230. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__4bf7d5b9._.js → [root-of-the-server]__74436f61._.js} +2 -2
  231. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__9434d6d7._.js +3 -0
  232. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bd339da0._.js +3 -0
  233. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__d08d7899._.js +3 -0
  234. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e02a457c._.js +3 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e3a1fef0._.js +3 -0
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__f802e7d1._.js +3 -0
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ff96bb77._.js +3 -0
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_6a2ba8f0._.js +3 -0
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_7cb6b08a._.js +3 -0
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_a0f42923._.js +7 -0
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_a93c1059._.js +3 -0
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_components_PromptJobBoard_tsx_281b2873._.js → apps_local_04cb9fd5._.js} +3 -3
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_15502af8._.js +3 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_16eaf7ae._.js +3 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3c11c068._.js +8 -0
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_89b49aad._.js +7 -0
  247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js +1 -1
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_ae1a134f._.js +7 -0
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_page_tsx_2a02508d._.js +1 -1
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_72fb68e5._.js +1 -1
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_3bb31889._.js +1 -1
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_76330306._.js +1 -1
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_b8e580cc._.js +4 -0
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +2 -2
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_app_projects_[slug]_thread_[threadId]_page_tsx_2a1d1d5e._.js → apps_local_components_chat-ui_ChatContainer_tsx_47371955._.js} +2 -2
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +3 -3
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_eb223411._.js +18 -0
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_eec36ab6._.js +1 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_7d1abfbf._.js → apps_local_f1c9872a._.js} +2 -2
  260. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_fed01721._.js +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +3 -0
  262. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  263. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  264. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
  265. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  266. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
  267. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  268. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  269. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08e75b35d6c52269.js +1 -0
  270. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0d22a723b9b96e65.js +1 -0
  271. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{cb19d71dd7ffb935.js → 1585dd5f9ec4866a.js} +1 -1
  272. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1bc8cc9cbb99c1ed.js +1 -0
  273. package/cloud-runtime/standalone/apps/local/.next/static/chunks/2586c0baa16e9a0d.js +16 -0
  274. package/cloud-runtime/standalone/apps/local/.next/static/chunks/2aa24a251622fd06.js +5 -0
  275. package/cloud-runtime/standalone/apps/local/.next/static/chunks/39513207112d6828.js +1 -0
  276. package/cloud-runtime/standalone/apps/local/.next/static/chunks/3fce625820bc2bd4.js +16 -0
  277. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{8d8fe711583a59f0.js → 41ae15220fc19bf7.js} +2 -2
  278. package/cloud-runtime/standalone/apps/local/.next/static/chunks/67b36c70b72e0e10.js +1 -0
  279. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7bfbfcd072f8d61e.js +20 -0
  280. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7cf26dd04166f32f.js +6 -0
  281. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{74e3a3e93be78db8.js → 8b87c2521c519a1f.js} +9 -9
  282. package/cloud-runtime/standalone/apps/local/.next/static/chunks/90dd4ab03ab145d1.js +16 -0
  283. package/cloud-runtime/standalone/apps/local/.next/static/chunks/93749b45e2700808.js +16 -0
  284. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{48feca51cf97c8a7.js → 9bb8f1406365af81.js} +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b4aa71020acae46f.js +16 -0
  286. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c352706a0ad7e35d.js +1 -0
  287. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c5436b2b7e8f0ca9.js +16 -0
  288. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1600dd6ff8607d8f.js → c9a2c4b55bb76f4f.js} +6 -6
  289. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1fbcd40dccee738f.js → cf33cb29946990e3.js} +2 -2
  290. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d6a9cc66254693b8.js +1 -0
  291. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{9e703dd5d95e9557.js → e3bdd1e0f385114e.js} +1 -1
  292. package/cloud-runtime/standalone/apps/local/.next/static/chunks/ed606d6f94457578.css +1 -0
  293. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{6ffcd12eabd7c65e.js → f71d73895d228547.js} +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f750d2f1882d31a8.js +5 -0
  295. package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +2 -10
  296. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/program/route.ts +77 -0
  297. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/export/route.ts +35 -0
  298. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/import/route.ts +91 -0
  299. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +1 -8
  300. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +1 -1
  301. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/thread/page.tsx +14 -0
  302. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +15 -15
  303. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +7 -12
  304. package/cloud-runtime/standalone/apps/local/components/TrackerBoard.tsx +39 -1
  305. package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +51 -196
  306. package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +662 -784
  307. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +7 -10
  308. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
  309. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +118 -0
  310. package/cloud-runtime/standalone/apps/local/components/projects/ProjectSettings.tsx +81 -7
  311. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +13 -3
  312. package/cloud-runtime/standalone/apps/local/components/tracking/TrackerSetup.tsx +22 -14
  313. package/cloud-runtime/standalone/apps/local/hooks/useProjectWorkspace.ts +117 -0
  314. package/cloud-runtime/standalone/apps/local/lib/db/projects.ts +14 -10
  315. package/cloud-runtime/standalone/apps/local/lib/project-workspace.ts +80 -0
  316. package/cloud-runtime/standalone/apps/local/lib/task-context.ts +39 -4
  317. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/github/adapter.tsx +40 -4
  318. package/cloud-runtime/standalone/apps/local/lib/workspace-yaml.ts +164 -0
  319. package/cloud-runtime/standalone/apps/local/src/objectives/program/index.ts +7 -0
  320. package/cloud-runtime/standalone/apps/local/src/objectives/program/repository.ts +60 -0
  321. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +12 -0
  322. package/cloud-runtime/standalone/apps/local/src/scheduling/status.ts +42 -0
  323. package/cloud-runtime/standalone/apps/local/worker/index.js +14 -9
  324. package/lib/commands/workspace.js +145 -7
  325. package/package.json +1 -1
  326. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_09d85861._.js +0 -91
  327. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_25136564._.js +0 -11
  328. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_2caf4398._.js +0 -91
  329. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_31ca7a35._.js +0 -91
  330. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_8c8ee1bc._.js +0 -3
  331. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__23838f87._.js +0 -3
  332. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__3b4708d5._.js +0 -3
  333. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cbf624._.js +0 -3
  334. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cdd178._.js +0 -3
  335. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__55ed4ff9._.js +0 -3
  336. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7a31a76d._.js +0 -3
  337. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__a61463b8._.js +0 -7
  338. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bb42490f._.js +0 -3
  339. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ee9351f9._.js +0 -3
  340. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ecd68e8._.js +0 -3
  341. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_347d036d._.js +0 -7
  342. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_5c140c38._.js +0 -7
  343. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_f99c22fd._.js +0 -3
  344. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_30d021de._.js +0 -3
  345. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3b90cb76._.js +0 -18
  346. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_9f36c765._.js +0 -3
  347. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_8cc1a335._.js +0 -3
  348. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1d8b2726979134e5.js +0 -16
  349. package/cloud-runtime/standalone/apps/local/.next/static/chunks/692103d55fcd0328.js +0 -5
  350. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6952b44e247d594a.js +0 -16
  351. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6bfdc40a24e65ca2.js +0 -1
  352. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7ff071e8a33d2fd8.js +0 -16
  353. package/cloud-runtime/standalone/apps/local/.next/static/chunks/87e4fb11329a358d.js +0 -1
  354. package/cloud-runtime/standalone/apps/local/.next/static/chunks/92467c495ad08a85.js +0 -5
  355. package/cloud-runtime/standalone/apps/local/.next/static/chunks/941f7f3626ec442c.js +0 -16
  356. package/cloud-runtime/standalone/apps/local/.next/static/chunks/94a66d2d19268d25.js +0 -5
  357. package/cloud-runtime/standalone/apps/local/.next/static/chunks/add53c2fe147af75.css +0 -1
  358. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b35865f64b56d6f4.js +0 -1
  359. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d662272e49df1950.js +0 -20
  360. package/cloud-runtime/standalone/apps/local/.next/static/chunks/e0d68c6af17c8c87.js +0 -1
  361. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f154e2ed7753f8ee.js +0 -16
  362. /package/cloud-runtime/standalone/apps/local/.next/static/{fipnHmd6JPn9sTuFdYS0y → O3Yu8lY-DN5fauB8GipIL}/_buildManifest.js +0 -0
  363. /package/cloud-runtime/standalone/apps/local/.next/static/{fipnHmd6JPn9sTuFdYS0y → O3Yu8lY-DN5fauB8GipIL}/_clientMiddlewareManifest.json +0 -0
  364. /package/cloud-runtime/standalone/apps/local/.next/static/{fipnHmd6JPn9sTuFdYS0y → O3Yu8lY-DN5fauB8GipIL}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
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)},429056,e=>{"use strict";let t=(0,e.i(363732).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],429056)},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)},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)},666946,e=>{"use strict";let t=(0,e.i(363732).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"}]]);e.s(["Upload",()=>t],666946)},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);let u=(0,e.i(363732).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"}]]);var h=e.i(666946),g=e.i(572665),f=e.i(797167),v=e.i(524123),b=e.i(884564),j=e.i(434405);function y(e){return e?e.projects??[]:[]}let N=["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 w(){let[e,w]=(0,r.useState)([]),[k,S]=(0,r.useState)([]),{projects:C,createProject:z,addAgent:A,removeAgent:I,refresh:P}=(0,v.useProjectsWithAgents)(),[E,T]=(0,r.useState)(new Set),[U,$]=(0,r.useState)(null),[O,B]=(0,r.useState)(new Set),[D,L]=(0,r.useState)(!1),[F,_]=(0,r.useState)(null),[M,R]=(0,r.useState)(!1),[H,J]=(0,r.useState)(new Set),[K,X]=(0,r.useState)(!0),[W,q]=(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,eu]=(0,r.useState)(new Set),[eh,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=>w(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(),j.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!==H.size){q(!0);try{let e=await fetch("/api/agent-specs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:Array.from(H),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{q(!1)}}},ez=async()=>{if(0!==H.size){q(!0);try{let e=Array.from(H),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{q(!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))),eu(new Set(y(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 y(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=U?C.find(e=>e.id===U.projectId):null,eE=new Set(eP?.agents.map(e=>e.agent_id)??[]),eT=U?e.filter(e=>!eE.has(e.id)):[],eU=({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:()=>L(!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:()=>{J(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),eu(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))),eu(new Set(y(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)(f.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,b.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)(g.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:()=>{B(new Set),$({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,b.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)(f.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:()=>{B(new Set),$({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)(f.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=>H.has(e)),n=s.some(e=>H.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:()=>{J(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)(g.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:()=>{H.size===e.length?J(new Set):J(new Set(e.map(e=>e.id)))},children:H.size===e.length?"Deselect all":"Select all"})]}),e.map(e=>{let r=H.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:()=>{J(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)(eU,{checked:r}),(0,t.jsx)("img",{src:(0,b.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)(eU,{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:[H.size," ",1===H.size?"agent":"agents"]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("button",{type:"button",disabled:0===H.size||W,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}),W?"Exporting...":"Export to File"]}),(0,t.jsxs)("button",{type:"button",disabled:0===H.size||W,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}),W?"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&&!D&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>$(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:()=>$(null),children:(0,t.jsx)(f.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:()=>L(!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=O.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:()=>{B(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)(eU,{checked:r}),(0,t.jsx)("img",{src:(0,b.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:()=>$(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===O.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 O)A(U.projectId,e);$(null)},children:["Add ",O.size>0?`(${O.size})`:""]})]})]})}),D&&(0,t.jsx)(b.AgentForm,{title:"Create new agent",initial:{name:N[Math.floor(Math.random()*N.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:U?[U.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);L(!1),$(null),eN(),P()}},onCancel:()=>{L(!1)}}),F&&(0,t.jsx)(b.AgentForm,{title:"Edit agent",initial:{name:F.name,role:F.role||"",provider:F.provider,model:F.model||"",identity:F.identity||"",color:F.color,skills:F.skills||[],skillBindings:F.skillBindings||[]},agentId:F.id,submitLabel:"Save",projectMemberships:{current:C.filter(e=>e.agents.some(e=>e.agent_id===F.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===F.id)).map(e=>({id:e.id,name:e.name}))},onAddToProject:e=>A(e,F.id),onRemoveFromProject:e=>I(e,F.id),onSubmit:async e=>{await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:F.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)(f.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)(h.Upload,{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)(h.Upload,{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",y(ed).length>0?`, ${y(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)(eU,{checked:s}),(0,t.jsx)("img",{src:(0,b.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)})]}),y(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"})}),y(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:()=>{eu(t=>{let r=new Set(t);return r.has(e.name)?r.delete(e.name):r.add(e.name),r})},children:[(0,t.jsx)(eU,{checked:r}),(0,t.jsx)(g.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),eu(new Set)},children:"Back"}),(0,t.jsxs)("button",{type:"button",disabled:0===ex.size||eh,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)(h.Upload,{size:12}),eh?"Importing...":`Import ${ex.size} agent${1===ex.size?"":"s"}`]})]})]})]})]})})]})}e.s(["default",()=>w],884196)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,169729,e=>{"use strict";let t=(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",()=>t],169729)},468947,e=>{"use strict";let t=(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",()=>t],468947)},721571,e=>{"use strict";let t=(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",()=>t],721571)},524780,e=>{"use strict";var t=e.i(762281),r=e.i(935851),a=e.i(307241),s=e.i(810605);function i(){let[e,i]=(0,r.useState)("unknown"),[l,o]=(0,r.useState)([]),[n,d]=(0,r.useState)(""),[c,u]=(0,r.useState)(!1),p=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/status");if(!e.ok)return void i("unknown");let t=await e.json();i("ok"===t.status?"ok":"degraded");let r=t.services.filter(e=>"agx-chat"===e.name||"agx-cloud"===e.name);o(r),d(new Date().toLocaleTimeString())}catch{i("unknown"),o([])}},[]);return(0,r.useEffect)(()=>{p();let e=setInterval(p,s.UI_POLL_SYSTEM_STATUS_MS);return()=>clearInterval(e)},[p]),(0,t.jsxs)("div",{className:"relative",onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[(0,t.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,t.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,t.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:[l.length>0?(0,t.jsx)("ul",{className:"space-y-1.5",children:l.map(e=>(0,t.jsxs)("li",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:e.name}),(0,t.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,t.jsx)("p",{className:"text-[var(--app-shell-soft-text)]",children:"Checking..."}),n&&(0,t.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",()=>i])},749410,e=>{"use strict";var t=e.i(762281),r=e.i(935851),a=e.i(866389),s=e.i(498027),i=e.i(997626),l=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(938201),h=e.i(202641),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 v=e.i(597628),b=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"}]]),j=(0,n.default)("circle-arrow-up",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]),k=(0,n.default)("git-pull-request",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]]);var w=e.i(307241),y=e.i(44054),N=e.i(810605),_=e.i(884564),S=e.i(535208),C=e.i(902572),I=e.i(958164),$=e.i(367859);let z=(0,n.default)("book",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]),T=(0,n.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var E=e.i(681619);let M={linear:"Linear",jira:"Jira",intercom:"Intercom",freshdesk:"Freshdesk",github:"GitHub"};function A(e){return M[e]??e.charAt(0).toUpperCase()+e.slice(1)}function F({projectSlug:e,trackerConnections:a,activeTrackerType:s,isTrackingActive:i,onLinkClick:l}){let o=[...a].sort((e,t)=>new Date(e.connectedAt).getTime()-new Date(t.connectedAt).getTime()),n=o.filter(e=>e.connected),d=o.filter(e=>!e.connected),u=n.some(e=>"github"===e.type),[p,m]=(0,r.useState)([]),[h,x]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{if(!u)return void m([]);let e=!1;return fetch("/api/github/repos",{cache:"no-store"}).then(e=>e.ok?e.json():{repos:[]}).then(t=>{e||m(t.repos??[])}).catch(()=>{e||m([])}),()=>{e=!0}},[u]),(0,t.jsxs)(t.Fragment,{children:[0===n.length&&0===d.length&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e}/tracking/connect`,onClick:l,className:`workspace-sidebar__nav-item ${i?"workspace-sidebar__nav-item--active":""}`,children:[(0,t.jsx)(c.Plus,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm text-[var(--muted-foreground)]",children:"Connect Tracker"})]})}),n.map(r=>{let a=i&&s===r.type;return(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item",children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsxs)(w.default,{href:`/projects/${e}/tracking/${r.type}`,onClick:l,className:`workspace-sidebar__nav-item flex-1 ${a?"workspace-sidebar__nav-item--active":""}`,"aria-current":a?"page":void 0,children:[(0,t.jsx)(E.TrackerIcon,{trackerType:r.type,className:"flex-shrink-0 h-3.5 w-3.5 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:A(r.type)})]}),"github"===r.type&&p.length>0&&(0,t.jsx)("button",{type:"button","aria-label":h?"Collapse GitHub repos":"Expand GitHub repos","aria-expanded":h,onClick:()=>x(e=>!e),className:"p-1 rounded hover:bg-[var(--item-hover-bg)] text-[var(--muted-foreground)]",children:(0,t.jsx)($.ChevronRight,{size:12,className:`transition-transform ${h?"rotate-90":""}`})})]}),"github"===r.type&&h&&p.length>0&&(0,t.jsx)("div",{className:"flex flex-col gap-0.5 mt-0.5 pl-5",children:p.map(r=>(0,t.jsxs)(w.default,{href:`/projects/${e}/tracking/github?repo=${encodeURIComponent(r.id)}`,onClick:l,className:"workspace-sidebar__nav-item",title:r.id,children:[r.private?(0,t.jsx)(T,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}):(0,t.jsx)(z,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs text-[var(--muted-foreground)] truncate",children:r.name})]},r.id))})]},r.type)}),d.map(r=>(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e}/tracking/${r.type}`,onClick:l,className:"workspace-sidebar__nav-item",children:[(0,t.jsx)(E.TrackerIcon,{trackerType:r.type,className:"flex-shrink-0 h-3.5 w-3.5 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:A(r.type)}),(0,t.jsx)("span",{className:"ml-auto shrink-0",title:"Connection issue — click to reconnect",children:(0,t.jsx)(I.AlertTriangle,{size:12,className:"text-yellow-500"})})]})},r.type)),(n.length>0||d.length>0)&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e}/tracking/connect`,onClick:l,className:"workspace-sidebar__nav-item",children:[(0,t.jsx)(c.Plus,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm text-[var(--muted-foreground)]",children:"Connect"})]})})]})}var P=e.i(594643),L=e.i(235136);function R({compact:e=!1}){return(0,t.jsxs)("span",{className:`workspace-sidebar__brand-logo${e?" workspace-sidebar__brand-logo--compact":""}`,"aria-hidden":"true",children:[(0,t.jsx)("img",{src:"/logo_dark.png",alt:"AGX",className:"block dark:hidden",style:{height:28}}),(0,t.jsx)("img",{src:"/logo_light.png",alt:"AGX",className:"hidden dark:block",style:{height:28}})]})}function V({label:e,children:s}){let i=(0,r.useRef)(null),[l,o]=(0,r.useState)(null);return(0,t.jsxs)("div",{ref:i,onMouseEnter:()=>{let e=i.current?.firstElementChild??i.current;if(!e)return;let t=e.getBoundingClientRect();o({top:t.top+t.height/2,left:t.right+8})},onMouseLeave:()=>o(null),style:{display:"contents"},children:[s,l&&(0,a.createPortal)((0,t.jsx)("div",{className:"workspace-sidebar__rail-tooltip",style:{top:l.top,left:l.left,transform:"translateY(-50%)"},children:e}),document.body)]})}function U({projects:e,activeProjectId:a,onSelectProject:i,onCreateProject:o}){let[n,d]=(0,r.useState)(!1),[m,h]=(0,r.useState)(""),x=(0,r.useRef)(null),f=(0,r.useRef)(null),v=e.find(e=>e.id===a)??e[0],b=m.trim()?e.filter(e=>e.name.toLowerCase().includes(m.toLowerCase())):e;return(0,r.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,r.useEffect)(()=>{n&&f.current&&f.current.focus()},[n]),(0,t.jsxs)("div",{className:"relative px-3 pt-3 pb-2",ref:x,children:[(0,t.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,t.jsx)(l.Folder,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"flex-1 truncate text-left font-medium",children:v?.name??"Select project"}),(0,t.jsx)(s.ChevronDown,{size:14,className:`flex-shrink-0 text-[var(--muted-foreground)] transition-transform ${n?"rotate-180":""}`})]}),n&&(0,t.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,t.jsx)("div",{className:"p-2 border-b border-[var(--app-shell-border)]",children:(0,t.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,t.jsx)(u.Search,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.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,t.jsx)("button",{type:"button",onClick:()=>h(""),className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,t.jsx)(p.X,{size:10})})]})}),(0,t.jsxs)("div",{className:"max-h-52 overflow-y-auto py-1",children:[b.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{i?.(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===v?.id?"text-[var(--foreground)] font-medium":"text-[var(--muted-foreground)]"}`,children:[(0,t.jsx)(l.Folder,{size:12,className:"flex-shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.id)),0===b.length&&(0,t.jsx)("p",{className:"px-3 py-2 text-xs text-[var(--muted-foreground)]",children:"No projects found"})]}),(0,t.jsx)("div",{className:"border-t border-[var(--app-shell-border)] p-1",children:(0,t.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,t.jsx)(c.Plus,{size:12}),(0,t.jsx)("span",{children:"New project"})]})})]})]})}function B({threads:e,participants:s=[],activeThreadId:l,isLoading:n,isCreating:u,onSelectThread:I,onCreateThread:$,onRenameThread:z,onDeleteThread:T,deletingThreadId:E=null,renamingThreadId:M=null,activeParticipantIds:A=[],onToggleParticipantActive:B,visible:D=!1,isRestoringActiveThread:O=!1,onToggle:W,onSearch:q,projects:H=[],onCreateProject:K,onUpdateProject:G,onDeleteProject:J,onAddAgentToProject:X,onRemoveAgentFromProject:Y,onAddAgentViaForm:Z,onReorderProjectAgents:Q,onUpdateParticipant:ee,onSelectProject:et,activeProjectId:er=null,activeProjectView:ea=null,width:es,onWidthChange:ei,onAddTeam:el,stageShow:eo,trackerConnections:en=[]}){let ed,ec,{isTouchLayout:eu,isPhone:ep}=(0,y.useInputCapabilities)(),{updateAvailable:em}=function(){let[e,t]=(0,r.useState)({updateAvailable:!1,latestVersion:null});return(0,r.useEffect)(()=>{async function e(){try{let e=await fetch("/api/update-check");if(!e.ok)return;let r=await e.json(),a=r?.updateAvailable===!0,s="string"==typeof r?.latestVersion?r.latestVersion:null;t({updateAvailable:a,latestVersion:s})}catch{}}e();let r=setInterval(()=>{e()},N.UI_POLL_UPDATE_CHECK_MS);return()=>clearInterval(r)},[]),e}(),eh=(0,r.useRef)(!1);(0,r.useRef)(0);let ex=(0,r.useRef)(null),[ef,ev]=(0,r.useState)(!1),[eb,eg]=(0,r.useState)(new Set);(0,r.useEffect)(()=>{if(eb.size>0||!H?.length)return;let e=H.find(e=>window.location.pathname.includes(`/projects/${e.slug}`));eg(new Set([e?.id??H[0].id]))},[H]);let[ej,ek]=(0,r.useState)(null),[ew,ey]=(0,r.useState)(new Set),[eN,e_]=(0,r.useState)(!1),[eS,eC]=(0,r.useState)(null),[eI,e$]=(0,r.useState)(null),ez=(0,S.useProjectFormState)(),[eT,eE]=(0,r.useState)(null),eM=(0,r.useCallback)(e=>{e&&(e.focus(),e.select())},[]),[eA,eF]=(0,r.useState)(null),[eP,eL]=(0,r.useState)(null),eR=eP?s.find(e=>e.id===eP)??null:null,[eV,eU]=(0,r.useState)(null),[eB,eD]=(0,r.useState)({});(0,r.useEffect)(()=>{if(!H?.length)return;let e=!1,t=async()=>{try{let t=await fetch("/api/processes?enrich=1");if(!t.ok||e)return;let r=await t.json();if(e)return;let a=r.filter(e=>"spawning"===e.state||"running"===e.state),i={};for(let e of H){let t=e.slug.trim().toLowerCase(),r=new Set((e.thread_ids??[]).map(e=>e.trim()).filter(Boolean)),l=[],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===t||r.has(e.workspaceId)||r.has(e.threadId)))continue;let i=s.find(t=>t.id===e.agentId),p={agentId:e.agentId,color:i?.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),l.push(p)):u.has(e.agentId)||(u.add(e.agentId),n.push(p))}(l.length||o.length||n.length)&&(i[e.id]={objectives:l,linear:o,chat:n})}eD(i)}catch{}};t();let r=setInterval(t,3e3);return()=>{e=!0,clearInterval(r)}},[H,s]);let[eO,eW]=(0,r.useState)({}),[eq,eH]=(0,r.useState)(new Set),[eK,eG]=(0,r.useState)(new Set),eJ=(0,r.useRef)(new Set);(0,r.useEffect)(()=>{Array.from(eb).forEach(e=>{eK.has(e)||(eG(t=>new Set(t).add(e)),(async()=>{try{let t=await fetch(`/api/projects/${e}/teams`);if(!t.ok)return;let r=await t.json();eW(t=>({...t,[e]:r.teams??[]}))}catch{}})())})},[eb,eK]);let[eX,eY]=(0,r.useState)(null),eZ=async()=>{if(!eS&&!eI)return;if(!ez.form.name.trim())return void ez.setFormError("Project name is required");let e=ez.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void ez.setFormError(`Local path is required for folder "${e.name}"`);ez.setFormError(null),ez.setIsSubmitting(!0);let t=(0,S.createProjectPayload)(ez.form,ez.repos);eI?await G?.(eI.id,t):await K?.(t,eS?.threadId),ez.setIsSubmitting(!1),eC(null),e$(null)};(0,r.useEffect)(()=>{ev(!0)},[]),(0,r.useEffect)(()=>{let e=!1;async function t(){if(eV?.repoId)try{let t=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(eV.repoId)}`),r=(t.ok?await t.json():{note:null}).note;e||eU(e=>e&&e.repoId===eV.repoId?{...e,generatedKnowledge:r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt}]:[],isLoadingKnowledge:!1}:e)}catch{e||eU(e=>e&&e.repoId===eV.repoId?{...e,generatedKnowledge:[],isLoadingKnowledge:!1}:e)}}return eV?.repoId&&t(),()=>{e=!0}},[eV?.repoId]);let eQ=ej?H.find(e=>e.id===ej.projectId):null,e0=new Set(eQ?.agents.map(e=>e.agent_id)??[]),e1=ej?s.filter(e=>!e0.has(e.id)):[],e2=e.length>0,e3=!!D,e5=(0,r.useCallback)(()=>{eu&&W?.()},[eu,W]),e4=[...e].sort((e,t)=>(e.title??"").localeCompare(t.title??"")),e6=new Map(e.map(e=>[e.id,e])),e8=H.filter(e=>!e.is_default),e7=e8.find(e=>e.id===er)??e8[0]??null,{connections:e9}=(0,L.useTrackerConnections)(e7?.id??null),te=eo??{home:!0,threads:!0,terminal:!0,objectives:!1,objectivesIsNew:!1,tracking:!1,teams:!1,folders:!1,scheduledTasks:!1,envVars:!1,notifications:!1};if((0,r.useEffect)(()=>{if(0===e8.length)return;let t=new Map,r=new Set,a=new Map;for(let e of e8){for(let t of e.thread_ids??[])"string"==typeof t&&t.trim()&&r.add(t);for(let r of(0,C.readProjectObjectivesWorkspace)(e.metadata).objectives){let a=r.id.trim();a&&t.set(a,{projectId:e.id,canonicalThreadId:r.threadId?.trim()||`objective-chat:${a}`})}}for(let t of e){let e=t.metadata&&"object"==typeof t.metadata?t.metadata:null,r="objective"===("string"==typeof e?.scope?e.scope:"")||t.id.startsWith("objective-chat:"),s=t.title?.trim().toLowerCase()??"";if(!r||!s)continue;let i=a.get(s)??[];i.push(t),a.set(s,i)}for(let[e,t]of a)a.set(e,[...t].sort((e,t)=>t.updatedAt-e.updatedAt));for(let s of e){let e=s.metadata&&"object"==typeof s.metadata?s.metadata:null,i="string"==typeof e?.scope?e.scope:"",l="string"==typeof e?.objectiveId?e.objectiveId.trim():"",o=s.id.startsWith("objective-chat:")?s.id.slice(15).trim():"",n=l||o,d="objective"===i||!!o,c=s.title?.trim().toLowerCase()??"",u=0===s.messages.length&&s.updatedAt<Date.now()-3e5;if(!d)continue;let p=n?t.get(n):void 0;if(p){if(s.id!==p.canonicalThreadId&&u){let e=`delete:${s.id}`;if(eJ.current.has(e))continue;eJ.current.add(e),Promise.resolve(T(s.id)).catch(t=>{eJ.current.delete(e),console.warn("Failed to delete legacy objective thread",t)});continue}if(!r.has(s.id)){let e=`link:${s.id}`;if(eJ.current.has(e))continue;eJ.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(t=>{eJ.current.delete(e),console.warn("Failed to re-link objective thread",t)})}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}`;eJ.current.has(h)||(eJ.current.add(h),Promise.resolve(T(s.id)).catch(e=>{eJ.current.delete(h),console.warn("Failed to delete orphan objective thread",e)}))}},[e8,T,e]),!function({focusTarget:e,shouldFocus:t}){(0,r.useEffect)(()=>{if(!t||"u"<typeof document)return;let r=e.current;if(!r||r instanceof HTMLButtonElement&&r.disabled)return;let a=document.activeElement;if(!(a&&(r===a||r.contains(a))))try{r.focus({preventScroll:!0})}catch{r.focus()}},[e,t])}({focusTarget:ex,shouldFocus:e3&&!(n&&!e2||O&&e2)&&!e2&&!u}),!e3){if(eu)return null;let r=e7?.slug;return(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand",children:(0,t.jsx)("button",{type:"button",onClick:W,className:"workspace-sidebar__brand-trigger border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,t.jsx)(R,{compact:!0})})}),r&&(0,t.jsxs)("nav",{className:"workspace-sidebar__collapsed-rail",children:[(0,t.jsx)(V,{label:"Home",children:(0,t.jsx)(w.default,{href:`/projects/${r}`,className:`workspace-sidebar__rail-icon${"home"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(f,{size:16})})}),(te.objectives||te.tracking||te.scheduledTasks)&&(0,t.jsx)("div",{className:"workspace-sidebar__rail-separator"}),te.objectives&&(0,t.jsx)(V,{label:"Objectives",children:(0,t.jsx)(w.default,{href:`/projects/${r}/objectives`,className:`workspace-sidebar__rail-icon${"objectives"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(m.Target,{size:16})})}),te.tracking&&(0,t.jsx)(V,{label:"Task Tracking",children:(0,t.jsx)(w.default,{href:`/projects/${r}/tracking`,className:`workspace-sidebar__rail-icon${"linear"===ea||"tracking"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(P.LinearIcon,{className:"h-4 w-4"})})}),te.tracking&&(0,t.jsx)(V,{label:"Pull Requests",children:(0,t.jsx)(w.default,{href:`/projects/${r}/prs`,className:"workspace-sidebar__rail-icon",children:(0,t.jsx)(k,{size:16})})}),te.scheduledTasks&&(0,t.jsx)(V,{label:"Scheduled Jobs",children:(0,t.jsx)(w.default,{href:`/projects/${r}/automations`,className:`workspace-sidebar__rail-icon${"automations"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(i.Zap,{size:16})})}),(0,t.jsx)("div",{className:"workspace-sidebar__rail-separator"}),(0,t.jsx)(V,{label:"Terminal",children:(0,t.jsx)(w.default,{href:`/projects/${r}/terminal`,className:`workspace-sidebar__rail-icon${"terminal"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(b.TerminalSquare,{size:16})})}),(0,t.jsx)(V,{label:"Chat",children:(0,t.jsx)("button",{type:"button",className:`workspace-sidebar__rail-icon${"thread"===ea?" workspace-sidebar__rail-icon--active":""}`,onClick:()=>{let t=e4.filter(e=>e7?.thread_ids?.includes(e.id)),r=e7?.thread_ids?.find(t=>e.some(e=>e.id===t))??t[0]?.id;r&&I(r)},children:(0,t.jsx)(v.MessageSquare,{size:16})})}),(te.teams||te.folders||te.envVars||te.notifications)&&(0,t.jsx)("div",{className:"workspace-sidebar__rail-separator"}),te.teams&&(0,t.jsx)(V,{label:"Teams",children:(0,t.jsx)(w.default,{href:`/projects/${r}/teams`,className:`workspace-sidebar__rail-icon${"teams"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(x.Users,{size:16})})}),te.folders&&(0,t.jsx)(V,{label:"Workspace Map",children:(0,t.jsx)(w.default,{href:`/projects/${r}/folders`,className:`workspace-sidebar__rail-icon${"folders"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(o.FolderGit2,{size:16})})}),te.envVars&&(0,t.jsx)(V,{label:"Env Variables",children:(0,t.jsx)(w.default,{href:`/projects/${r}/env-vars`,className:`workspace-sidebar__rail-icon${"env-vars"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(g,{size:16})})}),te.notifications&&(0,t.jsx)(V,{label:"Notifications",children:(0,t.jsx)(w.default,{href:`/projects/${r}/notifications`,className:`workspace-sidebar__rail-icon${"notifications"===ea?" workspace-sidebar__rail-icon--active":""}`,children:(0,t.jsx)(h.Bell,{size:16})})})]}),(0,t.jsxs)("div",{className:"mt-auto p-2 flex flex-col gap-2",children:[em&&r&&(0,t.jsx)(V,{label:"Update available",children:(0,t.jsx)(w.default,{href:`/projects/${r}/terminal?cmd=${encodeURIComponent("agx update && agx chat start")}`,className:"workspace-sidebar__rail-icon",children:(0,t.jsx)(j,{size:16})})}),(0,t.jsx)(V,{label:"Join Discord",children:(0,t.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,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.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,t.jsxs)(t.Fragment,{children:[eu?(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__backdrop",onClick:W,"aria-label":"Close sidebar"}):null,(0,t.jsxs)("aside",{id:"workspace-sidebar",className:`workspace-sidebar${eu?" workspace-sidebar--drawer":""}${eu&&ep?" workspace-sidebar--drawer-phone":""}`,"aria-label":"Workspace sidebar","aria-busy":n?"true":void 0,"aria-modal":eu?"true":void 0,role:eu?"dialog":void 0,style:!eu&&es?{width:`${es}px`,minWidth:`${es}px`}:void 0,children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand-content",children:(0,t.jsx)(R,{})}),W&&(0,t.jsx)("button",{type:"button",onClick:W,"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,t.jsx)(d,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__content",children:[(0,t.jsx)(U,{projects:e8,activeProjectId:er,onSelectProject:e=>{et?.(e),e5()},onCreateProject:()=>{ez.resetForm(),e$(null),eC({})}}),(()=>{if(!e7)return null;let e=e4.filter(e=>e7.thread_ids?.includes(e.id)),r=e7.thread_ids?.find(e=>e6.has(e))??e7.thread_ids?.[0]??e[0]?.id??null,a=e7.id===er,n=a&&"home"===ea,d=a&&"objectives"===ea,c=window.location.pathname.match(/\/tracking\/([^/]+)/)?.[1]??null,u=a&&"automations"===ea,p=a&&"terminal"===ea,j=a&&"thread"===ea&&r===l,k=a&&"teams"===ea,y=a&&"folders"===ea,N=a&&"env-vars"===ea,S=a&&"notifications"===ea,C=eB[e7.id],$=te.objectives||te.scheduledTasks,z=te.teams||te.folders||te.envVars||te.notifications;return(0,t.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,t.jsx)("div",{className:"px-2 mt-2 mb-3",children:(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}`,onClick:e5,className:`workspace-sidebar__nav-item ${n?"workspace-sidebar__nav-item--active":""}`,"aria-current":n?"page":void 0,children:[(0,t.jsx)(f,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Home"})]})})}),$&&(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Automation"})}),(0,t.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[te.objectives&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/objectives`,onClick:e5,className:`workspace-sidebar__nav-item ${d?"workspace-sidebar__nav-item--active":""}`,"aria-current":d?"page":void 0,children:[(0,t.jsx)(m.Target,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Objectives"}),te.objectivesIsNew&&(0,t.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"}),!te.objectivesIsNew&&C?.objectives.length>0&&(0,t.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.objectives.slice(0,3).map(e=>{let r=s.find(t=>t.id===e.agentId);return(0,t.jsxs)("span",{className:"relative inline-block",title:r?.name,children:[(0,t.jsx)("img",{src:(0,_.agentAvatarUrl)(r?.id??e.agentId,16,e.color),alt:r?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,t.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)})})]})}),te.scheduledTasks&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/automations`,onClick:e5,className:`workspace-sidebar__nav-item ${u?"workspace-sidebar__nav-item--active":""}`,"aria-current":u?"page":void 0,children:[(0,t.jsx)(i.Zap,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Scheduled Jobs"})]})})]})]}),te.tracking&&(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Task Tracking"})}),(0,t.jsx)("div",{className:"px-2 flex flex-col gap-0.5",children:(0,t.jsx)(F,{projectSlug:e7.slug,trackerConnections:en,activeTrackerType:c,isTrackingActive:a&&("linear"===ea||"tracking"===ea),onLinkClick:e5})})]}),(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Tools"})}),(0,t.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/terminal`,onClick:e5,className:`workspace-sidebar__nav-item ${p?"workspace-sidebar__nav-item--active":""}`,"aria-current":p?"page":void 0,children:[(0,t.jsx)(b.TerminalSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Terminal"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:r?(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${j?"workspace-sidebar__nav-item--active":""}`,onClick:()=>{I(r),e5()},"aria-current":j?"page":void 0,children:[(0,t.jsx)(v.MessageSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Chat"}),C?.chat.length>0&&(0,t.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.chat.slice(0,3).map(e=>{let r=s.find(t=>t.id===e.agentId);return(0,t.jsxs)("span",{className:"relative inline-block",title:r?.name,children:[(0,t.jsx)("img",{src:(0,_.agentAvatarUrl)(r?.id??e.agentId,16,e.color),alt:r?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,t.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,t.jsxs)(w.default,{href:`/projects/${e7.slug}/thread`,onClick:e5,className:`workspace-sidebar__nav-item ${j?"workspace-sidebar__nav-item--active":""}`,"aria-current":j?"page":void 0,children:[(0,t.jsx)(v.MessageSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Chat"})]})})]})]}),z&&(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Settings"})}),(0,t.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[te.teams&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/teams`,onClick:e5,className:`workspace-sidebar__nav-item ${k?"workspace-sidebar__nav-item--active":""}`,"aria-current":k?"page":void 0,children:[(0,t.jsx)(x.Users,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Teams"})]})}),te.folders&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/folders`,onClick:e5,className:`workspace-sidebar__nav-item ${y?"workspace-sidebar__nav-item--active":""}`,"aria-current":y?"page":void 0,children:[(0,t.jsx)(o.FolderGit2,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Workspace Map"})]})}),te.envVars&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/env-vars`,onClick:e5,className:`workspace-sidebar__nav-item ${N?"workspace-sidebar__nav-item--active":""}`,"aria-current":N?"page":void 0,children:[(0,t.jsx)(g,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Environment Variables"})]})}),te.notifications&&(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/notifications`,onClick:e5,className:`workspace-sidebar__nav-item ${S?"workspace-sidebar__nav-item--active":""}`,"aria-current":S?"page":void 0,children:[(0,t.jsx)(h.Bell,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Notifications"})]})})]})]})]})})()]}),(0,t.jsxs)("div",{className:"mt-auto px-3 pb-3 flex flex-col gap-2",children:[em&&e7&&(0,t.jsxs)(w.default,{href:`/projects/${e7.slug}/terminal?cmd=${encodeURIComponent("agx update && agx chat start")}`,className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-sm font-medium transition-colors text-[var(--foreground)] bg-[var(--app-shell-subtle)] hover:bg-[var(--app-shell-border)]",children:[(0,t.jsx)(j,{size:14}),"Update available"]}),(0,t.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,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.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"]})]}),ef&&eV&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{eV.isSaving||eU(null)},children:(0,t.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,t.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:eV.projectName}),(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:eV.repoId?eV.name||"Folder":"Add Folder"})]}),(0,t.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:()=>{eV.isSaving||eU(null)},"aria-label":"Close folder details",disabled:eV.isSaving,children:(0,t.jsx)(p.X,{size:16})})]}),(0,t.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,t.jsx)("input",{value:eV.name,onChange:e=>eU(t=>t?{...t,name:e.target.value,error:null}:t),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:eV.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:eV.path,onChange:e=>eU(t=>t?{...t,path:e.target.value,error:null}:t),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:eV.isSaving,placeholder:"Local path to folder"}),(0,t.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:eV.isSaving,onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&eU(e=>e?{...e,path:t.path,error:null}:e)}catch{}},children:"Browse"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,t.jsx)("textarea",{value:eV.notes,onChange:e=>eU(t=>t?{...t,notes:e.target.value,error:null}:t),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:eV.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),eV.repoId?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),eV.isLoadingKnowledge?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):eV.generatedKnowledge.length>0?(0,t.jsx)("div",{className:"space-y-2",children:eV.generatedKnowledge.slice(0,5).map(e=>(0,t.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,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,eV.error?(0,t.jsx)("p",{className:"text-xs text-red-600",children:eV.error}):null,(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,t.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>eU(null),disabled:eV.isSaving,children:"Cancel"}),(0,t.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:eV.isSaving||!G,onClick:async()=>{let e=H.find(e=>e.id===eV.projectId);if(!e)return void eU(e=>e?{...e,error:"Project not found."}:e);let t=eV.name.trim(),r=eV.path.trim();if(!t)return void eU(e=>e?{...e,error:"Folder name is required."}:e);if(!r)return void eU(e=>e?{...e,error:"Folder path is required."}:e);eU(e=>e?{...e,isSaving:!0,error:null}:e);try{let a=eV.repoId?e.repos.map(e=>e.id===eV.repoId?{id:e.id,name:t,path:r,git_url:eV.gitUrl.trim()||void 0,notes:eV.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:t,path:r,git_url:eV.gitUrl.trim()||void 0,notes:eV.notes.trim()||void 0}];await G?.(e.id,{repos:a}),eU(null)}catch(e){eU(t=>t?{...t,isSaving:!1,error:e instanceof Error?e.message:"Failed to save folder details."}:t)}},children:eV.isSaving?"Saving...":eV.repoId?"Save":"Add Folder"})]})]})]})}),document.body),ef&&ej&&!eN&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ek(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 ",eQ?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ek(null),children:(0,t.jsx)(p.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(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>e_(!0),children:[(0,t.jsx)(c.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===e1.length?(0,t.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):e1.map(e=>{let r=ew.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(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{ey(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${r?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--border)]"}`,children:r&&(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"})})}),(0,t.jsx)("img",{src:(0,_.agentAvatarUrl)(e.id,24,e.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 font-medium text-xs",children:e.name}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:e.model})]})]},e.id)})]}),e1.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(--foreground)] transition-colors",onClick:()=>ek(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===ew.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 ew)X?.(ej.projectId,e);ek(null)},children:["Add ",ew.size>0?`(${ew.size})`:""]})]})]})}),document.body),ef&&eN&&(0,a.createPortal)((0,t.jsx)(_.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:H?.filter(e=>!e.is_default).map(t=>{let r=(t.thread_ids??[]).map(t=>e.find(e=>e.id===t)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:t.id,name:t.name,label:`${r} › ${t.name}`}}),initialProjectIds:ej?[ej.projectId]:[],onSubmit:async(e,t)=>{let r=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=r[s.length%r.length],i=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),l=t?.[0],o=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:i,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??[],...l?{projectId:l}:{}})});if(o.ok){let e=await o.json().catch(()=>({})),r="string"==typeof e?.id&&e.id.trim()?e.id.trim():i;for(let e of(t??[]).slice(1))X?.(e,r);e_(!1),ek(null)}},onCancel:()=>{e_(!1)}}),document.body),ef&&eT&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eE(null),children:(0,t.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,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:eT.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eE(null),children:(0,t.jsx)(p.X,{size:16})})]}),(0,t.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),r=t.get("value")?.trim();r&&(eT.onSubmit(r),eE(null))},children:[(0,t.jsx)("input",{ref:eM,name:"value",type:"text",defaultValue:eT.defaultValue,placeholder:eT.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,t.jsxs)("div",{className:"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(--foreground)] transition-colors",onClick:()=>eE(null),children:"Cancel"}),(0,t.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:eT.defaultValue?"Save":"Create"})]})]})]})}),document.body),ef&&eA&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eF(null),children:(0,t.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,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:eA.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eF(null),children:(0,t.jsx)(p.X,{size:16})})]}),(0,t.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:eA.message}),(0,t.jsxs)("div",{className:"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(--foreground)] transition-colors",onClick:()=>eF(null),children:"Cancel"}),(0,t.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:()=>{eA.onConfirm(),eF(null)},children:"Delete"})]})]})]})}),document.body),ef&&(eS||eI)&&(0,a.createPortal)((0,t.jsx)(S.default,{isOpen:!0,onClose:()=>{ez.resetForm(),eC(null),e$(null)},onSubmit:()=>void eZ(),editingProject:eI,form:ez.form,repos:ez.repos,isSubmitting:ez.isSubmitting,formError:ez.formError,onFieldChange:(e,t)=>ez.setForm(r=>({...r,[e]:t})),onRepoChange:ez.handleRepoChange,onAddRepo:ez.addRepo,onRemoveRepo:ez.removeRepo}),document.body),ef&&eR&&(0,a.createPortal)((ed=H.filter(e=>e.agents.some(e=>e.agent_id===eR.id)),ec=H.filter(e=>!e.agents.some(e=>e.agent_id===eR.id)),(0,t.jsx)(_.AgentForm,{title:"Edit agent",initial:{name:eR.name,role:eR.role||"",provider:eR.provider,model:eR.model||"",identity:eR.identity||"",color:eR.color,skills:eR.skills||[],skillBindings:eR.skillBindings||[]},agentId:eR.id,submitLabel:"Save",projectMemberships:{current:ed.map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:ec.map(e=>({id:e.id,name:e.name}))},onAddToProject:X?e=>X(e,eR.id):void 0,onRemoveFromProject:Y?e=>Y(e,eR.id):void 0,onSubmit:async e=>{ee&&await ee({...eR,name:e.name,role:e.role||void 0,provider:e.provider,model:e.model,color:e.color??eR.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[]}),eL(null)},onCancel:()=>eL(null)})),document.body),ei&&!eu&&(0,t.jsx)("div",{className:"absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group",onMouseDown:e=>{e.preventDefault(),eh.current=!0;let t=e.clientX,r=es??368;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let a=e=>{ei(Math.max(200,Math.min(600,r+e.clientX-t)))},s=()=>{eh.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,t.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",()=>B],749410)},969039,e=>{"use strict";var t=e.i(935851),r=e.i(506420),a=e.i(434405);let s="agx-chat:last-thread";function i(){return void 0!==window.localStorage}function l(){if(i())try{window.localStorage.removeItem(s)}catch{}}let o=e=>[...e].sort((e,t)=>t.createdAt-e.createdAt);function n(e){let n=(0,r.useSearchParams)(),d=(e||n.get("thread")||"").trim()||null,c=(0,t.useRef)(!0),[u,p]=(0,t.useState)([]),[m,h]=(0,t.useState)(null),[x,f]=(0,t.useState)(!0),[v,b]=(0,t.useState)(!0),[g,j]=(0,t.useState)(!1),[k,w]=(0,t.useState)(null),[y,N]=(0,t.useState)(null),_=(0,t.useRef)(!1),S=(0,t.useCallback)(e=>{h(e)},[]);(0,t.useEffect)(()=>(c.current=!0,()=>{c.current=!1}),[]),(0,t.useEffect)(()=>{let e=!1;return(async()=>{try{var t;let r,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(t=>t.id!==e.id),e])}if(e||!c.current)return;p(n);let u=d||function(){if(!i())return null;try{return window.localStorage.getItem(s)}catch{return null}}(),{threadId:m,shouldClearSavedId:x,restoredFromStorage:f}=(t=n,r=t[0]?.id??null,u?t.some(e=>e.id===u)?{threadId:u,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:r,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:r,shouldClearSavedId:!1,restoredFromStorage:!1});x&&l(),_.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),b(!1))}})(),()=>{e=!0}},[d,S]),(0,t.useEffect)(()=>{if(_.current)if(m){if(i())try{window.localStorage.setItem(s,m)}catch{}}else l()},[m]);let C=(0,t.useCallback)(async e=>{j(!0);try{let t=await a.threadService.createThread(e);if(!c.current)return t;return p(e=>o([...e.filter(e=>e.id!==t.id),t])),h(t.id),t}catch(e){throw console.error("Failed to create thread",e),e}finally{c.current&&j(!1)}},[]),I=(0,t.useCallback)(async e=>{if(e){w(e);try{if(await a.threadService.deleteThread(e),!c.current)return;let t=[];p(r=>t=o(r.filter(t=>t.id!==e))),h(r=>r===e?t[0]?.id??null:r)}catch(e){throw console.error("Failed to delete thread",e),e}finally{c.current&&w(null)}}},[]),$=(0,t.useCallback)(async(e,t)=>{let r=e.trim(),s=t.trim();if(r&&s){N(r);try{let e=await a.threadService.renameThread(r,s);if(!e||!c.current)return;p(t=>o(t.map(t=>t.id===e.id?e:t)))}catch(e){throw console.error("Failed to rename thread",e),e}finally{c.current&&N(e=>e===r?null:e)}}},[]),z=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.saveThreadMessages(e,t);if(!r||!c.current)return;p(e=>o(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread messages",e)}},[]),T=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadStatus(e,t);if(!r||!c.current)return;p(e=>o(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread status",e)}},[]),E=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadOutcomeNote(e,t);if(!r||!c.current)return;p(e=>o(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread outcome note",e)}},[]),M=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let s=await a.threadService.updateMessageThreadStatus(e,t,r);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)}},[]),A=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let s=await a.threadService.updateMessageOutcomeNote(e,t,r);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)}},[]),F=null!==m&&k===m;return{threads:u,activeThreadId:m,selectThread:S,createThread:C,deleteThread:I,isLoading:x,isRestoringActiveThread:v,isCreating:g,deletingThreadId:k,renamingThreadId:y,isDeletingActiveThread:F,updateThreadMessages:z,renameThread:$,updateThreadStatus:T,updateThreadOutcomeNote:E,updateMessageThreadStatus:M,updateMessageOutcomeNote:A}}e.s(["useThreadState",()=>n],969039)},481248,e=>{"use strict";let t="agx-chat:uiSettings",r={threadSidebarVisible:!1};function a(){return void 0!==window.localStorage}function s(){if(!a())return{...r};let e=window.localStorage.getItem(t);if(!e)return{...r};try{let t=JSON.parse(e);return{...r,threadSidebarVisible:"boolean"==typeof t.threadSidebarVisible&&t.threadSidebarVisible}}catch{return{...r}}}function i(){return s().threadSidebarVisible}function l(e){var r={...s(),threadSidebarVisible:e};if(a())try{window.localStorage.setItem(t,JSON.stringify(r))}catch{}}e.s(["loadWorkspaceSidebarVisible",()=>i,"persistWorkspaceSidebarVisible",()=>l])}]);
@@ -1 +1 @@
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 n}});let n=e=>{}},363732,e=>{"use strict";var t=e.i(935851);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:u="",children:s,iconNode:l,...c},f)=>(0,t.createElement)("svg",{ref:f,...o,width:n,height:n,stroke:e,strokeWidth:i?24*Number(a)/Number(n):a,className:r("lucide",u),...!s&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...l.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(s)?s:[s]])),i=(e,o)=>{let i=(0,t.forwardRef)(({className:i,...u},s)=>(0,t.createElement)(a,{ref:s,iconNode:o,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...u}));return i.displayName=n(e),i};e.s(["default",()=>i],363732)},506420,(e,t,r)=>{t.exports=e.r(27944)},906724,595807,e=>{"use strict";let t=(0,e.i(363732).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],595807),e.s(["Loader2",()=>t],906724)},572665,e=>{"use strict";let t=(0,e.i(363732).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>t],572665)},571278,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function u(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},13168,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return u},formatWithValidation:function(){return l},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(190809)._(e.r(571278)),i=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",u=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(a.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==l?(l="//"+(l||""),o&&"/"!==o[0]&&(o="/"+o)):l||(l=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${l}${o}${c}${u}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return u(e)}},950581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(935851);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},692942,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return j},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return y},ST:function(){return g},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let u=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>u.test(e);function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let y="u">typeof performance,g=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},299242,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(692942),o=e.r(756972);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},405374,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},307241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return b}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(190809),i=e.r(762281),u=a._(e.r(935851)),s=e.r(13168),l=e.r(543665),c=e.r(950581),f=e.r(692942),d=e.r(212591);e.r(292135);let p=e.r(53101),h=e.r(299242),y=e.r(979945);function g(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function m(t){var r;let n,o,a,[s,m]=(0,u.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,u.useRef)(null),{href:j,as:x,children:w,prefetch:k=null,passHref:P,replace:E,shallow:N,scroll:_,onClick:O,onMouseEnter:C,onTouchStart:S,legacyBehavior:A=!1,onNavigate:T,ref:L,unstable_dynamicOnHover:R,...M}=t;n=w,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let $=u.default.useContext(l.AppRouterContext),U=!1!==k,I=!1!==k?null===(r=k)||"auto"===r?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,{href:F,as:B}=u.default.useMemo(()=>{let e=g(j);return{href:e,as:x?g(x):e}},[j,x]);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=u.default.Children.only(n)}let D=A?o&&"object"==typeof o&&o.ref:L,K=u.default.useCallback(e=>(null!==$&&(b.current=(0,p.mountLinkInstance)(e,F,$,I,U,m)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[U,F,$,I,m]),z={ref:(0,c.useMergedRef)(K,D),onClick(t){A||"function"!=typeof O||O(t),A&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!$||t.defaultPrevented||function(t,r,n,o,a,i,s){if("u">typeof window){let l,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((l=t.currentTarget.getAttribute("target"))&&"_self"!==l||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(977803);u.default.startTransition(()=>{f(n||r,a?"replace":"push",i??!0,o.current)})}}(t,F,B,b,E,_,T)},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),$&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)},onTouchStart:function(e){A||"function"!=typeof S||S(e),A&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),$&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)}};return(0,f.isAbsoluteUrl)(B)?z.href=B:A&&!P&&("a"!==o.type||"href"in o.props)||(z.href=(0,d.addBasePath)(B)),a=A?u.default.cloneElement(o,z):(0,i.jsx)("a",{...M,...z,children:n}),(0,i.jsx)(v.Provider,{value:s,children:a})}e.r(405374);let v=(0,u.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,u.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},459073,e=>{"use strict";let t=(0,e.i(363732).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],459073)},378562,e=>{"use strict";var t=e.i(762281),r=e.i(307241);function n({icon:e,title:n,description:o,ctaLabel:a,ctaHref:i}){return(0,t.jsx)("div",{className:"h-full w-full flex items-center justify-center bg-[var(--background)] px-6 py-12",children:(0,t.jsxs)("div",{className:"max-w-md w-full text-center space-y-6",children:[(0,t.jsx)("div",{className:"mx-auto w-14 h-14 rounded-2xl bg-[var(--secondary)] flex items-center justify-center",children:e}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h1",{className:"text-[22px] font-bold text-[var(--foreground)] tracking-tight",children:n}),(0,t.jsx)("p",{className:"text-[14px] text-[var(--muted-foreground)] leading-relaxed",children:o})]}),(0,t.jsx)(r.default,{href:i,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all",children:a})]})})}e.s(["EmptyStateCard",()=>n])},649582,e=>{"use strict";var t=e.i(762281),r=e.i(935851),n=e.i(506420),o=e.i(459073),a=e.i(906724),i=e.i(572665),u=e.i(378562);function s(){let e=(0,n.useRouter)(),[s,l]=(0,r.useState)({kind:"loading"});return((0,r.useEffect)(()=>{let t=!1;return(async()=>{try{let r=await fetch("/api/projects",{cache:"no-store"});if(t)return;if(!r.ok)return void e.replace("/setup");let n=await r.json(),o=Array.isArray(n?.projects)?n.projects:[];if(0===o.length){let r=await fetch("/api/providers",{cache:"no-store"});if(t)return;let n=r.ok?await r.json():{providers:[]};if(!(Array.isArray(n?.providers)?n.providers:[]).some(e=>e?.installed&&e?.authenticated))return void e.replace("/setup");l({kind:"no-project"});return}let a=o[0],i=await fetch(`/api/projects/${a.id}/teams`,{cache:"no-store"});if(t)return;let u=i.ok?await i.json():{teams:[]},s=Array.isArray(u?.teams)?u.teams:[];if(0===s.length)return void l({kind:"no-team",projectSlug:a.slug,projectName:a.name});e.replace(`/projects/${a.slug}`)}catch{t||e.replace("/setup")}})(),()=>{t=!0}},[e]),"loading"===s.kind||"ready"===s.kind)?(0,t.jsx)("div",{className:"h-screen w-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsx)(a.Loader2,{className:"w-6 h-6 animate-spin text-[var(--muted-foreground)]"})}):"no-project"===s.kind?(0,t.jsx)("div",{className:"h-screen w-full bg-[var(--background)]",children:(0,t.jsx)(u.EmptyStateCard,{icon:(0,t.jsx)(o.FolderPlus,{className:"w-6 h-6 text-[var(--foreground)]"}),title:"Create your first project",description:"A project groups your repos, teams, and automations. Create one to start working with agents.",ctaLabel:"Create a project",ctaHref:"/projects?new=1"})}):(0,t.jsx)("div",{className:"h-screen w-full bg-[var(--background)]",children:(0,t.jsx)(u.EmptyStateCard,{icon:(0,t.jsx)(i.Users,{className:"w-6 h-6 text-[var(--foreground)]"}),title:`Add a team to ${s.projectName}`,description:"Teams give your project the agents that will actually do the work. Add one to get started.",ctaLabel:"Add a team",ctaHref:`/projects/${s.projectSlug}/teams/new`})})}e.s(["default",()=>s])}]);
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 n}});let n=e=>{}},906724,595807,e=>{"use strict";let t=(0,e.i(363732).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],595807),e.s(["Loader2",()=>t],906724)},363732,e=>{"use strict";var t=e.i(935851);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:u="",children:s,iconNode:l,...c},f)=>(0,t.createElement)("svg",{ref:f,...o,width:n,height:n,stroke:e,strokeWidth:i?24*Number(a)/Number(n):a,className:r("lucide",u),...!s&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...l.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(s)?s:[s]])),i=(e,o)=>{let i=(0,t.forwardRef)(({className:i,...u},s)=>(0,t.createElement)(a,{ref:s,iconNode:o,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...u}));return i.displayName=n(e),i};e.s(["default",()=>i],363732)},506420,(e,t,r)=>{t.exports=e.r(27944)},572665,e=>{"use strict";let t=(0,e.i(363732).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>t],572665)},571278,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function u(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},13168,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return u},formatWithValidation:function(){return l},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(190809)._(e.r(571278)),i=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",u=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(a.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==l?(l="//"+(l||""),o&&"/"!==o[0]&&(o="/"+o)):l||(l=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${l}${o}${c}${u}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return u(e)}},950581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(935851);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},692942,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return j},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return y},ST:function(){return g},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let u=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>u.test(e);function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let y="u">typeof performance,g=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},299242,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(692942),o=e.r(756972);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},405374,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},307241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return b}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(190809),i=e.r(762281),u=a._(e.r(935851)),s=e.r(13168),l=e.r(543665),c=e.r(950581),f=e.r(692942),d=e.r(212591);e.r(292135);let p=e.r(53101),h=e.r(299242),y=e.r(979945);function g(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function m(t){var r;let n,o,a,[s,m]=(0,u.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,u.useRef)(null),{href:j,as:x,children:w,prefetch:k=null,passHref:P,replace:E,shallow:N,scroll:_,onClick:O,onMouseEnter:C,onTouchStart:S,legacyBehavior:A=!1,onNavigate:T,ref:L,unstable_dynamicOnHover:R,...M}=t;n=w,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let $=u.default.useContext(l.AppRouterContext),U=!1!==k,I=!1!==k?null===(r=k)||"auto"===r?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,{href:F,as:B}=u.default.useMemo(()=>{let e=g(j);return{href:e,as:x?g(x):e}},[j,x]);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=u.default.Children.only(n)}let D=A?o&&"object"==typeof o&&o.ref:L,K=u.default.useCallback(e=>(null!==$&&(b.current=(0,p.mountLinkInstance)(e,F,$,I,U,m)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[U,F,$,I,m]),z={ref:(0,c.useMergedRef)(K,D),onClick(t){A||"function"!=typeof O||O(t),A&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!$||t.defaultPrevented||function(t,r,n,o,a,i,s){if("u">typeof window){let l,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((l=t.currentTarget.getAttribute("target"))&&"_self"!==l||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(977803);u.default.startTransition(()=>{f(n||r,a?"replace":"push",i??!0,o.current)})}}(t,F,B,b,E,_,T)},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),$&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)},onTouchStart:function(e){A||"function"!=typeof S||S(e),A&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),$&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)}};return(0,f.isAbsoluteUrl)(B)?z.href=B:A&&!P&&("a"!==o.type||"href"in o.props)||(z.href=(0,d.addBasePath)(B)),a=A?u.default.cloneElement(o,z):(0,i.jsx)("a",{...M,...z,children:n}),(0,i.jsx)(v.Provider,{value:s,children:a})}e.r(405374);let v=(0,u.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,u.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},459073,e=>{"use strict";let t=(0,e.i(363732).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],459073)},378562,e=>{"use strict";var t=e.i(762281),r=e.i(307241);function n({icon:e,title:n,description:o,ctaLabel:a,ctaHref:i}){return(0,t.jsx)("div",{className:"h-full w-full flex items-center justify-center bg-[var(--background)] px-6 py-12",children:(0,t.jsxs)("div",{className:"max-w-md w-full text-center space-y-6",children:[(0,t.jsx)("div",{className:"mx-auto w-14 h-14 rounded-2xl bg-[var(--secondary)] flex items-center justify-center",children:e}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h1",{className:"text-[22px] font-bold text-[var(--foreground)] tracking-tight",children:n}),(0,t.jsx)("p",{className:"text-[14px] text-[var(--muted-foreground)] leading-relaxed",children:o})]}),(0,t.jsx)(r.default,{href:i,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all",children:a})]})})}e.s(["EmptyStateCard",()=>n])},649582,e=>{"use strict";var t=e.i(762281),r=e.i(935851),n=e.i(506420),o=e.i(459073),a=e.i(906724),i=e.i(572665),u=e.i(378562);function s(){let e=(0,n.useRouter)(),[s,l]=(0,r.useState)({kind:"loading"});return((0,r.useEffect)(()=>{let t=!1;return(async()=>{try{let r=await fetch("/api/projects",{cache:"no-store"});if(t)return;if(!r.ok)return void e.replace("/setup");let n=await r.json(),o=Array.isArray(n?.projects)?n.projects:[];if(0===o.length){let r=await fetch("/api/providers",{cache:"no-store"});if(t)return;let n=r.ok?await r.json():{providers:[]};if(!(Array.isArray(n?.providers)?n.providers:[]).some(e=>e?.installed&&e?.authenticated))return void e.replace("/setup");l({kind:"no-project"});return}let a=o[0],i=await fetch(`/api/projects/${a.id}/teams`,{cache:"no-store"});if(t)return;let u=i.ok?await i.json():{teams:[]},s=Array.isArray(u?.teams)?u.teams:[];if(0===s.length)return void l({kind:"no-team",projectSlug:a.slug,projectName:a.name});e.replace(`/projects/${a.slug}`)}catch{t||e.replace("/setup")}})(),()=>{t=!0}},[e]),"loading"===s.kind||"ready"===s.kind)?(0,t.jsx)("div",{className:"h-screen w-full flex items-center justify-center bg-[var(--background)]",children:(0,t.jsx)(a.Loader2,{className:"w-6 h-6 animate-spin text-[var(--muted-foreground)]"})}):"no-project"===s.kind?(0,t.jsx)("div",{className:"h-screen w-full bg-[var(--background)]",children:(0,t.jsx)(u.EmptyStateCard,{icon:(0,t.jsx)(o.FolderPlus,{className:"w-6 h-6 text-[var(--foreground)]"}),title:"Create your first project",description:"A project groups your repos, teams, and automations. Create one to start working with agents.",ctaLabel:"Create a project",ctaHref:"/projects?new=1"})}):(0,t.jsx)("div",{className:"h-screen w-full bg-[var(--background)]",children:(0,t.jsx)(u.EmptyStateCard,{icon:(0,t.jsx)(i.Users,{className:"w-6 h-6 text-[var(--foreground)]"}),title:`Add a team to ${s.projectName}`,description:"Teams give your project the agents that will actually do the work. Add one to get started.",ctaLabel:"Add a team",ctaHref:`/projects/${s.projectSlug}/teams/new`})})}e.s(["default",()=>s])}]);
@@ -0,0 +1 @@
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 a}});let a=e=>{}},429056,e=>{"use strict";let t=(0,e.i(363732).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],429056)},716436,e=>{"use strict";let t=(0,e.i(363732).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",()=>t],716436)},715908,e=>{"use strict";var t=e.i(935851);function r(e,a={}){let[s,n]=(0,t.useState)([]),[i,l]=(0,t.useState)(!0),[o,c]=(0,t.useState)(null),d=(0,t.useRef)(!1),u=a.requireProjectId??!1,p=a.includeObjectiveJobs??!1,h=a.objectiveId?.trim()||null,m=(0,t.useCallback)(async()=>{if(u&&!e){n([]),c(null),l(!1),d.current=!0;return}try{d.current||l(!0);let t=new URLSearchParams;e&&t.set("projectId",e),h&&t.set("objectiveId",h),p&&t.set("includeObjectiveJobs","true");let r=t.toString(),a=await fetch(`/api/prompt-jobs${r?`?${r}`:""}`);if(!a.ok)throw Error(`Failed to fetch: ${a.status}`);let s=await a.json();n(s.jobs??[]),c(null)}catch(e){c(e instanceof Error?e.message:String(e))}finally{l(!1),d.current=!0}},[p,h,e,u]);(0,t.useEffect)(()=>{d.current=!1,m();let e=setInterval(m,1e4);return()=>clearInterval(e)},[m]);let x=(0,t.useCallback)(async e=>{let t=await fetch("/api/prompt-jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)return null;let{job:r}=await t.json();return await m(),r?.id??null},[m]),f=(0,t.useCallback)(async(e,t)=>{let r=await fetch(`/api/prompt-jobs/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok&&await m(),r.ok},[m]),v=(0,t.useCallback)(async e=>{let t=await fetch(`/api/prompt-jobs/${e}`,{method:"DELETE"});if(t.ok)return await m(),{ok:!0};let r=await t.json().catch(()=>({}));return{ok:!1,error:r.error||r.message||`Failed to delete scheduled task (${t.status})`}},[m]),b=(0,t.useCallback)(async e=>{let t="active"===e.state?"paused":"active",r=await fetch(`/api/prompt-jobs/${e.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({state:t})});return r.ok&&await m(),r.ok},[m]),g=(0,t.useCallback)(async e=>{let t=await fetch("/api/prompt-jobs/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jobId:e})});return t.ok&&await m(),t.ok},[m]),j=(0,t.useCallback)(async e=>{let t=await fetch(`/api/prompt-jobs/${e}/cancel`,{method:"POST"});return t.ok&&await m(),t.ok},[m]);return{jobs:s,loading:i,error:o,refresh:m,createJob:x,updateJob:f,deleteJob:v,toggleJob:b,runNow:g,cancelRun:j,fetchRuns:(0,t.useCallback)(async e=>{let t=await fetch(`/api/prompt-jobs/${e}/runs`);return t.ok?(await t.json()).runs??[]:[]},[])}}e.s(["usePromptJobs",()=>r])},810605,e=>{"use strict";e.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_UPDATE_CHECK_MS",0,18e5])},506420,(e,t,r)=>{t.exports=e.r(27944)},906724,595807,e=>{"use strict";let t=(0,e.i(363732).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],595807),e.s(["Loader2",()=>t],906724)},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)},169433,e=>{"use strict";let t="agx:windowState",r={workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,objectiveChatPanelWidth:440,objectiveListPanelWidth:320},a={lastThreadId:null,lastWorkspaceId:null},s={bounds:null,sidebar:r,scroll:a};function n(){return void 0!==window.localStorage}function i(){if(!n())return{...s};let e=window.localStorage.getItem(t);if(!e)return{...s};try{let t=JSON.parse(e);return{bounds:t.bounds||null,sidebar:{...r,...t.sidebar||{}},scroll:{...a,...t.scroll||{}}}}catch{return{...s}}}function l(){return i().sidebar}function o(e){let r=i();r.sidebar={...r.sidebar,...e};if(n())try{window.localStorage.setItem(t,JSON.stringify(r))}catch{}}function c(){return l().workspaceWidth}function d(e){o({workspaceWidth:e})}function u(){return l().linearTicketPanelWidth}function p(e){o({linearTicketPanelWidth:e})}function h(){return l().objectiveChatPanelWidth}function m(e){o({objectiveChatPanelWidth:e})}function x(){return l().objectiveListPanelWidth}function f(e){o({objectiveListPanelWidth:e})}e.s(["loadLinearTicketPanelWidth",()=>u,"loadObjectiveChatPanelWidth",()=>h,"loadObjectiveListPanelWidth",()=>x,"loadWorkspaceWidth",()=>c,"persistLinearTicketPanelWidth",()=>p,"persistObjectiveChatPanelWidth",()=>m,"persistObjectiveListPanelWidth",()=>f,"persistWorkspaceWidth",()=>d])},681619,594643,e=>{"use strict";var t=e.i(762281);function r({className:e}){return(0,t.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z"})})}e.s(["LinearIcon",()=>r],594643);let a={linear:r,jira:function({className:e}){return(0,t.jsxs)("svg",{className:e,viewBox:"12 12 104 104",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M108.023 16H61.805c0 11.52 9.324 20.848 20.847 20.848h8.5v8.226c0 11.52 9.328 20.848 20.848 20.848V19.977A3.98 3.98 0 00108.023 16zm0 0"}),(0,t.jsx)("path",{d:"M85.121 39.04H38.902c0 11.519 9.325 20.847 20.844 20.847h8.504v8.226c0 11.52 9.328 20.848 20.848 20.848V43.016a3.983 3.983 0 00-3.977-3.977zm0 0"}),(0,t.jsx)("path",{d:"M62.219 62.078H16c0 11.524 9.324 20.848 20.848 20.848h8.5v8.23c0 11.52 9.328 20.844 20.847 20.844V66.059a3.984 3.984 0 00-3.976-3.98zm0 0"})]})},github:function({className:e}){return(0,t.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})})}};function s({trackerType:e,className:r}){let s=a[e];return s?(0,t.jsx)(s,{className:r}):(0,t.jsx)(n,{className:r})}function n({className:e}){return(0,t.jsxs)("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"}),(0,t.jsx)("rect",{x:"9",y:"3",width:"6",height:"4",rx:"2"}),(0,t.jsx)("path",{d:"M9 12h6"}),(0,t.jsx)("path",{d:"M9 16h6"})]})}e.s(["TrackerIcon",()=>s],681619)},597628,e=>{"use strict";let t=(0,e.i(363732).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],597628)},575479,e=>{"use strict";let t=(0,e.i(363732).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],575479)},55236,e=>{"use strict";let t=(0,e.i(363732).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",()=>t],55236)},196630,e=>{"use strict";let t=(0,e.i(363732).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",()=>t],196630)},902572,e=>{"use strict";let t="project_objectives_workspace",r="project_goals_workspace",a=new Set(["on_track","at_risk","off_track","done"]);function s(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function n(e){return`${e}_${Math.random().toString(36).slice(2,10)}`}function i(e){return[...e].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function l(e){return[...e].sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}function o(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function c(e,t=""){return"string"==typeof e?e:t}function d(e){return Array.isArray(e)?Array.from(new Set(e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean))):[]}function u(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let r=Date.parse(e);return Number.isNaN(r)?t:new Date(r).toISOString()}function p(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function h(e,t=0){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.floor(e)):t}function m(e,t="objective"){let r=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return r||t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function x(e,t,r="objective"){let a=m(r),s=m(e,a),n=s,i=2;for(;t.has(n);){let e=`-${i}`,t=Math.max(1,32-e.length);n=`${s.slice(0,t)}${e}`,i+=1}return t.add(n),n}function f(e,t,r){return x(e,new Set(t.filter(e=>e.id!==r).map(e=>m(e.key||e.title||e.id))),r??e)}function v(e){var t;if(!s(e))return null;let r=u(e.updatedAt??e.createdAt),i=u(e.createdAt,r);return{id:c(e.id,n("objective")),title:c(e.title,"Untitled objective"),teamId:c(e.teamId??e.team_id??e.ownerTeamId),key:m(c(e.key??e.slug??e.label),c(e.title??e.id,"objective")),threadId:c(e.threadId)||null,chatSessionVersion:h(e.chatSessionVersion,0),scheduledTaskIds:d(e.scheduledTaskIds??e.promptJobIds),summary:c(e.summary),progress:p(e.progress),status:"string"==typeof(t=e.status)&&a.has(t)?t:"on_track",createdAt:i,updatedAt:r}}function b(e){if(!s(e))return null;let t=u(e.updatedAt??e.createdAt),r=u(e.createdAt,t),a=c(e.objectiveId??e.goalId);return a?{id:c(e.id,n("objective_activity")),objectiveId:a,sourceType:"note",sourceLabel:c(e.sourceLabel,"Update"),title:c(e.title,"Untitled activity"),body:c(e.body),createdAt:r,updatedAt:t,relatedTaskId:c(e.relatedTaskId)||null}:null}function g(e){if(!s(e))return null;let t=c(e.activityId);return t?{id:c(e.id,n("objective_thread_message")),activityId:t,author:c(e.author,"You"),body:c(e.body),createdAt:u(e.createdAt)}:null}function j(){return{objectives:[],activities:[],activityThreads:{}}}function y(e){let t;if(!s(e))return j();let r=Array.isArray(e.objectives)?e.objectives.map(e=>v(e)).filter(e=>null!==e):[],a=Array.isArray(e.activities)?e.activities.map(e=>b(e)).filter(e=>null!==e):[],n=s(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(e=>g(e)).filter(e=>null!==e):[])])):{};return{objectives:i((t=new Set,r.map(e=>{let r=x(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===r?e:{...e,key:r}}))),activities:o(a),activityThreads:n}}function k(e){if(!s(e))return j();let a=e[t];if(void 0!==a){let e=y(a);if(e.objectives.length>0||e.activities.length>0||Object.keys(e.activityThreads).length>0)return e}let n=e[r];if(void 0!==n){if(!s(n))return j();let e=Array.isArray(n.goals)?n.goals.map(e=>(function(e){if(!s(e))return null;let t=c(e.target),r=[c(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return v({...e,summary:r})})(e)).filter(e=>null!==e):[],t=Array.isArray(n.manualActivities)?n.manualActivities.map(e=>b({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=s(n.activityThreads)?Object.fromEntries(Object.entries(n.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(t=>g({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:i(e),activities:o(t),activityThreads:r}}return j()}function w(e,a){let s={...e};return delete s[r],s[t]=y(a),s}function N(e){return{id:e.id??n("objective"),title:e.title.trim(),teamId:e.teamId.trim(),key:m(e.key?.trim()??e.title.trim(),e.id??e.title),threadId:"string"==typeof e.threadId&&e.threadId.trim()?e.threadId.trim():null,chatSessionVersion:h(e.chatSessionVersion??2,2),scheduledTaskIds:d(e.scheduledTaskIds??[]),summary:e.summary?.trim()??"",progress:p(e.progress??0),status:e.status??"on_track",createdAt:e.now,updatedAt:e.now}}function C(e,t){let r=e.objectives.findIndex(e=>e.id===t.id)>=0?e.objectives.map(e=>e.id===t.id?t:e):[t,...e.objectives];return{...e,objectives:i(r)}}function S(e,t){let r=new Set(e.activities.filter(e=>e.objectiveId===t).map(e=>e.id)),a=Object.fromEntries(Object.entries(e.activityThreads).filter(([e])=>!r.has(e)));return{objectives:e.objectives.filter(e=>e.id!==t),activities:e.activities.filter(e=>e.objectiveId!==t),activityThreads:a}}function A({objective:e,workspace:t}){return t.activities.filter(t=>t.objectiveId===e.id).map(e=>({...e,threadCount:t.activityThreads[e.id]?.length??0})).sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}e.s(["CURRENT_OBJECTIVE_CHAT_SESSION_VERSION",0,2,"LEGACY_PROJECT_GOALS_METADATA_KEY",0,r,"PROJECT_HEALTH_METADATA_KEY",0,"project_health_snapshot","PROJECT_OBJECTIVES_METADATA_KEY",0,t,"buildObjectiveTimelineActivities",()=>A,"createProjectObjective",()=>N,"generateProjectObjectiveKey",()=>f,"readProjectObjectivesWorkspace",()=>k,"removeProjectObjective",()=>S,"upsertProjectObjective",()=>C,"writeProjectObjectivesWorkspace",()=>w])},938201,e=>{"use strict";let t=(0,e.i(363732).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);e.s(["Target",()=>t],938201)},997626,e=>{"use strict";let t=(0,e.i(363732).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],997626)},99296,846279,e=>{"use strict";let t=(0,e.i(363732).default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);e.s(["default",()=>t],846279),e.s(["TerminalSquare",()=>t],99296)},535208,e=>{"use strict";var t=e.i(762281),r=e.i(935851);function a({initialPath:e,onSelect:a,onCancel:s}){let[n,i]=(0,r.useState)(e||""),[l,o]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),[u,p]=(0,r.useState)(null),h=(0,r.useRef)(null),m=(0,r.useCallback)(async e=>{d(!0),p(null);try{let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/filesystem/browse${t}`),a=await r.json();if(!r.ok)return void p(a.error||"Failed to browse");o(a),i(a.current),h.current?.scrollTo(0,0)}catch{p("Failed to connect")}finally{d(!1)}},[]);return(0,r.useEffect)(()=>{m(e||"")},[]),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("input",{value:n,onChange:e=>i(e.target.value),onKeyDown:e=>{"Enter"===e.key&&m(n)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>m(n),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,t.jsxs)("div",{ref:h,className:"max-h-48 overflow-y-auto",children:[c&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),u&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:u}),!c&&l&&(0,t.jsxs)("div",{className:"py-1",children:[l.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>m(l.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===l.dirs.length&&!l.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),l.dirs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>m(e.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:l?.current||n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>a(l?.current||n),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}let s={name:"",description:""},n={name:"",path:"",notes:""};function i(){let[e,t]=(0,r.useState)(s),[a,i]=(0,r.useState)([n]),[l,o]=(0,r.useState)(!1),[c,d]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{i(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{i(e=>[...e,{...n}])},[]),h=(0,r.useCallback)(e=>{i(t=>t.filter((t,r)=>r!==e))},[]),m=(0,r.useCallback)(()=>{t(s),i([n]),d(null)},[]),x=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?i(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):i([n]),d(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:u,addRepo:p,removeRepo:h,resetForm:m,hydrateFromProject:x,isSubmitting:l,setIsSubmitting:o,formError:c,setFormError:d}}function l(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.trim()}:{},notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:r.length?r:void 0}}function o({form:e,repos:s,isEditingProject:n,isSubmitting:i,onFieldChange:l,onRepoChange:o,onAddRepo:c,onRemoveRepo:d}){let[u,p]=(0,r.useState)([]),[h,m]=(0,r.useState)(null),x=(0,r.useRef)(0);(0,r.useEffect)(()=>{n?p([]):p(s.map((e,t)=>t)),x.current=s.length},[n,s.length]),(0,r.useEffect)(()=>{if(!n){x.current=s.length;return}let e=x.current;p(t=>{let r=t.filter(e=>e<s.length);return s.length>e&&r.push(...Array.from({length:s.length-e},(t,r)=>e+r)),r}),x.current=s.length},[n,s.length]);let f=(0,r.useCallback)(e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),v=(0,r.useCallback)(e=>!n||u.includes(e),[u,n]);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>l("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:i})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>l("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:i})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Folders"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-0.5",children:"Code repos, doc folders, design assets, config directories — any path your team needs access to."})]}),(0,t.jsx)("button",{type:"button",onClick:c,className:"text-xs font-semibold text-[var(--primary)] hover:underline flex-shrink-0",disabled:i,children:"+ Add Folder"})]}),(0,t.jsx)("div",{className:"space-y-4",children:s.map((e,r)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Folder #",r+1]}),n&&!v(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed folder"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,t.jsx)("button",{type:"button",onClick:()=>f(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:i,children:v(r)?"Done":"Edit"}),s.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>d(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:i,children:"Remove"})]})]}),v(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>o(r,"name",e.target.value),placeholder:"Name (e.g. Frontend, API Docs, Design System)",className:"input text-sm",disabled:i}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:e.path,onChange:e=>o(r,"path",e.target.value),placeholder:"Local path to folder",className:`input text-sm flex-1${e.name.trim()&&!e.path.trim()?" border-[var(--destructive)]/50 ring-1 ring-[var(--destructive)]/20":""}`,disabled:i}),(0,t.jsx)("button",{type:"button",onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&o(r,"path",t.path)}catch{m(h===r?null:r)}},className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:i,children:"Browse"})]}),e.name.trim()&&!e.path.trim()&&(0,t.jsx)("p",{className:"text-[11px] text-[var(--destructive)]",children:"Local path is required"})]}),h===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a,{initialPath:e.path||"",onSelect:e=>{o(r,"path",e),m(null)},onCancel:()=>m(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>o(r,"notes",e.target.value),placeholder:"Notes for this folder — e.g. coding conventions, deploy steps, ownership, doc standards...",className:"input text-sm w-full min-h-24 resize-y",disabled:i})})]}):null]},r))})]})]})}function c({isOpen:e,onClose:a,onSubmit:s,editingProject:n,form:i,repos:l,isSubmitting:c,formError:d,onFieldChange:u,onRepoChange:p,onAddRepo:h,onRemoveRepo:m}){let[x,f]=(0,r.useState)([]);(0,r.useEffect)(()=>{let e=!1;return async function(){if(!n)return f([]);try{let t=await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(n.id)}`),r=(t.ok?await t.json():{note:null}).note;e||f(r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt,source:r.sourceType}]:[])}catch{e||f([])}}(),()=>{e=!0}},[n]);let v=l.some(e=>e.name.trim()&&!e.path.trim()),b=!i.name.trim()||v;return e?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&a(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:n?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and folders.":"Define a new project and connect folders."})]}),(0,t.jsx)("button",{onClick:a,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[n&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),x.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:x.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,t.jsx)(o,{form:i,repos:l,isEditingProject:!!n,isSubmitting:c,onFieldChange:u,onRepoChange:p,onAddRepo:h,onRemoveRepo:m}),d&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:d})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:a,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:s,disabled:c||b,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:c?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):n?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>l,"default",()=>c,"useProjectFormState",()=>i],535208)},202641,e=>{"use strict";let t=(0,e.i(363732).default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);e.s(["Bell",()=>t],202641)},51297,e=>{"use strict";let t=(0,e.i(363732).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",()=>t],51297)},235136,e=>{"use strict";var t=e.i(935851);function r(e){let[r,a]=(0,t.useState)([]),[s,n]=(0,t.useState)(null),[i,l]=(0,t.useState)(!0),o=(0,t.useCallback)(async()=>{if(!e){a([]),n(null),l(!1);return}try{let t=await fetch(`/api/trackers/connections?projectId=${encodeURIComponent(e)}`),r=await t.json();a(Array.isArray(r.connections)?r.connections:[]),n("string"==typeof r.defaultTracker?r.defaultTracker:null)}catch{a([]),n(null)}finally{l(!1)}},[e]);(0,t.useEffect)(()=>{o()},[o]);let c=(0,t.useCallback)(async(t,r)=>{if(!e)return{ok:!1,error:"Missing projectId"};try{let a=await fetch("/api/trackers/connections",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:t,projectId:e,metadata:r})});if(!a.ok){let e=await a.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to add connection"}}return await o(),{ok:!0}}catch{return{ok:!1,error:"Failed to add connection"}}},[e,o]),d=(0,t.useCallback)(async t=>{if(!e)return{ok:!1,error:"Missing projectId"};try{let r=await fetch(`/api/trackers/${t}/status?projectId=${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok){let e=await r.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to remove connection"}}return await o(),{ok:!0}}catch{return{ok:!1,error:"Failed to remove connection"}}},[e,o]),u=(0,t.useCallback)(async t=>{if(!e)return{ok:!1,error:"Missing projectId"};try{let r=await fetch("/api/trackers/connections",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,defaultTracker:t})});if(!r.ok){let e=await r.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to set default tracker"}}return await o(),{ok:!0}}catch{return{ok:!1,error:"Failed to set default tracker"}}},[e,o]);return{connections:r,defaultTracker:s,loading:i,refresh:o,addConnection:c,removeConnection:d,setDefaultTracker:u}}e.s(["useTrackerConnections",()=>r])},563975,e=>{"use strict";var t=e.i(762281),r=e.i(935851),a=e.i(506420),s=e.i(429056),n=e.i(169729),i=e.i(468947),l=e.i(721571),o=e.i(524780),c=e.i(716436),d=e.i(715908);let u=new Set(["spawning","running"]);function p(e,t){if(!e)return{name:"Unknown",color:"#6B7280"};let r=t.find(t=>t.id===e);return r?{name:r.name,color:r.color}:{name:e.slice(0,8),color:"#6B7280"}}var h=e.i(44054),m=e.i(884564);let x={Chat:"bg-blue-500/15 text-blue-400","Scheduled Task":"bg-amber-500/15 text-amber-400",Automation:"bg-purple-500/15 text-purple-400",Daemon:"bg-zinc-500/15 text-zinc-400"};function f({status:e}){return"running"===e?(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse shrink-0"}):"queued"===e?(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-amber-400 shrink-0"}):"failed"===e?(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-red-400 shrink-0"}):(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-zinc-500 shrink-0"})}function v({item:e}){return(0,t.jsxs)("div",{className:"flex items-center gap-2.5 px-3 py-2 hover:bg-[var(--app-shell-subtle)] transition-colors rounded-md",children:[(0,t.jsx)("img",{src:(0,m.agentAvatarUrl)(e.agentId??e.id,20,e.agentColor),alt:"",className:"h-5 w-5 rounded-full shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(f,{status:e.status}),(0,t.jsx)("span",{className:"text-xs font-medium text-[var(--foreground)] truncate",children:e.agentName})]}),(0,t.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate mt-0.5",children:e.title})]}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-0.5 shrink-0",children:[(0,t.jsx)("span",{className:`text-[9px] px-1.5 py-0.5 rounded-full font-medium ${x[e.source]??x.Daemon}`,children:e.source}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:function(e){let t=Date.now()-e;if(t<6e4)return"just now";let r=Math.floor(t/6e4);if(r<60)return`${r}m ago`;let a=Math.floor(r/60);return`${a}h ago`}(e.startedAt)})]})]})}function b({items:e,onClose:a}){let s=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=e=>{s.current&&!s.current.contains(e.target)&&a()},t=setTimeout(()=>document.addEventListener("pointerdown",e),0);return()=>{clearTimeout(t),document.removeEventListener("pointerdown",e)}},[a]);let n=e.filter(e=>"running"===e.status||"queued"===e.status),i=e.filter(e=>"running"!==e.status&&"queued"!==e.status);return(0,t.jsx)("div",{ref:s,className:"absolute top-full right-0 z-50 mt-1.5 w-80 max-h-96 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:0===e.length?(0,t.jsx)("div",{className:"flex flex-col items-center justify-center py-8 px-4",children:(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"No recent activity"})}):(0,t.jsxs)("div",{className:"py-1.5",children:[n.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"px-3 py-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Active Now"})}),n.map(e=>(0,t.jsx)(v,{item:e},e.id))]}),i.length>0&&(0,t.jsxs)("div",{children:[n.length>0&&(0,t.jsx)("div",{className:"mx-3 my-1 border-t border-[var(--app-shell-border)]"}),(0,t.jsx)("div",{className:"px-3 py-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Recent"})}),i.map(e=>(0,t.jsx)(v,{item:e},e.id))]})]})})}function g({projectId:e,participants:a}){let{isTouchLayout:s}=(0,h.useInputCapabilities)(),{items:n,activeCount:i}=function(e,t){let[a,s]=(0,r.useState)([]),n=(0,r.useRef)(null),i=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/processes");if(!e.ok)return;let t=await e.json();s(t)}catch{}},[]);(0,r.useEffect)(()=>(i(),n.current=setInterval(i,5e3),()=>{n.current&&clearInterval(n.current)}),[i]);let{jobs:l}=(0,d.usePromptJobs)(e),{automations:o}=function(){let[e,t]=(0,r.useState)([]),[a,s]=(0,r.useState)(!0),[n,i]=(0,r.useState)(null),l=(0,r.useCallback)(async()=>{try{s(!0);let e=await fetch("/api/automations");if(!e.ok)throw Error(`Failed to fetch: ${e.status}`);let r=await e.json();t(r.automations??[]),i(null)}catch(e){i(e instanceof Error?e.message:String(e))}finally{s(!1)}},[]);(0,r.useEffect)(()=>{l();let e=setInterval(l,1e4);return()=>clearInterval(e)},[l]);let o=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"pause"})});return t.ok&&await l(),t.ok},[l]),c=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"resume"})});return t.ok&&await l(),t.ok},[l]),d=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}/graph/schedule`,{method:"DELETE"});return t.ok&&await l(),t.ok},[l]),u=(0,r.useCallback)(async e=>{let t=await fetch("/api/schedules/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});if(t.ok)return await l(),{ok:!0};let r=await t.json().catch(()=>({}));return await l(),{ok:!1,skipReason:r.skipReason}},[l]);return{automations:e,loading:a,error:n,refresh:l,pauseSchedule:o,resumeSchedule:c,deleteSchedule:d,runNow:u}}(),c=(0,r.useMemo)(()=>{let r=Date.now()-36e5,s=[];for(let i of a){var n;if(e&&i.projectSlug!==e)continue;let a=(n=i.state,u.has(n)?"running":"done"===n?"completed":"error"===n||"killed"===n?"failed":"completed");if("running"!==a&&i.startedAt<r)continue;let{name:l,color:o}=p(i.agentId,t);s.push({id:`proc-${i.id}`,agentId:i.agentId,agentName:l,agentColor:o,type:i.threadId?"chat-run":"process",title:i.threadId?"Chat response":"Agent process",source:i.threadId?"Chat":"Daemon",status:a,startedAt:i.startedAt,durationMs:i.lastActivity-i.startedAt})}for(let a of l){if(e&&a.projectId!==e)continue;let n="running"===a.lastOutcome||"queued"===a.lastOutcome,i=a.lastRunAt??0;if(!n&&i<r)continue;let l=n?"queued"===a.lastOutcome?"queued":"running":"success"===a.lastOutcome?"completed":"failed"===a.lastOutcome?"failed":"completed",{name:o,color:c}=p(a.agentId,t);s.push({id:`job-${a.id}`,agentId:a.agentId,agentName:o,agentColor:c,type:"prompt-job",title:a.name,source:"Scheduled Task",status:l,startedAt:i,durationMs:null})}for(let t of o){if(e&&t.projectId!==e)continue;let a="running"===t.executionState,n=new Date(t.updatedAt).getTime();(a||!(n<r))&&s.push({id:`auto-${t.taskId}`,agentId:null,agentName:t.title,agentColor:"#7C3AED",type:"automation",title:t.title,source:"Automation",status:a?"running":"completed",startedAt:n,durationMs:null})}return s.sort((e,t)=>{let r=+("running"===e.status||"queued"===e.status),a=+("running"===t.status||"queued"===t.status);return r!==a?a-r:t.startedAt-e.startedAt}),s},[a,l,o,t,e]),h=(0,r.useMemo)(()=>c.filter(e=>"running"===e.status||"queued"===e.status).length,[c]);return{items:c,activeCount:h}}(e,a),[l,o]=(0,r.useState)(!1),m=(0,r.useCallback)(()=>o(!1),[]);return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>o(e=>!e),className:`inline-flex items-center justify-center rounded-lg text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] ${s?"h-9 w-9":"h-7 w-7"}`,title:"Activity stream","aria-label":"Activity stream",children:[(0,t.jsx)(c.Activity,{className:s?"h-4 w-4":"h-3.5 w-3.5"}),i>0&&(0,t.jsx)("span",{className:"absolute top-0 right-0 h-2 w-2 rounded-full bg-emerald-400 animate-pulse"})]}),l&&(0,t.jsx)(b,{items:n,onClose:m})]})}var j=e.i(51297);let y=(0,e.i(363732).default)("clock-3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]]);var k=e.i(575479),w=e.i(906724),N=e.i(597628),C=e.i(8707),S=e.i(938201),A=e.i(572665),T=e.i(797167);function I({projectId:e}){let{isTouchLayout:s}=(0,h.useInputCapabilities)(),n=(0,a.useRouter)(),i=(0,a.usePathname)(),l=(0,r.useRef)(null),o=(0,r.useRef)(null),[c,d]=(0,r.useState)(""),[u,p]=(0,r.useState)([]),[m,x]=(0,r.useState)(0),[f,v]=(0,r.useState)(!1),[b,g]=(0,r.useState)(null),[I,M]=(0,r.useState)(!1),[P,E]=(0,r.useState)(0),[_,L]=(0,r.useState)(new Set),O=c.trim(),$=(0,r.useMemo)(()=>u.map(e=>({...e,visibleResults:_.has(e.id)?e.results:e.results.slice(0,3),hiddenCount:Math.max(0,e.results.length-3)})),[_,u]),D=(0,r.useMemo)(()=>$.flatMap(e=>e.visibleResults),[$]),R=(0,r.useMemo)(()=>D.map(e=>`${e.kind}:${e.id}`),[D]),W=(0,r.useCallback)(()=>{d(""),p([]),x(0),g(null),v(!1),E(0)},[]),U=(0,r.useCallback)(e=>{W(),M(!1),n.push(e.href)},[W,n]);(0,r.useEffect)(()=>{W(),M(!1),L(new Set)},[W,i]),(0,r.useEffect)(()=>{let e=e=>{l.current?.contains(e.target)||M(!1)};return window.addEventListener("pointerdown",e),()=>window.removeEventListener("pointerdown",e)},[]),(0,r.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()&&(e.preventDefault(),o.current?.focus(),o.current?.select())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,r.useEffect)(()=>{I&&E(0)},[I,u]),(0,r.useEffect)(()=>{if(!O||O.length<2){p([]),x(0),g(null),v(!1),L(new Set);return}let t=!1;v(!0);let r=window.setTimeout(()=>{(async()=>{try{let r=new URLSearchParams({q:O}),a=await fetch(`/api/projects/${encodeURIComponent(e)}/search?${r.toString()}`,{cache:"no-store"}),s=await a.json().catch(()=>null);if(t)return;if(!a.ok){let e=s&&"object"==typeof s&&"error"in s?String(s.error):"Search failed";p([]),x(0),g(e);return}p(Array.isArray(s.sections)?s.sections:[]),x("number"==typeof s.total?s.total:0),g(null),L(new Set)}catch(e){if(t)return;console.error("Project search failed",e),p([]),x(0),g("Search failed")}finally{t||v(!1)}})()},220);return()=>{t=!0,window.clearTimeout(r)}},[O,e]);let H=I&&(O.length>0||f||null!==b),F=D.length>0?D[Math.max(0,Math.min(P,D.length-1))]:null,z=(0,r.useCallback)(e=>{L(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]);return(0,t.jsxs)("div",{ref:l,className:"relative w-full max-w-xl",children:[(0,t.jsxs)("div",{className:"group/search relative",children:[(0,t.jsx)(C.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:1.8}),(0,t.jsx)("input",{ref:o,type:"text",value:c,onFocus:()=>M(!0),onChange:e=>{d(e.target.value),M(!0)},onKeyDown:e=>{if("ArrowDown"===e.key&&D.length>0){e.preventDefault(),E(e=>(e+1)%D.length);return}if("ArrowUp"===e.key&&D.length>0){e.preventDefault(),E(e=>(e-1+D.length)%D.length);return}if("Enter"===e.key&&F){e.preventDefault(),U(F);return}"Escape"===e.key&&(O?W():(M(!1),o.current?.blur()))},placeholder:"Search objectives, tickets, tasks, teams, agents, and chat…",className:"h-8 w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-xs 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)]"}),O?(0,t.jsxs)("div",{className:"absolute right-2 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:f?"…":m}),(0,t.jsx)("button",{type:"button",onClick:()=>{W(),o.current?.focus()},className:"inline-flex h-5 w-5 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]","aria-label":"Clear search",children:(0,t.jsx)(T.X,{className:"h-3.5 w-3.5"})})]}):s?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"})]}),H?(0,t.jsx)("div",{className:"absolute left-0 right-0 top-[calc(100%+0.5rem)] z-50 overflow-hidden rounded-2xl border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] shadow-2xl shadow-black/20",children:(0,t.jsxs)("div",{className:"max-h-[28rem] overflow-y-auto p-2",children:[O.length<2?(0,t.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:"Keep typing to search across project entities."}):null,f?(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)(w.Loader2,{className:"h-4 w-4 animate-spin"}),"Searching this project…"]}):null,!f&&b?(0,t.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-rose-500",children:b}):null,f||b||!(O.length>=2)||0!==u.length?null:(0,t.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:"No matches in this project."}),!f&&!b&&$.map(e=>(0,t.jsxs)("div",{className:"mb-2 last:mb-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 pb-1 pt-2",children:[(0,t.jsxs)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--app-shell-soft-text)]",children:[e.label,(0,t.jsx)("span",{className:"ml-1.5 text-[9px] text-[var(--muted-foreground)]",children:e.results.length})]}),e.results.length>3?(0,t.jsx)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onClick:()=>z(e.id),className:"text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:_.has(e.id)?"Collapse":`Show ${e.hiddenCount} more`}):null]}),(0,t.jsx)("div",{className:"space-y-1",children:e.visibleResults.map(e=>{let r,a,s=`${e.kind}:${e.id}`,n=R.findIndex(e=>e===s),i=n===P,l=function(e){switch(e){case"objective":return S.Target;case"linear_issue":return k.FileText;case"scheduled_task":return y;case"team":return A.Users;case"agent":return j.Bot;case"chat_thread":case"chat_message":return N.MessageSquare;default:return C.Search}}(e.kind);return(0,t.jsxs)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>E(n),onClick:()=>U(e),className:`flex w-full items-start gap-3 rounded-xl px-3 py-2.5 text-left transition-colors ${i?"bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,t.jsx)("span",{className:"mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)]",children:(0,t.jsx)(l,{className:"h-3.5 w-3.5",strokeWidth:1.75})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.title}),(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-[var(--app-shell-subtle)] px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-[var(--app-shell-soft-text)]",children:e.label})]}),e.context?(0,t.jsx)("span",{className:"mt-0.5 block truncate text-xs text-[var(--muted-foreground)]",children:e.context}):null,e.description?(0,t.jsx)("span",{className:"mt-1 block text-xs leading-5 text-[var(--muted-foreground)]",children:(r=e.description.split(/(<\/?mark>)/g),a=!1,r.map((e,r)=>"<mark>"===e?(a=!0,null):"</mark>"===e?(a=!1,null):e?a?(0,t.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5 text-inherit",children:e},`mark-${r}`):(0,t.jsx)("span",{children:e},`text-${r}`):null))}):null]})]},s)})})]},e.id))]})}):null]})}var M=e.i(749410),P=e.i(524123),E=e.i(969039),_=e.i(235136);let L={home:!0,threads:!0,terminal:!0,objectives:!0,objectivesIsNew:!1,tracking:!0,teams:!0,folders:!0,scheduledTasks:!0,envVars:!0,notifications:!0};var O=e.i(481248),$=e.i(169433);let D="agx-theme";function R({children:e,params:c}){let{slug:d}=(0,r.use)(c),{isTouchLayout:u}=(0,h.useInputCapabilities)(),p=(0,a.useRouter)(),m=(0,a.usePathname)(),{projects:x,isLoading:f,createProject:v,updateProject:b,deleteProject:j,addAgent:y,removeAgent:k}=(0,P.useProjectsWithAgents)(),{threads:w,isLoading:N,isCreating:C,deletingThreadId:S,renamingThreadId:A,isRestoringActiveThread:T,createThread:R,renameThread:W,deleteThread:U}=(0,E.useThreadState)(),[H,F]=(0,r.useState)([]),[z,J]=(0,r.useState)(!1),[V,q]=(0,r.useState)(368),[B,K]=(0,r.useState)(()=>{let e=window.localStorage.getItem(D);return"dark"===e||"light"===e?e:document.documentElement.classList.contains("dark")?"dark":"light"});(0,r.useEffect)(()=>{J((0,O.loadWorkspaceSidebarVisible)()),q((0,$.loadWorkspaceWidth)()||368)},[]),(0,r.useEffect)(()=>{let e="dark"===B;document.documentElement.classList.toggle("dark",e),document.documentElement.style.colorScheme=B,window.localStorage.setItem(D,B)},[B]),(0,r.useEffect)(()=>{fetch("/api/participants").then(e=>e.json()).then(e=>F(Array.isArray(e)?e:[])).catch(()=>F([]))},[]);let Z=(0,r.useMemo)(()=>x.find(e=>e.slug===d)??null,[x,d]),G=(0,r.useMemo)(()=>{let e=m.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return e?.[1]?decodeURIComponent(e[1]):Z?.thread_ids[0]??null},[Z?.thread_ids,m]),Y=(0,r.useMemo)(()=>m.includes("/linear")?"linear":m.includes("/automations")?"automations":m.includes("/thread/")?"thread":m.includes("/objectives")?"objectives":m.includes("/teams")?"teams":m.includes("/folders")?"folders":m.includes("/env-vars")?"env-vars":m.includes("/notifications")?"notifications":m.includes("/terminal")?"terminal":"home",[m]),{show:X,trackerConnections:Q}=function(e){let{connections:t,loading:a}=(0,_.useTrackerConnections)(e?.id??null);return(0,r.useMemo)(()=>{let e=t.map(e=>({type:e.type,connected:e.connected,connectedAt:e.connectedAt}));return a?{stage:"stage1",loading:!0,show:{...L},trackerConnections:[]}:{stage:"stage4",loading:!1,show:{...L},trackerConnections:e}},[a,t])}(Z),ee=()=>{let e=!z;J(e),(0,O.persistWorkspaceSidebarVisible)(e)},et=(0,r.useCallback)(e=>{q(e),(0,$.persistWorkspaceWidth)(e)},[]);return f?(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):Z?(0,t.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,t.jsx)(M.WorkspaceSidebar,{threads:w,participants:H,activeThreadId:G,isLoading:N,isRestoringActiveThread:T,isCreating:C,deletingThreadId:S,renamingThreadId:A,onSelectThread:e=>p.push(`/projects/${d}/thread/${encodeURIComponent(e)}`),onCreateThread:R,onRenameThread:W,onDeleteThread:U,visible:z,onToggle:ee,width:V,onWidthChange:et,projects:x,onCreateProject:v,onUpdateProject:b,onDeleteProject:j,onAddAgentToProject:y,onRemoveAgentFromProject:k,activeProjectId:Z.id,activeProjectView:Y,stageShow:X,trackerConnections:Q,onUpdateParticipant:async e=>{let t=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error("Failed to update agent");let r=await t.json();F(e=>e.map(e=>e.id===r.id?r:e))},onSelectProject:e=>{let t=x.find(t=>t.id===e);t&&p.push(`/projects/${t.slug}`)}}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"desktop-titlebar flex items-center px-4 py-2 border-b border-[var(--app-shell-border)] bg-[var(--background)] shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0 flex-shrink-0",children:[!z&&(0,t.jsx)("button",{type:"button",onClick:ee,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(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,t.jsx)(n.PanelLeftOpen,{className:"h-4 w-4"})}),m!==`/projects/${d}`&&(0,t.jsx)("button",{type:"button",onClick:()=>p.back(),className:"p-1 -ml-1 rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors",children:(0,t.jsx)(s.ArrowLeft,{className:"w-4 h-4"})}),(0,t.jsx)("button",{type:"button",onClick:()=>p.push(`/projects/${d}`),className:`text-xs transition-colors ${"home"===Y?"text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:Z.name}),"home"!==Y&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"\\"}),(0,t.jsx)("button",{type:"button",onClick:()=>p.push(`/projects/${d}/${"thread"===Y?"":Y}`),className:"text-xs text-[var(--foreground)] hover:text-[var(--muted-foreground)] transition-colors",children:{objectives:"Objectives",teams:"Teams",folders:"Workspace Map","env-vars":"Environment Variables",notifications:"Notifications",linear:"Tasks",automations:"Scheduled Jobs",thread:"Chat",terminal:"Terminal"}[Y]??Y}),(0,t.jsx)("span",{id:"topbar-breadcrumb",className:"contents"})]})]}),(0,t.jsx)("div",{className:"flex-1 flex justify-center min-w-0 px-4",children:(0,t.jsx)(I,{projectId:Z.id})}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,t.jsx)(o.StatusIndicator,{}),(0,t.jsx)(g,{projectId:Z.id,participants:H}),(0,t.jsx)("button",{type:"button",onClick:()=>K(e=>"dark"===e?"light":"dark"),"aria-label":"dark"===B?"Switch to light theme":"Switch to dark theme",title:"dark"===B?"Switch to light theme":"Switch to dark theme",className:`inline-flex items-center justify-center rounded-lg text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] ${u?"h-9 w-9":"h-7 w-7"}`,children:"dark"===B?(0,t.jsx)(i.Sun,{className:u?"h-4 w-4":"h-3.5 w-3.5"}):(0,t.jsx)(l.Moon,{className:u?"h-4 w-4":"h-3.5 w-3.5"})})]})]}),e]})]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,t.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,t.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",d,"” does not exist or you do not have access to it."]}),(0,t.jsx)("button",{onClick:()=>p.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function W({children:e,params:a}){return(0,t.jsx)(r.Suspense,{fallback:(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,t.jsx)(R,{params:a,children:e})})}e.s(["default",()=>W],563975)}]);
@@ -0,0 +1,16 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,133232,e=>{"use strict";var t=e.i(762281),r=e.i(935851),n=e.i(208343),a=e.i(423709),s=e.i(498027),i=e.i(367859),l=e.i(906724);let o=(0,e.i(363732).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);function u({content:e,thoughts:r}){let s=(0,a.parseStreamSegments)(e);return(0,t.jsxs)("div",{className:"space-y-1",children:[r&&r.length>0&&r.map((e,r)=>(0,t.jsx)(c,{content:e},`thought-${r}`)),s.map((e,r)=>"text"===e.type?(0,t.jsx)("div",{className:"text-[15px] leading-relaxed",children:(0,t.jsx)(n.Markdown,{content:e.content,isUser:!1})},r):(0,t.jsx)(d,{name:e.name,input:e.input,pending:e.pending},r))]})}function c({content:e}){let[a,l]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"text-xs text-[var(--muted-foreground)]",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>l(!a),className:"flex items-center gap-1.5 hover:text-[var(--foreground)] transition-colors py-1 font-medium",children:[a?(0,t.jsx)(s.ChevronDown,{className:"w-3 h-3"}):(0,t.jsx)(i.ChevronRight,{className:"w-3 h-3"}),(0,t.jsx)(o,{className:"w-3 h-3"}),(0,t.jsx)("span",{children:"Thinking"})]}),a&&(0,t.jsx)("div",{className:"ml-4 pl-3 border-l border-[var(--app-shell-border)] py-1 text-[var(--muted-foreground)] text-[13px] leading-relaxed",children:(0,t.jsx)(n.Markdown,{content:e,isUser:!1})})]})}function d({name:e,input:n,pending:a}){let[o,u]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>u(!o),className:"flex items-center gap-1.5 hover:text-[var(--foreground)] transition-colors py-1",children:[a?(0,t.jsx)(l.Loader2,{className:"w-3 h-3 animate-spin"}):o?(0,t.jsx)(s.ChevronDown,{className:"w-3 h-3"}):(0,t.jsx)(i.ChevronRight,{className:"w-3 h-3"}),(0,t.jsx)("span",{children:e}),a&&(0,t.jsx)("span",{className:"opacity-60",children:"running..."})]}),o&&n&&(0,t.jsx)("div",{className:"ml-4 pl-3 border-l border-[var(--app-shell-border)] py-1 text-[var(--muted-foreground)] whitespace-pre-wrap break-all max-h-40 overflow-y-auto font-mono text-[11px]",children:n})]})}e.s(["StreamingSegments",()=>u],133232)},417442,e=>{"use strict";let t=(0,e.i(363732).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],417442)},437307,e=>{"use strict";let t=(0,e.i(363732).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],437307)},276013,e=>{"use strict";var t=e.i(762281),r=e.i(935851);function n({onResize:e,className:n,ariaLabel:a}){let s=(0,r.useRef)(0),i=(0,r.useRef)(e);i.current=e;let l=(0,r.useCallback)(e=>{e.preventDefault(),s.current=e.clientX,document.body.style.cursor="col-resize",document.body.style.userSelect="none";let t=e=>{let t=e.clientX-s.current;s.current=e.clientX,i.current(t)},r=()=>{document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",t),window.removeEventListener("mouseup",r)};window.addEventListener("mousemove",t),window.addEventListener("mouseup",r)},[]);return(0,t.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":a,className:`group relative z-10 w-0 shrink-0 cursor-col-resize ${n??""}`,onMouseDown:l,children:(0,t.jsx)("div",{className:"absolute inset-y-0 -left-1 w-2 transition-colors group-hover:bg-[var(--primary)]/40"})})}e.s(["ResizeHandle",()=>n])},982141,e=>{"use strict";let t="agx:lastRun",r="agx:lastSession";function n(){return void 0!==window.localStorage}function a(e){if(!n())return{};try{let t=window.localStorage.getItem(e);if(!t)return{};return JSON.parse(t)}catch{return{}}}function s(e,t){if(n())try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function i(e){return a(t)[e]??null}function l(e,r){let n=a(t);n[e]=r,s(t,n)}function o(e){return a(r)[e]??null}function u(e,t){let n=a(r);n[e]=t,s(r,n)}e.s(["loadLastRunForIssue",()=>i,"loadLastSessionForEntity",()=>o,"persistLastRunForIssue",()=>l,"persistLastSessionForEntity",()=>u])},638703,e=>{"use strict";var t=e.i(762281),r=e.i(498027);let n=(0,e.i(363732).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);function a({visible:e,onClick:a,direction:s="bottom",label:i,offsetClassName:l}){if(!e)return null;let o="top"===s?n:r.ChevronDown;return(0,t.jsx)("div",{className:`pointer-events-none absolute inset-x-0 ${l??("top"===s?"top-3":"bottom-3")} z-10 flex justify-center`,children:(0,t.jsxs)("button",{type:"button",onClick:a,className:`pointer-events-auto inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] text-[var(--foreground)] text-xs font-medium shadow-md hover:bg-[var(--app-shell-elevated)] transition-colors animate-in fade-in ${"top"===s?"slide-in-from-top-1":"slide-in-from-bottom-1"} duration-200`,children:[(0,t.jsx)(o,{className:"w-3.5 h-3.5"}),i??("top"===s?"Back to top":"Jump to latest")]})})}e.s(["JumpToLatestButton",()=>a],638703)},741746,e=>{"use strict";let t=(0,e.i(363732).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],741746)},889016,e=>{"use strict";let t=(0,e.i(363732).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);e.s(["Tag",()=>t],889016)},794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],794731)},66386,e=>{"use strict";var t=e.i(935851),r=e.i(506420);function n(e){return"string"!=typeof e?null:e.trim()||null}function a(e,t){return(e.get(t)?.trim()??"")||null}function s(){let e=(0,r.useRouter)(),s=(0,r.usePathname)(),i=(0,r.useSearchParams)(),l=(0,t.useCallback)(e=>a(i,e),[i]),o=(0,t.useCallback)((e,t)=>(function(e,t,r){let s=function(e,t){let r={...t},s=e=>Object.prototype.hasOwnProperty.call(t,e);if(s("issue")&&!s("run")){let s=a(e,"issue");n(t.issue)!==s&&(r.run=null)}if(s("job")&&!s("run")){let s=a(e,"job");n(t.job)!==s&&(r.run=null)}if(s("open")&&!s("message")){let s=a(e,"open");n(t.open)!==s&&(r.message=null)}if(s("group")&&!s("issue")){let s=a(e,"group");n(t.group)!==s&&(r.issue=null,r.run=null)}if(s("issue")&&!s("group")){let s=a(e,"issue");n(t.issue)!==s&&(r.group=null)}return r}(t,r),i=new URLSearchParams(t.toString());for(let[e,t]of Object.entries(s)){let r=n(t);r?i.set(e,r):i.delete(e)}let l=i.toString();return l?`${e}?${l}`:e})(t??s,i,e),[s,i]),u=(0,t.useCallback)((t,r)=>{e.push(o(t,r))},[o,e]),c=(0,t.useCallback)((t,r)=>{e.replace(o(t,r))},[o,e]);return{pathname:s,searchParams:i,getSelection:l,buildHref:o,pushSelection:u,replaceSelection:c}}e.s(["useUrlSelection",()=>s])},203096,e=>{"use strict";let t=(0,e.i(363732).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],203096)},580873,e=>{"use strict";let t=(0,e.i(363732).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],580873)},990933,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}function r(e,r){let n=new Set,a=new Set;!function e(t,r){if(t)for(let n of t)r(n),e(n.content,r)}(e.content,e=>{if("participantMention"!==e.type)return;let t=e.attrs??{},r="string"==typeof t.id?t.id.trim():"",s="string"==typeof t.kind?t.kind:"agent";r&&"agent"===s&&(n.add(r),"parallel"===t.mode&&a.add(r))});let s=t(r);return{...s?{pinnedParticipantId:s}:{},mentionedParticipantIds:Array.from(n),parallelParticipantIds:Array.from(a)}}function n(e,r){let n=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let n of e){if("string"!=typeof n)continue;let e=n.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(e),a=t(r);return a&&n.includes(a)?[a,...n.filter(e=>e!==a)]:n}e.s(["extractComposerRouting",()=>r,"orderParticipantIds",()=>n])},352687,e=>{"use strict";var t=e.i(762281),r=e.i(935851);function n({isOpen:e,title:n,message:a,preview:s,confirmLabel:i="Confirm",cancelLabel:l="Cancel",variant:o="default",onConfirm:u,onCancel:c}){let d=(0,r.useRef)(null),p=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e){let e=setTimeout(()=>d.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let f=(0,r.useCallback)(e=>{"Escape"===e.key&&c()},[c]);if(!e)return null;let m="danger"===o;return(0,t.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:e=>e.target===e.currentTarget&&c(),onKeyDown:f,children:[(0,t.jsxs)("div",{ref:p,className:"w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},children:[(0,t.jsx)("div",{className:"px-6 pt-6 pb-3",children:(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[m&&(0,t.jsx)("div",{className:"flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-5 h-5 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("h3",{className:"text-[15px] font-semibold text-[var(--foreground)]",children:n}),(0,t.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:a})]})]})}),s&&(0,t.jsx)("div",{className:"mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,t.jsxs)("p",{className:"text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",s,"”"]})}),(0,t.jsx)("div",{className:"mx-6 border-t border-[var(--card-border)]"}),(0,t.jsxs)("div",{className:"px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,t.jsx)("button",{onClick:c,className:"px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:l}),(0,t.jsx)("button",{ref:d,onClick:u,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${m?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:i})]})]}),(0,t.jsx)("style",{children:`
2
+ @keyframes confirm-overlay-in {
3
+ from { opacity: 0; }
4
+ to { opacity: 1; }
5
+ }
6
+ @keyframes confirm-dialog-in {
7
+ from {
8
+ opacity: 0;
9
+ transform: scale(0.9) translateY(10px);
10
+ }
11
+ to {
12
+ opacity: 1;
13
+ transform: scale(1) translateY(0);
14
+ }
15
+ }
16
+ `})]})}e.s(["default",()=>n])},945028,490011,e=>{"use strict";var t=e.i(935851);function r(e){return`threadId=${encodeURIComponent(e)}`}function n(e){return`workspaceId=${encodeURIComponent(e)}`}function a(e){let[a,s]=(0,t.useState)([]),[i,l]=(0,t.useState)([]),[o,u]=(0,t.useState)([]),c=(0,t.useRef)(e),d=(0,t.useRef)(e);c.current=e,d.current!==e&&(d.current=e,s([]),l([]),u([]));let p=(0,t.useCallback)(async e=>{let t=e?.trim()||c.current?.trim();if(!t){s([]),l([]);return}let a=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${a}`),fetch(`/api/logs?${n(t)}`)]);if(c.current!==t)return;e.ok&&s(await e.json()),r.ok&&l(await r.json())}catch{}},[]),f=(0,t.useCallback)(async e=>{let t=e?.trim()||c.current?.trim();if(!t){s([]),l([]);return}let a=r(t);await Promise.all([fetch(`/api/history?${a}`,{method:"DELETE"}),fetch(`/api/logs?${n(t)}`,{method:"DELETE"})]),c.current===t&&(s([]),l([]))},[]),m=(0,t.useCallback)(async(e,t=10,r,n,a,i,l,o,d,p)=>{let f=r?.trim()||c.current?.trim();if(!f)return;let m=Date.now(),h=crypto.randomUUID(),y={id:h,role:"user",participantId:null,content:e,timestamp:m,rootMessageId:n||null,parentMessageId:n||null,depth:+!!n,...i&&i.length>0?{attachments:i}:{}};s(e=>[...e,y]);try{let r=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:f,prompt:e,promptPrefix:d||void 0,maxRounds:t,userMessageId:h,rootMessageId:n||void 0,attachmentIds:a?.length?a:void 0,activeParticipantIds:Array.isArray(l)?l:void 0,projectSlug:o?.trim()||void 0,routing:p})}),i=await r.json().catch(e=>(console.warn("[useGroupChat] failed to parse run response:",e),null));r.ok&&i?.chatRunId?u(e=>[{chatRunId:i.chatRunId,threadId:f,rootMessageId:n||h,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==i.chatRunId)]):r.ok||(console.error(`[useGroupChat] POST /api/chat failed (${r.status}):`,i?.error||r.statusText),s(e=>e.map(e=>e.id===h?{...e,sendFailed:!0}:e)))}catch(e){console.error("[useGroupChat] network error sending message:",e),s(e=>e.map(e=>e.id===h?{...e,sendFailed:!0}:e))}return h},[]),h=(0,t.useCallback)(async()=>{let e=c.current?.trim();if(e)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]),y=(0,t.useCallback)(async e=>{let t=c.current?.trim();if(t)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(t)}&threadId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]);return{messages:a,setMessages:s,logs:i,sendMessage:m,loadHistory:p,clearHistory:f,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||c.current?.trim();t?(await fetch(`/api/logs?${n(t)}`,{method:"DELETE"}).catch(e=>console.warn("[useGroupChat] delete logs failed:",e)),c.current===t&&l([])):l([])},[]),chatRuns:o,setChatRuns:u,stop:h,stopThread:y}}e.s(["useGroupChat",()=>a],945028);let s=new Set(["spawning","running"]);function i(e,r){let n=r?.intervalMs??1500,a=r?.idleIntervalMs??1e4,[i,l]=(0,t.useState)(new Set),[o,u]=(0,t.useState)([]),[c,d]=(0,t.useState)({}),[p,f]=(0,t.useState)([]),m=(0,t.useRef)(e);m.current=e,(0,t.useRef)(r?.messages??[]).current=r?.messages??[];let h=(0,t.useRef)(r?.setMessages);h.current=r?.setMessages;let y=(0,t.useRef)(0),g=(0,t.useRef)(new Map),x=(0,t.useRef)(new Map);(0,t.useEffect)(()=>{let e=r?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>y.current&&(y.current=t)}},[r?.messages]),(0,t.useEffect)(()=>()=>{for(let e of g.current.values())e.close();g.current.clear()},[]);let v=(0,t.useCallback)(async()=>{let e=m.current;if(!e){l(new Set),u([]),d({}),f([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){l(new Set),u([]),d({}),f([]);return}try{let n=e.workspaceId||e.threadId,a=n?`/api/history?threadId=${encodeURIComponent(n)}&since=${y.current}`:null,i=n?`/api/chat-runs?threadId=${encodeURIComponent(n)}&limit=20`:null,o=[fetch(t)];a&&o.push(fetch(a)),i&&o.push(fetch(i));let[c,d,p]=await Promise.all(o),g=m.current;if(g?.threadId!==e.threadId||g?.workspaceId!==e.workspaceId)return;if(c.ok){let e=await c.json();u(e);let t=new Set(e.filter(e=>s.has(e.state)).map(e=>e.agentId));l(t)}if(p?.ok){var r;let e=(r=await p.json(),Array.isArray(r)?r.map(e=>{if(!e||"object"!=typeof e)return null;let t="string"==typeof e.chatRunId?e.chatRunId:"string"==typeof e.id?e.id:null,r="string"==typeof e.threadId?e.threadId:null,n="string"==typeof e.status?e.status:null,a="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&r&&n&&("queued"===n||"running"===n||"awaiting_user"===n||"blocked"===n||"completed"===n||"failed"===n||"cancelled"===n)?{chatRunId:t,threadId:r,rootMessageId:a,status:n,optimistic:!1}:null}).filter(e=>!!e):[]);f(e)}if(d?.ok&&h.current){let e=await d.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>y.current&&(y.current=t),h.current(t=>{let r=new Set(t.map(e=>e.id)),n=e.filter(e=>!r.has(e.id)),a=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===n.length?a:[...a,...n].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]);(0,t.useEffect)(()=>{let e=p.filter(e=>"queued"===e.status||"running"===e.status),t=new Set(e.map(e=>e.chatRunId));for(let[e,r]of g.current.entries())t.has(e)||(r.close(),g.current.delete(e),x.current.delete(e));for(let t of e){if(g.current.has(t.chatRunId))continue;let e=new EventSource(`/api/chat-runs/${encodeURIComponent(t.chatRunId)}/events`);g.current.set(t.chatRunId,e);let r=new Map;x.current.set(t.chatRunId,r);let n=new Set;e.addEventListener("chat",a=>{let s;try{s=JSON.parse(a.data)}catch{return}switch(s.type){case"participant-start":case"participant-thinking":n.add(s.participantId),r.has(s.participantId)||r.set(s.participantId,{text:"",thoughts:[]}),d(e=>e[s.participantId]?e:{...e,[s.participantId]:{content:"",rootMessageId:t.rootMessageId??null}});break;case"text-delta":{r.has(s.participantId)||r.set(s.participantId,{text:"",thoughts:[]});let e=r.get(s.participantId);e&&(e.text+=s.delta,d(r=>{let n={...r},a=t.rootMessageId??null;return n[s.participantId]={content:e.text,rootMessageId:a},n}));break}case"participant-thought":{let e=r.get(s.participantId);e&&(e.thoughts.push(s.content),d(t=>{let r=t[s.participantId];return r?{...t,[s.participantId]:{...r,thoughts:[...e.thoughts]}}:t}));break}case"participant-end":n.delete(s.participantId),v().then(()=>{d(e=>{let t={...e};return delete t[s.participantId],t})});break;case"participant-error":n.delete(s.participantId),v().then(()=>{d(e=>{let t={...e};return delete t[s.participantId],t})});break;case"done":e.close(),g.current.delete(t.chatRunId),x.current.delete(t.chatRunId)}}),e.onerror=()=>{e.close(),g.current.delete(t.chatRunId),x.current.delete(t.chatRunId)}}},[p]);let b=e?.threadId||e?.workspaceId||null,k=p.some(e=>"queued"===e.status||"running"===e.status),w=o.some(e=>s.has(e.state)),I=k||w?n:a;return(0,t.useEffect)(()=>{if(!b){l(new Set),u([]),d({}),f([]);return}v();let e=setInterval(v,I);return()=>clearInterval(e)},[b,I,v]),{activeAgents:i,processes:o,streaming:c,chatRuns:p,poll:v}}e.s(["useProcessPolling",()=>i],490011)},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)},558201,e=>{"use strict";let t=(0,e.i(363732).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],558201)},781873,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=e.r(804984);function a({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},373512,(e,t,r)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},974052,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return o}});let n=e.r(762281),a=e.r(866389),s=e.r(721014),i=e.r(373512),l=e.r(162998);function o({moduleIds:e}){if("u">typeof window)return null;let t=s.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let o=(0,l.getDeploymentIdQueryOrEmptyString)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,i.encodeURIPath)(e)}${o}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,a.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},184790,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let n=e.r(762281),a=e.r(935851),s=e.r(781873),i=e.r(974052);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},u=function(e){let t={...o,...e},r=(0,a.lazy)(()=>t.loader().then(l)),u=t.loading;function c(e){let l=u?(0,n.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,c=o?a.Suspense:a.Fragment,d=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(c,{...o?{fallback:l}:{},children:d})}return c.displayName="LoadableComponent",c}},353899,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(555682)._(e.r(184790));function a(e,t){let r={};"function"==typeof e&&(r.loader=e);let a={...r,...t};return(0,n.default)({...a,modules:a.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},74636,e=>{"use strict";var t=e.i(762281),r=e.i(935851),n=e.i(568656);function a({params:e}){let{slug:a}=(0,r.use)(e);return(0,t.jsx)(n.ProjectObjectivesOverview,{projectSlug:a})}e.s(["default",()=>a])},501223,e=>{e.v(t=>Promise.all(["static/chunks/5591af73db0a3aee.js"].map(t=>e.l(t))).then(()=>t(844118)))},469612,e=>{e.v(t=>Promise.all(["static/chunks/256961ed1522219b.js"].map(t=>e.l(t))).then(()=>t(668610)))}]);