@mndrk/agx 2.4.9 → 2.4.11

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 (547) 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 +7 -0
  3. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +5 -5
  4. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +47 -0
  6. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page/build-manifest.json +3 -3
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page/build-manifest.json +3 -3
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page/next-font-manifest.json +3 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js +1 -1
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +3 -3
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page/build-manifest.json +3 -3
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page/next-font-manifest.json +3 -1
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page/build-manifest.json +3 -3
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page/next-font-manifest.json +3 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +5 -3
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +5 -3
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +3 -3
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +5 -3
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/active-agents/route.js +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/active-agents/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/route.js +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/diff/route/app-paths-manifest.json +3 -0
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/diff/route/build-manifest.json +11 -0
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/diff/route/server-reference-manifest.json +4 -0
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/diff/route.js +7 -0
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/diff/route.js.map +5 -0
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/diff/route.js.nft.json +1 -0
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/diff/route_client-reference-manifest.js +2 -0
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/repos/route/app-paths-manifest.json +3 -0
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/repos/route/build-manifest.json +11 -0
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/repos/route/server-reference-manifest.json +4 -0
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/repos/route.js +7 -0
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/repos/route.js.map +5 -0
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/repos/route.js.nft.json +1 -0
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/repos/route_client-reference-manifest.js +2 -0
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/refresh/route/app-paths-manifest.json +3 -0
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/refresh/route/build-manifest.json +11 -0
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/refresh/route/server-reference-manifest.json +4 -0
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/refresh/route.js +7 -0
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/refresh/route.js.map +5 -0
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/refresh/route.js.nft.json +1 -0
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/refresh/route_client-reference-manifest.js +2 -0
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/rescan/route/app-paths-manifest.json +3 -0
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/rescan/route/build-manifest.json +11 -0
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/rescan/route/server-reference-manifest.json +4 -0
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/rescan/route.js +7 -0
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/rescan/route.js.map +5 -0
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/rescan/route.js.nft.json +1 -0
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/rescan/route_client-reference-manifest.js +2 -0
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/route/app-paths-manifest.json +3 -0
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/route/build-manifest.json +11 -0
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/route/server-reference-manifest.json +4 -0
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/route.js +7 -0
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/route.js.map +5 -0
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/route.js.nft.json +1 -0
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/git/workspaces/route_client-reference-manifest.js +2 -0
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/[id]/route/app-paths-manifest.json +3 -0
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/[id]/route/build-manifest.json +11 -0
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/[id]/route/server-reference-manifest.json +4 -0
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/[id]/route.js +7 -0
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/[id]/route.js.map +5 -0
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/[id]/route.js.nft.json +1 -0
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/[id]/route_client-reference-manifest.js +2 -0
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/api/messages/[id]/route.js +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/api/processes/route.js +1 -1
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/api/processes/route.js.nft.json +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/api/system/db-status/route.js +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route.js +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +6 -4
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +6 -4
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +3 -3
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +5 -3
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page/build-manifest.json +3 -3
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page/next-font-manifest.json +3 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page.js +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page_client-reference-manifest.js +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.html +2 -2
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.rsc +5 -3
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_full.segment.rsc +5 -3
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_head.segment.rsc +1 -1
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_index.segment.rsc +3 -3
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_tree.segment.rsc +5 -3
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos/__PAGE__.segment.rsc +1 -1
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos.segment.rsc +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/page/build-manifest.json +3 -3
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/page/next-font-manifest.json +3 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/build-manifest.json +3 -3
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/next-font-manifest.json +3 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page/build-manifest.json +3 -3
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page/next-font-manifest.json +3 -1
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +3 -3
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +3 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +3 -3
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page/next-font-manifest.json +3 -1
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page/build-manifest.json +3 -3
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page/next-font-manifest.json +3 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js +1 -1
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page_client-reference-manifest.js +1 -1
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page/build-manifest.json +3 -3
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page/next-font-manifest.json +3 -1
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page/build-manifest.json +3 -3
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page/next-font-manifest.json +3 -1
  234. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
  235. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  236. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  237. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page/build-manifest.json +3 -3
  238. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page/next-font-manifest.json +3 -1
  239. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
  240. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  241. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  242. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page/app-paths-manifest.json +3 -0
  243. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page/build-manifest.json +18 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page/next-font-manifest.json +13 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page/react-loadable-manifest.json +1 -0
  246. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page/server-reference-manifest.json +4 -0
  247. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page.js +16 -0
  248. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page.js.map +5 -0
  249. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page.js.nft.json +1 -0
  250. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/[prId]/page_client-reference-manifest.js +2 -0
  251. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page/build-manifest.json +3 -3
  252. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page/next-font-manifest.json +3 -1
  253. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js +1 -1
  254. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js.nft.json +1 -1
  255. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page_client-reference-manifest.js +1 -1
  256. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page/build-manifest.json +3 -3
  257. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page/next-font-manifest.json +3 -1
  258. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  260. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page/build-manifest.json +3 -3
  262. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page/next-font-manifest.json +3 -1
  263. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
  264. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  265. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page/build-manifest.json +3 -3
  267. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page/next-font-manifest.json +3 -1
  268. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
  269. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  271. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page/build-manifest.json +3 -3
  272. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page/next-font-manifest.json +3 -1
  273. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
  274. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  275. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  276. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page/build-manifest.json +3 -3
  277. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page/next-font-manifest.json +3 -1
  278. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
  279. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  280. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  281. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page/build-manifest.json +3 -3
  282. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page/next-font-manifest.json +3 -1
  283. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  286. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page/build-manifest.json +3 -3
  287. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page/next-font-manifest.json +3 -1
  288. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
  289. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  290. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  291. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +3 -3
  292. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +3 -1
  293. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  295. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  296. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/build-manifest.json +3 -3
  297. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/next-font-manifest.json +3 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js +1 -1
  299. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js.nft.json +1 -1
  300. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page_client-reference-manifest.js +1 -1
  301. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/build-manifest.json +3 -3
  302. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/next-font-manifest.json +3 -1
  303. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js +1 -1
  304. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -1
  305. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/build-manifest.json +3 -3
  307. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/next-font-manifest.json +3 -1
  308. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js +1 -1
  309. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -1
  310. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +1 -1
  311. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/build-manifest.json +3 -3
  312. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/next-font-manifest.json +3 -1
  313. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js +1 -1
  314. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.nft.json +1 -1
  315. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +1 -1
  316. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page/build-manifest.json +3 -3
  317. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page/next-font-manifest.json +3 -1
  318. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
  319. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  321. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  322. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +6 -4
  323. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +6 -4
  324. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  325. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +3 -3
  326. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +5 -3
  327. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  328. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  329. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page/build-manifest.json +3 -3
  330. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page/next-font-manifest.json +3 -1
  331. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
  332. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  333. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  334. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  335. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +6 -4
  336. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +6 -4
  337. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +3 -3
  339. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +5 -3
  340. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  341. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  342. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page/build-manifest.json +3 -3
  343. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page/next-font-manifest.json +3 -1
  344. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
  345. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  346. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  347. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  348. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +6 -4
  349. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +6 -4
  350. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  351. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +3 -3
  352. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +5 -3
  353. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  354. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  355. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +7 -0
  356. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__037eb67e._.js +3 -0
  357. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__97e7a600._.js → [root-of-the-server]__0ce28b4a._.js} +2 -2
  358. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2564bd1e._.js +3 -0
  359. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__26904897._.js +3 -0
  360. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__f48224f7._.js → [root-of-the-server]__273384ad._.js} +2 -2
  361. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__bdc396a9._.js → [root-of-the-server]__2d6f22a3._.js} +2 -2
  362. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__af70f062._.js → [root-of-the-server]__3a038592._.js} +2 -2
  363. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9cb1dc55._.js → [root-of-the-server]__3b27260f._.js} +2 -2
  364. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__1321970e._.js → [root-of-the-server]__5da8d281._.js} +2 -2
  365. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__92d34a52._.js → [root-of-the-server]__69a60d71._.js} +2 -2
  366. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__66437bd3._.js → [root-of-the-server]__6edb829d._.js} +2 -2
  367. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8917bc4c._.js +1 -1
  368. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__870fac73._.js → [root-of-the-server]__8cb4fb94._.js} +2 -2
  369. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__95298612._.js +3 -0
  370. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__aa1b171a._.js +3 -0
  371. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b719a2ed._.js +3 -0
  372. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__94f42197._.js → [root-of-the-server]__be9b56bb._.js} +2 -2
  373. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c57c0958._.js +3 -0
  374. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__cce177d8._.js +3 -0
  375. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e33b34ce._.js +3 -0
  376. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__61c40dc9._.js → [root-of-the-server]__ee43b5b0._.js} +2 -2
  377. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1d99e7a5._.js +1 -1
  378. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_22ab9b7c._.js +1 -1
  379. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_56a2544c._.js +2 -2
  380. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5843a1a1._.js +2 -2
  381. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_git_diff_route_actions_5ed8f528.js +3 -0
  382. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_git_repos_route_actions_24bb70fb.js +3 -0
  383. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_git_workspaces_route_actions_2ffcb8e1.js +3 -0
  384. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_github_prs_[id]_route_actions_97f96f83.js +3 -0
  385. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_bd72806a._.js +2 -2
  386. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_6bd3d8a2._.js +12 -12
  387. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_cli-runner_ts_ead5489c._.js +12 -12
  388. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_d268503a._.js +12 -12
  389. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_46384f36._.js +1 -1
  390. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_git_workspaces_refresh_route_actions_6586e386.js +3 -0
  391. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_git_workspaces_rescan_route_actions_2566b872.js +3 -0
  392. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__14448535._.js +3 -0
  393. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__17c701d2._.js +3 -0
  394. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__ce586680._.js → [root-of-the-server]__24007358._.js} +2 -2
  395. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__263b7091._.js +2 -2
  396. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__2c4531d0._.js → [root-of-the-server]__6e4038bb._.js} +2 -2
  397. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7a31a76d._.js +3 -0
  398. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__9193284e._.js +1 -1
  399. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__5f31e40b._.js → [root-of-the-server]__af9b12ac._.js} +2 -2
  400. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__c027b3e3._.js +15 -0
  401. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__c0bc6058._.js +7 -0
  402. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__9434d6d7._.js → [root-of-the-server]__c2331483._.js} +2 -2
  403. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__d8f968ee._.js +3 -0
  404. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_a0f42923._.js → _f2cf58ea._.js} +2 -2
  405. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_4d3f9c1e._.js +3 -0
  406. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_6d8c811a._.js +3 -0
  407. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js +1 -1
  408. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_72fb68e5._.js +1 -1
  409. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_76330306._.js +1 -1
  410. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_page_tsx_b5cec607._.js +5 -5
  411. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_9a67cfaf._.js +1 -1
  412. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_b87f08ce._.js +4 -0
  413. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_c012eb07._.js +3 -0
  414. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_ProjectModal_tsx_c447494c._.js +3 -0
  415. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +3 -3
  416. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_prs_review_6ac47c7c._.js +3 -0
  417. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_eec36ab6._.js +1 -1
  418. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_fed01721._.js +1 -1
  419. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/ebff2__next-internal_server_app_projects_[slug]_prs_[prId]_page_actions_37d43e50.js +3 -0
  420. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +6 -0
  421. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  422. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  423. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  424. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +93 -29
  425. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  426. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
  427. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  428. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  429. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16786eff1b844fce.css +1 -0
  430. package/cloud-runtime/standalone/apps/local/.next/static/chunks/23b7c6b08d8bf807.js +1 -0
  431. package/cloud-runtime/standalone/apps/local/.next/static/chunks/38a2210cf8c5fa16.js +1 -0
  432. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{d6a9cc66254693b8.js → 46add4300ec4ed84.js} +1 -1
  433. package/cloud-runtime/standalone/apps/local/.next/static/chunks/4f3bd9585037d960.js +16 -0
  434. package/cloud-runtime/standalone/apps/local/.next/static/chunks/60239e52ecfd3f7e.js +1 -0
  435. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{8b87c2521c519a1f.js → 6135e7752be76b7e.js} +11 -11
  436. package/cloud-runtime/standalone/apps/local/.next/static/chunks/731deba285de6535.js +16 -0
  437. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7ca9570f1f269043.js +1 -0
  438. package/cloud-runtime/standalone/apps/local/.next/static/chunks/86c552479b09e1f3.js +1 -0
  439. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8f6587b3b3255b54.js +16 -0
  440. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9ac96f1f33a266f9.js +1 -0
  441. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a2eeffc281bd68bc.js +1 -0
  442. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a68ffbf383609000.js +1 -0
  443. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{c9a2c4b55bb76f4f.js → b27f760849f14f13.js} +5 -5
  444. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b2c704fe1711d660.js +16 -0
  445. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b53629835d2a70f0.js +16 -0
  446. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b59bb2518194866e.css +1 -0
  447. package/cloud-runtime/standalone/apps/local/.next/static/chunks/bb99cb03648e6fae.js +1 -0
  448. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{72b4109642bf21f4.js → cb34ff86458b2477.js} +2 -2
  449. package/cloud-runtime/standalone/apps/local/.next/static/chunks/dc12676eea40fd39.css +4 -0
  450. package/cloud-runtime/standalone/apps/local/.next/static/chunks/de6617e175bb536b.js +1 -0
  451. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{turbopack-87f23485587f08c3.js → turbopack-90109c6adbc88193.js} +2 -2
  452. package/cloud-runtime/standalone/apps/local/.next/static/media/04c5164763c40239-s.690580e8.woff2 +0 -0
  453. package/cloud-runtime/standalone/apps/local/.next/static/media/051742360c26797e-s.p.102b7f24.woff2 +0 -0
  454. package/cloud-runtime/standalone/apps/local/.next/static/media/0ee4b8f05dcd9fee-s.45e2741a.woff2 +0 -0
  455. package/cloud-runtime/standalone/apps/local/.next/static/media/13ae3e01af63c0ce-s.3ec27879.woff2 +0 -0
  456. package/cloud-runtime/standalone/apps/local/.next/static/media/26f284dcc38c84c0-s.303a03d6.woff2 +0 -0
  457. package/cloud-runtime/standalone/apps/local/.next/static/media/6a5386fd6038edbe-s.719084df.woff2 +0 -0
  458. package/cloud-runtime/standalone/apps/local/.next/static/media/7e7f32a39836f228-s.0b4edfe7.woff2 +0 -0
  459. package/cloud-runtime/standalone/apps/local/.next/static/media/9eba4caf7edd2921-s.57f6a4a3.woff2 +0 -0
  460. package/cloud-runtime/standalone/apps/local/.next/static/media/ab57efd000576a30-s.p.37015d44.woff2 +0 -0
  461. package/cloud-runtime/standalone/apps/local/.next/static/media/b8d1f0a88dfecec3-s.cf53ec14.woff2 +0 -0
  462. package/cloud-runtime/standalone/apps/local/.next/static/media/f285987c35230861-s.b3721d2b.woff2 +0 -0
  463. package/cloud-runtime/standalone/apps/local/.next/static/media/f6752bd2263820da-s.95b8f539.woff2 +0 -0
  464. package/cloud-runtime/standalone/apps/local/.next/static/media/fa39153a3fc630ba-s.bff0868b.woff2 +0 -0
  465. package/cloud-runtime/standalone/apps/local/app/api/git/diff/route.ts +54 -0
  466. package/cloud-runtime/standalone/apps/local/app/api/git/repos/route.ts +47 -0
  467. package/cloud-runtime/standalone/apps/local/app/api/git/workspaces/refresh/route.ts +52 -0
  468. package/cloud-runtime/standalone/apps/local/app/api/git/workspaces/rescan/route.ts +23 -0
  469. package/cloud-runtime/standalone/apps/local/app/api/git/workspaces/route.ts +46 -0
  470. package/cloud-runtime/standalone/apps/local/app/api/github/prs/[id]/route.ts +28 -0
  471. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +4 -1
  472. package/cloud-runtime/standalone/apps/local/app/api/projects/payload.ts +23 -9
  473. package/cloud-runtime/standalone/apps/local/app/api/projects/route.ts +4 -1
  474. package/cloud-runtime/standalone/apps/local/app/layout.tsx +14 -2
  475. package/cloud-runtime/standalone/apps/local/app/page.tsx +2 -2
  476. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/page.tsx +1 -1
  477. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/prs/[prId]/page.tsx +13 -0
  478. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/prs/page.tsx +5 -4
  479. package/cloud-runtime/standalone/apps/local/app/projects/page.tsx +7 -3
  480. package/cloud-runtime/standalone/apps/local/components/ProjectModal.tsx +111 -91
  481. package/cloud-runtime/standalone/apps/local/components/TrackerBoard.tsx +2 -2
  482. package/cloud-runtime/standalone/apps/local/components/project-repo-validation.ts +65 -0
  483. package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +27 -9
  484. package/cloud-runtime/standalone/apps/local/components/projects/RepoPathCombobox.tsx +301 -0
  485. package/cloud-runtime/standalone/apps/local/components/prs/review/AgentChip.tsx +61 -0
  486. package/cloud-runtime/standalone/apps/local/components/prs/review/CommitRail.tsx +149 -0
  487. package/cloud-runtime/standalone/apps/local/components/prs/review/DiffPane.tsx +294 -0
  488. package/cloud-runtime/standalone/apps/local/components/prs/review/FilesPane.tsx +216 -0
  489. package/cloud-runtime/standalone/apps/local/components/prs/review/PrReviewView.tsx +68 -0
  490. package/cloud-runtime/standalone/apps/local/components/prs/review/ReviewLayout.tsx +148 -0
  491. package/cloud-runtime/standalone/apps/local/components/prs/review/StatusBar.tsx +53 -0
  492. package/cloud-runtime/standalone/apps/local/components/prs/review/TopBar.tsx +137 -0
  493. package/cloud-runtime/standalone/apps/local/components/prs/review/review.module.css +112 -0
  494. package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +1 -1
  495. package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +2 -2
  496. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +6 -2
  497. package/cloud-runtime/standalone/apps/local/components/tracker/LinkedPrsSection.tsx +4 -3
  498. package/cloud-runtime/standalone/apps/local/components/tracker/TicketPanel.tsx +111 -25
  499. package/cloud-runtime/standalone/apps/local/components/tracker/TicketWorkspaceView.tsx +472 -0
  500. package/cloud-runtime/standalone/apps/local/components/tracker/WorkspacePicker.tsx +338 -0
  501. package/cloud-runtime/standalone/apps/local/components/tracking/TrackerSetup.tsx +2 -2
  502. package/cloud-runtime/standalone/apps/local/hooks/useProviders.ts +1 -0
  503. package/cloud-runtime/standalone/apps/local/lib/cli-runner.ts +20 -0
  504. package/cloud-runtime/standalone/apps/local/lib/diff-parser.ts +56 -0
  505. package/cloud-runtime/standalone/apps/local/lib/gh-pr-cli.ts +198 -0
  506. package/cloud-runtime/standalone/apps/local/lib/git-diff-cli.ts +232 -0
  507. package/cloud-runtime/standalone/apps/local/lib/git-repo-index.ts +144 -0
  508. package/cloud-runtime/standalone/apps/local/lib/git-workspaces.ts +187 -0
  509. package/cloud-runtime/standalone/apps/local/lib/provider-clis.ts +12 -1
  510. package/cloud-runtime/standalone/apps/local/lib/repo-suggestions.ts +104 -0
  511. package/cloud-runtime/standalone/apps/local/lib/stream-multiplexer.ts +1 -0
  512. package/cloud-runtime/standalone/apps/local/lib/types.ts +1 -1
  513. package/cloud-runtime/standalone/apps/local/server.ts +14 -0
  514. package/cloud-runtime/standalone/apps/local/src/graph/work-dispatcher.ts +1 -0
  515. package/cloud-runtime/standalone/apps/local/state/windowState.ts +20 -0
  516. package/cloud-runtime/standalone/apps/local/worker/index.js +23 -2
  517. package/lib/cli/runCli.js +20 -4
  518. package/package.json +1 -1
  519. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4ea9a658._.js +0 -3
  520. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6465e9c6._.js +0 -3
  521. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8ddbf4ca._.js +0 -3
  522. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5187dece._.js +0 -15
  523. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__636799fb._.js +0 -3
  524. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__d08d7899._.js +0 -3
  525. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e02a457c._.js +0 -3
  526. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e3a1fef0._.js +0 -3
  527. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_16eaf7ae._.js +0 -3
  528. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_620cb123._.js +0 -3
  529. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_ae1a134f._.js +0 -7
  530. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0d22a723b9b96e65.js +0 -1
  531. package/cloud-runtime/standalone/apps/local/.next/static/chunks/114ea1bfd6907330.js +0 -1
  532. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1585dd5f9ec4866a.js +0 -1
  533. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1bc8cc9cbb99c1ed.js +0 -1
  534. package/cloud-runtime/standalone/apps/local/.next/static/chunks/2473c16c0c2f6b5f.css +0 -2
  535. package/cloud-runtime/standalone/apps/local/.next/static/chunks/2586c0baa16e9a0d.js +0 -16
  536. package/cloud-runtime/standalone/apps/local/.next/static/chunks/3fce625820bc2bd4.js +0 -16
  537. package/cloud-runtime/standalone/apps/local/.next/static/chunks/67b36c70b72e0e10.js +0 -1
  538. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6d8a7494a0cea7a0.css +0 -1
  539. package/cloud-runtime/standalone/apps/local/.next/static/chunks/90dd4ab03ab145d1.js +0 -16
  540. package/cloud-runtime/standalone/apps/local/.next/static/chunks/aa3029ae0b62f930.js +0 -1
  541. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c352706a0ad7e35d.js +0 -1
  542. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c5436b2b7e8f0ca9.js +0 -16
  543. package/cloud-runtime/standalone/apps/local/.next/static/chunks/cf33cb29946990e3.js +0 -16
  544. package/cloud-runtime/standalone/apps/local/.next/static/chunks/e3bdd1e0f385114e.js +0 -1
  545. /package/cloud-runtime/standalone/apps/local/.next/static/{EGpM0P8xAEWKkoW-3Ib69 → 5TAcMQcrkt4mBnsqrfw6B}/_buildManifest.js +0 -0
  546. /package/cloud-runtime/standalone/apps/local/.next/static/{EGpM0P8xAEWKkoW-3Ib69 → 5TAcMQcrkt4mBnsqrfw6B}/_clientMiddlewareManifest.json +0 -0
  547. /package/cloud-runtime/standalone/apps/local/.next/static/{EGpM0P8xAEWKkoW-3Ib69 → 5TAcMQcrkt4mBnsqrfw6B}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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 i({trackerType:e,className:r}){let i=a[e];return i?(0,t.jsx)(i,{className:r}):(0,t.jsx)(s,{className:r})}function s({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",()=>i],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)},169433,e=>{"use strict";let t="agx:windowState",r={workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,objectiveChatPanelWidth:440,objectiveListPanelWidth:320,prReviewFilesPaneWidth:300,prReviewRightPaneWidth:380},a={lastThreadId:null,lastWorkspaceId:null},i={bounds:null,sidebar:r,scroll:a};function s(){return void 0!==window.localStorage}function n(){if(!s())return{...i};let e=window.localStorage.getItem(t);if(!e)return{...i};try{let t=JSON.parse(e);return{bounds:t.bounds||null,sidebar:{...r,...t.sidebar||{}},scroll:{...a,...t.scroll||{}}}}catch{return{...i}}}function l(){return n().sidebar}function o(e){let r=n();r.sidebar={...r.sidebar,...e};if(s())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 v(){return l().prReviewFilesPaneWidth}function f(e){o({prReviewFilesPaneWidth:e})}function x(){return l().prReviewRightPaneWidth}function b(e){o({prReviewRightPaneWidth:e})}function j(){return l().objectiveListPanelWidth}function g(e){o({objectiveListPanelWidth:e})}e.s(["loadLinearTicketPanelWidth",()=>u,"loadObjectiveChatPanelWidth",()=>h,"loadObjectiveListPanelWidth",()=>j,"loadPrReviewFilesPaneWidth",()=>v,"loadPrReviewRightPaneWidth",()=>x,"loadWorkspaceWidth",()=>c,"persistLinearTicketPanelWidth",()=>p,"persistObjectiveChatPanelWidth",()=>m,"persistObjectiveListPanelWidth",()=>g,"persistPrReviewFilesPaneWidth",()=>f,"persistPrReviewRightPaneWidth",()=>b,"persistWorkspaceWidth",()=>d])},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 i(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function s(e){return`${e}_${Math.random().toString(36).slice(2,10)}`}function n(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 v(e,t,r="objective"){let a=m(r),i=m(e,a),s=i,n=2;for(;t.has(s);){let e=`-${n}`,t=Math.max(1,32-e.length);s=`${i.slice(0,t)}${e}`,n+=1}return t.add(s),s}function f(e,t,r){return v(e,new Set(t.filter(e=>e.id!==r).map(e=>m(e.key||e.title||e.id))),r??e)}function x(e){var t;if(!i(e))return null;let r=u(e.updatedAt??e.createdAt),n=u(e.createdAt,r);return{id:c(e.id,s("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:n,updatedAt:r}}function b(e){if(!i(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,s("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 j(e){if(!i(e))return null;let t=c(e.activityId);return t?{id:c(e.id,s("objective_thread_message")),activityId:t,author:c(e.author,"You"),body:c(e.body),createdAt:u(e.createdAt)}:null}function g(){return{objectives:[],activities:[],activityThreads:{}}}function y(e){let t;if(!i(e))return g();let r=Array.isArray(e.objectives)?e.objectives.map(e=>x(e)).filter(e=>null!==e):[],a=Array.isArray(e.activities)?e.activities.map(e=>b(e)).filter(e=>null!==e):[],s=i(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(e=>j(e)).filter(e=>null!==e):[])])):{};return{objectives:n((t=new Set,r.map(e=>{let r=v(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===r?e:{...e,key:r}}))),activities:o(a),activityThreads:s}}function k(e){if(!i(e))return g();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 s=e[r];if(void 0!==s){if(!i(s))return g();let e=Array.isArray(s.goals)?s.goals.map(e=>(function(e){if(!i(e))return null;let t=c(e.target),r=[c(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return x({...e,summary:r})})(e)).filter(e=>null!==e):[],t=Array.isArray(s.manualActivities)?s.manualActivities.map(e=>b({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=i(s.activityThreads)?Object.fromEntries(Object.entries(s.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(t=>j({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:n(e),activities:o(t),activityThreads:r}}return g()}function w(e,a){let i={...e};return delete i[r],i[t]=y(a),i}function N(e){return{id:e.id??s("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 A(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:n(r)}}function C(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 T({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",()=>T,"createProjectObjective",()=>N,"generateProjectObjectiveKey",()=>f,"readProjectObjectivesWorkspace",()=>k,"removeProjectObjective",()=>C,"upsertProjectObjective",()=>A,"writeProjectObjectivesWorkspace",()=>w])},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)},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)},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,275850,e=>{"use strict";var t=e.i(762281),r=e.i(935851);function a({initialPath:e,onSelect:a,onCancel:i}){let[s,n]=(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),n(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:s,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"===e.key&&m(s)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>m(s),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||s}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:i,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||s),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}function i(e){return{name:e.name.trim(),path:e.path.trim()}}function s(e){let{name:t,path:r}=i(e);return t||r?t?r?null:"missing_path":"missing_name":null}function n(e){for(let[t,r]of e.entries()){let e=s(r);if(e)return{index:t,issue:e,repo:r}}return null}function l(e){let{name:t,path:r}=i(e);return!!(t&&r)}function o(e){let{issue:t,repo:r}=e;return"missing_name"===t?`Folder name is required for local path "${r.path.trim()}"`:`Local path is required for folder "${r.name.trim()}"`}e.s(["findInvalidProjectRepoDraft",()=>n,"formatInvalidProjectRepoDraftMessage",()=>o,"getProjectRepoValidationIssue",()=>s,"isCompleteProjectRepoDraft",()=>l],275850);let c={name:"",description:""},d={name:"",path:"",notes:""};function u(){let[e,t]=(0,r.useState)(c),[a,i]=(0,r.useState)([d]),[s,n]=(0,r.useState)(!1),[l,o]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{i(a=>a.map((a,i)=>i===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{i(e=>[...e,{...d}])},[]),h=(0,r.useCallback)(e=>{i(t=>t.filter((t,r)=>r!==e))},[]),m=(0,r.useCallback)(()=>{t(c),i([d]),o(null)},[]),v=(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([d]),o(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:u,addRepo:p,removeRepo:h,resetForm:m,hydrateFromProject:v,isSubmitting:s,setIsSubmitting:n,formError:l,setFormError:o}}function p(e,t){let r=n(t);if(r)throw Error(o(r));let a=t.filter(e=>l(e)).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:a.length?a:void 0}}function h({form:e,repos:i,isEditingProject:n,isSubmitting:l,onFieldChange:o,onRepoChange:c,onAddRepo:d,onRemoveRepo:u}){let[p,h]=(0,r.useState)([]),[m,v]=(0,r.useState)(null),f=(0,r.useRef)(0);(0,r.useEffect)(()=>{n?h([]):h(i.map((e,t)=>t)),f.current=i.length},[n,i.length]),(0,r.useEffect)(()=>{if(!n){f.current=i.length;return}let e=f.current;h(t=>{let r=t.filter(e=>e<i.length);return i.length>e&&r.push(...Array.from({length:i.length-e},(t,r)=>e+r)),r}),f.current=i.length},[n,i.length]);let x=(0,r.useCallback)(e=>{h(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),b=(0,r.useCallback)(e=>!n||p.includes(e),[p,n]);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>o("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:l})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>o("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:l})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Folders"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-0.5",children:"Code repos, doc folders, design assets, config directories — any path your team needs access to."})]}),(0,t.jsx)("button",{type:"button",onClick:d,className:"text-xs font-semibold text-[var(--primary)] hover:underline flex-shrink-0",disabled:l,children:"+ Add Folder"})]}),(0,t.jsx)("div",{className:"space-y-4",children:i.map((e,r)=>{let o=s(e);return(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&&!b(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:()=>x(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:l,children:b(r)?"Done":"Edit"}),i.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>u(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:l,children:"Remove"})]})]}),b(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>c(r,"name",e.target.value),placeholder:"Name (e.g. Frontend, API Docs, Design System)",className:`input text-sm w-full${"missing_name"===o?" border-[var(--destructive)]/50 ring-1 ring-[var(--destructive)]/20":""}`,disabled:l}),"missing_name"===o&&(0,t.jsx)("p",{className:"text-[11px] text-[var(--destructive)]",children:"Folder name is required"})]}),(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=>c(r,"path",e.target.value),placeholder:"Local path to folder",className:`input text-sm flex-1${"missing_path"===o?" border-[var(--destructive)]/50 ring-1 ring-[var(--destructive)]/20":""}`,disabled:l}),(0,t.jsx)("button",{type:"button",onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&c(r,"path",t.path)}catch{v(m===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:l,children:"Browse"})]}),"missing_path"===o&&(0,t.jsx)("p",{className:"text-[11px] text-[var(--destructive)]",children:"Local path is required"})]}),m===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a,{initialPath:e.path||"",onSelect:e=>{c(r,"path",e),v(null)},onCancel:()=>v(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>c(r,"notes",e.target.value),placeholder:"Notes for this folder — e.g. coding conventions, deploy steps, ownership, doc standards...",className:"input text-sm w-full min-h-24 resize-y",disabled:l})})]}):null]},r)})})]})]})}function m({isOpen:e,onClose:a,onSubmit:i,editingProject:s,form:l,repos:o,isSubmitting:c,formError:d,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:v}){let[f,x]=(0,r.useState)([]);(0,r.useEffect)(()=>{let e=!1;return async function(){if(!s)return x([]);try{let t=await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(s.id)}`),r=(t.ok?await t.json():{note:null}).note;e||x(r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt,source:r.sourceType}]:[])}catch{e||x([])}}(),()=>{e=!0}},[s]);let b=!!n(o),j=!l.name.trim()||b;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:s?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:s?"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:[s&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),f.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:f.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,t.jsx)(h,{form:l,repos:o,isEditingProject:!!s,isSubmitting:c,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:v}),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:i,disabled:c||j,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..."]}):s?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>p,"default",()=>m,"useProjectFormState",()=>u],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)([]),[i,s]=(0,t.useState)(null),[n,l]=(0,t.useState)(!0),o=(0,t.useCallback)(async()=>{if(!e){a([]),s(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:[]),s("string"==typeof r.defaultTracker?r.defaultTracker:null)}catch{a([]),s(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:i,loading:n,refresh:o,addConnection:c,removeConnection:d,setDefaultTracker:u}}e.s(["useTrackerConnections",()=>r])}]);
@@ -1,16 +1,16 @@
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=>{}},353662,e=>{"use strict";var t=e.i(810605);t.NODE_TIMEOUT_DEFAULT_MS,t.GRAPH_TIMEOUT_DEFAULT_MS;let r=new Set(["done","passed"]),a=new Set(["pending","running","awaiting_human","blocked"]);function s(e){return`node--${e}`}function n(e){return e.replace(/_/gu," ")}function o(e,t){return"root"===t.type?t.title?.trim()||"Task Objective":"work"===t.type||"function"===t.type?t.title?.trim()||e:"gate"===t.type?t.gateType.replace(/_gate$/u,"").replace(/_/gu," ").replace(/\b\w/gu,e=>e.toUpperCase()):"fork"===t.type?"Fork":"join"===t.type?`Join (${t.joinStrategy})`:"Conditional"}function l(e){for(let[t,r]of Object.entries(e.nodes))if("root"===r.type)return{id:t,node:r};return null}function i(e){let t,s=l(e);return{mode:e.mode,graphVersion:e.graphVersion,nodeCount:Object.keys(e.nodes).length,progress:0===(t=Object.values(e.nodes).filter(e=>"skipped"!==e.status)).length?100:Math.round(t.filter(e=>r.has(e.status)).length/t.length*100),currentBlocker:function(e){let t=function(e){let t=Object.entries(e.nodes),r=t.filter(([,e])=>"gate"===e.type&&e.required),a=r.find(([,e])=>"failed"===e.status);if(a)return a[0];let s=r.find(([,e])=>"awaiting_human"===e.status);if(s)return s[0];let n=r.find(([,e])=>"pending"===e.status||"running"===e.status);if(n)return n[0];let o=t.find(([,e])=>"work"===e.type&&"blocked"===e.status);return o?.[0]??null}(e);if(!t)return null;let r=e.nodes[t];return r?{nodeId:t,label:o(t,r),status:r.status,required:"gate"===r.type&&r.required}:null}(e),derivedStatus:function(e){let t=Object.keys(e.nodes).length;if(0===t)return"INTAKE";if(1===t){let t=Object.values(e.nodes)[0];if("root"===t.type&&!t.graphCreated)return"INTAKE"}return Object.values(e.nodes).some(e=>a.has(e.status))?"PROGRESS":"DONE"}(e),hasRootNode:null!==s,rootNodeId:s?.id??null}}e.s(["buildGraphSummary",()=>i,"findRootNode",()=>l,"formatNodeStatusLabel",()=>n,"getNodeLabel",()=>o,"toNodeStatusClass",()=>s],353662)},936381,e=>{"use strict";var t=e.i(762281),r=e.i(935851),a=e.i(506420),s=e.i(307241),n=e.i(810605);function o(){let[e,a]=(0,r.useState)(null),[s,o]=(0,r.useState)("loading");(0,r.useEffect)(()=>{let e=!0;async function t(){try{let t=await fetch("/api/health");if(!e)return;if(!t.ok)return void o("error");let r=await t.json();a(r),o(r.connected?"connected":"disconnected")}catch{e&&o("error")}}t();let r=setInterval(t,n.UI_POLL_DB_HEALTH_MS);return()=>{e=!1,clearInterval(r)}},[]);let l={loading:"Checking database…",connected:`${e?.adapter??"db"} connected (${e?.latencyMs??"?"}ms)`,disconnected:`${e?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":l[s],children:[(0,t.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[s]}`}),(0,t.jsx)("span",{className:"hidden sm:inline",children:l[s]})]})}function l({children:e,fullWidth:r=!1,noFooter:a=!1}){return(0,t.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,t.jsx)("nav",{className:"desktop-titlebar flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,t.jsx)("div",{className:"flex items-center gap-8",children:(0,t.jsx)(s.default,{href:"/",className:"flex items-center gap-3 group",children:(0,t.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,t.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,t.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,t.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,t.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,t.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,t.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsx)(s.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Home"})})]})})}),(0,t.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${r?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:e}),!a&&(0,t.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,t.jsx)("span",{children:"AGX"}),(0,t.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,t.jsx)(o,{}),(0,t.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}function i(e){return(0,t.jsx)(r.Suspense,{fallback:(0,t.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,t.jsx)(l,{...e})})}var d=e.i(902572);let c=new Set([d.PROJECT_OBJECTIVES_METADATA_KEY,d.LEGACY_PROJECT_GOALS_METADATA_KEY,d.PROJECT_HEALTH_METADATA_KEY]);function u({project:e,onEdit:r,onDelete:a,onClick:s,onManageTasks:n}){let o=e.repos&&e.repos.length>0;return(0,t.jsxs)("div",{onClick:()=>s?.(e),className:`p-5 surface-card space-y-4
2
- ${s?"cursor-pointer hover:border-gray-300 dark:hover:border-gray-700 hover:shadow-md active:scale-[0.99]":""}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:e.slug})]}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-semibold text-[var(--muted-foreground)]",children:["Updated ",new Date(e.updated_at).toLocaleDateString()]}),(r||a||n)&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),n(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] bg-[var(--background)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all",children:"Tasks"}),r&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),r(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all bg-[var(--background)]",children:"Edit"}),a&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] text-[var(--destructive)] hover:border-[var(--destructive)] transition-all bg-[var(--background)]",children:"Delete"})]})]})]}),e.description&&(0,t.jsx)("p",{className:"text-sm text-[var(--foreground)] line-clamp-2",children:e.description}),e.ci_cd_info&&(0,t.jsxs)("div",{className:"text-sm",children:[(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-[12px] uppercase tracking-wide",children:"CI / CD"}),(0,t.jsx)("p",{className:"text-[14px] text-[var(--accent)] font-medium truncate",children:e.ci_cd_info})]}),e.metadata&&Object.keys(e.metadata).some(e=>!c.has(e))&&(0,t.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--muted)]/20 border border-dashed border-[var(--card-border)] space-y-1",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Metadata"}),(0,t.jsx)("div",{className:"space-y-1",children:Object.entries(e.metadata??{}).filter(([e])=>"undefined"!==e&&""!==e&&!c.has(e)).map(([e,r])=>(0,t.jsxs)("div",{className:"text-[12px] text-[var(--muted-foreground)] flex justify-between",children:[(0,t.jsx)("span",{className:"font-semibold",children:e}),(0,t.jsx)("span",{className:"truncate text-right",children:"string"==typeof r?r:JSON.stringify(r)})]},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[12px] uppercase tracking-wider text-[var(--muted-foreground)]",children:"Folders"}),(0,t.jsx)("span",{className:"text-[12px] text-[var(--muted-foreground)]",children:o?`${e.repos.length} connected`:"Unlinked"})]}),o?(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[e.repos.slice(0,2).map(e=>(0,t.jsxs)("div",{className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--background)] text-[11px]",children:[(0,t.jsx)("div",{className:"font-semibold truncate",children:e.name}),e.path&&(0,t.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate",children:e.path})]},e.id)),e.repos.length>2&&(0,t.jsxs)("p",{className:"text-[10px] text-center text-[var(--muted-foreground)]",children:["+ ",e.repos.length-2," more"]})]}):(0,t.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:"No folders added yet."})]})]})}var p=e.i(535208),m=e.i(866389);let x=[{value:"queued",label:"Queued",color:"var(--status-queued)",icon:"○"},{value:"in_progress",label:"In Progress",color:"var(--status-in-progress)",icon:"◑"},{value:"blocked",label:"Blocked",color:"var(--status-blocked)",icon:"⊘"},{value:"completed",label:"Done",color:"var(--status-completed)",icon:"●"},{value:"failed",label:"Failed",color:"var(--status-failed)",icon:"✕"}];function f({status:e,onStatusChange:a}){let[s,n]=(0,r.useState)(!1),[o,l]=(0,r.useState)(null),i=(0,r.useRef)(null),d=(0,r.useRef)(null),c=(0,r.useCallback)(()=>{if(!i.current)return;let e=i.current.getBoundingClientRect();l({top:e.bottom+4,left:e.left})},[]);(0,r.useEffect)(()=>{if(!s)return;c();let e=e=>{i.current&&!i.current.contains(e.target)&&d.current&&!d.current.contains(e.target)&&n(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[s,c]),(0,r.useEffect)(()=>{n(!1)},[e]);let u=x.find(t=>t.value===e)||x[0],p="completed"===e,f="in_progress"===e;return(0,t.jsxs)("div",{className:"relative flex-shrink-0",ref:i,children:[(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),a&&n(!s)},className:`w-4 h-4 rounded-full border-[1.5px] flex items-center justify-center transition-all
2
+ ${s?"cursor-pointer hover:border-gray-300 dark:hover:border-gray-700 hover:shadow-md active:scale-[0.99]":""}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:e.slug})]}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-semibold text-[var(--muted-foreground)]",children:["Updated ",new Date(e.updated_at).toLocaleDateString()]}),(r||a||n)&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),n(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] bg-[var(--background)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all",children:"Tasks"}),r&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),r(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all bg-[var(--background)]",children:"Edit"}),a&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] text-[var(--destructive)] hover:border-[var(--destructive)] transition-all bg-[var(--background)]",children:"Delete"})]})]})]}),e.description&&(0,t.jsx)("p",{className:"text-sm text-[var(--foreground)] line-clamp-2",children:e.description}),e.ci_cd_info&&(0,t.jsxs)("div",{className:"text-sm",children:[(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-[12px] uppercase tracking-wide",children:"CI / CD"}),(0,t.jsx)("p",{className:"text-[14px] text-[var(--accent)] font-medium truncate",children:e.ci_cd_info})]}),e.metadata&&Object.keys(e.metadata).some(e=>!c.has(e))&&(0,t.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--muted)]/20 border border-dashed border-[var(--card-border)] space-y-1",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Metadata"}),(0,t.jsx)("div",{className:"space-y-1",children:Object.entries(e.metadata??{}).filter(([e])=>"undefined"!==e&&""!==e&&!c.has(e)).map(([e,r])=>(0,t.jsxs)("div",{className:"text-[12px] text-[var(--muted-foreground)] flex justify-between",children:[(0,t.jsx)("span",{className:"font-semibold",children:e}),(0,t.jsx)("span",{className:"truncate text-right",children:"string"==typeof r?r:JSON.stringify(r)})]},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[12px] uppercase tracking-wider text-[var(--muted-foreground)]",children:"Folders"}),(0,t.jsx)("span",{className:"text-[12px] text-[var(--muted-foreground)]",children:o?`${e.repos.length} connected`:"Unlinked"})]}),o?(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[e.repos.slice(0,2).map(e=>(0,t.jsxs)("div",{className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--background)] text-[11px]",children:[(0,t.jsx)("div",{className:"font-semibold truncate",children:e.name}),e.path&&(0,t.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate",children:e.path})]},e.id)),e.repos.length>2&&(0,t.jsxs)("p",{className:"text-[10px] text-center text-[var(--muted-foreground)]",children:["+ ",e.repos.length-2," more"]})]}):(0,t.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:"No folders added yet."})]})]})}var p=e.i(535208),m=e.i(275850),x=e.i(866389);let f=[{value:"queued",label:"Queued",color:"var(--status-queued)",icon:"○"},{value:"in_progress",label:"In Progress",color:"var(--status-in-progress)",icon:"◑"},{value:"blocked",label:"Blocked",color:"var(--status-blocked)",icon:"⊘"},{value:"completed",label:"Done",color:"var(--status-completed)",icon:"●"},{value:"failed",label:"Failed",color:"var(--status-failed)",icon:"✕"}];function h({status:e,onStatusChange:a}){let[s,n]=(0,r.useState)(!1),[o,l]=(0,r.useState)(null),i=(0,r.useRef)(null),d=(0,r.useRef)(null),c=(0,r.useCallback)(()=>{if(!i.current)return;let e=i.current.getBoundingClientRect();l({top:e.bottom+4,left:e.left})},[]);(0,r.useEffect)(()=>{if(!s)return;c();let e=e=>{i.current&&!i.current.contains(e.target)&&d.current&&!d.current.contains(e.target)&&n(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[s,c]),(0,r.useEffect)(()=>{n(!1)},[e]);let u=f.find(t=>t.value===e)||f[0],p="completed"===e,m="in_progress"===e;return(0,t.jsxs)("div",{className:"relative flex-shrink-0",ref:i,children:[(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),a&&n(!s)},className:`w-4 h-4 rounded-full border-[1.5px] flex items-center justify-center transition-all
3
3
  hover:scale-110 focus-visible:outline-2 focus-visible:outline-[var(--ring)]
4
4
  ${a?"cursor-pointer":"cursor-default"}
5
- ${f?"animate-pulse":""}
6
- `,style:{borderColor:u.color,backgroundColor:p?u.color:"transparent"},title:u.label,children:[p&&(0,t.jsx)("svg",{className:"w-2.5 h-2.5 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===e&&(0,t.jsx)("svg",{className:"w-2 h-2",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:u.color,strokeWidth:"1.5",strokeLinecap:"round"})}),f&&(0,t.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:u.color}})]}),s&&o&&(0,m.createPortal)((0,t.jsx)("div",{ref:d,className:"fixed z-[9999] py-1 rounded-lg border shadow-lg min-w-[140px]",style:{top:o.top,left:o.left,backgroundColor:"var(--card-bg)",borderColor:"var(--card-border)"},children:x.map(r=>{let s=r.value===e;return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors
5
+ ${m?"animate-pulse":""}
6
+ `,style:{borderColor:u.color,backgroundColor:p?u.color:"transparent"},title:u.label,children:[p&&(0,t.jsx)("svg",{className:"w-2.5 h-2.5 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===e&&(0,t.jsx)("svg",{className:"w-2 h-2",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:u.color,strokeWidth:"1.5",strokeLinecap:"round"})}),m&&(0,t.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:u.color}})]}),s&&o&&(0,x.createPortal)((0,t.jsx)("div",{ref:d,className:"fixed z-[9999] py-1 rounded-lg border shadow-lg min-w-[140px]",style:{top:o.top,left:o.left,backgroundColor:"var(--card-bg)",borderColor:"var(--card-border)"},children:f.map(r=>{let s=r.value===e;return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors
7
7
  hover:bg-[var(--item-hover-bg)]
8
8
  ${s?"font-semibold bg-[var(--item-hover-bg)]":""}
9
- `,onClick:e=>{e.stopPropagation(),a?.(r.value),n(!1)},children:[(0,t.jsxs)("span",{className:"w-3 h-3 rounded-full border-[1.5px] flex items-center justify-center",style:{borderColor:r.color,backgroundColor:"completed"===r.value?r.color:"transparent"},children:["completed"===r.value&&(0,t.jsx)("svg",{className:"w-2 h-2 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===r.value&&(0,t.jsx)("svg",{className:"w-1.5 h-1.5",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:r.color,strokeWidth:"1.5",strokeLinecap:"round"})}),"in_progress"===r.value&&(0,t.jsx)("div",{className:"w-1 h-1 rounded-full",style:{backgroundColor:r.color}})]}),(0,t.jsx)("span",{style:{color:s?r.color:void 0},children:r.label}),s&&(0,t.jsx)("svg",{className:"w-3 h-3 ml-auto",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2 6L5 9L10 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},r.value)})}),document.body)]})}var h=e.i(353662);let g=new Map,b=new Map;async function v(e){let t=g.get(e);if(void 0!==t)return t;let r=b.get(e);if(r)return r;let a=(async()=>{let t=await fetch(`/api/tasks/${e}/graph`,{method:"GET",cache:"no-store"});if(404===t.status)return g.set(e,null),null;let r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||`Failed to fetch graph summary (${t.status})`);let a=r?.graph??null,s=a?(0,h.buildGraphSummary)(a):null;return g.set(e,s),s})();b.set(e,a);try{return await a}finally{b.delete(e)}}let j={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},y={INTAKE:{icon:"📥",label:"Intake"},PROGRESS:{icon:"🔄",label:"Progress"},DONE:{icon:"✅",label:"Done"}};function k({task:e,onClick:a,compact:s=!1,onStatusChange:n,onApprovalModeChange:o,onStageChange:l,stageOptions:i,currentStage:d,allTasks:c,relationship:u="none"}){j[e.status||"queued"],e.stage&&y[e.stage];let{summary:p,isLoading:m}=function(e){let t=(0,r.useMemo)(()=>e?g.get(e)??null:null,[e]),[a,s]=(0,r.useState)(t),[n,o]=(0,r.useState)(!!e&&null===t),[l,i]=(0,r.useState)(null),d=(0,r.useCallback)(async()=>{if(!e){s(null),i(null),o(!1);return}o(!0),i(null);try{let t=await v(e);s(t)}catch(e){i(e instanceof Error?e.message:"Failed to fetch graph summary"),s(null)}finally{o(!1)}},[e]);return(0,r.useEffect)(()=>{d()},[d]),{summary:a,isLoading:n,error:l,refresh:d}}("draft"!==e.id?e.id:null),x=d??e.stage,h=x&&i?i.indexOf(x):-1,b=h>0&&i?i[h-1]:null,k=h>=0&&i&&h<i.length-1?i[h+1]:null,w=e.depends_on?.length?e.depends_on.map(e=>{let t=c?.find(t=>t.id===e);return{id:e,title:t?.title||e.slice(0,8),done:t?.status==="completed"}}):null;return w&&w.every(e=>e.done),(0,t.jsxs)("div",{onClick:a,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&a?.(),className:`group relative flex flex-col gap-1.5 sm:gap-2 p-2 sm:p-3 surface-card cursor-grab active:cursor-grabbing
9
+ `,onClick:e=>{e.stopPropagation(),a?.(r.value),n(!1)},children:[(0,t.jsxs)("span",{className:"w-3 h-3 rounded-full border-[1.5px] flex items-center justify-center",style:{borderColor:r.color,backgroundColor:"completed"===r.value?r.color:"transparent"},children:["completed"===r.value&&(0,t.jsx)("svg",{className:"w-2 h-2 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===r.value&&(0,t.jsx)("svg",{className:"w-1.5 h-1.5",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:r.color,strokeWidth:"1.5",strokeLinecap:"round"})}),"in_progress"===r.value&&(0,t.jsx)("div",{className:"w-1 h-1 rounded-full",style:{backgroundColor:r.color}})]}),(0,t.jsx)("span",{style:{color:s?r.color:void 0},children:r.label}),s&&(0,t.jsx)("svg",{className:"w-3 h-3 ml-auto",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2 6L5 9L10 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},r.value)})}),document.body)]})}var g=e.i(353662);let b=new Map,v=new Map;async function j(e){let t=b.get(e);if(void 0!==t)return t;let r=v.get(e);if(r)return r;let a=(async()=>{let t=await fetch(`/api/tasks/${e}/graph`,{method:"GET",cache:"no-store"});if(404===t.status)return b.set(e,null),null;let r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||`Failed to fetch graph summary (${t.status})`);let a=r?.graph??null,s=a?(0,g.buildGraphSummary)(a):null;return b.set(e,s),s})();v.set(e,a);try{return await a}finally{v.delete(e)}}let y={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},k={INTAKE:{icon:"📥",label:"Intake"},PROGRESS:{icon:"🔄",label:"Progress"},DONE:{icon:"✅",label:"Done"}};function w({task:e,onClick:a,compact:s=!1,onStatusChange:n,onApprovalModeChange:o,onStageChange:l,stageOptions:i,currentStage:d,allTasks:c,relationship:u="none"}){y[e.status||"queued"],e.stage&&k[e.stage];let{summary:p,isLoading:m}=function(e){let t=(0,r.useMemo)(()=>e?b.get(e)??null:null,[e]),[a,s]=(0,r.useState)(t),[n,o]=(0,r.useState)(!!e&&null===t),[l,i]=(0,r.useState)(null),d=(0,r.useCallback)(async()=>{if(!e){s(null),i(null),o(!1);return}o(!0),i(null);try{let t=await j(e);s(t)}catch(e){i(e instanceof Error?e.message:"Failed to fetch graph summary"),s(null)}finally{o(!1)}},[e]);return(0,r.useEffect)(()=>{d()},[d]),{summary:a,isLoading:n,error:l,refresh:d}}("draft"!==e.id?e.id:null),x=d??e.stage,f=x&&i?i.indexOf(x):-1,g=f>0&&i?i[f-1]:null,v=f>=0&&i&&f<i.length-1?i[f+1]:null,w=e.depends_on?.length?e.depends_on.map(e=>{let t=c?.find(t=>t.id===e);return{id:e,title:t?.title||e.slice(0,8),done:t?.status==="completed"}}):null;return w&&w.every(e=>e.done),(0,t.jsxs)("div",{onClick:a,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&a?.(),className:`group relative flex flex-col gap-1.5 sm:gap-2 p-2 sm:p-3 surface-card cursor-grab active:cursor-grabbing
10
10
  focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2
11
11
  ${"active"===u?"border-primary ring-2 ring-primary/20 z-40":"blocking"===u?"border-[var(--status-blocked)] bg-rose-50/30 dark:bg-rose-950/20 z-20":"dependent"===u?"border-[var(--status-in-progress)] bg-blue-50/30 dark:bg-blue-950/20 z-20":"dimmed"===u?"opacity-40 grayscale scale-[0.98]":""}
12
12
  ${"failed"===e.status&&"none"===u?"border-red-200 bg-red-50/30 dark:bg-red-950/20":""}
13
13
  ${"completed"===e.status&&"none"===u?"opacity-75 bg-[var(--secondary)]":""}
14
14
  `,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("h3",{className:`text-sm font-medium text-[var(--foreground)] leading-snug line-clamp-2 sm:line-clamp-3
15
15
  ${"completed"===e.status?"text-[var(--muted-foreground)] line-through":""}
16
- `,children:[e.identifier?(0,t.jsx)("span",{className:"mr-1.5 inline-block rounded bg-[var(--secondary)] px-1.5 py-0.5 align-middle font-mono text-[10px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:e.identifier}):null,e.title||"Untitled Task"]}),(0,t.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,t.jsx)(f,{status:e.status||"queued",onStatusChange:n})})]}),(0,t.jsx)("div",{className:"flex items-center justify-between min-h-[16px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] flex-wrap",children:[void 0!==e.priority&&e.priority>0&&(0,t.jsxs)("span",{className:`px-1.5 py-0.5 rounded font-semibold bg-[var(--secondary)] ${0===e.priority?"text-[var(--primary)]":""}`,children:["P",e.priority]}),o&&("auto"===e.approval_mode?(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400 cursor-pointer select-none",title:"Auto-approve enabled. Click to switch to manual.",onClick:e=>{e.stopPropagation(),o("manual")},children:"AUTO"}):(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-gray-100 text-gray-400 dark:bg-gray-800 dark:text-gray-500 cursor-pointer select-none opacity-0 group-hover:opacity-100 transition-opacity",title:"Manual approval. Click to enable auto-approve.",onClick:e=>{e.stopPropagation(),o("auto")},children:"AUTO"})),"draft"!==e.id&&!e.identifier&&(0,t.jsx)("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity font-mono text-[9px]",children:e.id.slice(0,5)})]})}),l&&x&&(b||k)?(0,t.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[b?(0,t.jsxs)("button",{type:"button",className:"rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",onClick:e=>{e.stopPropagation(),l(b)},children:["Back to ",b]}):null,k?(0,t.jsxs)("button",{type:"button",className:"rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",onClick:e=>{e.stopPropagation(),l(k)},children:["Move to ",k]}):null]}):null]})}let w={in_progress:{title:"In Progress",icon:"🔄",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"🚧",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"📋",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function N({tasks:e,onSelectTask:r,onStatusChange:a}){if(0===e.length)return(0,t.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,t.jsx)("span",{className:"text-3xl",children:"📋"})}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let s=e.filter(e=>"in_progress"===e.status),n=e.filter(e=>"queued"===e.status),o=e.filter(e=>"blocked"===e.status),l=e.filter(e=>"completed"===e.status||"failed"===e.status),i=(e,s)=>{if(0===s.length)return null;let n=w[e];return(0,t.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:`color-mix(in srgb, ${n.color} 10%, transparent)`},children:[(0,t.jsx)("span",{className:"text-lg",children:n.icon}),(0,t.jsx)("h3",{className:"text-sm font-semibold",style:{color:n.color},children:n.title}),(0,t.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:`color-mix(in srgb, ${n.color} 15%, transparent)`,color:n.color},children:s.length})]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:n.description})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:s.map((e,s)=>(0,t.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${50*s}ms`},children:(0,t.jsx)(k,{task:e,onClick:()=>r?.(e),onStatusChange:a?t=>a(e.id,t):void 0})},e.id))})]})};return(0,t.jsxs)("div",{children:[i("in_progress",s),i("blocked",o),i("queued",n),i("completed",l)]})}var C=e.i(827976);let E={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:C.default.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:C.default.env.AGX_BOARD_USER_NAME||"Local Board User"};var S=e.i(524123);function _(){let e=(0,a.useRouter)(),s=(0,a.useSearchParams)(),{projects:n,isLoading:o,error:l,refetch:d,createProject:c,updateProject:m,deleteProject:x}=(0,S.useProjects)(),f=(0,p.useProjectFormState)(),[h,g]=(0,r.useState)(null),[b,v]=(0,r.useState)(!1),[j,y]=(0,r.useState)(null),{form:k,repos:w,handleRepoChange:N,addRepo:C,removeRepo:E,resetForm:_,hydrateFromProject:A,isSubmitting:L,setIsSubmitting:O,formError:P,setFormError:M,setForm:$}=f,I=()=>{g(null),_(),v(!0)},R=e=>{g(e),A(e),v(!0)};(0,r.useEffect)(()=>{let e=s.get("edit");if(!e||0===n.length||b)return;let t=n.find(t=>t.id===e);t&&R(t)},[s,n,b]),(0,r.useEffect)(()=>{"1"!==s.get("new")||b||(I(),e.replace("/projects"))},[s]);let B=(0,r.useCallback)(t=>{t.slug&&e.push(`/projects/${t.slug}`)},[e]),D=(0,r.useCallback)(e=>{y(e)},[]),F=(0,r.useCallback)(()=>{y(null)},[]),U=()=>{_(),v(!1),g(null),s.get("edit")&&e.replace("/projects")},q=async()=>{if(!k.name.trim())return void M("Project name is required");let t=w.find(e=>e.name.trim()&&!e.path.trim());if(t)return void M(`Local path is required for folder "${t.name}"`);M(null),O(!0);let r=(0,p.createProjectPayload)(k,w);try{if(h)await m(h.id,r),U();else{let t=await c(r);U(),e.push(`/projects/${t.slug}`)}}catch(e){M(e instanceof Error?e.message:"Failed to save project")}finally{O(!1)}},G=async e=>{if(window.confirm(`Delete project "${e.name}"? This cannot be undone.`))try{await x(e.id)}catch(e){alert(e instanceof Error?e.message:"Failed to delete project")}};return(0,t.jsx)(i,{children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto w-full flex flex-col min-h-full",children:[(0,t.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 py-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"Manage your projects and their folder contexts."})]}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:d,className:"px-4 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all text-sm font-medium",children:"Refresh"}),(0,t.jsx)("button",{onClick:I,className:"btn-primary px-6 py-2 shadow-lg shadow-[var(--primary)]/20",children:"+ New Project"})]})]}),o?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading projects..."})]})}):0===n.length?(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:"📂"}),(0,t.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"You have no projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create your first project to start organizing your tasks and connecting your folders."}),(0,t.jsx)("button",{onClick:I,className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Create a Project"})]}):(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-20",children:n.map(e=>(0,t.jsx)(u,{project:e,onEdit:R,onDelete:G,onManageTasks:D,onClick:B},e.id))}),(0,t.jsx)(p.default,{isOpen:b,onClose:U,onSubmit:q,editingProject:h,form:k,repos:w,isSubmitting:L,formError:P,onFieldChange:(e,t)=>$(r=>({...r,[e]:t})),onRepoChange:N,onAddRepo:C,onRemoveRepo:E}),j&&(0,t.jsx)(T,{project:j,onClose:F})]})})}function T({project:e,onClose:a}){let{tasks:s,isLoading:n}=function(e={}){let t="1"===C.default.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,a=e.project,s=e.status,n=e.orphan,o=e.realtime,[l,i]=(0,r.useState)([]),[d,c]=(0,r.useState)(!0),[u,p]=(0,r.useState)(null),[m,x]=(0,r.useState)(null),[f,h]=(0,r.useState)(null),g=(0,r.useCallback)(e=>{if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]},[]),b=(0,r.useCallback)(e=>{let t=String(e||"").match(/^---\n([\s\S]*?)\n---\n?/);if(!t)return[];let r=t[1].split("\n").find(e=>e.trim().toLowerCase().startsWith("depends_on:"));return r?g(r.slice(r.indexOf(":")+1).trim()):[]},[g]),v=(0,r.useCallback)((e,t)=>{let r=g(e.depends_on);if(r.length>0)return{...e,depends_on:r};let a="string"==typeof e?.content?b(e.content):[];if(a.length>0)return{...e,depends_on:a};let s=g(t?.depends_on);return s.length>0?{...e,depends_on:s}:e},[b,g]),j=(0,r.useCallback)(async()=>{try{let e=new URLSearchParams;a&&e.set("project",a),s&&e.set("status",s),n&&e.set("orphan","1");let t=await fetch(`/api/tasks?${e.toString()}`);if(!t.ok)throw Error("Failed to fetch tasks");let r=await t.json(),o=Array.isArray(r.tasks)?r.tasks.map(e=>v(e)):[];i(o),p(null)}catch(e){p(e instanceof Error?e:Error("Unknown error"))}finally{c(!1)}},[a,s,n]);(0,r.useEffect)(()=>{j()},[j]),(0,r.useEffect)(()=>{if(!t||!o)return;let e=setInterval(j,3e3);return()=>clearInterval(e)},[t,o,j]),(0,r.useEffect)(()=>{if(t||!o)return;let e={auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:E.id,email:E.email,user_metadata:{name:E.name,full_name:E.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}},r=e.channel("tasks-changes").on("postgres_changes",{event:"*",schema:"public",table:"tasks"},e=>{"INSERT"===e.eventType?i(t=>{let r=v(e.new);return t.some(e=>e.id===r.id)?t:[r,...t]}):"UPDATE"===e.eventType?i(t=>t.map(t=>t.id===e.new.id?v(e.new,t):t)):"DELETE"===e.eventType&&i(t=>t.filter(t=>t.id!==e.old.id))}).subscribe();return()=>{e.removeChannel(r)}},[o,t]),(0,r.useEffect)(()=>{if(t||!o)return;let e=setInterval(j,3e3);return()=>clearInterval(e)},[o,t,j]);let y=(0,r.useCallback)(async(e,t)=>{let r=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,swarm_models:t})});if(!r.ok)throw Error((await r.json()).error||"Failed to create task");let{task:a}=await r.json(),s=v(a);return i(e=>e.some(e=>e.id===s.id)?e:[s,...e]),s},[e.realtime,v]),k=(0,r.useCallback)(async(e,t)=>{let r=await fetch(`/api/tasks/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){let e=null;throw"function"==typeof r.json&&(e=await r.json().catch(e=>(console.warn("[useTasks] failed to parse response:",e),null))),Error(e?.error||e?.details||`Failed to update task (${r.status} ${r.statusText||"Error"})`)}let{task:a}=await r.json();return i(t=>t.map(t=>t.id===e?v({...t,...a},t):t)),v(a)},[e.realtime,v]),w=(0,r.useCallback)(async e=>{if(!(await fetch(`/api/tasks/${e}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");i(t=>t.filter(t=>t.id!==e))},[e.realtime]),N=(0,r.useCallback)(async e=>{let t=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:r}=await t.json();return i(t=>t.map(t=>t.id===e.taskId?v({...t,...r},t):t)),v(r)},[e.realtime,v]),S=(0,r.useCallback)(async e=>{x(e.taskId),h(null);try{let t=await fetch(`/api/orchestrator/tasks/${e.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e.reason?{reason:e.reason}:{})});if(!t.ok){let e=await t.json().catch(()=>({})),r=e?.error||"Failed to cancel workflow";throw Error(r)}return t.json()}catch(t){let e=t instanceof Error?t:Error("Failed to cancel workflow");throw h(e),e}finally{x(null)}},[]),_=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}`),r=await t.json().catch(e=>(console.warn("[useTasks] failed to parse response:",e),null));if(!t.ok)throw Error(r?.error||"Failed to fetch task details");return v(r?.task)},[v]),T=(0,r.useCallback)(async e=>{let t=await fetch("/api/tasks/assign-orphans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:e})}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||"Failed to assign orphan tasks");return await j(),{updatedCount:Number(r?.updatedCount||0),taskIds:Array.isArray(r?.taskIds)?r.taskIds:[]}},[j]);return{tasks:l,isLoading:d,error:u,cancellingTaskId:m,isCancelling:!!m,cancelError:f,refetch:j,createTask:y,updateTask:k,deleteTask:w,completeTaskStage:N,cancelWorkflow:S,fetchTask:_,assignOrphanTasksToProject:T}}({project:e.slug});return(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-5xl 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.jsxs)("h2",{className:"text-xl font-bold",children:["Tasks for ",e.name]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:"Viewing all tasks associated with this project."})]}),(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.jsx)("div",{className:"flex-1 overflow-y-auto p-8",children:n?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full mb-4"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading project tasks..."})]}):(0,t.jsx)(N,{tasks:s})}),(0,t.jsx)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex justify-end 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:"Close"})})]})})}e.s(["default",()=>_],936381)}]);
16
+ `,children:[e.identifier?(0,t.jsx)("span",{className:"mr-1.5 inline-block rounded bg-[var(--secondary)] px-1.5 py-0.5 align-middle font-mono text-[10px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:e.identifier}):null,e.title||"Untitled Task"]}),(0,t.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,t.jsx)(h,{status:e.status||"queued",onStatusChange:n})})]}),(0,t.jsx)("div",{className:"flex items-center justify-between min-h-[16px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] flex-wrap",children:[void 0!==e.priority&&e.priority>0&&(0,t.jsxs)("span",{className:`px-1.5 py-0.5 rounded font-semibold bg-[var(--secondary)] ${0===e.priority?"text-[var(--primary)]":""}`,children:["P",e.priority]}),o&&("auto"===e.approval_mode?(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400 cursor-pointer select-none",title:"Auto-approve enabled. Click to switch to manual.",onClick:e=>{e.stopPropagation(),o("manual")},children:"AUTO"}):(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-gray-100 text-gray-400 dark:bg-gray-800 dark:text-gray-500 cursor-pointer select-none opacity-0 group-hover:opacity-100 transition-opacity",title:"Manual approval. Click to enable auto-approve.",onClick:e=>{e.stopPropagation(),o("auto")},children:"AUTO"})),"draft"!==e.id&&!e.identifier&&(0,t.jsx)("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity font-mono text-[9px]",children:e.id.slice(0,5)})]})}),l&&x&&(g||v)?(0,t.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[g?(0,t.jsxs)("button",{type:"button",className:"rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",onClick:e=>{e.stopPropagation(),l(g)},children:["Back to ",g]}):null,v?(0,t.jsxs)("button",{type:"button",className:"rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",onClick:e=>{e.stopPropagation(),l(v)},children:["Move to ",v]}):null]}):null]})}let N={in_progress:{title:"In Progress",icon:"🔄",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"🚧",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"📋",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function C({tasks:e,onSelectTask:r,onStatusChange:a}){if(0===e.length)return(0,t.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,t.jsx)("span",{className:"text-3xl",children:"📋"})}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let s=e.filter(e=>"in_progress"===e.status),n=e.filter(e=>"queued"===e.status),o=e.filter(e=>"blocked"===e.status),l=e.filter(e=>"completed"===e.status||"failed"===e.status),i=(e,s)=>{if(0===s.length)return null;let n=N[e];return(0,t.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:`color-mix(in srgb, ${n.color} 10%, transparent)`},children:[(0,t.jsx)("span",{className:"text-lg",children:n.icon}),(0,t.jsx)("h3",{className:"text-sm font-semibold",style:{color:n.color},children:n.title}),(0,t.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:`color-mix(in srgb, ${n.color} 15%, transparent)`,color:n.color},children:s.length})]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:n.description})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:s.map((e,s)=>(0,t.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${50*s}ms`},children:(0,t.jsx)(w,{task:e,onClick:()=>r?.(e),onStatusChange:a?t=>a(e.id,t):void 0})},e.id))})]})};return(0,t.jsxs)("div",{children:[i("in_progress",s),i("blocked",o),i("queued",n),i("completed",l)]})}var E=e.i(827976);let S={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:E.default.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:E.default.env.AGX_BOARD_USER_NAME||"Local Board User"};var _=e.i(524123);function T(){let e=(0,a.useRouter)(),s=(0,a.useSearchParams)(),{projects:n,isLoading:o,error:l,refetch:d,createProject:c,updateProject:x,deleteProject:f}=(0,_.useProjects)(),h=(0,p.useProjectFormState)(),[g,b]=(0,r.useState)(null),[v,j]=(0,r.useState)(!1),[y,k]=(0,r.useState)(null),{form:w,repos:N,handleRepoChange:C,addRepo:E,removeRepo:S,resetForm:T,hydrateFromProject:O,isSubmitting:L,setIsSubmitting:P,formError:M,setFormError:I,setForm:R}=h,$=()=>{b(null),T(),j(!0)},D=e=>{b(e),O(e),j(!0)};(0,r.useEffect)(()=>{let e=s.get("edit");if(!e||0===n.length||v)return;let t=n.find(t=>t.id===e);t&&D(t)},[s,n,v]),(0,r.useEffect)(()=>{"1"!==s.get("new")||v||($(),e.replace("/projects"))},[s]);let B=(0,r.useCallback)(t=>{t.slug&&e.push(`/projects/${t.slug}`)},[e]),F=(0,r.useCallback)(e=>{k(e)},[]),U=(0,r.useCallback)(()=>{k(null)},[]),q=()=>{T(),j(!1),b(null),s.get("edit")&&e.replace("/projects")},G=async()=>{if(!w.name.trim())return void I("Project name is required");let t=(0,m.findInvalidProjectRepoDraft)(N);if(t)return void I((0,m.formatInvalidProjectRepoDraftMessage)(t));I(null),P(!0);let r=(0,p.createProjectPayload)(w,N);try{if(g)await x(g.id,r),q();else{let t=await c(r);q(),e.push(`/projects/${t.slug}`)}}catch(e){I(e instanceof Error?e.message:"Failed to save project")}finally{P(!1)}},J=async e=>{if(window.confirm(`Delete project "${e.name}"? This cannot be undone.`))try{await f(e.id)}catch(e){alert(e instanceof Error?e.message:"Failed to delete project")}};return(0,t.jsx)(i,{children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto w-full flex flex-col min-h-full",children:[(0,t.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 py-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"Manage your projects and their folder contexts."})]}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:d,className:"px-4 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all text-sm font-medium",children:"Refresh"}),(0,t.jsx)("button",{onClick:$,className:"btn-primary px-6 py-2 shadow-lg shadow-[var(--primary)]/20",children:"+ New Project"})]})]}),o?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading projects..."})]})}):0===n.length?(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:"📂"}),(0,t.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"You have no projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create your first project to connect your tickets, repos, and agent teams — and start shipping PRs."}),(0,t.jsx)("button",{onClick:$,className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Create a Project"})]}):(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-20",children:n.map(e=>(0,t.jsx)(u,{project:e,onEdit:D,onDelete:J,onManageTasks:F,onClick:B},e.id))}),(0,t.jsx)(p.default,{isOpen:v,onClose:q,onSubmit:G,editingProject:g,form:w,repos:N,isSubmitting:L,formError:M,onFieldChange:(e,t)=>R(r=>({...r,[e]:t})),onRepoChange:C,onAddRepo:E,onRemoveRepo:S}),y&&(0,t.jsx)(A,{project:y,onClose:U})]})})}function A({project:e,onClose:a}){let{tasks:s,isLoading:n}=function(e={}){let t="1"===E.default.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,a=e.project,s=e.status,n=e.orphan,o=e.realtime,[l,i]=(0,r.useState)([]),[d,c]=(0,r.useState)(!0),[u,p]=(0,r.useState)(null),[m,x]=(0,r.useState)(null),[f,h]=(0,r.useState)(null),g=(0,r.useCallback)(e=>{if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]},[]),b=(0,r.useCallback)(e=>{let t=String(e||"").match(/^---\n([\s\S]*?)\n---\n?/);if(!t)return[];let r=t[1].split("\n").find(e=>e.trim().toLowerCase().startsWith("depends_on:"));return r?g(r.slice(r.indexOf(":")+1).trim()):[]},[g]),v=(0,r.useCallback)((e,t)=>{let r=g(e.depends_on);if(r.length>0)return{...e,depends_on:r};let a="string"==typeof e?.content?b(e.content):[];if(a.length>0)return{...e,depends_on:a};let s=g(t?.depends_on);return s.length>0?{...e,depends_on:s}:e},[b,g]),j=(0,r.useCallback)(async()=>{try{let e=new URLSearchParams;a&&e.set("project",a),s&&e.set("status",s),n&&e.set("orphan","1");let t=await fetch(`/api/tasks?${e.toString()}`);if(!t.ok)throw Error("Failed to fetch tasks");let r=await t.json(),o=Array.isArray(r.tasks)?r.tasks.map(e=>v(e)):[];i(o),p(null)}catch(e){p(e instanceof Error?e:Error("Unknown error"))}finally{c(!1)}},[a,s,n]);(0,r.useEffect)(()=>{j()},[j]),(0,r.useEffect)(()=>{if(!t||!o)return;let e=setInterval(j,3e3);return()=>clearInterval(e)},[t,o,j]),(0,r.useEffect)(()=>{if(t||!o)return;let e={auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:S.id,email:S.email,user_metadata:{name:S.name,full_name:S.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}},r=e.channel("tasks-changes").on("postgres_changes",{event:"*",schema:"public",table:"tasks"},e=>{"INSERT"===e.eventType?i(t=>{let r=v(e.new);return t.some(e=>e.id===r.id)?t:[r,...t]}):"UPDATE"===e.eventType?i(t=>t.map(t=>t.id===e.new.id?v(e.new,t):t)):"DELETE"===e.eventType&&i(t=>t.filter(t=>t.id!==e.old.id))}).subscribe();return()=>{e.removeChannel(r)}},[o,t]),(0,r.useEffect)(()=>{if(t||!o)return;let e=setInterval(j,3e3);return()=>clearInterval(e)},[o,t,j]);let y=(0,r.useCallback)(async(e,t)=>{let r=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,swarm_models:t})});if(!r.ok)throw Error((await r.json()).error||"Failed to create task");let{task:a}=await r.json(),s=v(a);return i(e=>e.some(e=>e.id===s.id)?e:[s,...e]),s},[e.realtime,v]),k=(0,r.useCallback)(async(e,t)=>{let r=await fetch(`/api/tasks/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){let e=null;throw"function"==typeof r.json&&(e=await r.json().catch(e=>(console.warn("[useTasks] failed to parse response:",e),null))),Error(e?.error||e?.details||`Failed to update task (${r.status} ${r.statusText||"Error"})`)}let{task:a}=await r.json();return i(t=>t.map(t=>t.id===e?v({...t,...a},t):t)),v(a)},[e.realtime,v]),w=(0,r.useCallback)(async e=>{if(!(await fetch(`/api/tasks/${e}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");i(t=>t.filter(t=>t.id!==e))},[e.realtime]),N=(0,r.useCallback)(async e=>{let t=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:r}=await t.json();return i(t=>t.map(t=>t.id===e.taskId?v({...t,...r},t):t)),v(r)},[e.realtime,v]),C=(0,r.useCallback)(async e=>{x(e.taskId),h(null);try{let t=await fetch(`/api/orchestrator/tasks/${e.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e.reason?{reason:e.reason}:{})});if(!t.ok){let e=await t.json().catch(()=>({})),r=e?.error||"Failed to cancel workflow";throw Error(r)}return t.json()}catch(t){let e=t instanceof Error?t:Error("Failed to cancel workflow");throw h(e),e}finally{x(null)}},[]),_=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}`),r=await t.json().catch(e=>(console.warn("[useTasks] failed to parse response:",e),null));if(!t.ok)throw Error(r?.error||"Failed to fetch task details");return v(r?.task)},[v]),T=(0,r.useCallback)(async e=>{let t=await fetch("/api/tasks/assign-orphans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:e})}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||"Failed to assign orphan tasks");return await j(),{updatedCount:Number(r?.updatedCount||0),taskIds:Array.isArray(r?.taskIds)?r.taskIds:[]}},[j]);return{tasks:l,isLoading:d,error:u,cancellingTaskId:m,isCancelling:!!m,cancelError:f,refetch:j,createTask:y,updateTask:k,deleteTask:w,completeTaskStage:N,cancelWorkflow:C,fetchTask:_,assignOrphanTasksToProject:T}}({project:e.slug});return(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-5xl 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.jsxs)("h2",{className:"text-xl font-bold",children:["Tasks for ",e.name]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:"Viewing all tasks associated with this project."})]}),(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.jsx)("div",{className:"flex-1 overflow-y-auto p-8",children:n?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full mb-4"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading project tasks..."})]}):(0,t.jsx)(C,{tasks:s})}),(0,t.jsx)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex justify-end 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:"Close"})})]})})}e.s(["default",()=>T],936381)}]);
@@ -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)},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])},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])},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)},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)},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)},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)))}]);
@@ -0,0 +1,16 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},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)},352687,e=>{"use strict";var t=e.i(762281),s=e.i(935851);function r({isOpen:e,title:r,message:a,preview:l,confirmLabel:n="Confirm",cancelLabel:i="Cancel",variant:o="default",onConfirm:c,onCancel:d}){let u=(0,s.useRef)(null),x=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(e){let e=setTimeout(()=>u.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let m=(0,s.useCallback)(e=>{"Escape"===e.key&&d()},[d]);if(!e)return null;let h="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&&d(),onKeyDown:m,children:[(0,t.jsxs)("div",{ref:x,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:[h&&(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:r}),(0,t.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:a})]})]})}),l&&(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:["“",l,"”"]})}),(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:d,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:i}),(0,t.jsx)("button",{ref:u,onClick:c,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${h?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:n})]})]}),(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",()=>r])},807087,e=>{"use strict";let t=(0,e.i(363732).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>t],807087)},287472,e=>{"use strict";var t=e.i(935851);let s=new Map;function r(e){let t=s.get(e);return t?Date.now()-t.ts>3e5?(s.delete(e),null):t:null}function a(e){s.delete(e)}function l(e,l){let[n,i]=(0,t.useState)(!1),[o,c]=(0,t.useState)(!0),[d,u]=(0,t.useState)(null),[x,m]=(0,t.useState)({claude:!1,codex:!1,gemini:!1}),[h,p]=(0,t.useState)({}),f=(0,t.useRef)(null),g=`/api/trackers/${encodeURIComponent(e)}`,v=`${e}:${l}`,b=(0,t.useCallback)(async()=>{try{let e=await fetch(`${g}/mcp-setup`),t=await e.json();p(t.configured??{})}catch{}},[g]),j=(0,t.useCallback)(async()=>{if(!l)return i(!1),!1;let e=r(v);if(e)return i(e.connected),u(e.user),m(e.clis),p(e.mcpConfigured),c(!1),e.connected;try{var t;let e=`?projectId=${encodeURIComponent(l)}`,[r,a]=await Promise.all([fetch(`${g}/status${e}`),fetch(`${g}/mcp-setup`)]),n=await r.json(),o=await a.json(),c=n.clis??{claude:!1,codex:!1,gemini:!1},d=o.configured??{},x=n.user??null;return i(n.connected),u(x),m(c),p(d),t={connected:n.connected,user:x,clis:c,mcpConfigured:d},s.set(v,{...t,ts:Date.now()}),n.connected}catch{return i(!1),!1}finally{c(!1)}},[l,g,v]);(0,t.useEffect)(()=>{let e=r(v);e?(i(e.connected),u(e.user),m(e.clis),p(e.mcpConfigured),c(!1)):(c(!0),i(!1),u(null))},[e,l,v]),(0,t.useEffect)(()=>(j(),()=>{f.current&&clearInterval(f.current)}),[j]);let y=(0,t.useCallback)(()=>{l&&(a(v),window.open(`${g}/auth?projectId=${encodeURIComponent(l)}`,"_blank","noopener"),f.current&&clearInterval(f.current),f.current=setInterval(async()=>{a(v),await j()&&f.current&&(clearInterval(f.current),f.current=null)},2e3))},[l,g,v,j]),w=(0,t.useCallback)(async e=>{if(!l)return{ok:!1,error:"Missing projectId"};try{let t=await fetch(`${g}/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:l,accessToken:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to save token"}}return a(v),await j(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[l,g,v,j]);return{connected:n,loading:o,user:d,clis:x,mcpConfigured:h,connect:y,connectWithKey:w,disconnect:(0,t.useCallback)(async()=>{l&&(a(v),await fetch(`${g}/status?projectId=${encodeURIComponent(l)}`,{method:"DELETE"}),"github"===e&&Object.keys(sessionStorage).filter(e=>e.startsWith("github_")).forEach(e=>sessionStorage.removeItem(e)),i(!1),u(null))},[l,g,v,e]),configureMcp:(0,t.useCallback)(async e=>{try{let t=await fetch(`${g}/mcp-setup`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to configure MCP"}}return await b(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[g,b]),refresh:j}}e.s(["useTrackerConnection",()=>l])},711190,e=>{"use strict";let t=(0,e.i(363732).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",()=>t],711190)},637790,166735,e=>{"use strict";var t=e.i(363732);let s=(0,t.default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);e.s(["Key",()=>s],637790);let r=(0,t.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>r],166735)},202192,457242,e=>{"use strict";var t=e.i(762281),s=e.i(935851),r=e.i(807087),a=e.i(637790),l=e.i(166735),n=e.i(906724),i=e.i(741746),o=e.i(558201),c=e.i(711190),d=e.i(681619),u=e.i(929870),x=e.i(797167),m=e.i(203096);let h=(0,e.i(363732).default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);function p({projectId:e}){let[r,a]=(0,s.useState)([]),[l,i]=(0,s.useState)(!0),[o,c]=(0,s.useState)(null),[d,p]=(0,s.useState)(null),[f,g]=(0,s.useState)(!1),[v,b]=(0,s.useState)([]),[j,y]=(0,s.useState)(!1),[w,N]=(0,s.useState)(null),[k,C]=(0,s.useState)(""),[S,L]=(0,s.useState)("all"),[P,T]=(0,s.useState)(new Set),[$,A]=(0,s.useState)(!1),M=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/github/repos",{cache:"no-store"});if(!e.ok)throw Error("Failed to load repos");let t=await e.json();a(t.repos??[]),c(null)}catch{c("Failed to load repositories")}finally{i(!1)}},[]);(0,s.useEffect)(()=>{M()},[M]);let z=(0,s.useCallback)((e,t)=>`${e}/${t}`.toLowerCase(),[]),I=(0,s.useMemo)(()=>new Set(r.map(e=>z(e.owner,e.name))),[r,z]),E=(0,s.useCallback)(async()=>{if(g(!0),T(new Set),C(""),L("all"),!(v.length>0)){y(!0),N(null);try{let t=await fetch(`/api/github/user-repos?projectId=${encodeURIComponent(e)}`,{cache:"no-store"});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e?.error??"Failed to fetch repos")}let s=await t.json();b(s.repos??[])}catch(e){N(e instanceof Error?e.message:"Failed to fetch repos")}finally{y(!1)}}},[e,v.length]),R=()=>{g(!1)};(0,s.useEffect)(()=>{if(!f)return;let e=e=>{"Escape"===e.key&&R()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[f]);let F=(0,s.useMemo)(()=>{let e=[],t=[];for(let s of v)I.has(z(s.owner,s.name))?e.push(s):t.push(s);return[...e,...t]},[v,I,z]),O=(0,s.useMemo)(()=>{let e=k.trim().toLowerCase();return F.filter(t=>("public"!==S||!t.private)&&("private"!==S||!!t.private)&&(!e||t.fullName.toLowerCase().includes(e)||(t.description??"").toLowerCase().includes(e)))},[F,k,S]),D=(0,s.useMemo)(()=>O.filter(e=>!I.has(z(e.owner,e.name))),[O,I,z]),U=D.length>0&&D.every(e=>P.has(e.id)),K=async()=>{if(0!==P.size){A(!0);try{let e=v.filter(e=>P.has(e.id));await Promise.all(e.map(e=>fetch("/api/github/repos",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({owner:e.owner,name:e.name,defaultBranch:e.defaultBranch,private:e.private})}))),await M(),R()}finally{A(!1)}}},B=(0,s.useCallback)(async e=>{p(e);try{await fetch("/api/github/repos",{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({id:e})}),await M()}finally{p(null)}},[M]);return(0,t.jsxs)("div",{className:"w-full max-w-md space-y-4",children:[(0,t.jsxs)("div",{className:"border rounded-xl p-5 flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium",children:"Attached repositories"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Repos the local agent watches for PRs, reviews, and comments."})]}),(0,t.jsxs)("button",{type:"button",onClick:E,className:"text-xs px-2.5 py-1.5 rounded border hover:bg-accent inline-flex items-center gap-1",children:[(0,t.jsx)(u.Plus,{className:"w-3.5 h-3.5"}),"Add"]})]}),l?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(n.Loader2,{className:"w-4 h-4 animate-spin"}),"Loading repositories…"]}):o?(0,t.jsx)("p",{className:"text-sm text-destructive",children:o}):0===r.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No repositories attached yet."}):(0,t.jsx)("ul",{className:"divide-y",children:r.map(e=>(0,t.jsxs)("li",{className:"flex items-center justify-between py-2",children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("span",{className:"text-sm font-mono",children:[e.owner,"/",e.name]}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e.defaultBranch??"no default branch",e.private?" · private":" · public",e.accessRevoked?" · access revoked":""]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>B(e.id),disabled:d===e.id,className:"p-1.5 rounded hover:bg-accent disabled:opacity-50",title:"Remove",children:(0,t.jsx)(x.X,{className:"w-3.5 h-3.5"})})]},e.id))})]}),(0,t.jsxs)("div",{className:"border rounded-xl p-5 flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium",children:"Sync"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Pull the latest PRs, reviews, and comments for attached repos."})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>alert("Sync will run when worker is scheduled"),className:"text-xs px-3 py-1.5 rounded border hover:bg-accent inline-flex items-center gap-1.5",children:[(0,t.jsx)(m.RefreshCw,{className:"w-3.5 h-3.5"}),"Sync now"]})]}),f&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",onClick:R,children:(0,t.jsxs)("div",{className:"w-full max-w-3xl max-h-[90vh] flex flex-col rounded-xl border border-[var(--border)] bg-[var(--background)] text-[var(--foreground)] shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("header",{className:"px-6 py-5 border-b border-[var(--border)] flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-[var(--muted-foreground)] mb-1",children:[(0,t.jsx)("span",{children:"GitHub"}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:"Attach repositories"})]}),(0,t.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:"Select repositories"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] mt-1",children:"Pick the repos you want agx to track. Already-attached repos are pinned at the top."})]}),(0,t.jsx)("button",{onClick:R,className:"p-1.5 rounded hover:bg-[var(--item-hover-bg)] text-[var(--muted-foreground)]","aria-label":"Close",children:(0,t.jsx)(x.X,{className:"w-4 h-4"})})]}),(0,t.jsx)("div",{className:"px-6 py-4 flex-1 overflow-hidden flex flex-col",children:w?(0,t.jsx)("div",{className:"rounded-lg border border-[var(--status-failed-border)] bg-[var(--status-failed-bg)] text-[var(--status-failed)] px-4 py-3 text-sm",children:w}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-2 mb-3",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsxs)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--muted-foreground)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,t.jsx)("path",{d:"m21 21-4.3-4.3"})]}),(0,t.jsx)("input",{type:"text",value:k,onChange:e=>C(e.target.value),placeholder:"Search repositories...",className:"w-full pl-9 pr-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--input)] text-sm focus:outline-none focus:border-[var(--primary)] focus:bg-[var(--input-focus)] transition-colors"})]}),(0,t.jsx)("div",{className:"flex gap-1 rounded-lg border border-[var(--border)] p-1",children:["all","public","private"].map(e=>(0,t.jsx)("button",{onClick:()=>L(e),className:`px-3 py-1 text-xs rounded-md capitalize transition-colors ${S===e?"bg-[var(--primary)] text-[var(--primary-foreground)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:e},e))})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2 text-xs text-[var(--muted-foreground)]",children:[(0,t.jsxs)("button",{onClick:()=>{T(e=>{let t=new Set(e);return U?D.forEach(e=>t.delete(e.id)):D.forEach(e=>t.add(e.id)),t})},disabled:0===D.length,className:"hover:text-[var(--foreground)] transition-colors disabled:opacity-50",children:[U?"Deselect all":"Select all",k||"all"!==S?` (${D.length} shown)`:""]}),P.size>0&&(0,t.jsx)("button",{onClick:()=>T(new Set),className:"hover:text-[var(--foreground)] transition-colors",children:"Clear selection"})]}),(0,t.jsx)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--card-bg)] overflow-hidden flex-1 min-h-0",children:(0,t.jsx)("div",{className:"h-full overflow-y-auto",children:j?(0,t.jsx)("div",{className:"divide-y divide-[var(--border)]",children:Array.from({length:6}).map((e,s)=>(0,t.jsxs)("div",{className:"px-4 py-3 flex items-center gap-3 animate-pulse",children:[(0,t.jsx)("div",{className:"w-4 h-4 rounded bg-[var(--muted)]"}),(0,t.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--muted)]"}),(0,t.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,t.jsx)("div",{className:"h-3 w-1/3 rounded bg-[var(--muted)]"}),(0,t.jsx)("div",{className:"h-2 w-2/3 rounded bg-[var(--muted)]"})]})]},s))}):0===O.length?(0,t.jsx)("div",{className:"px-4 py-10 text-center text-sm text-[var(--muted-foreground)]",children:0===v.length?"No repositories found on your account.":"No repos match your search."}):(0,t.jsx)("ul",{className:"divide-y divide-[var(--border)]",children:O.map(e=>{let s=I.has(z(e.owner,e.name)),r=P.has(e.id);return(0,t.jsx)("li",{children:(0,t.jsxs)("label",{className:`flex items-start gap-3 px-4 py-3 transition-colors ${s?"bg-[var(--primary-muted)]/40 cursor-default":r?"bg-[var(--primary-muted)] cursor-pointer":"hover:bg-[var(--item-hover-bg)] cursor-pointer"}`,children:[s?(0,t.jsx)("div",{className:"mt-1 w-4 h-4 rounded-sm bg-[var(--primary)]/20 text-[var(--primary)] flex items-center justify-center",title:"Already attached",children:(0,t.jsx)(h,{className:"w-2.5 h-2.5"})}):(0,t.jsx)("input",{type:"checkbox",checked:r,onChange:()=>{!I.has(z(e.owner,e.name))&&T(t=>{let s=new Set(t);return s.has(e.id)?s.delete(e.id):s.add(e.id),s})},className:"mt-1 accent-[var(--primary)]"}),(0,t.jsx)("img",{src:e.avatarUrl,alt:"",className:"w-6 h-6 rounded-full mt-0.5 flex-shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)("span",{className:"text-sm font-medium truncate",children:e.fullName}),s&&(0,t.jsxs)("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded bg-[var(--primary)]/15 text-[var(--primary)] flex items-center gap-1",children:[(0,t.jsx)(h,{className:"w-2.5 h-2.5"}),"Attached"]}),e.private&&(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded bg-[var(--muted)] text-[var(--muted-foreground)]",children:"Private"})]}),e.description&&(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5 line-clamp-1",children:e.description}),(0,t.jsxs)("div",{className:"text-[11px] text-[var(--muted-foreground)] mt-0.5",children:["Updated ",function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"just now";let s=Math.floor(t/60);if(s<60)return`${s}m ago`;let r=Math.floor(s/60);if(r<24)return`${r}h ago`;let a=Math.floor(r/24);if(a<30)return`${a}d ago`;let l=Math.floor(a/30);return l<12?`${l}mo ago`:`${Math.floor(l/12)}y ago`}(e.updatedAt)]})]})]})},e.id)})})})})]})}),(0,t.jsxs)("footer",{className:"px-6 py-4 border-t border-[var(--border)] flex items-center justify-between gap-3",children:[(0,t.jsxs)("span",{className:"text-sm text-[var(--muted-foreground)]",children:[P.size," selected"]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{onClick:R,className:"px-4 py-2 rounded-lg border border-[var(--border)] hover:bg-[var(--item-hover-bg)] text-sm font-medium transition-colors",children:"Cancel"}),(0,t.jsx)("button",{onClick:K,disabled:0===P.size||$,className:"px-4 py-2 rounded-lg bg-[var(--primary)] hover:bg-[var(--primary-hover)] text-[var(--primary-foreground)] text-sm font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:$?"Attaching...":`Attach ${P.size} ${1===P.size?"repo":"repos"}`})]})]})]})})]})}e.s(["Pin",()=>h],457242);var f=e.i(352687);let g={claude:{name:"Claude Code",configPath:"~/.claude/settings.json"},codex:{name:"Codex CLI",configPath:"~/.codex/config.toml"},gemini:{name:"Gemini CLI",configPath:"~/.gemini/settings.json"}};function v({trackerType:e,projectId:u,connected:x,onConnect:m,onConnectWithKey:h,onDisconnect:v,loading:b=!1,clis:j,mcpConfigured:y,onConfigureMcp:w}){let[N,k]=s.default.useState(""),[C,S]=s.default.useState(null),[L,P]=s.default.useState(!1),[T,$]=s.default.useState(!1),[A,M]=s.default.useState(null),[z,I]=s.default.useState({}),[E,R]=s.default.useState(!1),F=async e=>{if(!w)return;M(e),I(t=>({...t,[e]:""}));let t=await w(e);t.ok||I(s=>({...s,[e]:t.error??"Failed to install MCP"})),M(null)},O=j?["claude","codex","gemini"].filter(e=>j[e]):["claude"];if(b)return(0,t.jsx)("div",{className:"flex items-center justify-center p-12",children:(0,t.jsx)(n.Loader2,{className:"animate-spin h-8 w-8 text-muted-foreground"})});if(x)return(0,t.jsxs)("div",{className:"p-8 flex flex-col items-center gap-6",children:[(0,t.jsxs)("div",{className:"w-full max-w-md p-8 border border-green-500/20 bg-green-500/5 rounded-2xl flex flex-col items-center gap-4 text-center",children:[(0,t.jsx)("div",{className:"h-16 w-16 rounded-full bg-green-500/10 flex items-center justify-center text-green-600 shadow-inner",children:(0,t.jsx)(r.CheckCircle2,{className:"h-8 w-8"})}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("h3",{className:"text-xl font-bold text-foreground capitalize",children:[e," Connected"]}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["Your ",e," tickets now live in AGX. Assign them to agents, review the work, and ship PRs from one window."]})]}),(0,t.jsxs)("div",{className:"mt-2 px-4 py-1.5 rounded-full bg-background border text-xs font-medium text-muted-foreground flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-green-500 animate-pulse"}),"Active Connection"]}),v&&(0,t.jsxs)("button",{onClick:()=>R(!0),className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors mt-1",children:[(0,t.jsx)(c.LogOut,{className:"h-3.5 w-3.5"}),"Disconnect"]})]}),"github"===e&&(0,t.jsx)(p,{projectId:u}),v&&(0,t.jsx)(f.default,{isOpen:E,title:`Disconnect ${e}?`,message:"github"===e?"This revokes the stored credentials. Your attached repositories and synced history stay — reconnecting will resume where you left off.":`This revokes the stored credentials for ${e}. Project settings and synced history stay.`,confirmLabel:"Disconnect",cancelLabel:"Cancel",variant:"danger",onConfirm:()=>{R(!1),v()},onCancel:()=>R(!1)}),"github"!==e&&O.length>0&&(0,t.jsx)("div",{className:"w-full max-w-md",children:(0,t.jsxs)("div",{className:"border rounded-xl p-5 flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Terminal,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:"MCP Server"})]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground leading-relaxed -mt-2",children:["Connect your ",e," workspace so your tickets show up in AGX and agents can work them through to a PR."]}),O.map(e=>{let s=g[e],a=y?.[e]??!1,l=A===e,o=z[e];return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:s.name}),a?(0,t.jsxs)("span",{className:"text-xs font-medium text-green-600 flex items-center gap-1",children:[(0,t.jsx)(r.CheckCircle2,{className:"h-3.5 w-3.5"}),"Installed"]}):(0,t.jsx)("button",{onClick:()=>F(e),disabled:l||!w,className:"flex items-center gap-1.5 px-3 py-1 bg-secondary text-secondary-foreground rounded-md text-xs font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:l?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Loader2,{className:"h-3 w-3 animate-spin"}),"Installing…"]}):(0,t.jsx)(t.Fragment,{children:"Install"})})]}),a&&(0,t.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:["Configured in ",(0,t.jsx)("code",{className:"font-mono",children:s.configPath})]}),o&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,t.jsx)(i.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),o]})]},e)})]})})]});let D=async()=>{if(N.trim()){$(!0),S(null);try{let e=await h(N.trim());e.ok?(k(""),P(!1)):S(e.error??"Failed to connect")}catch(e){S("An unexpected error occurred")}finally{$(!1)}}};return(0,t.jsxs)("div",{className:"flex flex-col items-center gap-6 p-8",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(d.TrackerIcon,{trackerType:e,className:"h-16 w-16"}),(0,t.jsx)("div",{className:"absolute -bottom-1 -right-1 h-6 w-6 rounded-full bg-background border flex items-center justify-center shadow-sm",children:(0,t.jsx)(l.Globe,{className:"h-3 w-3 text-muted-foreground"})})]}),(0,t.jsxs)("div",{className:"text-center space-y-2",children:[(0,t.jsxs)("h3",{className:"text-lg font-semibold capitalize",children:["Connect to ",e]}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground text-center max-w-sm leading-relaxed",children:["Link your ",e," account to import issues, track progress, and automate your workflow."]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 w-full max-w-xs pt-2",children:[(0,t.jsxs)("button",{onClick:m,className:"flex items-center justify-center gap-2 w-full px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-semibold hover:bg-primary/90 transition-all active:scale-[0.98] shadow-sm",children:[(0,t.jsx)(l.Globe,{className:"h-4 w-4"}),"Connect with OAuth"]}),(0,t.jsxs)("button",{onClick:()=>{P(!L),S(null)},className:"flex items-center justify-center gap-2 w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors font-medium",children:[(0,t.jsx)(a.Key,{className:"h-3.5 w-3.5"}),L?"Use OAuth instead":"github"===e?"Connect with Personal Access Token":"Connect with API key"]}),(0,t.jsx)("div",{className:`grid transition-all duration-300 ease-in-out ${L?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0 pointer-events-none"}`,children:(0,t.jsx)("div",{className:"overflow-hidden",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3 pt-2",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{type:"password",value:N,onChange:e=>{k(e.target.value),C&&S(null)},placeholder:"github"===e?"ghp_… or github_pat_…":"Paste your API key here",className:`w-full px-3 py-2 border rounded-lg text-sm bg-background transition-colors focus:outline-none focus:ring-2 focus:ring-primary/20 ${C?"border-destructive":"focus:border-primary"}`,onKeyDown:e=>"Enter"===e.key&&D()}),(0,t.jsx)(a.Key,{className:"absolute right-3 top-2.5 h-4 w-4 text-muted-foreground/50"})]}),C&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,t.jsx)(i.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("p",{children:C})]}),(0,t.jsx)("button",{onClick:D,disabled:T||!N.trim(),className:"flex items-center justify-center gap-2 w-full px-4 py-2 bg-secondary text-secondary-foreground rounded-lg text-sm font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:T?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Loader2,{className:"h-4 w-4 animate-spin"}),"Connecting..."]}):"Verify & Connect"}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground text-center px-2",children:"github"===e?"Fine-grained PAT recommended. Needs repo access + read on issues/pull requests.":`Your API key is stored securely and only used for ${e} integration.`})]})})})]})]})}e.s(["default",()=>v],202192)},108537,e=>{"use strict";var t=e.i(762281),s=e.i(935851),r=e.i(429056),a=e.i(807087),l=e.i(711190);let n=(0,e.i(363732).default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);var i=e.i(202192),o=e.i(906724);let c=/^[A-Z]{2,10}$/;function d({projectId:e,trackerType:s}){return"github"===s?null:(0,t.jsx)(u,{projectId:e})}function u({projectId:e}){let[r,a]=(0,s.useState)(""),[l,n]=(0,s.useState)(null),[i,d]=(0,s.useState)(!0),[u,x]=(0,s.useState)(null),[m,h]=(0,s.useState)(null),[p,f]=(0,s.useState)(!1),[g,v]=(0,s.useState)(null),[b,j]=(0,s.useState)(null),y=(0,s.useCallback)(async()=>{d(!0);try{let t=await fetch(`/api/projects/${e}`,{cache:"no-store"});if(!t.ok)throw Error("Failed to load project");let s=await t.json(),r=s.project?.identifier_prefix??null;n(r),a(r??""),x(null)}catch{x("Failed to load project settings")}finally{d(!1)}},[e]);(0,s.useEffect)(()=>{y()},[y]);let w=(0,s.useCallback)(e=>e?c.test(e)?null:"Must be 2-10 uppercase letters (e.g. TSK, AGX).":null,[]),N=(0,s.useCallback)(async t=>{f(!0),v(null);try{let s=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({identifier_prefix:t})});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e?.error??"Failed to save")}let r=await s.json(),l=r.project?.identifier_prefix??null;n(l),a(l??""),j(Date.now())}catch(e){v(e instanceof Error?e.message:"Failed to save")}finally{f(!1)}},[e]),k=(l??"")!==r.trim().toUpperCase();return(0,t.jsxs)("section",{className:"border border-zinc-200 dark:border-zinc-800 rounded-lg p-5 space-y-4 mx-6 mb-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-sm font-medium",children:"Task identifier prefix"}),(0,t.jsxs)("p",{className:"text-xs text-zinc-500 mt-0.5",children:["Used to identify tasks in branches, PR titles, and links (e.g."," ",(0,t.jsx)("span",{className:"font-mono",children:"TSK-42"}),"). Set once; existing tasks keep their current identifiers."]})]}),i?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-zinc-500",children:[(0,t.jsx)(o.Loader2,{className:"w-4 h-4 animate-spin"}),"Loading..."]}):u?(0,t.jsx)("p",{className:"text-sm text-red-500",children:u}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",value:r,onChange:e=>{a(e.target.value.toUpperCase()),h(null),v(null)},onBlur:e=>{h(w(e.target.value.trim().toUpperCase()))},placeholder:"TSK",maxLength:10,className:"w-40 px-2 py-1.5 text-sm font-mono rounded border border-zinc-300 dark:border-zinc-700 bg-transparent"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e=r.trim().toUpperCase(),t=w(e);t?h(t):(h(null),N(e||null))},disabled:p||!k||!!m,className:"text-xs px-3 py-1.5 rounded bg-zinc-900 text-white dark:bg-white dark:text-zinc-900 hover:opacity-90 disabled:opacity-50",children:p?"Saving...":"Save"}),l?(0,t.jsx)("button",{type:"button",onClick:()=>{h(null),N(null)},disabled:p,className:"text-xs px-3 py-1.5 rounded border border-zinc-300 dark:border-zinc-700 hover:bg-zinc-100 dark:hover:bg-zinc-800 disabled:opacity-50",children:"Clear"}):null]}),(0,t.jsxs)("p",{className:"text-xs text-zinc-500",children:["2-10 uppercase letters, matching"," ",(0,t.jsxs)("span",{className:"font-mono",children:["/^[A-Z]","{2,10}","$/"]}),"."]}),m&&(0,t.jsx)("p",{className:"text-xs text-red-500",children:m}),g&&(0,t.jsx)("p",{className:"text-xs text-red-500",children:g}),b&&!g&&!m&&(0,t.jsx)("p",{className:"text-xs text-emerald-600 dark:text-emerald-400",children:"Saved."})]})]})}var x=e.i(681619),m=e.i(524123),h=e.i(287472),p=e.i(235136);let f=[{type:"linear",label:"Linear"},{type:"jira",label:"Jira Cloud"},{type:"github",label:"GitHub"}];function g(){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[calc(100vh-3.5rem)] gap-8 p-8 -mt-7 animate-pulse",children:[(0,t.jsxs)("div",{className:"space-y-3 text-center flex flex-col items-center",children:[(0,t.jsx)("div",{className:"h-7 w-56 rounded-lg bg-muted"}),(0,t.jsx)("div",{className:"h-4 w-80 rounded bg-muted"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 w-full max-w-lg",children:[0,1].map(e=>(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 p-8 rounded-xl border border-border",children:[(0,t.jsx)("div",{className:"h-16 w-16 rounded-xl bg-muted"}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,t.jsx)("div",{className:"h-4 w-20 rounded bg-muted"}),(0,t.jsx)("div",{className:"h-3 w-24 rounded bg-muted"})]})]},e))})]})}function v(){return(0,t.jsxs)("div",{className:"flex flex-col items-center gap-6 p-8 animate-pulse",children:[(0,t.jsx)("div",{className:"h-16 w-16 rounded-xl bg-muted"}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 w-full max-w-sm",children:[(0,t.jsx)("div",{className:"h-5 w-40 rounded bg-muted"}),(0,t.jsx)("div",{className:"h-3 w-72 rounded bg-muted"}),(0,t.jsx)("div",{className:"h-3 w-56 rounded bg-muted"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 w-full max-w-xs pt-2",children:[(0,t.jsx)("div",{className:"h-10 w-full rounded-lg bg-muted"}),(0,t.jsx)("div",{className:"h-8 w-full rounded-lg bg-muted/60"})]})]})}function b({params:e}){let{slug:o}=(0,s.use)(e),{projects:c}=(0,m.useProjects)(),u=c.find(e=>e.slug===o),b=u?.id??"",{connections:j,defaultTracker:y,loading:w,removeConnection:N,setDefaultTracker:k}=(0,p.useTrackerConnections)(b),C=new Set(j.filter(e=>e.connected).map(e=>e.type)),S=C.size,[L,P]=(0,s.useState)(null),{connected:T,loading:$,connect:A,connectWithKey:M,disconnect:z,clis:I,mcpConfigured:E,configureMcp:R}=(0,h.useTrackerConnection)(L??"linear",b);return(0,t.jsx)("div",{className:"flex flex-col h-full bg-background",children:(0,t.jsx)("main",{className:"flex-1 overflow-auto",children:L?(0,t.jsx)("div",{className:"flex flex-col items-center px-6 py-12",children:(0,t.jsxs)("div",{className:"w-full max-w-2xl",children:[(0,t.jsxs)("button",{onClick:()=>P(null),className:"group flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground mb-8 transition-colors",children:[(0,t.jsx)(r.ArrowLeft,{className:"h-3 w-3 transition-transform group-hover:-translate-x-0.5"}),"Back to tracker picker"]}),(0,t.jsxs)("div",{className:"bg-card border rounded-xl shadow-sm overflow-hidden",children:[(0,t.jsx)("div",{className:"px-6 pt-8 pb-1 text-center",children:(0,t.jsxs)("h2",{className:"text-2xl font-semibold tracking-tight",children:["Connect ",f.find(e=>e.type===L)?.label??L]})}),$?(0,t.jsx)(v,{}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(i.default,{projectId:b,trackerType:L,connected:T,loading:!1,onConnect:A,onConnectWithKey:M,onDisconnect:()=>{z(),P(null)},clis:I,mcpConfigured:E,onConfigureMcp:R}),(0,t.jsx)(d,{projectId:b,trackerType:L??void 0})]})]})]})}):w?(0,t.jsx)(g,{}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[calc(100vh-3.5rem)] gap-8 p-8 -mt-7",children:[(0,t.jsxs)("div",{className:"space-y-2 text-center",children:[(0,t.jsx)("h2",{className:"text-2xl font-bold tracking-tight",children:"Connect Issue Tracker"}),(0,t.jsx)("p",{className:"text-muted-foreground max-w-md mx-auto",children:"Choose an issue tracker to connect to this project to enable issue tracking and agent workflows."})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 w-full max-w-lg",children:f.map(e=>{let s=C.has(e.type),r=y===e.type,i=s&&S>1&&!r&&"github"!==e.type;return(0,t.jsxs)("div",{className:"relative flex flex-col items-center gap-4 p-8 rounded-xl border transition-all duration-200 group cursor-pointer active:scale-[0.98] "+(s?r?"border-yellow-500/40 bg-yellow-500/5 hover:border-yellow-500/60 hover:bg-yellow-500/10":"border-green-500/20 bg-green-500/5 hover:border-green-500/40 hover:bg-green-500/10":"border-border hover:border-primary/50 hover:bg-accent/50 hover:shadow-md"),onClick:()=>P(e.type),children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(x.TrackerIcon,{trackerType:e.type,className:"h-16 w-16 transition-transform group-hover:scale-105"}),s&&(0,t.jsx)("div",{className:"absolute -top-1 -right-1 h-6 w-6 rounded-full bg-green-500 border-2 border-background flex items-center justify-center text-white shadow-sm",children:(0,t.jsx)(a.CheckCircle2,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,t.jsx)("span",{className:"text-base font-semibold",children:e.label}),s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-green-600",children:["Connected",r&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-full bg-yellow-500/10 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-yellow-700",children:[(0,t.jsx)(n,{className:"h-3 w-3 fill-yellow-500 text-yellow-500"}),"Default"]})]}):(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Click to connect"})]}),s&&(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1.5",children:[i&&(0,t.jsxs)("button",{onClick:t=>{t.stopPropagation(),k(e.type)},className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,t.jsx)(n,{className:"h-3.5 w-3.5"}),"Set as default"]}),(0,t.jsxs)("button",{onClick:t=>{t.stopPropagation(),N(e.type)},className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors",children:[(0,t.jsx)(l.LogOut,{className:"h-3.5 w-3.5"}),"Disconnect"]})]})]},e.type)})})]})})})}e.s(["default",()=>b],108537)}]);
@@ -0,0 +1 @@
1
+ .review-module__lz5SUa__root{--bg:var(--background);--bg-raised:var(--column-header-bg,var(--card-bg));--bg-card:var(--card-bg);--bg-inset:var(--background);--line:var(--card-border);--line-strong:var(--card-hover-border,var(--card-border));--fg:var(--foreground);--fg-dim:var(--muted-foreground);--fg-mute:var(--muted-foreground);--fg-ghost:var(--card-border);--accent:var(--primary);--accent-ink:var(--primary-foreground);--warm:var(--warning,#ce9178);--cool:var(--info,#569cd6);--danger:var(--destructive,#f44747);--add:var(--success,#6a9955);--add-bg:var(--success-muted,#6a99551a);--add-gut:#6a995538;--del:var(--destructive,#f44747);--del-bg:var(--destructive-muted,#f447471a);--del-gut:#f447473d;--font-sans:var(--font-inter-tight),ui-sans-serif,system-ui,sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,Menlo,monospace;background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;height:100%;min-height:0;display:flex}.review-module__lz5SUa__mono{font-family:var(--font-mono)}.review-module__lz5SUa__kbd{border:1px solid var(--line-strong);background:var(--bg-inset);min-width:16px;height:16px;color:var(--fg-mute);font-family:var(--font-mono);border-radius:3px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;display:inline-flex}.review-module__lz5SUa__btn{font-family:var(--font-mono);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;gap:7px;padding:5px 10px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.review-module__lz5SUa__btnPrimary{background:var(--accent);color:var(--accent-ink)}.review-module__lz5SUa__btnGhost{border-color:var(--line-strong);color:var(--fg-dim);background:0 0}.review-module__lz5SUa__btnGhost:hover{background:var(--bg-raised);color:var(--fg)}.review-module__lz5SUa__slim::-webkit-scrollbar{width:6px;height:6px}.review-module__lz5SUa__slim::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.review-module__lz5SUa__slim::-webkit-scrollbar-track{background:0 0}@keyframes review-module__lz5SUa__blip{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.review-module__lz5SUa__blip{animation:1.6s ease-in-out infinite review-module__lz5SUa__blip}.review-module__lz5SUa__reviewBody{flex:1;min-height:0;display:flex}.review-module__lz5SUa__leftCol{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.review-module__lz5SUa__midRow{flex:1;min-height:0;display:flex}.review-module__lz5SUa__rightPane{flex:none;min-width:0;min-height:0;display:flex}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,292135,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"warnOnce",{enumerable:!0,get:function(){return r}});let r=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 a(e,r={}){let[s,n]=(0,t.useState)([]),[l,o]=(0,t.useState)(!0),[i,c]=(0,t.useState)(null),d=(0,t.useRef)(!1),u=r.requireProjectId??!1,h=r.includeObjectiveJobs??!1,p=r.objectiveId?.trim()||null,m=(0,t.useCallback)(async()=>{if(u&&!e){n([]),c(null),o(!1),d.current=!0;return}try{d.current||o(!0);let t=new URLSearchParams;e&&t.set("projectId",e),p&&t.set("objectiveId",p),h&&t.set("includeObjectiveJobs","true");let a=t.toString(),r=await fetch(`/api/prompt-jobs${a?`?${a}`:""}`);if(!r.ok)throw Error(`Failed to fetch: ${r.status}`);let s=await r.json();n(s.jobs??[]),c(null)}catch(e){c(e instanceof Error?e.message:String(e))}finally{o(!1),d.current=!0}},[h,p,e,u]);(0,t.useEffect)(()=>{d.current=!1,m();let e=setInterval(m,1e4);return()=>clearInterval(e)},[m]);let f=(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:a}=await t.json();return await m(),a?.id??null},[m]),x=(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/prompt-jobs/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return a.ok&&await m(),a.ok},[m]),g=(0,t.useCallback)(async e=>{let t=await fetch(`/api/prompt-jobs/${e}`,{method:"DELETE"});if(t.ok)return await m(),{ok:!0};let a=await t.json().catch(()=>({}));return{ok:!1,error:a.error||a.message||`Failed to delete scheduled task (${t.status})`}},[m]),v=(0,t.useCallback)(async e=>{let t="active"===e.state?"paused":"active",a=await fetch(`/api/prompt-jobs/${e.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({state:t})});return a.ok&&await m(),a.ok},[m]),b=(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:l,error:i,refresh:m,createJob:f,updateJob:x,deleteJob:g,toggleJob:v,runNow:b,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",()=>a])},563975,e=>{"use strict";var t=e.i(762281),a=e.i(935851),r=e.i(506420),s=e.i(429056),n=e.i(169729),l=e.i(468947),o=e.i(721571),i=e.i(524780),c=e.i(716436),d=e.i(715908);let u=new Set(["spawning","running"]);function h(e,t){if(!e)return{name:"Unknown",color:"#6B7280"};let a=t.find(t=>t.id===e);return a?{name:a.name,color:a.color}:{name:e.slice(0,8),color:"#6B7280"}}var p=e.i(44054),m=e.i(884564);let f={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 x({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 g({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)(x,{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 ${f[e.source]??f.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 a=Math.floor(t/6e4);if(a<60)return`${a}m ago`;let r=Math.floor(a/60);return`${r}h ago`}(e.startedAt)})]})]})}function v({items:e,onClose:r}){let s=(0,a.useRef)(null);(0,a.useEffect)(()=>{let e=e=>{s.current&&!s.current.contains(e.target)&&r()},t=setTimeout(()=>document.addEventListener("pointerdown",e),0);return()=>{clearTimeout(t),document.removeEventListener("pointerdown",e)}},[r]);let n=e.filter(e=>"running"===e.status||"queued"===e.status),l=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)(g,{item:e},e.id))]}),l.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"})}),l.map(e=>(0,t.jsx)(g,{item:e},e.id))]})]})})}function b({projectId:e,participants:r}){let{isTouchLayout:s}=(0,p.useInputCapabilities)(),{items:n,activeCount:l}=function(e,t){let[r,s]=(0,a.useState)([]),n=(0,a.useRef)(null),l=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/processes");if(!e.ok)return;let t=await e.json();s(t)}catch{}},[]);(0,a.useEffect)(()=>(l(),n.current=setInterval(l,5e3),()=>{n.current&&clearInterval(n.current)}),[l]);let{jobs:o}=(0,d.usePromptJobs)(e),{automations:i}=function(){let[e,t]=(0,a.useState)([]),[r,s]=(0,a.useState)(!0),[n,l]=(0,a.useState)(null),o=(0,a.useCallback)(async()=>{try{s(!0);let e=await fetch("/api/automations");if(!e.ok)throw Error(`Failed to fetch: ${e.status}`);let a=await e.json();t(a.automations??[]),l(null)}catch(e){l(e instanceof Error?e.message:String(e))}finally{s(!1)}},[]);(0,a.useEffect)(()=>{o();let e=setInterval(o,1e4);return()=>clearInterval(e)},[o]);let i=(0,a.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 o(),t.ok},[o]),c=(0,a.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 o(),t.ok},[o]),d=(0,a.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}/graph/schedule`,{method:"DELETE"});return t.ok&&await o(),t.ok},[o]),u=(0,a.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 o(),{ok:!0};let a=await t.json().catch(()=>({}));return await o(),{ok:!1,skipReason:a.skipReason}},[o]);return{automations:e,loading:r,error:n,refresh:o,pauseSchedule:i,resumeSchedule:c,deleteSchedule:d,runNow:u}}(),c=(0,a.useMemo)(()=>{let a=Date.now()-36e5,s=[];for(let l of r){var n;if(e&&l.projectSlug!==e)continue;let r=(n=l.state,u.has(n)?"running":"done"===n?"completed":"error"===n||"killed"===n?"failed":"completed");if("running"!==r&&l.startedAt<a)continue;let{name:o,color:i}=h(l.agentId,t);s.push({id:`proc-${l.id}`,agentId:l.agentId,agentName:o,agentColor:i,type:l.threadId?"chat-run":"process",title:l.threadId?"Chat response":"Agent process",source:l.threadId?"Chat":"Daemon",status:r,startedAt:l.startedAt,durationMs:l.lastActivity-l.startedAt})}for(let r of o){if(e&&r.projectId!==e)continue;let n="running"===r.lastOutcome||"queued"===r.lastOutcome,l=r.lastRunAt??0;if(!n&&l<a)continue;let o=n?"queued"===r.lastOutcome?"queued":"running":"success"===r.lastOutcome?"completed":"failed"===r.lastOutcome?"failed":"completed",{name:i,color:c}=h(r.agentId,t);s.push({id:`job-${r.id}`,agentId:r.agentId,agentName:i,agentColor:c,type:"prompt-job",title:r.name,source:"Scheduled Task",status:o,startedAt:l,durationMs:null})}for(let t of i){if(e&&t.projectId!==e)continue;let r="running"===t.executionState,n=new Date(t.updatedAt).getTime();(r||!(n<a))&&s.push({id:`auto-${t.taskId}`,agentId:null,agentName:t.title,agentColor:"#7C3AED",type:"automation",title:t.title,source:"Automation",status:r?"running":"completed",startedAt:n,durationMs:null})}return s.sort((e,t)=>{let a=+("running"===e.status||"queued"===e.status),r=+("running"===t.status||"queued"===t.status);return a!==r?r-a:t.startedAt-e.startedAt}),s},[r,o,i,t,e]),p=(0,a.useMemo)(()=>c.filter(e=>"running"===e.status||"queued"===e.status).length,[c]);return{items:c,activeCount:p}}(e,r),[o,i]=(0,a.useState)(!1),m=(0,a.useCallback)(()=>i(!1),[]);return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>i(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"}),l>0&&(0,t.jsx)("span",{className:"absolute top-0 right-0 h-2 w-2 rounded-full bg-emerald-400 animate-pulse"})]}),o&&(0,t.jsx)(v,{items:n,onClose:m})]})}var j=e.i(51297);let w=(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),y=e.i(906724),N=e.i(597628),S=e.i(8707),C=e.i(938201),T=e.i(572665),A=e.i(797167);function I({projectId:e}){let{isTouchLayout:s}=(0,p.useInputCapabilities)(),n=(0,r.useRouter)(),l=(0,r.usePathname)(),o=(0,a.useRef)(null),i=(0,a.useRef)(null),[c,d]=(0,a.useState)(""),[u,h]=(0,a.useState)([]),[m,f]=(0,a.useState)(0),[x,g]=(0,a.useState)(!1),[v,b]=(0,a.useState)(null),[I,$]=(0,a.useState)(!1),[E,P]=(0,a.useState)(0),[M,O]=(0,a.useState)(new Set),R=c.trim(),L=(0,a.useMemo)(()=>u.map(e=>({...e,visibleResults:M.has(e.id)?e.results:e.results.slice(0,3),hiddenCount:Math.max(0,e.results.length-3)})),[M,u]),D=(0,a.useMemo)(()=>L.flatMap(e=>e.visibleResults),[L]),J=(0,a.useMemo)(()=>D.map(e=>`${e.kind}:${e.id}`),[D]),U=(0,a.useCallback)(()=>{d(""),h([]),f(0),b(null),g(!1),P(0)},[]),q=(0,a.useCallback)(e=>{U(),$(!1),n.push(e.href)},[U,n]);(0,a.useEffect)(()=>{U(),$(!1),O(new Set)},[U,l]),(0,a.useEffect)(()=>{let e=e=>{o.current?.contains(e.target)||$(!1)};return window.addEventListener("pointerdown",e),()=>window.removeEventListener("pointerdown",e)},[]),(0,a.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()&&(e.preventDefault(),i.current?.focus(),i.current?.select())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,a.useEffect)(()=>{I&&P(0)},[I,u]),(0,a.useEffect)(()=>{if(!R||R.length<2){h([]),f(0),b(null),g(!1),O(new Set);return}let t=!1;g(!0);let a=window.setTimeout(()=>{(async()=>{try{let a=new URLSearchParams({q:R}),r=await fetch(`/api/projects/${encodeURIComponent(e)}/search?${a.toString()}`,{cache:"no-store"}),s=await r.json().catch(()=>null);if(t)return;if(!r.ok){let e=s&&"object"==typeof s&&"error"in s?String(s.error):"Search failed";h([]),f(0),b(e);return}h(Array.isArray(s.sections)?s.sections:[]),f("number"==typeof s.total?s.total:0),b(null),O(new Set)}catch(e){if(t)return;console.error("Project search failed",e),h([]),f(0),b("Search failed")}finally{t||g(!1)}})()},220);return()=>{t=!0,window.clearTimeout(a)}},[R,e]);let W=I&&(R.length>0||x||null!==v),F=D.length>0?D[Math.max(0,Math.min(E,D.length-1))]:null,_=(0,a.useCallback)(e=>{O(t=>{let a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a})},[]);return(0,t.jsxs)("div",{ref:o,className:"relative w-full max-w-xl",children:[(0,t.jsxs)("div",{className:"group/search relative",children:[(0,t.jsx)(S.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:i,type:"text",value:c,onFocus:()=>$(!0),onChange:e=>{d(e.target.value),$(!0)},onKeyDown:e=>{if("ArrowDown"===e.key&&D.length>0){e.preventDefault(),P(e=>(e+1)%D.length);return}if("ArrowUp"===e.key&&D.length>0){e.preventDefault(),P(e=>(e-1+D.length)%D.length);return}if("Enter"===e.key&&F){e.preventDefault(),q(F);return}"Escape"===e.key&&(R?U():($(!1),i.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)]"}),R?(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:x?"…":m}),(0,t.jsx)("button",{type:"button",onClick:()=>{U(),i.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)(A.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"})]}),W?(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:[R.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,x?(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)(y.Loader2,{className:"h-4 w-4 animate-spin"}),"Searching this project…"]}):null,!x&&v?(0,t.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-rose-500",children:v}):null,x||v||!(R.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."}),!x&&!v&&L.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:()=>_(e.id),className:"text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:M.has(e.id)?"Collapse":`Show ${e.hiddenCount} more`}):null]}),(0,t.jsx)("div",{className:"space-y-1",children:e.visibleResults.map(e=>{let a,r,s=`${e.kind}:${e.id}`,n=J.findIndex(e=>e===s),l=n===E,o=function(e){switch(e){case"objective":return C.Target;case"linear_issue":return k.FileText;case"scheduled_task":return w;case"team":return T.Users;case"agent":return j.Bot;case"chat_thread":case"chat_message":return N.MessageSquare;default:return S.Search}}(e.kind);return(0,t.jsxs)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>P(n),onClick:()=>q(e),className:`flex w-full items-start gap-3 rounded-xl px-3 py-2.5 text-left transition-colors ${l?"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)(o,{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:(a=e.description.split(/(<\/?mark>)/g),r=!1,a.map((e,a)=>"<mark>"===e?(r=!0,null):"</mark>"===e?(r=!1,null):e?r?(0,t.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5 text-inherit",children:e},`mark-${a}`):(0,t.jsx)("span",{children:e},`text-${a}`):null))}):null]})]},s)})})]},e.id))]})}):null]})}var $=e.i(749410),E=e.i(524123),P=e.i(969039),M=e.i(235136);let O={home:!0,threads:!0,terminal:!0,objectives:!0,objectivesIsNew:!1,tracking:!0,teams:!0,folders:!0,scheduledTasks:!0,envVars:!0,notifications:!0};var R=e.i(481248),L=e.i(169433);let D="agx-theme";function J({children:e,params:c}){let{slug:d}=(0,a.use)(c),{isTouchLayout:u}=(0,p.useInputCapabilities)(),h=(0,r.useRouter)(),m=(0,r.usePathname)(),{projects:f,isLoading:x,createProject:g,updateProject:v,deleteProject:j,addAgent:w,removeAgent:k}=(0,E.useProjectsWithAgents)(),{threads:y,isLoading:N,isCreating:S,deletingThreadId:C,renamingThreadId:T,isRestoringActiveThread:A,createThread:J,renameThread:U,deleteThread:q}=(0,P.useThreadState)(),[W,F]=(0,a.useState)([]),[_,z]=(0,a.useState)(!1),[H,K]=(0,a.useState)(368),[B,V]=(0,a.useState)(()=>{let e=window.localStorage.getItem(D);return"dark"===e||"light"===e?e:document.documentElement.classList.contains("dark")?"dark":"light"});(0,a.useEffect)(()=>{z((0,R.loadWorkspaceSidebarVisible)()),K((0,L.loadWorkspaceWidth)()||368)},[]),(0,a.useEffect)(()=>{let e="dark"===B;document.documentElement.classList.toggle("dark",e),document.documentElement.style.colorScheme=B,window.localStorage.setItem(D,B)},[B]),(0,a.useEffect)(()=>{fetch("/api/participants").then(e=>e.json()).then(e=>F(Array.isArray(e)?e:[])).catch(()=>F([]))},[]);let X=(0,a.useMemo)(()=>f.find(e=>e.slug===d)??null,[f,d]),G=(0,a.useMemo)(()=>{let e=m.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return e?.[1]?decodeURIComponent(e[1]):X?.thread_ids[0]??null},[X?.thread_ids,m]),Q=(0,a.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:Y,trackerConnections:Z}=function(e){let{connections:t,loading:r}=(0,M.useTrackerConnections)(e?.id??null);return(0,a.useMemo)(()=>{let e=t.map(e=>({type:e.type,connected:e.connected,connectedAt:e.connectedAt}));return r?{stage:"stage1",loading:!0,show:{...O},trackerConnections:[]}:{stage:"stage4",loading:!1,show:{...O},trackerConnections:e}},[r,t])}(X),ee=()=>{let e=!_;z(e),(0,R.persistWorkspaceSidebarVisible)(e)},et=(0,a.useCallback)(e=>{K(e),(0,L.persistWorkspaceWidth)(e)},[]);return x?(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"})}):X?(0,t.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,t.jsx)($.WorkspaceSidebar,{threads:y,participants:W,activeThreadId:G,isLoading:N,isRestoringActiveThread:A,isCreating:S,deletingThreadId:C,renamingThreadId:T,onSelectThread:e=>h.push(`/projects/${d}/thread/${encodeURIComponent(e)}`),onCreateThread:J,onRenameThread:U,onDeleteThread:q,visible:_,onToggle:ee,width:H,onWidthChange:et,projects:f,onCreateProject:g,onUpdateProject:v,onDeleteProject:j,onAddAgentToProject:w,onRemoveAgentFromProject:k,activeProjectId:X.id,activeProjectView:Q,stageShow:Y,trackerConnections:Z,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 a=await t.json();F(e=>e.map(e=>e.id===a.id?a:e))},onSelectProject:e=>{let t=f.find(t=>t.id===e);t&&h.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:[!_&&(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:()=>h.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:()=>h.push(`/projects/${d}`),className:`text-xs transition-colors ${"home"===Q?"text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:X.name}),"home"!==Q&&(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:()=>h.push(`/projects/${d}/${"thread"===Q?"":Q}`),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"}[Q]??Q}),(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:X.id})}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,t.jsx)(i.StatusIndicator,{}),(0,t.jsx)(b,{projectId:X.id,participants:W}),(0,t.jsx)("button",{type:"button",onClick:()=>V(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)(l.Sun,{className:u?"h-4 w-4":"h-3.5 w-3.5"}):(0,t.jsx)(o.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:()=>h.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 U({children:e,params:r}){return(0,t.jsx)(a.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)(J,{params:r,children:e})})}e.s(["default",()=>U],563975)}]);