@mndrk/agx 2.4.4 → 2.4.6

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 (1311) hide show
  1. package/README.md +14 -17
  2. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +17 -0
  4. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +6 -6
  5. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +27 -3
  6. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +114 -1
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page/build-manifest.json +4 -4
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page/build-manifest.json +4 -4
  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 +2 -2
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  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 +2 -2
  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 +2 -2
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page/build-manifest.json +4 -4
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/pull/route.js +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/pull/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +3 -3
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +3 -3
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/skills/route.js +4 -4
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/skills/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +5 -4
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/audit/route.js +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/audit/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +4 -4
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +2 -2
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +12 -11
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/active-agents/route.js +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/active-agents/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/route.js +1 -1
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/domains/[id]/route.js +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/domains/[id]/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/domains/route.js +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/domains/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/browse/route.js +1 -1
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/pick-folder/route.js +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/pick-folder/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route/app-paths-manifest.json +3 -0
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route/build-manifest.json +11 -0
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route/server-reference-manifest.json +4 -0
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route.js +7 -0
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route.js.map +5 -0
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route.js.nft.json +1 -0
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/issues/route_client-reference-manifest.js +2 -0
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route/app-paths-manifest.json +3 -0
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route/build-manifest.json +11 -0
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route/server-reference-manifest.json +4 -0
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route.js +7 -0
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route.js.map +5 -0
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route.js.nft.json +1 -0
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/context/route_client-reference-manifest.js +2 -0
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route/app-paths-manifest.json +3 -0
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route/build-manifest.json +11 -0
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route/server-reference-manifest.json +4 -0
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route.js +7 -0
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route.js.map +5 -0
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route.js.nft.json +1 -0
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/for-target/route_client-reference-manifest.js +2 -0
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route/app-paths-manifest.json +3 -0
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route/build-manifest.json +11 -0
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route/server-reference-manifest.json +4 -0
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route.js +7 -0
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route.js.map +5 -0
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route.js.nft.json +1 -0
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/link/route_client-reference-manifest.js +2 -0
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route/app-paths-manifest.json +3 -0
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route/build-manifest.json +11 -0
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route/server-reference-manifest.json +4 -0
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route.js +7 -0
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route.js.map +5 -0
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route.js.nft.json +1 -0
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/route_client-reference-manifest.js +2 -0
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route/app-paths-manifest.json +3 -0
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route/build-manifest.json +11 -0
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route/server-reference-manifest.json +4 -0
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route.js +7 -0
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route.js.map +5 -0
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route.js.nft.json +1 -0
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/prs/seed/route_client-reference-manifest.js +2 -0
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route/app-paths-manifest.json +3 -0
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route/build-manifest.json +11 -0
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route/server-reference-manifest.json +4 -0
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route.js +7 -0
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route.js.map +5 -0
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route.js.nft.json +1 -0
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/route_client-reference-manifest.js +2 -0
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route/app-paths-manifest.json +3 -0
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route/build-manifest.json +11 -0
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route/server-reference-manifest.json +4 -0
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route.js +9 -0
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route.js.map +5 -0
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route.js.nft.json +1 -0
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/repos/sync/route_client-reference-manifest.js +2 -0
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/user-repos/route/app-paths-manifest.json +3 -0
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/user-repos/route/build-manifest.json +11 -0
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/user-repos/route/server-reference-manifest.json +4 -0
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/user-repos/route.js +7 -0
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/user-repos/route.js.map +5 -0
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/user-repos/route.js.nft.json +1 -0
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/api/github/user-repos/route_client-reference-manifest.js +2 -0
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/api/health/route.js +3 -3
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/api/health/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/api/history/route.js +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/api/history/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/api/knowledge-notes/route.js +2 -2
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/api/learnings/route.js +3 -3
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/api/learnings/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/api/memories/route.js +2 -2
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/api/memories/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/api/messages/[id]/route.js +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +2 -2
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +4 -4
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +3 -3
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +6 -4
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/api/processes/route.js +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/api/processes/route.js.nft.json +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/route.js +4 -4
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/unassigned/route.js +4 -4
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/unassigned/route.js.nft.json +1 -1
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v1/route.js +3 -3
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v2/route.js +3 -3
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +5 -5
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +6 -6
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +6 -6
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +3 -3
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +12 -12
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +6 -6
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +13 -13
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +8 -8
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +8 -8
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/skills/route.js +4 -4
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/agents/route.js +4 -4
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/agents/route.js.nft.json +1 -1
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/route.js +4 -4
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/route.js.nft.json +1 -1
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/export/route.js +5 -5
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/export/route.js.nft.json +1 -1
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/import/route.js +5 -5
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/import/route.js.nft.json +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js +3 -4
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/threads/route.js +4 -4
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/[key]/route.js +4 -4
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/[key]/route.js.nft.json +1 -1
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/route.js +4 -4
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/[entryId]/route/app-paths-manifest.json +3 -0
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/[entryId]/route/build-manifest.json +11 -0
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/[entryId]/route/server-reference-manifest.json +4 -0
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/[entryId]/route.js +11 -0
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/[entryId]/route.js.map +5 -0
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/[entryId]/route.js.nft.json +1 -0
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/[entryId]/route_client-reference-manifest.js +2 -0
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/route/app-paths-manifest.json +3 -0
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/route/build-manifest.json +11 -0
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/route/server-reference-manifest.json +4 -0
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/route.js +11 -0
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/route.js.map +5 -0
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/route.js.nft.json +1 -0
  234. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/route_client-reference-manifest.js +2 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +4 -4
  236. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
  237. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +3 -3
  238. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  239. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +3 -3
  240. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  241. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +3 -3
  242. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  243. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/agents/route.js +4 -4
  244. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  245. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +13 -13
  246. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +3 -3
  248. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  249. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js +1 -1
  250. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  251. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js +1 -1
  252. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  253. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/complete/route.js +4 -4
  254. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  255. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +5 -5
  256. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  257. package/cloud-runtime/standalone/apps/local/.next/server/app/api/reactions/route.js +1 -1
  258. package/cloud-runtime/standalone/apps/local/.next/server/app/api/reactions/route.js.nft.json +1 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +11 -11
  260. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +9 -9
  262. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  263. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +4 -4
  264. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  265. package/cloud-runtime/standalone/apps/local/.next/server/app/api/search/route.js +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/app/api/search/route.js.nft.json +1 -1
  267. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js +2 -2
  268. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  269. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  271. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js +1 -1
  272. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js +1 -1
  274. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  275. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js +2 -2
  276. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  277. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js +1 -1
  278. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  279. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js +2 -2
  280. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  281. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js +1 -1
  282. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  283. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js +3 -3
  284. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/app/api/system/db-status/route.js +1 -1
  286. package/cloud-runtime/standalone/apps/local/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  287. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/route.js +2 -2
  288. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/route.js.nft.json +1 -1
  289. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/tasks/route.js +2 -2
  290. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/tasks/route.js.nft.json +1 -1
  291. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route.js +2 -2
  292. package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route.js.nft.json +1 -1
  293. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +3 -3
  294. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  295. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js +4 -4
  296. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  297. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/costs/route.js +3 -3
  298. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  299. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/dependencies/route.js +3 -3
  300. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  301. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js +7 -7
  302. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  303. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js +7 -7
  304. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  305. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js +7 -7
  306. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  307. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  309. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js +7 -7
  310. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  311. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -4
  312. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  313. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -4
  314. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  315. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js +7 -7
  316. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  317. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js +8 -8
  318. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  319. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js +7 -7
  320. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  321. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -4
  322. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  323. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  324. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  325. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  326. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  327. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/history/route.js +3 -3
  328. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  329. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js +5 -5
  330. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  331. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +4 -4
  332. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  333. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -7
  334. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  335. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -7
  336. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  337. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +5 -5
  338. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +5 -5
  340. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -7
  342. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  343. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -8
  344. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  345. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js +3 -3
  346. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  347. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/assign-orphans/route.js +3 -3
  348. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  349. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +6 -6
  350. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  351. package/cloud-runtime/standalone/apps/local/.next/server/app/api/teams/templates/route/app-paths-manifest.json +3 -0
  352. package/cloud-runtime/standalone/apps/local/.next/server/app/api/teams/templates/route/build-manifest.json +11 -0
  353. package/cloud-runtime/standalone/apps/local/.next/server/app/api/teams/templates/route/server-reference-manifest.json +4 -0
  354. package/cloud-runtime/standalone/apps/local/.next/server/app/api/teams/templates/route.js +7 -0
  355. package/cloud-runtime/standalone/apps/local/.next/server/app/api/teams/templates/route.js.map +5 -0
  356. package/cloud-runtime/standalone/apps/local/.next/server/app/api/teams/templates/route.js.nft.json +1 -0
  357. package/cloud-runtime/standalone/apps/local/.next/server/app/api/teams/templates/route_client-reference-manifest.js +2 -0
  358. package/cloud-runtime/standalone/apps/local/.next/server/app/api/thread-export/route.js +1 -1
  359. package/cloud-runtime/standalone/apps/local/.next/server/app/api/thread-export/route.js.nft.json +1 -1
  360. package/cloud-runtime/standalone/apps/local/.next/server/app/api/thread-repos/route.js +1 -1
  361. package/cloud-runtime/standalone/apps/local/.next/server/app/api/thread-repos/route.js.nft.json +1 -1
  362. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +3 -3
  363. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  364. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +3 -3
  365. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  366. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route.js +1 -1
  367. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route.js.nft.json +1 -1
  368. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js +4 -3
  369. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js.nft.json +1 -1
  370. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js +4 -3
  371. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js.nft.json +1 -1
  372. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js +4 -3
  373. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js.nft.json +1 -1
  374. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js +4 -3
  375. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js.nft.json +1 -1
  376. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js +7 -5
  377. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -1
  378. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js +5 -4
  379. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js.nft.json +1 -1
  380. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js +4 -3
  381. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js.nft.json +1 -1
  382. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js +1 -1
  383. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js.nft.json +1 -1
  384. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js +1 -1
  385. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js.nft.json +1 -1
  386. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js +7 -6
  387. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js.nft.json +1 -1
  388. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js +1 -1
  389. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js.nft.json +1 -1
  390. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js +1 -1
  391. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js.nft.json +1 -1
  392. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js +4 -3
  393. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js.nft.json +1 -1
  394. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js +4 -3
  395. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js.nft.json +1 -1
  396. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js +5 -4
  397. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js.nft.json +1 -1
  398. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js +4 -3
  399. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -1
  400. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js +1 -1
  401. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js.nft.json +1 -1
  402. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js +4 -3
  403. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -1
  404. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js +6 -5
  405. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.nft.json +1 -1
  406. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js +4 -3
  407. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.nft.json +1 -1
  408. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js +8 -7
  409. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.nft.json +1 -1
  410. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js +6 -5
  411. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js.nft.json +1 -1
  412. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js +1 -1
  413. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -1
  414. package/cloud-runtime/standalone/apps/local/.next/server/app/api/upload/route.js +1 -1
  415. package/cloud-runtime/standalone/apps/local/.next/server/app/api/upload/route.js.nft.json +1 -1
  416. package/cloud-runtime/standalone/apps/local/.next/server/app/api/user-settings/route.js +3 -3
  417. package/cloud-runtime/standalone/apps/local/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  418. package/cloud-runtime/standalone/apps/local/.next/server/app/api/userPreferences/route.js +1 -1
  419. package/cloud-runtime/standalone/apps/local/.next/server/app/api/userPreferences/route.js.nft.json +1 -1
  420. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/[id]/route/app-paths-manifest.json +3 -0
  421. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/[id]/route/build-manifest.json +11 -0
  422. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/[id]/route/server-reference-manifest.json +4 -0
  423. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/[id]/route.js +8 -0
  424. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/[id]/route.js.map +5 -0
  425. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -0
  426. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +2 -0
  427. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/route/app-paths-manifest.json +3 -0
  428. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/route/build-manifest.json +11 -0
  429. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/route/server-reference-manifest.json +4 -0
  430. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/route.js +8 -0
  431. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/route.js.map +5 -0
  432. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/route.js.nft.json +1 -0
  433. package/cloud-runtime/standalone/apps/local/.next/server/app/api/webhooks/route_client-reference-manifest.js +2 -0
  434. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  435. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  436. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  437. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  438. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  439. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  440. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  441. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page/app-paths-manifest.json +3 -0
  442. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page/build-manifest.json +18 -0
  443. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page/next-font-manifest.json +11 -0
  444. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page/react-loadable-manifest.json +1 -0
  445. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page/server-reference-manifest.json +4 -0
  446. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page.js +15 -0
  447. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page.js.map +5 -0
  448. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page.js.nft.json +1 -0
  449. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page_client-reference-manifest.js +2 -0
  450. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.html +13 -0
  451. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.meta +17 -0
  452. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.rsc +24 -0
  453. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_full.segment.rsc +24 -0
  454. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_head.segment.rsc +5 -0
  455. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_index.segment.rsc +10 -0
  456. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_tree.segment.rsc +5 -0
  457. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos/__PAGE__.segment.rsc +9 -0
  458. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos.segment.rsc +4 -0
  459. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github.segment.rsc +4 -0
  460. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations.segment.rsc +4 -0
  461. package/cloud-runtime/standalone/apps/local/.next/server/app/page/build-manifest.json +4 -4
  462. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
  463. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  464. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  465. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/build-manifest.json +4 -4
  466. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
  467. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  468. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  469. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page/build-manifest.json +4 -4
  470. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
  471. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  472. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  473. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +4 -4
  474. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +1 -1
  475. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  476. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  477. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
  478. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
  479. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  480. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  481. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page/app-paths-manifest.json +3 -0
  482. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page/build-manifest.json +18 -0
  483. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page/next-font-manifest.json +11 -0
  484. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page/react-loadable-manifest.json +1 -0
  485. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page/server-reference-manifest.json +4 -0
  486. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js +16 -0
  487. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js.map +5 -0
  488. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js.nft.json +1 -0
  489. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page_client-reference-manifest.js +2 -0
  490. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page/build-manifest.json +4 -4
  491. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
  492. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  493. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  494. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page/build-manifest.json +4 -4
  495. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
  496. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  497. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  498. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
  499. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
  500. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  501. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  502. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page/app-paths-manifest.json +3 -0
  503. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page/build-manifest.json +18 -0
  504. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page/next-font-manifest.json +11 -0
  505. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page/react-loadable-manifest.json +10 -0
  506. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page/server-reference-manifest.json +4 -0
  507. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js +16 -0
  508. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js.map +5 -0
  509. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js.nft.json +1 -0
  510. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page_client-reference-manifest.js +2 -0
  511. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page/build-manifest.json +4 -4
  512. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
  513. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  514. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  515. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page/build-manifest.json +4 -4
  516. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
  517. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  518. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  519. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page/build-manifest.json +4 -4
  520. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
  521. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  522. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  523. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page/build-manifest.json +4 -4
  524. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
  525. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  526. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  527. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page/build-manifest.json +4 -4
  528. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
  529. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  530. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  531. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page/build-manifest.json +4 -4
  532. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
  533. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  534. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  535. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page/build-manifest.json +4 -4
  536. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
  537. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  538. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  539. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +4 -4
  540. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
  541. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  542. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  543. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/build-manifest.json +4 -4
  544. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js +1 -1
  545. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -1
  546. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +1 -1
  547. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/build-manifest.json +4 -4
  548. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js +1 -1
  549. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -1
  550. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +1 -1
  551. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/build-manifest.json +4 -4
  552. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js +1 -1
  553. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.nft.json +1 -1
  554. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +1 -1
  555. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page/build-manifest.json +4 -4
  556. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
  557. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  558. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  559. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  560. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  561. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  562. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  563. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  564. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  565. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  566. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  567. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page/build-manifest.json +4 -4
  568. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
  569. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  570. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  571. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  572. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +2 -2
  573. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +2 -2
  574. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  575. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  576. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  577. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
  578. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  579. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page/build-manifest.json +4 -4
  580. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
  581. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  582. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  583. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  584. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
  585. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
  586. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  587. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  588. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  589. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  590. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  591. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +17 -0
  592. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_github_prs_context_route_actions_e8dab062.js +3 -0
  593. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_github_repos_sync_route_actions_bdb9499c.js +3 -0
  594. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_github_user-repos_route_actions_47aff2d8.js +3 -0
  595. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_projects_[id]_workspace_[entryId]_route_actions_3bb3b213.js +3 -0
  596. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_0b17e5ca.js +1 -1
  597. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_10446672.js +2 -2
  598. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_11b3f4a4.js +3 -0
  599. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_31b5cff3.js +1 -1
  600. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_33c05c6b.js +1 -1
  601. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_590e0ad5.js +1 -1
  602. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_5e83e3ee.js +7 -7
  603. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_8401c4c5.js +1 -1
  604. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_952a9017.js +1 -1
  605. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_a36acede.js +1 -1
  606. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_ba77f4ed.js +9 -0
  607. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_ffc6e69f.js +1 -1
  608. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__004cdace._.js +3 -0
  609. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01811d0e._.js +3 -0
  610. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__03585144._.js +1 -1
  611. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__06575fba._.js +3 -0
  612. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__07bee638._.js +3 -0
  613. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09088e21._.js +70 -0
  614. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__66e15f88._.js → [root-of-the-server]__0affc5ad._.js} +3 -3
  615. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fbbaf2d._.js +1 -1
  616. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fd3df61._.js +80 -0
  617. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10aebc68._.js +3 -0
  618. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10f1a668._.js +3 -0
  619. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__73f80c8c._.js → [root-of-the-server]__1186e538._.js} +2 -2
  620. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__5da8d281._.js → [root-of-the-server]__1321970e._.js} +2 -2
  621. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1563ebff._.js +18 -0
  622. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__15a6925d._.js +1 -1
  623. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__15ec4cf6._.js +3 -0
  624. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__18232fa9._.js +13 -0
  625. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1cd900f2._.js +3 -0
  626. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1e1f2b15._.js +3 -0
  627. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__23655e4b._.js +3 -3
  628. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__25d281e7._.js +70 -0
  629. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2b07507a._.js +18 -0
  630. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2c148e2b._.js +1 -1
  631. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2c2680ad._.js +3 -0
  632. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__302a3088._.js +3 -0
  633. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__31e86466._.js +150 -0
  634. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__33c6152d._.js +3 -0
  635. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__34f3f619._.js +3 -0
  636. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__38191a64._.js +3 -0
  637. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__2ff70366._.js → [root-of-the-server]__3a8de8a3._.js} +2 -2
  638. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3db8e17d._.js +3 -0
  639. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3ef7d945._.js +3 -0
  640. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3fdd57cb._.js +3 -0
  641. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4206f32c._.js +3 -0
  642. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__45af4365._.js +3 -0
  643. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__460ae7b6._.js +136 -0
  644. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4848a602._.js +80 -0
  645. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4adce5ec._.js +7 -0
  646. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4b01d4cf._.js +3 -0
  647. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__461c7102._.js → [root-of-the-server]__4ea9a658._.js} +2 -2
  648. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__b91700c0._.js → [root-of-the-server]__4ee88c24._.js} +2 -2
  649. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4fb1d912._.js +3 -0
  650. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__520d4a7f._.js +3 -0
  651. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__39baf5f6._.js → [root-of-the-server]__550f4c1c._.js} +1 -1
  652. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__21721841._.js → [root-of-the-server]__56c4dfbd._.js} +1 -1
  653. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__59a87972._.js +3 -0
  654. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c07d22ff._.js → [root-of-the-server]__5b22f93a._.js} +2 -2
  655. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__5d5c71d1._.js +13 -0
  656. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6003d4d7._.js +140 -0
  657. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__60e89305._.js +129 -0
  658. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6163ad51._.js +3 -0
  659. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__ee43b5b0._.js → [root-of-the-server]__61c40dc9._.js} +2 -2
  660. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__e237981c._.js → [root-of-the-server]__6465e9c6._.js} +2 -2
  661. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__6edb829d._.js → [root-of-the-server]__66437bd3._.js} +2 -2
  662. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c3d88cac._.js → [root-of-the-server]__665fff24._.js} +2 -2
  663. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__66def702._.js +3 -0
  664. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__683b7ad7._.js +8 -0
  665. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__694817d0._.js +3 -0
  666. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6d4e08bb._.js +6 -0
  667. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6d6da42e._.js +3 -0
  668. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c3408141._.js → [root-of-the-server]__6dd68c9c._.js} +2 -2
  669. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6ee2d998._.js +136 -0
  670. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__7d6e19c2._.js → [root-of-the-server]__71fc195c._.js} +4 -4
  671. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__736d5859._.js +3 -0
  672. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__77c3dc54._.js +3 -0
  673. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7dabddde._.js +4 -0
  674. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7e56de3d._.js +70 -0
  675. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__caa79472._.js → [root-of-the-server]__7f6e383e._.js} +2 -2
  676. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7fe442b7._.js +3 -0
  677. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__97b5dbf7._.js → [root-of-the-server]__807a1638._.js} +2 -2
  678. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__82b9b3ca._.js +140 -0
  679. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8680c9de._.js +9 -0
  680. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8cb4fb94._.js → [root-of-the-server]__870fac73._.js} +2 -2
  681. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__87c2a907._.js +1 -1
  682. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8917bc4c._.js +1 -1
  683. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8caf9c04._.js +3 -0
  684. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__f9eff837._.js → [root-of-the-server]__8ddbf4ca._.js} +2 -2
  685. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9079a20c._.js +3 -0
  686. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__69a60d71._.js → [root-of-the-server]__92d34a52._.js} +2 -2
  687. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__94f42197._.js +3 -0
  688. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__967a2388._.js +3 -0
  689. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__96a659e4._.js +3 -0
  690. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9cadc914._.js +70 -0
  691. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__3b27260f._.js → [root-of-the-server]__9cb1dc55._.js} +2 -2
  692. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9e1746b9._.js +129 -0
  693. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__a1dca50c._.js +3 -0
  694. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__a53b564a._.js +70 -0
  695. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ab150f86._.js +3 -0
  696. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__abf61695._.js +13 -0
  697. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__3a038592._.js → [root-of-the-server]__af70f062._.js} +2 -2
  698. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b00a5099._.js +1 -1
  699. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b1488939._.js +156 -0
  700. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b630ee50._.js +70 -0
  701. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b9538dea._.js +3 -0
  702. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__bc26758f._.js +3 -0
  703. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__2d6f22a3._.js → [root-of-the-server]__bdc396a9._.js} +2 -2
  704. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__bed6045c._.js +13 -0
  705. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__befbac3e._.js +3 -0
  706. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c0703065._.js +3 -0
  707. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c077a33b._.js +121 -0
  708. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c1581152._.js +3 -0
  709. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__240d98b0._.js → [root-of-the-server]__c26548ed._.js} +2 -2
  710. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c3188470._.js +3 -3
  711. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__f598d976._.js → [root-of-the-server]__c4855d04._.js} +2 -2
  712. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c5f7b34e._.js +3 -0
  713. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c7e936d4._.js +3 -0
  714. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c936d679._.js +6 -6
  715. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__5af898cb._.js → [root-of-the-server]__ce65d2ba._.js} +2 -2
  716. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__cf474787._.js +76 -0
  717. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__cf7c65b9._.js +3 -0
  718. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d020d321._.js +69 -0
  719. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__fb694089._.js → [root-of-the-server]__d4a50292._.js} +2 -2
  720. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d54c8dfb._.js +13 -0
  721. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d870d17d._.js +113 -0
  722. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__dacdd4c9._.js +1 -1
  723. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ded6736b._.js +3 -0
  724. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e1dcbfd8._.js +3 -0
  725. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e267d8be._.js +3 -0
  726. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e4633ba9._.js +8 -0
  727. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e4afa482._.js +3 -0
  728. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e71a8a43._.js +13 -0
  729. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb3872bd._.js +3 -0
  730. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb77f5f8._.js +11 -0
  731. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb7e055a._.js +113 -0
  732. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb9921fb._.js +3 -0
  733. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eca53a52._.js +3 -0
  734. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f107289b._.js +18 -0
  735. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f158717d._.js +3 -0
  736. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f1a754d0._.js +3 -0
  737. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9e9149cd._.js → [root-of-the-server]__f48224f7._.js} +2 -2
  738. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f6074a7f._.js +70 -0
  739. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f6e2a463._.js +3 -0
  740. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f7a74c7d._.js +3 -0
  741. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8269cb17._.js → [root-of-the-server]__f7e2f962._.js} +2 -2
  742. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f9d933dc._.js +1 -1
  743. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fce2c984._.js +13 -0
  744. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fd504704._.js +3 -0
  745. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fdc68a08._.js +3 -0
  746. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fe3fc98e._.js +3 -0
  747. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fe4b2e4e._.js +3 -0
  748. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ffc62f70._.js +70 -0
  749. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_16bb55a0._.js +2 -2
  750. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_603ba418._.js +2 -2
  751. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_79080c47._.js +3 -0
  752. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{node_modules_d2858615._.js → _9c1d28d4._.js} +2 -2
  753. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_eb019230._.js +2 -2
  754. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_5e5f36c4._.js → apps_local_09d85861._.js} +1 -1
  755. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1d99e7a5._.js +20 -0
  756. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_202a2565._.js +262 -0
  757. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_2124f905._.js +6 -6
  758. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_22ab9b7c._.js +1 -1
  759. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_25136564._.js +1 -1
  760. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_29919ba4._.js +1 -1
  761. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_29a06140._.js +3 -0
  762. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_f8b3abae._.js → apps_local_2caf4398._.js} +1 -1
  763. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_2e6439a2._.js +1 -1
  764. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_e1f4d9ad._.js → apps_local_31ca7a35._.js} +1 -1
  765. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4c70e287._.js +1 -1
  766. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4dec65a2._.js +1 -1
  767. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_50e3a6e3._.js +5 -5
  768. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_520e6344._.js +7 -7
  769. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_56a2544c._.js +122 -0
  770. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5843a1a1._.js +122 -0
  771. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5b3f1f41._.js +1 -1
  772. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_65843354._.js +14 -14
  773. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_6c0de567._.js +8 -0
  774. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_9168ed82._.js +1 -1
  775. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_9726bdb7._.js +1 -1
  776. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_9e2c9766._.js +8 -0
  777. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_github_issues_route_actions_21cb97ab.js +3 -0
  778. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_github_prs_link_route_actions_8ac048a5.js +3 -0
  779. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_github_prs_route_actions_20244d74.js +3 -0
  780. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_github_prs_seed_route_actions_7154cd78.js +3 -0
  781. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_github_repos_route_actions_73786015.js +3 -0
  782. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_teams_templates_route_actions_13f2c3d6.js +3 -0
  783. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_webhooks_[id]_route_actions_1c0129f8.js +3 -0
  784. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_webhooks_route_actions_a60f4dfd.js +3 -0
  785. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_a15e73a6._.js +5 -5
  786. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_bd72806a._.js +122 -0
  787. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c101ba9e._.js +1 -1
  788. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c47f30a7._.js +1 -1
  789. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c9c6ee26._.js +1 -1
  790. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d256aa32._.js +1 -1
  791. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_bb07a2e3._.js → apps_local_e27f666b._.js} +1 -1
  792. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e55f28ef._.js +18 -18
  793. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_ee8ff181._.js +1 -1
  794. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0857971b._.js +1 -1
  795. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_3e2ced95._.js +1 -1
  796. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_5ab8f104._.js +34 -0
  797. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_6bb79a1d._.js +1 -1
  798. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_6bd3d8a2._.js +10 -10
  799. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_8bf5d476._.js +1 -1
  800. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_929fd1a3._.js +1 -1
  801. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_9663f7e9._.js +1 -1
  802. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_agent-participants_ts_49a308c0._.js +1 -1
  803. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_cli-runner_ts_ead5489c._.js +17 -17
  804. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_d268503a._.js +10 -10
  805. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_77c23d6c._.js +3 -0
  806. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_ee6eaa28._.js +152 -0
  807. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_46384f36._.js +26 -22
  808. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_lib_sqlite-query-adapter_ts_7ee03cea._.js → apps_local_lib_sqlite-query-adapter_ts_5b6033d8._.js} +1 -1
  809. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_7b90c71f._.js +42 -21
  810. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_a3d4d8f4._.js +37 -16
  811. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_automations_index_ts_d2c1c6c8._.js +3 -3
  812. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_api-route-utils_ts_b3e10657._.js +1 -1
  813. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_ca6c3a8b._.js +14 -14
  814. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_schedule-runner_ts_2e38589d._.js +4 -4
  815. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_get-store_ts_918ec858._.js +7 -7
  816. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_github_prs_for-target_route_actions_9d302c68.js +3 -0
  817. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_projects_[id]_workspace_route_actions_6556c571.js +3 -0
  818. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/083c9_next-internal_server_app_integrations_github_select-repos_page_actions_fc7f5a52.js +3 -0
  819. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_8c8ee1bc._.js +3 -0
  820. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_circle-check_eafd6d92.js +3 -0
  821. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{9fb8c_next_f7451f50._.js → 9fb8c_next_b797d184._.js} +2 -2
  822. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__23838f87._.js +3 -0
  823. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__263b7091._.js +5 -0
  824. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__3b4708d5._.js +3 -0
  825. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cbf624._.js +3 -0
  826. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cdd178._.js +3 -0
  827. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__4bf7d5b9._.js +3 -0
  828. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__55ed4ff9._.js +3 -0
  829. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7752d2d2._.js +3 -0
  830. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__9193284e._.js +3 -0
  831. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__95ce39fc._.js +3 -0
  832. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__a61463b8._.js +7 -0
  833. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bb42490f._.js +3 -0
  834. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ca35cea0._.js +3 -0
  835. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e8c6a1f1._.js +3 -0
  836. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__b165b26a._.js → [root-of-the-server]__ebe36ac5._.js} +2 -2
  837. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ee9351f9._.js +3 -0
  838. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__f66530a0._.js +3 -0
  839. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__f81509ea._.js +3 -0
  840. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ecd68e8._.js +3 -0
  841. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_347d036d._.js +7 -0
  842. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_5c140c38._.js +7 -0
  843. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_7863b9d3._.js +3 -0
  844. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_e120fc49._.js +3 -0
  845. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_f99c22fd._.js +3 -0
  846. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_093aa68d._.js +3 -0
  847. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_28a1430e._.js +3 -0
  848. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_30d021de._.js +3 -0
  849. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3b90cb76._.js +18 -0
  850. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_41ca745c._.js +4 -0
  851. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_620cb123._.js +3 -0
  852. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_7d1abfbf._.js +18 -0
  853. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_8969d6a5._.js +3 -0
  854. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js +1 -1
  855. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_9f36c765._.js +3 -0
  856. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local__next-internal_server_app_projects_[slug]_prs_page_actions_f636afc6.js +3 -0
  857. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_a0dd6e69._.js +4 -0
  858. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_3bb31889._.js +1 -1
  859. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_76330306._.js +1 -1
  860. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_[teamId]_page_tsx_6dcfdd52._.js +1 -1
  861. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_24cd120e._.js +1 -1
  862. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_0933eeaf._.js +1 -1
  863. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_thread_[threadId]_page_tsx_2a1d1d5e._.js +1 -1
  864. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_page_tsx_b5cec607._.js +2 -2
  865. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_b4faeb00._.js +18 -0
  866. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_281b2873._.js +8 -0
  867. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +18 -16
  868. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_75dee220._.js +11 -0
  869. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_components_chat-ui_f0554cb4._.js → apps_local_components_chat-ui_d4c3d021._.js} +2 -2
  870. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +6 -6
  871. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_e322e178._.js +18 -0
  872. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_eec36ab6._.js +3 -0
  873. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_fed01721._.js +3 -0
  874. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_ffd2e9b4._.js +4 -0
  875. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/ebff2__next-internal_server_app_projects_[slug]_notifications_page_actions_899b4c4c.js +3 -0
  876. package/cloud-runtime/standalone/apps/local/.next/server/edge/chunks/[root-of-the-server]__cc2760a4._.js +1 -1
  877. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +12 -0
  878. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +4 -4
  879. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  880. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  881. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +12 -0
  882. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  883. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
  884. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  885. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  886. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1600dd6ff8607d8f.js +16 -0
  887. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1d8b2726979134e5.js +16 -0
  888. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1fbcd40dccee738f.js +16 -0
  889. package/cloud-runtime/standalone/apps/local/.next/static/chunks/34483580b9496b00.js +1 -0
  890. package/cloud-runtime/standalone/apps/local/.next/static/chunks/37879a60d670876c.js +1 -0
  891. package/cloud-runtime/standalone/apps/local/.next/static/chunks/48feca51cf97c8a7.js +1 -0
  892. package/cloud-runtime/standalone/apps/local/.next/static/chunks/52a7b1805199c6fb.js +1 -0
  893. package/cloud-runtime/standalone/apps/local/.next/static/chunks/5b919825bc31a59e.js +1 -0
  894. package/cloud-runtime/standalone/apps/local/.next/static/chunks/62385f0f137d16a0.js +1 -0
  895. package/cloud-runtime/standalone/apps/local/.next/static/chunks/692103d55fcd0328.js +5 -0
  896. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6952b44e247d594a.js +16 -0
  897. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6bfdc40a24e65ca2.js +1 -0
  898. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6ffcd12eabd7c65e.js +16 -0
  899. package/cloud-runtime/standalone/apps/local/.next/static/chunks/72b4109642bf21f4.js +3 -0
  900. package/cloud-runtime/standalone/apps/local/.next/static/chunks/74e3a3e93be78db8.js +48 -0
  901. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7ff071e8a33d2fd8.js +16 -0
  902. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8966871bc99cb968.js +1 -0
  903. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8d8fe711583a59f0.js +6 -0
  904. package/cloud-runtime/standalone/apps/local/.next/static/chunks/92467c495ad08a85.js +5 -0
  905. package/cloud-runtime/standalone/apps/local/.next/static/chunks/941f7f3626ec442c.js +16 -0
  906. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{d5c307b52fd87861.js → 94a66d2d19268d25.js} +1 -1
  907. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{8bd9cddc3e268c43.js → aa3029ae0b62f930.js} +1 -1
  908. package/cloud-runtime/standalone/apps/local/.next/static/chunks/add53c2fe147af75.css +1 -0
  909. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b35865f64b56d6f4.js +1 -0
  910. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c00eea0c6533548d.js +1 -0
  911. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d662272e49df1950.js +20 -0
  912. package/cloud-runtime/standalone/apps/local/.next/static/chunks/e0d68c6af17c8c87.js +1 -0
  913. package/cloud-runtime/standalone/apps/local/.next/static/chunks/e6d4118b7c32d11c.js +1 -0
  914. package/cloud-runtime/standalone/apps/local/.next/static/chunks/edb0e1ed5398cec6.js +4 -0
  915. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f154e2ed7753f8ee.js +16 -0
  916. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{turbopack-5fc3e551c6965dd2.js → turbopack-87f23485587f08c3.js} +2 -2
  917. package/cloud-runtime/standalone/apps/local/app/api/agent-specs/pull/route.ts +2 -1
  918. package/cloud-runtime/standalone/apps/local/app/api/agent-specs/route.ts +2 -1
  919. package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +2 -1
  920. package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/skills/route.ts +7 -3
  921. package/cloud-runtime/standalone/apps/local/app/api/agents/export/route.ts +6 -2
  922. package/cloud-runtime/standalone/apps/local/app/api/automations/create/route.ts +6 -2
  923. package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +2 -1
  924. package/cloud-runtime/standalone/apps/local/app/api/chat/route.ts +17 -1
  925. package/cloud-runtime/standalone/apps/local/app/api/chat-runs/[id]/signal/route.ts +4 -1
  926. package/cloud-runtime/standalone/apps/local/app/api/domains/[id]/route.ts +2 -1
  927. package/cloud-runtime/standalone/apps/local/app/api/domains/route.ts +2 -1
  928. package/cloud-runtime/standalone/apps/local/app/api/filesystem/analyze/route.ts +2 -1
  929. package/cloud-runtime/standalone/apps/local/app/api/github/issues/route.ts +30 -0
  930. package/cloud-runtime/standalone/apps/local/app/api/github/prs/context/route.ts +46 -0
  931. package/cloud-runtime/standalone/apps/local/app/api/github/prs/for-target/route.ts +41 -0
  932. package/cloud-runtime/standalone/apps/local/app/api/github/prs/link/route.ts +144 -0
  933. package/cloud-runtime/standalone/apps/local/app/api/github/prs/route.ts +42 -0
  934. package/cloud-runtime/standalone/apps/local/app/api/github/prs/seed/route.ts +254 -0
  935. package/cloud-runtime/standalone/apps/local/app/api/github/repos/route.ts +69 -0
  936. package/cloud-runtime/standalone/apps/local/app/api/github/repos/sync/route.ts +56 -0
  937. package/cloud-runtime/standalone/apps/local/app/api/github/user-repos/route.ts +72 -0
  938. package/cloud-runtime/standalone/apps/local/app/api/history/route.ts +2 -1
  939. package/cloud-runtime/standalone/apps/local/app/api/knowledge-notes/route.ts +7 -3
  940. package/cloud-runtime/standalone/apps/local/app/api/learnings/route.ts +4 -3
  941. package/cloud-runtime/standalone/apps/local/app/api/memories/route.ts +3 -2
  942. package/cloud-runtime/standalone/apps/local/app/api/migrate/workspaces-to-projects/route.ts +2 -1
  943. package/cloud-runtime/standalone/apps/local/app/api/orchestrator/tasks/[taskId]/cancel/route.ts +6 -2
  944. package/cloud-runtime/standalone/apps/local/app/api/orchestrator/tasks/[taskId]/signal/route.ts +6 -2
  945. package/cloud-runtime/standalone/apps/local/app/api/orchestrator/tasks/[taskId]/start/route.ts +2 -1
  946. package/cloud-runtime/standalone/apps/local/app/api/orchestrator/tasks/[taskId]/status/route.ts +2 -1
  947. package/cloud-runtime/standalone/apps/local/app/api/participants/route.ts +15 -7
  948. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/agents/route.ts +12 -6
  949. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/agents/unassigned/route.ts +2 -1
  950. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/migrate-v2/route.ts +4 -1
  951. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/activities/route.ts +3 -2
  952. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.ts +4 -3
  953. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/notes/route.ts +3 -2
  954. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +3 -2
  955. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +3 -2
  956. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +3 -2
  957. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +5 -4
  958. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/skills/route.ts +8 -4
  959. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/[teamId]/agents/route.ts +8 -4
  960. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/[teamId]/route.ts +8 -4
  961. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/export/route.ts +2 -1
  962. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/import/route.ts +2 -1
  963. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +7 -3
  964. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/threads/route.ts +8 -4
  965. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/variables/[key]/route.ts +2 -1
  966. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/variables/route.ts +8 -4
  967. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/[entryId]/route.ts +67 -0
  968. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/route.ts +75 -0
  969. package/cloud-runtime/standalone/apps/local/app/api/projects/objective-metadata.ts +2 -1
  970. package/cloud-runtime/standalone/apps/local/app/api/projects/payload.ts +23 -1
  971. package/cloud-runtime/standalone/apps/local/app/api/projects/route.ts +3 -2
  972. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/[id]/cancel/route.ts +2 -1
  973. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/[id]/route.ts +9 -3
  974. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/[id]/runs/route.ts +2 -1
  975. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/agents/route.ts +2 -1
  976. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/poll/route.ts +5 -4
  977. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +3 -2
  978. package/cloud-runtime/standalone/apps/local/app/api/queue/complete/route.ts +2 -1
  979. package/cloud-runtime/standalone/apps/local/app/api/queue/route.ts +2 -1
  980. package/cloud-runtime/standalone/apps/local/app/api/reactions/route.ts +2 -1
  981. package/cloud-runtime/standalone/apps/local/app/api/schedules/poll/route.ts +7 -3
  982. package/cloud-runtime/standalone/apps/local/app/api/schedules/route.ts +6 -2
  983. package/cloud-runtime/standalone/apps/local/app/api/search/route.ts +2 -1
  984. package/cloud-runtime/standalone/apps/local/app/api/skills/assign/route.ts +6 -2
  985. package/cloud-runtime/standalone/apps/local/app/api/skills/available/route.ts +2 -1
  986. package/cloud-runtime/standalone/apps/local/app/api/skills/detail/route.ts +2 -1
  987. package/cloud-runtime/standalone/apps/local/app/api/skills/history/route.ts +2 -1
  988. package/cloud-runtime/standalone/apps/local/app/api/skills/learn/route.ts +6 -2
  989. package/cloud-runtime/standalone/apps/local/app/api/skills/route.ts +2 -1
  990. package/cloud-runtime/standalone/apps/local/app/api/skills/unlearn/route.ts +6 -2
  991. package/cloud-runtime/standalone/apps/local/app/api/summarize/route.ts +2 -1
  992. package/cloud-runtime/standalone/apps/local/app/api/task-groups/[id]/route.ts +3 -2
  993. package/cloud-runtime/standalone/apps/local/app/api/task-groups/[id]/tasks/route.ts +3 -2
  994. package/cloud-runtime/standalone/apps/local/app/api/task-groups/route.ts +3 -2
  995. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/comments/[commentId]/route.ts +2 -1
  996. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/comments/route.ts +3 -2
  997. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/costs/route.ts +3 -2
  998. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/dependencies/route.ts +2 -1
  999. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/pause/route.ts +2 -1
  1000. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/replan/route.ts +2 -1
  1001. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/restart/route.ts +2 -1
  1002. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/resume/route.ts +2 -1
  1003. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/rollback/route.ts +2 -1
  1004. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/route.ts +9 -5
  1005. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/start/route.ts +2 -1
  1006. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/graph/stop/route.ts +2 -1
  1007. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/heartbeat/route.ts +2 -1
  1008. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/history/route.ts +2 -1
  1009. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/logs/route.ts +3 -2
  1010. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/nodes/[nodeId]/resume/route.ts +2 -1
  1011. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/nodes/[nodeId]/start/route.ts +2 -1
  1012. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/nodes/[nodeId]/verify/route.ts +2 -1
  1013. package/cloud-runtime/standalone/apps/local/app/api/tasks/[id]/route.ts +5 -4
  1014. package/cloud-runtime/standalone/apps/local/app/api/tasks/assign-orphans/route.ts +3 -2
  1015. package/cloud-runtime/standalone/apps/local/app/api/tasks/route.ts +4 -3
  1016. package/cloud-runtime/standalone/apps/local/app/api/teams/templates/route.ts +11 -0
  1017. package/cloud-runtime/standalone/apps/local/app/api/thread-export/route.ts +2 -1
  1018. package/cloud-runtime/standalone/apps/local/app/api/thread-repos/route.ts +2 -1
  1019. package/cloud-runtime/standalone/apps/local/app/api/threads/knowledge/route.ts +2 -1
  1020. package/cloud-runtime/standalone/apps/local/app/api/threads/route.ts +3 -2
  1021. package/cloud-runtime/standalone/apps/local/app/api/tracker/notes/route.ts +16 -3
  1022. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/recap/route.ts +75 -30
  1023. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/route.ts +5 -2
  1024. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/labels/[id]/route.ts +2 -2
  1025. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/labels/route.ts +18 -7
  1026. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/metadata/bulk/route.ts +19 -8
  1027. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/metadata/route.ts +16 -5
  1028. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/runs/[id]/route.ts +7 -3
  1029. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/runs/route.ts +7 -3
  1030. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/runs/scripted/route.ts +6 -2
  1031. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/token/route.ts +5 -2
  1032. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/worker/route.ts +4 -3
  1033. package/cloud-runtime/standalone/apps/local/app/api/trackers/connections/route.ts +13 -6
  1034. package/cloud-runtime/standalone/apps/local/app/api/upload/route.ts +3 -2
  1035. package/cloud-runtime/standalone/apps/local/app/api/user-settings/route.ts +4 -3
  1036. package/cloud-runtime/standalone/apps/local/app/api/userPreferences/route.ts +2 -1
  1037. package/cloud-runtime/standalone/apps/local/app/api/webhooks/[id]/route.ts +77 -0
  1038. package/cloud-runtime/standalone/apps/local/app/api/webhooks/route.ts +39 -0
  1039. package/cloud-runtime/standalone/apps/local/app/api/webhooks/shared.ts +159 -0
  1040. package/cloud-runtime/standalone/apps/local/app/integrations/github/select-repos/page.tsx +382 -0
  1041. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +5 -2
  1042. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/notifications/page.tsx +509 -0
  1043. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/prs/page.tsx +299 -0
  1044. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/page.tsx +58 -2
  1045. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/[tracker]/page.tsx +17 -1
  1046. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/connect/page.tsx +23 -18
  1047. package/cloud-runtime/standalone/apps/local/components/GraphDetailSidebar.tsx +1 -1
  1048. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +94 -41
  1049. package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +7 -1
  1050. package/cloud-runtime/standalone/apps/local/components/TrackerBoard.tsx +194 -43
  1051. package/cloud-runtime/standalone/apps/local/components/activity/ActivityStreamButton.tsx +40 -0
  1052. package/cloud-runtime/standalone/apps/local/components/activity/ActivityStreamPopover.tsx +141 -0
  1053. package/cloud-runtime/standalone/apps/local/components/chat-ui/JumpToLatestButton.tsx +30 -0
  1054. package/cloud-runtime/standalone/apps/local/components/chat-ui/LogPanel.tsx +22 -1
  1055. package/cloud-runtime/standalone/apps/local/components/chat-ui/MessageList.tsx +27 -0
  1056. package/cloud-runtime/standalone/apps/local/components/chat-ui/ThreadView.tsx +15 -1
  1057. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +87 -245
  1058. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +99 -66
  1059. package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +52 -7
  1060. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +59 -14
  1061. package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +56 -7
  1062. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +60 -2
  1063. package/cloud-runtime/standalone/apps/local/components/prs/PrComposerPanel.tsx +219 -0
  1064. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +38 -14
  1065. package/cloud-runtime/standalone/apps/local/components/tracker/FolderRow.tsx +7 -4
  1066. package/cloud-runtime/standalone/apps/local/components/tracker/LinkedPrsSection.tsx +251 -0
  1067. package/cloud-runtime/standalone/apps/local/components/tracker/NoteSticker.tsx +9 -0
  1068. package/cloud-runtime/standalone/apps/local/components/tracker/RowActionsMenu.tsx +228 -0
  1069. package/cloud-runtime/standalone/apps/local/components/tracker/SelectionBar.tsx +11 -24
  1070. package/cloud-runtime/standalone/apps/local/components/tracker/TicketPanel.tsx +43 -9
  1071. package/cloud-runtime/standalone/apps/local/components/tracker/TicketRecapSection.tsx +13 -3
  1072. package/cloud-runtime/standalone/apps/local/components/tracker/TicketRow.tsx +63 -5
  1073. package/cloud-runtime/standalone/apps/local/components/tracking/GithubRepoManager.tsx +518 -0
  1074. package/cloud-runtime/standalone/apps/local/components/tracking/TaskIdentifierPrefix.tsx +174 -0
  1075. package/cloud-runtime/standalone/apps/local/components/tracking/TaskTrackingNav.tsx +73 -11
  1076. package/cloud-runtime/standalone/apps/local/components/tracking/TrackerIcon.tsx +2 -0
  1077. package/cloud-runtime/standalone/apps/local/components/tracking/TrackerSetup.tsx +39 -12
  1078. package/cloud-runtime/standalone/apps/local/components/ui/ResizeHandle.tsx +8 -1
  1079. package/cloud-runtime/standalone/apps/local/db/sqlite/001_agx_board_schema.sql +28 -1
  1080. package/cloud-runtime/standalone/apps/local/hooks/useActivityStream.ts +170 -0
  1081. package/cloud-runtime/standalone/apps/local/hooks/useProjects.ts +3 -0
  1082. package/cloud-runtime/standalone/apps/local/hooks/usePromptJobs.ts +16 -3
  1083. package/cloud-runtime/standalone/apps/local/hooks/useSidebarStage.ts +2 -0
  1084. package/cloud-runtime/standalone/apps/local/hooks/useTrackerConnection.ts +6 -1
  1085. package/cloud-runtime/standalone/apps/local/hooks/useTrackerItems.ts +48 -3
  1086. package/cloud-runtime/standalone/apps/local/lib/cli-runner.ts +44 -5
  1087. package/cloud-runtime/standalone/apps/local/lib/db/agents.ts +205 -0
  1088. package/cloud-runtime/standalone/apps/local/lib/db/index.ts +14 -0
  1089. package/cloud-runtime/standalone/apps/local/lib/db/learnings.ts +67 -0
  1090. package/cloud-runtime/standalone/apps/local/lib/db/projects.ts +692 -0
  1091. package/cloud-runtime/standalone/apps/local/lib/db/resolution.ts +74 -0
  1092. package/cloud-runtime/standalone/apps/local/lib/db/shared.ts +222 -0
  1093. package/cloud-runtime/standalone/apps/local/lib/db/task-comments.ts +61 -0
  1094. package/cloud-runtime/standalone/apps/local/lib/db/task-costs.ts +131 -0
  1095. package/cloud-runtime/standalone/apps/local/lib/db/task-logs.ts +62 -0
  1096. package/cloud-runtime/standalone/apps/local/lib/db/tasks.ts +477 -0
  1097. package/cloud-runtime/standalone/apps/local/lib/db/teams.ts +161 -0
  1098. package/cloud-runtime/standalone/apps/local/lib/db/types.ts +359 -0
  1099. package/cloud-runtime/standalone/apps/local/lib/db/user-settings.ts +69 -0
  1100. package/cloud-runtime/standalone/apps/local/lib/db/workflows.ts +439 -0
  1101. package/cloud-runtime/standalone/apps/local/lib/db.ts +1 -2931
  1102. package/cloud-runtime/standalone/apps/local/lib/device-flow.ts +5 -4
  1103. package/cloud-runtime/standalone/apps/local/lib/github-client.ts +382 -0
  1104. package/cloud-runtime/standalone/apps/local/lib/github-db.ts +143 -0
  1105. package/cloud-runtime/standalone/apps/local/lib/github-issue-store.ts +101 -0
  1106. package/cloud-runtime/standalone/apps/local/lib/github-link-resolver.ts +65 -0
  1107. package/cloud-runtime/standalone/apps/local/lib/github-oauth-sessions.ts +55 -0
  1108. package/cloud-runtime/standalone/apps/local/lib/github-pr-context.ts +125 -0
  1109. package/cloud-runtime/standalone/apps/local/lib/github-pr-files-store.ts +59 -0
  1110. package/cloud-runtime/standalone/apps/local/lib/github-pr-store.ts +250 -0
  1111. package/cloud-runtime/standalone/apps/local/lib/github-prs.ts +67 -0
  1112. package/cloud-runtime/standalone/apps/local/lib/github-repo-store.ts +63 -0
  1113. package/cloud-runtime/standalone/apps/local/lib/github-resolvers.ts +41 -0
  1114. package/cloud-runtime/standalone/apps/local/lib/github-token-store.ts +41 -0
  1115. package/cloud-runtime/standalone/apps/local/lib/github-types.ts +116 -0
  1116. package/cloud-runtime/standalone/apps/local/lib/logger.ts +1 -0
  1117. package/cloud-runtime/standalone/apps/local/lib/migrations/task-identifier-migration.ts +39 -0
  1118. package/cloud-runtime/standalone/apps/local/lib/notifications/index.ts +36 -12
  1119. package/cloud-runtime/standalone/apps/local/lib/parse-body.ts +23 -0
  1120. package/cloud-runtime/standalone/apps/local/lib/security.ts +4 -3
  1121. package/cloud-runtime/standalone/apps/local/lib/sqlite-query-adapter.ts +31 -0
  1122. package/cloud-runtime/standalone/apps/local/lib/stream-multiplexer.ts +19 -0
  1123. package/cloud-runtime/standalone/apps/local/lib/task-identifier-store.ts +32 -0
  1124. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/github/adapter.tsx +242 -0
  1125. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/github/github-icon.tsx +18 -0
  1126. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/github/index.ts +1 -0
  1127. package/cloud-runtime/standalone/apps/local/lib/tracker/index.ts +4 -0
  1128. package/cloud-runtime/standalone/apps/local/lib/tracker/recap.ts +71 -3
  1129. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-metadata-store.ts +116 -56
  1130. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-store.ts +16 -5
  1131. package/cloud-runtime/standalone/apps/local/lib/tracker/types.ts +2 -0
  1132. package/cloud-runtime/standalone/apps/local/lib/workspace-categories.ts +44 -0
  1133. package/cloud-runtime/standalone/apps/local/middleware.ts +1 -1
  1134. package/cloud-runtime/standalone/apps/local/migrations/sqlite_schema.sql +4 -0
  1135. package/cloud-runtime/standalone/apps/local/next.config.ts +1 -1
  1136. package/cloud-runtime/standalone/apps/local/public/agx_icon.png +0 -0
  1137. package/cloud-runtime/standalone/apps/local/public/logo_dark.png +0 -0
  1138. package/cloud-runtime/standalone/apps/local/public/logo_light.png +0 -0
  1139. package/cloud-runtime/standalone/apps/local/src/automations/repository.ts +5 -4
  1140. package/cloud-runtime/standalone/apps/local/src/graph/api-route-utils.ts +13 -1
  1141. package/cloud-runtime/standalone/apps/local/src/graph/schedule-runner.ts +23 -22
  1142. package/cloud-runtime/standalone/apps/local/src/graph/work-dispatcher.ts +7 -6
  1143. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/engine.ts +2 -1
  1144. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +18 -1
  1145. package/cloud-runtime/standalone/apps/local/state/trackerItemsCache.ts +79 -0
  1146. package/cloud-runtime/standalone/apps/local/worker/index.js +1312 -872
  1147. package/lib/cli/onboarding.js +22 -1
  1148. package/lib/cli/providers.js +46 -2
  1149. package/lib/cli/runCli.js +94 -4
  1150. package/lib/commands/board.js +155 -0
  1151. package/lib/commands/daemonBoard.js +23 -9
  1152. package/lib/commands/narratePrs.js +384 -0
  1153. package/lib/commands/teams.js +320 -0
  1154. package/lib/commands/workspace.js +300 -0
  1155. package/package.json +1 -1
  1156. package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_e2187c53.js +0 -3
  1157. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__04ee9637._.js +0 -80
  1158. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__06d2e9cc._.js +0 -3
  1159. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__079c42ac._.js +0 -3
  1160. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08a40fc7._.js +0 -3
  1161. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0a528fae._.js +0 -18
  1162. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0b317b6d._.js +0 -3
  1163. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0e04eca4._.js +0 -40
  1164. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0e30f17d._.js +0 -13
  1165. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__101fe653._.js +0 -3
  1166. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10a90219._.js +0 -69
  1167. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10bfac8f._.js +0 -76
  1168. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__121d8e45._.js +0 -3
  1169. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1629da24._.js +0 -9
  1170. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__18ec311a._.js +0 -3
  1171. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__19d0fac1._.js +0 -3
  1172. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1d970ad0._.js +0 -40
  1173. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__20391b07._.js +0 -3
  1174. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__229b2432._.js +0 -3
  1175. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2bb933c7._.js +0 -3
  1176. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2d916976._.js +0 -3
  1177. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2eb13697._.js +0 -70
  1178. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__368f5ffd._.js +0 -3
  1179. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__37fe207d._.js +0 -13
  1180. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__41534d9e._.js +0 -3
  1181. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4641ba3f._.js +0 -3
  1182. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__498d8b2d._.js +0 -3
  1183. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4b167927._.js +0 -113
  1184. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4b9d4f5c._.js +0 -3
  1185. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4ddaa4bd._.js +0 -70
  1186. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4e296e1f._.js +0 -7
  1187. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4fbf7baa._.js +0 -3
  1188. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__5184da61._.js +0 -20
  1189. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__51eaac77._.js +0 -13
  1190. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__580ddcca._.js +0 -40
  1191. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__5859156d._.js +0 -8
  1192. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6062bf0a._.js +0 -3
  1193. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__67ee45bc._.js +0 -3
  1194. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__68b692c4._.js +0 -131
  1195. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6e0ef488._.js +0 -4
  1196. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6e73b6e1._.js +0 -3
  1197. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6ead08b8._.js +0 -3
  1198. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6f6afa0f._.js +0 -70
  1199. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__76030d44._.js +0 -40
  1200. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7cd28ae0._.js +0 -3
  1201. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7db7c421._.js +0 -134
  1202. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__80aea589._.js +0 -3
  1203. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__847ab7ae._.js +0 -3
  1204. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8a8d1048._.js +0 -3
  1205. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8b130db5._.js +0 -3
  1206. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8dd3b8c5._.js +0 -3
  1207. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8e91653e._.js +0 -3
  1208. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__905a5b44._.js +0 -3
  1209. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__90dd5edd._.js +0 -3
  1210. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__938c45c2._.js +0 -18
  1211. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__97e51964._.js +0 -3
  1212. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9ad5f462._.js +0 -18
  1213. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9e4c0741._.js +0 -8
  1214. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__a74338e8._.js +0 -6
  1215. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__aa4e5942._.js +0 -3
  1216. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ab2d839c._.js +0 -70
  1217. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ab9b38d8._.js +0 -3
  1218. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ac854687._.js +0 -3
  1219. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ae54e5ab._.js +0 -3
  1220. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b1357960._.js +0 -3
  1221. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b70ca903._.js +0 -13
  1222. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b810670d._.js +0 -80
  1223. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__bb757af8._.js +0 -3
  1224. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c2e55fb5._.js +0 -13
  1225. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c4a986f6._.js +0 -3
  1226. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c614c26c._.js +0 -3
  1227. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c9444a83._.js +0 -3
  1228. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__cbd45246._.js +0 -11
  1229. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d402ed75._.js +0 -3
  1230. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d8cc43c7._.js +0 -129
  1231. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d8efbb6c._.js +0 -3
  1232. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__dd538d32._.js +0 -3
  1233. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__df0f00fd._.js +0 -3
  1234. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e583235c._.js +0 -3
  1235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__e86865ef._.js +0 -13
  1236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb0fd512._.js +0 -13
  1237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ece576c1._.js +0 -3
  1238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ef1c393e._.js +0 -70
  1239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f21be9eb._.js +0 -3
  1240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f6e4b64e._.js +0 -3
  1241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f7a936d9._.js +0 -129
  1242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fb5944d3._.js +0 -3
  1243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fbe43c0a._.js +0 -3
  1244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ff552f94._.js +0 -3
  1245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_21812330._.js +0 -118
  1246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_9f0fd451._.js +0 -3
  1247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_b8cc7add._.js +0 -118
  1248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d3245de4._.js +0 -25
  1249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e12b284f._.js +0 -118
  1250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_f938bff7._.js +0 -25
  1251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0992c0e3._.js +0 -34
  1252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_ad844f74._.js +0 -3
  1253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_5e38c2ed._.js +0 -3
  1254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_a528155c._.js +0 -3
  1255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__2af44092._.js +0 -3
  1256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__452cb0f0._.js +0 -3
  1257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__489568b4._.js +0 -3
  1258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__4ebb738f._.js +0 -3
  1259. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__4ec098a0._.js +0 -3
  1260. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__53bd50df._.js +0 -3
  1261. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7774a40c._.js +0 -3
  1262. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__b8484b0e._.js +0 -7
  1263. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bc60b3cf._.js +0 -3
  1264. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bd05ee09._.js +0 -3
  1265. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__c2c07c79._.js +0 -3
  1266. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__fdfb2d96._.js +0 -3
  1267. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_18162573._.js +0 -3
  1268. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_8c4beba9._.js +0 -7
  1269. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_ba2abc47._.js +0 -7
  1270. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_e00b6c25._.js +0 -3
  1271. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_e485f527._.js +0 -3
  1272. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_064c7b93._.js +0 -18
  1273. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_1e4a0236._.js +0 -3
  1274. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_1faefdc2._.js +0 -8
  1275. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3e5712aa._.js +0 -3
  1276. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_4259062a._.js +0 -8
  1277. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5d6a3ce2._.js +0 -3
  1278. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5eebb5cb._.js +0 -3
  1279. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_7395ab20._.js +0 -18
  1280. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_86f59be8._.js +0 -3
  1281. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_bbb7b83b._.js +0 -3
  1282. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_c5e75cc1._.js +0 -18
  1283. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_f67bb291._.js +0 -18
  1284. package/cloud-runtime/standalone/apps/local/.next/static/chunks/00d8a91bcae5edc5.js +0 -1
  1285. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0243e7d015db440d.js +0 -5
  1286. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1533a70763aff97d.js +0 -1
  1287. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1fef9364e8667e88.js +0 -1
  1288. package/cloud-runtime/standalone/apps/local/.next/static/chunks/27c70630ae583211.js +0 -1
  1289. package/cloud-runtime/standalone/apps/local/.next/static/chunks/4eaf7bca1be5edfa.js +0 -1
  1290. package/cloud-runtime/standalone/apps/local/.next/static/chunks/5d047fc7267a8f53.js +0 -16
  1291. package/cloud-runtime/standalone/apps/local/.next/static/chunks/69008b684b4d5abd.js +0 -6
  1292. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7148feb61274d431.css +0 -1
  1293. package/cloud-runtime/standalone/apps/local/.next/static/chunks/716e1716d526ded9.js +0 -46
  1294. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7353a3a1fcd5825c.js +0 -1
  1295. package/cloud-runtime/standalone/apps/local/.next/static/chunks/85b0b6ed57b5df52.js +0 -1
  1296. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8a9626e4d7c259ee.js +0 -16
  1297. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8b91e7692a899f00.js +0 -20
  1298. package/cloud-runtime/standalone/apps/local/.next/static/chunks/938097967e2c1676.js +0 -6
  1299. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9acdd370e9daca0d.js +0 -16
  1300. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9df45611d6c84e02.js +0 -16
  1301. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9e2208153f276f8c.js +0 -1
  1302. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a084c6475513e6fe.js +0 -16
  1303. package/cloud-runtime/standalone/apps/local/.next/static/chunks/aa6db7c91c1ccd5f.js +0 -16
  1304. package/cloud-runtime/standalone/apps/local/.next/static/chunks/cbb4dbdc63177701.js +0 -1
  1305. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d590384ce3045a12.js +0 -5
  1306. package/cloud-runtime/standalone/apps/local/.next/static/chunks/dc1b3f7fdc1eaf5c.js +0 -4
  1307. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f3c1b6295b9442c6.js +0 -1
  1308. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f4acf76cb6c82c73.js +0 -16
  1309. /package/cloud-runtime/standalone/apps/local/.next/static/{3-6VaSnGGXdV-2eV44RDK → fipnHmd6JPn9sTuFdYS0y}/_buildManifest.js +0 -0
  1310. /package/cloud-runtime/standalone/apps/local/.next/static/{3-6VaSnGGXdV-2eV44RDK → fipnHmd6JPn9sTuFdYS0y}/_clientMiddlewareManifest.json +0 -0
  1311. /package/cloud-runtime/standalone/apps/local/.next/static/{3-6VaSnGGXdV-2eV44RDK → fipnHmd6JPn9sTuFdYS0y}/_ssgManifest.js +0 -0
@@ -1,9 +1,9 @@
1
- module.exports=[859117,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(837554),e=a.i(238234),f=a.i(412690),g=a.i(754812),h=a.i(820859),i=a.i(353532),j=a.i(864061),k=a.i(542341),l=a.i(831709);let m=(0,l.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var n=a.i(252197),o=a.i(824179),p=a.i(520612),q=a.i(947218);function r(a,b,d){let[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(null),k=(0,c.useRef)(b??null);k.current=b??null;let l=`/api/trackers/${encodeURIComponent(a)}/runs`,m=(0,c.useCallback)(async()=>{let a=k.current?.trim();if(!a)return f([]),j(null),[];h(!0);try{let b=new URLSearchParams({issueId:a});d&&b.set("projectId",d);let c=await fetch(`${l}?${b.toString()}`);if(!c.ok)throw Error(`Failed to fetch tracker runs: ${c.status}`);let e=await c.json(),g=Array.isArray(e.runs)?e.runs:[];return f(g),j(a),g}finally{h(!1)}},[d,l]);return(0,c.useEffect)(()=>{f([]),j(null),m()},[m,b]),(0,c.useEffect)(()=>{if(!b)return;let a=window.setInterval(()=>{m()},3e3);return()=>window.clearInterval(a)},[b,m]),{runs:e,loading:g,loadedForIssueId:i,refresh:m,createRun:(0,c.useCallback)(async a=>{let b=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||`Failed to create tracker run: ${b.status}`);let c=await b.json(),d=c.run,e=c.recapContent??null;return f(a=>[d,...a.filter(a=>a.id!==d.id)]),{run:d,recapContent:e}},[l]),updateRun:(0,c.useCallback)(async(a,b)=>{let c=await fetch(`${l}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||`Failed to update tracker run: ${c.status}`);let d=(await c.json()).run;return f(a=>a.map(a=>a.id===d.id?d:a)),d},[l])}}let s={activeScriptId:null,scripts:[]};var t=a.i(155829),u=a.i(496368),v=a.i(86007),w=a.i(627421),x=a.i(354658),y=a.i(697183),z=a.i(734709),A=a.i(86466);function B({projectSlug:a,scripts:d,activeScriptId:e,onSetActiveScriptId:f,onSaveScript:g,onDeleteScript:h}){let j=(0,c.useMemo)(()=>d.find(a=>a.id===e)??null,[e,d]),[k,l]=(0,c.useState)(()=>e?{type:"edit",scriptId:e}:{type:"new"}),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(null),u="edit"===k.type?k.scriptId:null;(0,c.useEffect)(()=>{if("edit"===k.type){let a=d.find(a=>a.id===k.scriptId);if(a){n(a.name),p(a.prompt);return}}if(j&&"new"!==k.type){("edit"!==k.type||k.scriptId!==j.id)&&l({type:"edit",scriptId:j.id}),n(j.name),p(j.prompt);return}0===d.length&&"new"!==k.type&&(l({type:"new"}),n(""),p(""))},[j,u,k,d]);let v=()=>{l({type:"new"}),n(""),p(""),r(null)},B=()=>{try{let a=g({name:m,prompt:o});l({type:"edit",scriptId:a.id}),r(null)}catch(a){r(a instanceof Error?a.message:"Failed to save session script.")}};return(0,b.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Session Scripts"}),(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-[var(--muted-foreground)]",children:["Save reusable kickoff prompts for the ",String(a??"").trim()||"global tracker board",". These scripts stay on this device and layer on top of the built-in ticket context whenever you start a scripted session."]})]}),(0,b.jsxs)("div",{className:"grid gap-5 md:grid-cols-[240px_minmax(0,1fr)]",children:[(0,b.jsxs)("aside",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-3",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-[var(--muted-foreground)]",children:"Library"}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-[11px] font-medium text-[var(--foreground)] transition-colors hover:bg-[var(--background)]",onClick:v,children:[(0,b.jsx)(i.Plus,{size:12}),"New"]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("button",{type:"button",className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${null===e?"bg-[var(--background)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>f(null),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${null===e?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:null===e?(0,b.jsx)(w.Check,{size:10}):null}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-medium",children:"AGX default"})]}),0===d.length?(0,b.jsx)("div",{className:"rounded-lg border border-dashed border-[var(--card-border)] px-3 py-4 text-xs leading-relaxed text-[var(--muted-foreground)]",children:"No saved scripts yet. Create one to reuse your preferred scripted session prompt."}):d.map(a=>{let c=a.id===e,d="edit"===k.type&&k.scriptId===a.id;return(0,b.jsx)("button",{type:"button",className:`rounded-lg border px-3 py-2 text-left transition-colors ${d?"border-blue-500/50 bg-[var(--background)]":"border-transparent hover:border-[var(--card-border)] hover:bg-[var(--background)]"}`,onClick:()=>{l({type:"edit",scriptId:a.id}),n(a.name),p(a.prompt),r(null),f(a.id)},children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)("span",{className:`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${c?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:c?(0,b.jsx)(w.Check,{size:10}):null}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-xs font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("div",{className:"mt-1 line-clamp-2 text-[11px] leading-relaxed text-[var(--muted-foreground)]",children:a.prompt}),(0,b.jsxs)("div",{className:"mt-2 text-[10px] uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:["Updated ",function(a){try{return new Date(a).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{return a}}(a.updatedAt)]})]})]})},a.id)})]})]}),(0,b.jsxs)("section",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4",children:[(0,b.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-sm font-semibold text-[var(--foreground)]",children:"edit"===k.type?"Edit Session Script":"New Session Script"}),(0,b.jsxs)("p",{className:"mt-1 text-xs leading-relaxed text-[var(--muted-foreground)]",children:["Use placeholders like ",(0,b.jsx)("code",{children:"{{ticket.identifier}}"}),", ",(0,b.jsx)("code",{children:"{{ticket.title}}"}),", ",(0,b.jsx)("code",{children:"{{ticket.status}}"}),", ",(0,b.jsx)("code",{children:"{{ticket.assignee}}"}),", ",(0,b.jsx)("code",{children:"{{project.slug}}"}),", ",(0,b.jsx)("code",{children:"{{knowledge_base.root}}"}),", ",(0,b.jsx)("code",{children:"{{knowledge_base.issue_path}}"}),", and ",(0,b.jsx)("code",{children:"{{worktree.path}}"}),"."]})]}),j?(0,b.jsxs)("span",{className:"rounded-full border border-blue-500/30 bg-blue-500/10 px-2.5 py-1 text-[11px] font-medium text-blue-400",children:["Active: ",j.name]}):(0,b.jsx)("span",{className:"rounded-full border border-[var(--card-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--muted-foreground)]",children:"Active: AGX default"})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:"Name"}),(0,b.jsx)("input",{type:"text",className:"rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm text-[var(--foreground)] outline-none transition-colors focus:border-blue-500",placeholder:"Investigation-first",value:m,onChange:a=>n(a.target.value)})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:"Prompt"}),(0,b.jsx)("div",{className:"overflow-hidden rounded-lg border border-[var(--card-border)] bg-[var(--background)] transition-colors focus-within:border-blue-500 [&_.rich-text-editor_.ProseMirror]:min-h-[220px]",children:(0,b.jsx)(A.default,{content:o,onChange:p,placeholder:"Read {{ticket.identifier}} and the full comment thread before changing code.\nWrite your investigation to {{knowledge_base.issue_path}} and stop after posting a plan unless the item is already approved for implementation."})})]}),q?(0,b.jsx)("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-xs text-red-300",children:q}):null,(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600",onClick:B,children:[(0,b.jsx)(x.Save,{size:14}),"Save as new"]}),"edit"===k.type?(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-[var(--card-border)] px-3 py-2 text-sm font-medium text-[var(--foreground)] transition-colors hover:bg-[var(--background)]",onClick:()=>{if("edit"!==k.type)return void B();try{let a=g({id:k.scriptId,name:m,prompt:o});l({type:"edit",scriptId:a.id}),r(null)}catch(a){r(a instanceof Error?a.message:"Failed to update session script.")}},children:[(0,b.jsx)(x.Save,{size:14}),"Update"]}):null,"edit"===k.type?(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-red-500/30 px-3 py-2 text-sm font-medium text-red-300 transition-colors hover:bg-red-500/10",onClick:()=>{t(d.find(a=>a.id===k.scriptId)??null)},children:[(0,b.jsx)(y.Trash2,{size:14}),"Delete"]}):null,(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-[var(--card-border)] px-3 py-2 text-sm font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]",onClick:v,children:[(0,b.jsx)(i.Plus,{size:14}),"Clear editor"]})]})]})]})]}),(0,b.jsx)(z.default,{isOpen:!!s,title:"Delete session script?",message:"This removes the saved script from this device for the current project.",preview:s?.name,confirmLabel:"Delete",variant:"danger",onConfirm:()=>{s&&(h(s.id),"edit"===k.type&&k.scriptId===s.id&&(l({type:"new"}),n(""),p("")),t(null),r(null))},onCancel:()=>t(null)})]})}var C=a.i(475632),D=a.i(529889);let E={search:"",assigneeIds:[],statusCategories:[],groupIds:[],labelNames:[],sortBy:"activity",sortDir:"desc",hasActivity:!1};var F=a.i(427411),G=a.i(837929),H=a.i(785061),I=a.i(778784),J=a.i(971382);let K=(0,l.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),L=(0,l.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var M=a.i(60985),N=a.i(811760),O=a.i(756490),P=a.i(73948),Q=a.i(201485);let R=`Pick the highest-priority actionable ticket. Prefer tickets that:
1
+ module.exports=[859117,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(837554),e=a.i(238234),f=a.i(412690),g=a.i(831709);let h=(0,g.default)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var i=a.i(754812),j=a.i(820859),k=a.i(353532),l=a.i(864061),m=a.i(542341);let n=(0,g.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),o=(0,g.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var p=a.i(252197),q=a.i(824179),r=a.i(520612);let s="items",t=null;function u(){return"u"<typeof indexedDB?Promise.resolve(null):t||(t=new Promise(a=>{let b=indexedDB.open("agx-tracker-cache",1);b.onupgradeneeded=()=>{let a=b.result;a.objectStoreNames.contains(s)||a.createObjectStore(s)},b.onsuccess=()=>a(b.result),b.onerror=()=>a(null)}))}async function v(a){let b=await u();return b?new Promise(c=>{try{let d=b.transaction(s,"readonly").objectStore(s).get(a);d.onsuccess=()=>c(d.result??null),d.onerror=()=>c(null)}catch{c(null)}}):null}async function w(a,b){let c=await u();if(c)return new Promise(d=>{try{let e=c.transaction(s,"readwrite");e.objectStore(s).put(b,a),e.oncomplete=()=>d(),e.onerror=()=>d(),e.onabort=()=>d()}catch{d()}})}var x=a.i(947218);function y(a,b,d){let[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(null),k=(0,c.useRef)(b??null);k.current=b??null;let l=`/api/trackers/${encodeURIComponent(a)}/runs`,m=(0,c.useCallback)(async()=>{let a=k.current?.trim();if(!a)return f([]),j(null),[];h(!0);try{let b=new URLSearchParams({issueId:a});d&&b.set("projectId",d);let c=await fetch(`${l}?${b.toString()}`);if(!c.ok)throw Error(`Failed to fetch tracker runs: ${c.status}`);let e=await c.json(),g=Array.isArray(e.runs)?e.runs:[];return f(g),j(a),g}finally{h(!1)}},[d,l]);return(0,c.useEffect)(()=>{f([]),j(null),m()},[m,b]),(0,c.useEffect)(()=>{if(!b)return;let a=window.setInterval(()=>{m()},3e3);return()=>window.clearInterval(a)},[b,m]),{runs:e,loading:g,loadedForIssueId:i,refresh:m,createRun:(0,c.useCallback)(async a=>{let b=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||`Failed to create tracker run: ${b.status}`);let c=await b.json(),d=c.run,e=c.recapContent??null;return f(a=>[d,...a.filter(a=>a.id!==d.id)]),{run:d,recapContent:e}},[l]),updateRun:(0,c.useCallback)(async(a,b)=>{let c=await fetch(`${l}/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||`Failed to update tracker run: ${c.status}`);let d=(await c.json()).run;return f(a=>a.map(a=>a.id===d.id?d:a)),d},[l])}}let z={activeScriptId:null,scripts:[]};var A=a.i(155829),B=a.i(496368),C=a.i(86007),D=a.i(627421),E=a.i(354658),F=a.i(697183),G=a.i(734709),H=a.i(86466);function I({projectSlug:a,scripts:d,activeScriptId:e,onSetActiveScriptId:f,onSaveScript:g,onDeleteScript:h}){let i=(0,c.useMemo)(()=>d.find(a=>a.id===e)??null,[e,d]),[j,l]=(0,c.useState)(()=>e?{type:"edit",scriptId:e}:{type:"new"}),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(null),u="edit"===j.type?j.scriptId:null;(0,c.useEffect)(()=>{if("edit"===j.type){let a=d.find(a=>a.id===j.scriptId);if(a){n(a.name),p(a.prompt);return}}if(i&&"new"!==j.type){("edit"!==j.type||j.scriptId!==i.id)&&l({type:"edit",scriptId:i.id}),n(i.name),p(i.prompt);return}0===d.length&&"new"!==j.type&&(l({type:"new"}),n(""),p(""))},[i,u,j,d]);let v=()=>{l({type:"new"}),n(""),p(""),r(null)},w=()=>{try{let a=g({name:m,prompt:o});l({type:"edit",scriptId:a.id}),r(null)}catch(a){r(a instanceof Error?a.message:"Failed to save session script.")}};return(0,b.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Session Scripts"}),(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-[var(--muted-foreground)]",children:["Save reusable kickoff prompts for the ",String(a??"").trim()||"global tracker board",". These scripts stay on this device and layer on top of the built-in ticket context whenever you start a scripted session."]})]}),(0,b.jsxs)("div",{className:"grid gap-5 md:grid-cols-[240px_minmax(0,1fr)]",children:[(0,b.jsxs)("aside",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-3",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-[var(--muted-foreground)]",children:"Library"}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-[11px] font-medium text-[var(--foreground)] transition-colors hover:bg-[var(--background)]",onClick:v,children:[(0,b.jsx)(k.Plus,{size:12}),"New"]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("button",{type:"button",className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${null===e?"bg-[var(--background)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>f(null),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${null===e?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:null===e?(0,b.jsx)(D.Check,{size:10}):null}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-medium",children:"AGX default"})]}),0===d.length?(0,b.jsx)("div",{className:"rounded-lg border border-dashed border-[var(--card-border)] px-3 py-4 text-xs leading-relaxed text-[var(--muted-foreground)]",children:"No saved scripts yet. Create one to reuse your preferred scripted session prompt."}):d.map(a=>{let c=a.id===e,d="edit"===j.type&&j.scriptId===a.id;return(0,b.jsx)("button",{type:"button",className:`rounded-lg border px-3 py-2 text-left transition-colors ${d?"border-blue-500/50 bg-[var(--background)]":"border-transparent hover:border-[var(--card-border)] hover:bg-[var(--background)]"}`,onClick:()=>{l({type:"edit",scriptId:a.id}),n(a.name),p(a.prompt),r(null),f(a.id)},children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)("span",{className:`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${c?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:c?(0,b.jsx)(D.Check,{size:10}):null}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-xs font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("div",{className:"mt-1 line-clamp-2 text-[11px] leading-relaxed text-[var(--muted-foreground)]",children:a.prompt}),(0,b.jsxs)("div",{className:"mt-2 text-[10px] uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:["Updated ",function(a){try{return new Date(a).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{return a}}(a.updatedAt)]})]})]})},a.id)})]})]}),(0,b.jsxs)("section",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4",children:[(0,b.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-sm font-semibold text-[var(--foreground)]",children:"edit"===j.type?"Edit Session Script":"New Session Script"}),(0,b.jsxs)("p",{className:"mt-1 text-xs leading-relaxed text-[var(--muted-foreground)]",children:["Use placeholders like ",(0,b.jsx)("code",{children:"{{ticket.identifier}}"}),", ",(0,b.jsx)("code",{children:"{{ticket.title}}"}),", ",(0,b.jsx)("code",{children:"{{ticket.status}}"}),", ",(0,b.jsx)("code",{children:"{{ticket.assignee}}"}),", ",(0,b.jsx)("code",{children:"{{project.slug}}"}),", ",(0,b.jsx)("code",{children:"{{knowledge_base.root}}"}),", ",(0,b.jsx)("code",{children:"{{knowledge_base.issue_path}}"}),", and ",(0,b.jsx)("code",{children:"{{worktree.path}}"}),"."]})]}),i?(0,b.jsxs)("span",{className:"rounded-full border border-blue-500/30 bg-blue-500/10 px-2.5 py-1 text-[11px] font-medium text-blue-400",children:["Active: ",i.name]}):(0,b.jsx)("span",{className:"rounded-full border border-[var(--card-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--muted-foreground)]",children:"Active: AGX default"})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:"Name"}),(0,b.jsx)("input",{type:"text",className:"rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm text-[var(--foreground)] outline-none transition-colors focus:border-blue-500",placeholder:"Investigation-first",value:m,onChange:a=>n(a.target.value)})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:"Prompt"}),(0,b.jsx)("div",{className:"overflow-hidden rounded-lg border border-[var(--card-border)] bg-[var(--background)] transition-colors focus-within:border-blue-500 [&_.rich-text-editor_.ProseMirror]:min-h-[220px]",children:(0,b.jsx)(H.default,{content:o,onChange:p,placeholder:"Read {{ticket.identifier}} and the full comment thread before changing code.\nWrite your investigation to {{knowledge_base.issue_path}} and stop after posting a plan unless the item is already approved for implementation."})})]}),q?(0,b.jsx)("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-xs text-red-300",children:q}):null,(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600",onClick:w,children:[(0,b.jsx)(E.Save,{size:14}),"Save as new"]}),"edit"===j.type?(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-[var(--card-border)] px-3 py-2 text-sm font-medium text-[var(--foreground)] transition-colors hover:bg-[var(--background)]",onClick:()=>{if("edit"!==j.type)return void w();try{let a=g({id:j.scriptId,name:m,prompt:o});l({type:"edit",scriptId:a.id}),r(null)}catch(a){r(a instanceof Error?a.message:"Failed to update session script.")}},children:[(0,b.jsx)(E.Save,{size:14}),"Update"]}):null,"edit"===j.type?(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-red-500/30 px-3 py-2 text-sm font-medium text-red-300 transition-colors hover:bg-red-500/10",onClick:()=>{t(d.find(a=>a.id===j.scriptId)??null)},children:[(0,b.jsx)(F.Trash2,{size:14}),"Delete"]}):null,(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-[var(--card-border)] px-3 py-2 text-sm font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]",onClick:v,children:[(0,b.jsx)(k.Plus,{size:14}),"Clear editor"]})]})]})]})]}),(0,b.jsx)(G.default,{isOpen:!!s,title:"Delete session script?",message:"This removes the saved script from this device for the current project.",preview:s?.name,confirmLabel:"Delete",variant:"danger",onConfirm:()=>{s&&(h(s.id),"edit"===j.type&&j.scriptId===s.id&&(l({type:"new"}),n(""),p("")),t(null),r(null))},onCancel:()=>t(null)})]})}var J=a.i(475632),K=a.i(529889);let L={search:"",assigneeIds:[],statusCategories:[],groupIds:[],labelNames:[],sortBy:"activity",sortDir:"desc",hasActivity:!1};var M=a.i(427411),N=a.i(837929),O=a.i(785061),P=a.i(778784),Q=a.i(971382);let R=(0,g.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),S=(0,g.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var T=a.i(60985),U=a.i(811760),V=a.i(756490),W=a.i(73948),X=a.i(201485);let Y=`Pick the highest-priority actionable ticket. Prefer tickets that:
2
2
  1. Are already started (existing branches, PRs, or prior comments) — continue where you left off.
3
3
  2. Are assigned to you or unassigned.
4
4
  3. Have the most urgent priority or earliest due date.
5
5
 
6
- Skip tickets with the \`active-session\` label — another agent is already working on them.`,S=`Work on {{ticket.identifier}}: {{ticket.title}}
6
+ Skip tickets with the \`active-session\` label — another agent is already working on them.`,Z=`Work on {{ticket.identifier}}: {{ticket.title}}
7
7
 
8
8
  ## Workflow
9
9
 
@@ -20,21 +20,23 @@ Skip tickets with the \`active-session\` label — another agent is already work
20
20
  - Keep the issue tracker accurate: update status, post comments, link PRs.
21
21
  - Add the \`active-session\` label when starting. Remove it when done.
22
22
  - Leave everything in a resumable state. Clean up worktrees when finished.
23
- - One ticket per session.`,T=(0,d.default)(async()=>{},{loadableGenerated:{modules:[668610]},ssr:!1});function U({children:a}){return(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:a})}function V({title:a,expanded:c,onToggle:d,children:e}){return(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden",children:[(0,b.jsxs)("button",{type:"button",onClick:d,className:"flex w-full items-center gap-2 px-4 py-3 text-left text-xs font-semibold text-[var(--muted-foreground)] uppercase tracking-widest hover:text-[var(--foreground)] transition-colors",children:[c?(0,b.jsx)(N.ChevronDown,{size:12}):(0,b.jsx)(O.ChevronRight,{size:12}),a]}),c&&(0,b.jsx)("div",{className:"border-t border-[var(--card-border)]",children:e})]})}function W({projectId:a,onJobLoaded:d}){let[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)([]),[i,k]=(0,c.useState)(!0),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(R),[p,q]=(0,c.useState)(S),[r,s]=(0,c.useState)("*/30 * * * *"),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!0),B=(0,c.useRef)(!1),C=(0,c.useCallback)(async()=>{try{let b=new URLSearchParams;a&&b.set("projectId",a);let c=await fetch(`/api/linear/worker?${b}`);if(!c.ok)return;let e=await c.json();e.job?(f(e.job),o(e.job.prompt||R),q(e.job.scriptPrompt||S),s(e.job.cronExpr||e.job.cadence||"*/30 * * * *"),u(e.job.condition||""),w(e.job.teamId||""),d?.(e.job.id)):d?.(null)}catch{}finally{k(!1)}},[a,d]),D=(0,c.useCallback)(async()=>{if(a)try{let b=await fetch(`/api/projects/${a}/teams`);if(!b.ok)return;let c=((await b.json()).teams??[]).map(a=>({id:a.id,name:a.name}));h(c)}catch{}},[a]);(0,c.useEffect)(()=>{B.current||(B.current=!0,C(),D())},[C,D]),(0,c.useEffect)(()=>{let a=setInterval(C,15e3);return()=>clearInterval(a)},[C]);let E=(0,c.useCallback)(async()=>{m(!0);try{let b={prompt:n,scriptPrompt:p,cadence:r,condition:t,teamId:v};a&&(b.projectId=a);let c=await fetch("/api/linear/worker",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(c.ok){let a=await c.json();f(a.job)}}catch{}finally{m(!1)}},[n,p,r,t,v,a]),F=(0,c.useCallback)(async()=>{if(!e)return void await E();m(!0);try{let b="active"===e.state?"paused":"active",c=await fetch("/api/linear/worker",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,state:b})});if(c.ok){let a=await c.json();f(a.job)}}catch{}finally{m(!1)}},[e,a,E]),[G,H]=(0,c.useState)(!1),I=(0,c.useCallback)(async()=>{if(e){H(!0);try{await fetch("/api/prompt-jobs/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jobId:e.id})}),setTimeout(C,1e3)}catch{}finally{H(!1)}}},[e,C]);if(i)return(0,b.jsxs)("div",{className:"flex items-center gap-2 py-12 justify-center text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(j.RefreshCw,{size:14,className:"animate-spin"}),"Loading Worker..."]});let J=e?.state==="active";return(0,b.jsxs)("div",{className:"flex flex-col gap-4 h-full",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex items-center gap-4 text-xs text-[var(--muted-foreground)]",children:e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{children:["Next: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:function(a,b){if("paused"===b)return"Paused";if("stopped"===b)return"Stopped";if(null===a)return"Pending";let c=a-Date.now();return c<0?"Overdue":c<6e4?`in ${Math.round(c/1e3)}s`:c<36e5?`in ${Math.round(c/6e4)}m`:c<864e5?`in ${Math.round(c/36e5)}h`:`in ${Math.round(c/864e5)}d`}(e.nextRunAt,e.state)})]}),(0,b.jsxs)("span",{children:["Last: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:function(a){if(!a)return"Never";let b=Date.now()-a;return b<6e4?"Just now":b<36e5?`${Math.round(b/6e4)}m ago`:b<864e5?`${Math.round(b/36e5)}h ago`:`${Math.round(b/864e5)}d ago`}(e.lastRunAt)})]}),e.lastOutcome&&(0,b.jsxs)("span",{children:["Outcome:"," ",(0,b.jsx)("span",{className:"success"===e.lastOutcome?"text-emerald-400":"failed"===e.lastOutcome?"text-red-400":"text-[var(--foreground)]",children:e.lastOutcome})]})]})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[e&&(0,b.jsxs)("button",{type:"button",disabled:G||l,onClick:I,className:"flex items-center gap-1.5 rounded-lg border border-blue-500/30 bg-blue-500/10 px-3 py-1.5 text-xs font-medium text-blue-400 transition-colors hover:bg-blue-500/20 disabled:opacity-40",children:[G?(0,b.jsx)(j.RefreshCw,{size:12,className:"animate-spin"}):(0,b.jsx)(P.Play,{size:12}),"Run now"]}),(0,b.jsxs)("button",{type:"button",disabled:l,onClick:F,className:"relative flex items-center gap-2.5 rounded-lg border border-[var(--card-border)] bg-[var(--muted)] px-3 py-1.5 text-xs font-medium text-[var(--foreground)] transition-colors hover:border-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{className:`relative inline-flex h-4 w-7 shrink-0 items-center rounded-full transition-colors ${J?"bg-emerald-500":"bg-[var(--card-border)]"}`,children:(0,b.jsx)("span",{className:`inline-block h-3 w-3 rounded-full bg-white transition-transform ${J?"translate-x-3.5":"translate-x-0.5"}`})}),J?"Enabled":"Disabled"]})]})]}),(0,b.jsxs)("div",{className:"flex flex-1 min-h-0 gap-6 overflow-y-auto",children:[(0,b.jsxs)("div",{className:"flex flex-1 min-w-0 flex-col gap-4",children:[(0,b.jsx)(V,{title:"How to pick a ticket",expanded:x,onToggle:()=>y(!x),children:(0,b.jsx)("div",{className:"min-h-[120px] overflow-y-auto resize-y",style:{height:320},children:(0,b.jsx)(T,{content:n,onChange:a=>o(a),placeholder:"Describe how to pick which ticket to work on..."})})}),(0,b.jsx)(V,{title:"How to work a ticket",expanded:z,onToggle:()=>A(!z),children:(0,b.jsx)("div",{className:"min-h-[300px] max-h-[50vh] overflow-y-auto",children:(0,b.jsx)(T,{content:p,onChange:a=>q(a),placeholder:"Instructions injected into the agent session when working a ticket..."})})})]}),(0,b.jsxs)("div",{className:"w-[340px] shrink-0 space-y-6",children:[g.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)(U,{children:"Team"}),(0,b.jsx)(Q.SimpleDropdown,{value:v||"",options:[{value:"",label:"Select a team"},...g.map(a=>({value:a.id,label:a.name}))],onChange:a=>w(a),ariaLabel:"Select team"}),(0,b.jsx)("p",{className:"mt-1.5 text-[10px] text-[var(--muted-foreground)]",children:"Agents in this team become default participants of the tracker chat."})]}),(0,b.jsx)(Q.ScheduleConditionPicker,{value:{cadence:r,condition:t},onChange:a=>{s(a.cadence),u(a.condition)},scheduleLabel:"Schedule",conditionLabel:"Condition"})]})]}),(0,b.jsx)("div",{className:"flex shrink-0 justify-end pt-2",children:(0,b.jsx)("button",{type:"button",disabled:l,onClick:E,className:"rounded-lg bg-[var(--foreground)] px-5 py-2 text-sm font-medium text-[var(--background)] transition-opacity hover:opacity-90 disabled:opacity-40",children:l?"Saving...":"Save configuration"})})]})}var X=a.i(44668),Y=a.i(999076),Z=a.i(349692);let $=(0,l.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);function _({status:a}){switch(a){case"success":return(0,b.jsx)(X.CheckCircle2,{size:14,className:"text-emerald-400"});case"failed":return(0,b.jsx)(Y.XCircle,{size:14,className:"text-red-400"});case"running":return(0,b.jsx)(Z.Loader2,{size:14,className:"text-blue-400 animate-spin"});case"queued":return(0,b.jsx)(h.Clock,{size:14,className:"text-yellow-400"});case"cancelled":return(0,b.jsx)($,{size:14,className:"text-[var(--muted-foreground)]"});default:return(0,b.jsx)(h.Clock,{size:14,className:"text-[var(--muted-foreground)]"})}}function aa(a){return a?new Date(a).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"—"}function ab({jobId:a}){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(!0),[h,i]=(0,c.useState)(null),k=(0,c.useRef)(!1),l=(0,c.useCallback)(async()=>{if(!a)return void g(!1);try{let b=await fetch(`/api/prompt-jobs/${a}/runs`);if(!b.ok)return;let c=await b.json();e(c.runs??[])}catch{}finally{g(!1)}},[a]);return((0,c.useEffect)(()=>{k.current||(k.current=!0,l())},[l]),(0,c.useEffect)(()=>{let a=setInterval(l,1e4);return()=>clearInterval(a)},[l]),a)?f?(0,b.jsxs)("div",{className:"flex items-center gap-2 py-12 justify-center text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(j.RefreshCw,{size:14,className:"animate-spin"}),"Loading run history..."]}):0===d.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-16 text-sm text-[var(--muted-foreground)]",children:"No runs yet. The worker will log runs here once it starts executing."}):(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_100px_140px_140px_90px] gap-3 px-4 py-2 text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest border-b border-[var(--card-border)]",children:[(0,b.jsx)("span",{children:"Status"}),(0,b.jsx)("span",{children:"Duration"}),(0,b.jsx)("span",{children:"Started"}),(0,b.jsx)("span",{children:"Finished"}),(0,b.jsx)("span",{children:"Run ID"})]}),(0,b.jsx)("div",{className:"max-h-[60vh] overflow-y-auto",children:d.map(a=>{var c,d;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{type:"button",onClick:()=>i(h===a.id?null:a.id),className:"grid w-full grid-cols-[minmax(0,1fr)_100px_140px_140px_90px] gap-3 px-4 py-2.5 text-left text-sm transition-colors hover:bg-[var(--card-bg)] rounded-lg",children:[(0,b.jsxs)("span",{className:`flex items-center gap-2 font-medium ${function(a){switch(a){case"success":return"text-emerald-400";case"failed":return"text-red-400";case"running":return"text-blue-400";case"queued":return"text-yellow-400";default:return"text-[var(--muted-foreground)]"}}(a.status)}`,children:[(0,b.jsx)(_,{status:a.status}),(c=a.status).charAt(0).toUpperCase()+c.slice(1)]}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:null===(d=a.durationMs)?"—":d<1e3?`${d}ms`:d<6e4?`${(d/1e3).toFixed(1)}s`:d<36e5?`${Math.round(d/6e4)}m ${Math.round(d%6e4/1e3)}s`:`${Math.round(d/36e5)}h ${Math.round(d%36e5/6e4)}m`}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:aa(a.startedAt)}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:aa(a.finishedAt)}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-xs truncate",children:a.id.slice(0,8)})]}),h===a.id&&(a.output||a.error)&&(0,b.jsxs)("div",{className:"mx-4 mb-2 rounded-lg border border-[var(--card-border)] bg-[var(--muted)] overflow-hidden",children:[a.error&&(0,b.jsxs)("div",{className:"px-4 py-3 border-b border-[var(--card-border)]",children:[(0,b.jsx)("div",{className:"text-[10px] font-semibold text-red-400 uppercase tracking-widest mb-1",children:"Error"}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:a.error})]}),a.output&&(0,b.jsxs)("div",{className:"px-4 py-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-1",children:"Output"}),(0,b.jsx)("pre",{className:"text-xs text-[var(--foreground)] whitespace-pre-wrap font-mono max-h-[300px] overflow-y-auto",children:a.output})]})]})]},a.id)})})]}):(0,b.jsx)("div",{className:"flex items-center justify-center py-16 text-sm text-[var(--muted-foreground)]",children:"No worker configured yet. Enable the worker to see run history."})}let ac=["#ef4444","#f97316","#eab308","#22c55e","#06b6d4","#3b82f6","#8b5cf6","#ec4899"];function ad({definitions:a,onCreate:d,onDelete:e}){let[f,g]=(0,c.useState)(""),[h,j]=(0,c.useState)(ac[0]),[k,l]=(0,c.useState)(!1),m=async()=>{f.trim()&&!k&&(l(!0),await d(f.trim(),h),g(""),l(!1))};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Local Labels"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Define labels for local task tracking. These are stored locally and not synced to your tracker."}),a.length>0&&(0,b.jsx)("div",{className:"space-y-1",children:a.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-[var(--card-bg)]",children:[a.color&&(0,b.jsx)("span",{className:"h-3 w-3 shrink-0 rounded-full",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"min-w-0 flex-1 text-sm text-[var(--foreground)]",children:a.name}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-1 text-[var(--muted-foreground)] transition-colors hover:bg-red-500/10 hover:text-red-400",onClick:()=>void e(a.id),title:"Delete label",children:(0,b.jsx)(y.Trash2,{size:14})})]},a.id))}),(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-[var(--card-border)] p-2",children:[(0,b.jsx)("div",{className:"flex gap-1",children:ac.map(a=>(0,b.jsx)("button",{type:"button",className:`h-5 w-5 rounded-full transition-all ${h===a?"ring-2 ring-[var(--foreground)] ring-offset-1 ring-offset-[var(--background)]":""}`,style:{backgroundColor:a},onClick:()=>j(a)},a))}),(0,b.jsx)("input",{type:"text",className:"min-w-0 flex-1 bg-transparent px-2 py-1 text-sm outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Label name",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),m())}}),(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-1 rounded-md bg-[var(--primary)] px-2.5 py-1 text-xs font-medium text-[var(--primary-foreground)] transition-opacity hover:opacity-90 disabled:opacity-50",onClick:()=>void m(),disabled:!f.trim()||k,children:[(0,b.jsx)(i.Plus,{size:12}),"Add"]})]})]})}function ae(a,b){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),j=(0,c.useCallback)(async()=>{if(b){i(!0);try{let c=await fetch(`/api/trackers/${encodeURIComponent(a)}/labels?projectId=${encodeURIComponent(b)}`),d=await c.json();e(Array.isArray(d.labels)?d.labels:[]),g(Array.isArray(d.definitions)?d.definitions:[])}catch{}i(!1)}},[a,b]);(0,c.useEffect)(()=>{j()},[j]);let k=(0,c.useCallback)(async(c,d)=>{if(b)try{(await fetch(`/api/trackers/${encodeURIComponent(a)}/labels`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:b,name:c,color:d})})).ok&&await j()}catch{}},[a,b,j]),l=(0,c.useCallback)(async c=>{if(b)try{(await fetch(`/api/trackers/${encodeURIComponent(a)}/labels/${encodeURIComponent(c)}?projectId=${encodeURIComponent(b)}`,{method:"DELETE"})).ok&&await j()}catch{}},[a,b,j]);return{labels:d,definitions:f,loading:h,refresh:j,createDefinition:k,deleteDefinition:l}}function af({trackerType:a,connected:d,user:e,clis:f,mcpConfigured:g,onConnect:h,onConnectWithKey:i,onDisconnect:j,onConfigureMcp:k,onClose:l,projectId:m}){let[n,p]=(0,c.useState)(d?"worker":"connection"),[q,r]=(0,c.useState)(null),{definitions:s,createDefinition:t,deleteDefinition:u}=ae(a,m),v="jira"===a?"Jira Worker":"Linear Worker",w=[{id:"connection",label:"Connection",icon:(0,b.jsx)(K,{size:14})},{id:"worker",label:v,icon:(0,b.jsx)(J.Bot,{size:14}),disabled:!d},{id:"run-log",label:"Run Log",icon:(0,b.jsx)(L,{size:14}),disabled:!d},{id:"labels",label:"Labels",icon:(0,b.jsx)(M.Tag,{size:14}),disabled:!d}];return(0,b.jsx)("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-black/50",children:(0,b.jsxs)("div",{className:"relative flex w-full max-w-6xl flex-col rounded-lg border border-[var(--card-border)] bg-[var(--background)] shadow-xl",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] px-6",children:[(0,b.jsx)("div",{className:"flex items-center gap-6",children:w.map(a=>{let c=n===a.id;return(0,b.jsxs)("button",{onClick:()=>!a.disabled&&p(a.id),disabled:a.disabled,className:`relative flex items-center gap-2 py-4 text-sm font-semibold transition-colors ${c?"text-[var(--foreground)]":a.disabled?"cursor-not-allowed text-[var(--muted-foreground)]/40":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:[a.icon,a.label,c&&(0,b.jsx)("span",{className:"absolute bottom-0 left-0 right-0 h-[2px] rounded-full bg-[var(--foreground)]"})]},a.id)})}),(0,b.jsx)("button",{type:"button",className:"rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:l,children:(0,b.jsx)(o.X,{size:18})})]}),(0,b.jsxs)("div",{className:"flex-1 min-h-0 max-h-[80vh] overflow-y-auto p-6",children:["connection"===n&&(0,b.jsx)(I.default,{trackerType:a,projectId:m??"",connected:d,onConnect:h,onConnectWithKey:i,onDisconnect:j,clis:f,mcpConfigured:g,onConfigureMcp:k}),"worker"===n&&d&&(0,b.jsx)(W,{projectId:m,onJobLoaded:r}),"run-log"===n&&d&&(0,b.jsx)(ab,{jobId:q}),"labels"===n&&d&&(0,b.jsx)(ad,{definitions:s,onCreate:t,onDelete:u})]})]})})}function ag(a){if("chat"===a.mode)switch(a.status){case"queued":return{label:"starting",tone:"queued"};case"running":return{label:"thinking",tone:"running"};case"success":return{label:"ready",tone:"ready"};case"failed":return{label:"error",tone:"failed"};case"cancelled":return{label:"stopped",tone:"cancelled"}}return{label:function(a){switch(a){case"queued":return"queued";case"running":return"running";case"success":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return a}}(a.status),tone:a.status}}function ah(a){let b=a.sessionTitle?.trim();return b||("scripted"===a.mode?"Scripted session":"Chat session")}let ai={"In Progress":"In Prog","In Review":"Review",Backlog:"Backlog",Todo:"Todo",Done:"Done",Cancelled:"Cancl."},aj={queued:"bg-amber-500/10 border-amber-500/20 text-amber-400",running:"bg-yellow-500/10 border-yellow-500/20 text-yellow-400",ready:"bg-sky-500/10 border-sky-500/20 text-sky-400",success:"bg-emerald-500/10 border-emerald-500/20 text-emerald-400",failed:"bg-red-500/10 border-red-500/20 text-red-400",cancelled:"bg-zinc-500/10 border-zinc-500/20 text-zinc-400"},ak={queued:"bg-amber-400",running:"bg-yellow-400",ready:"bg-sky-400",success:"bg-emerald-400",failed:"bg-red-400",cancelled:"bg-zinc-400"},al={queued:"text-amber-500",running:"text-yellow-500",ready:"text-sky-500",success:"text-green-500",failed:"text-red-500",cancelled:"text-[var(--muted-foreground)]"};function am({onResize:a}){let d=(0,c.useRef)(0),e=(0,c.useRef)(a);e.current=a;let f=(0,c.useCallback)(a=>{a.preventDefault(),d.current=a.clientX,document.body.style.cursor="col-resize",document.body.style.userSelect="none";let b=a=>{let b=a.clientX-d.current;d.current=a.clientX,e.current(b)},c=()=>{document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",b),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",b),window.addEventListener("mouseup",c)},[]);return(0,b.jsx)("div",{className:"group relative z-10 w-0 shrink-0 cursor-col-resize",onMouseDown:f,children:(0,b.jsx)("div",{className:"absolute inset-y-0 -left-1 w-2 transition-colors group-hover:bg-[var(--primary)]/40"})})}function an({label:a,value:c,options:d,activeClasses:e,onChange:f,disabled:g=!1}){let h=c.trim().length>0;return(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("select",{"aria-label":a,className:`max-w-[160px] appearance-none rounded-full border bg-transparent px-2.5 py-0.5 pr-6 text-[11px] font-medium outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-60 ${h?e:"border-[var(--card-border)] text-[var(--muted-foreground)] hover:bg-[var(--card-bg)]"}`,value:c,disabled:g,onChange:a=>f(a.target.value),children:d.map(c=>(0,b.jsx)("option",{value:c.value,children:c.label},`${a}-${c.value||"all"}`))}),(0,b.jsx)(N.ChevronDown,{size:12,className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-current"})]})}function ao({status:a,options:c,onChange:d,disabled:e=!1,updating:f=!1}){return(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("select",{"aria-label":"Ticket status",className:"max-w-[160px] appearance-none rounded-md border border-[var(--card-border)] bg-[var(--card-bg)] px-2.5 py-1 pr-8 text-xs font-medium text-[var(--foreground)] outline-none transition-colors hover:border-[var(--muted-foreground)] disabled:cursor-not-allowed disabled:opacity-60",value:a,disabled:e||f,onChange:a=>d(a.target.value),children:c.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},`ticket-status-${a.value}`))}),f?(0,b.jsx)(j.RefreshCw,{size:12,className:"pointer-events-none absolute right-6 top-1/2 -translate-y-1/2 animate-spin text-[var(--muted-foreground)]"}):null,(0,b.jsx)(N.ChevronDown,{size:12,className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)]"})]})}function ap({label:a,values:d,options:e,activeClasses:f,onChange:g,emptyLabel:h}){let[i,j]=(0,c.useState)(!1),k=(0,c.useRef)(null),l=e.filter(a=>a.value&&d.includes(a.value)),m=l.length>0,n=(()=>{if(0===l.length||l.length===e.length)return h??a;if(1===l.length)return l[0]?.label??h??a;let b=a.toLowerCase();return`${l.length} ${b}${b.endsWith("s")?"es":"s"}`})();(0,c.useEffect)(()=>{if(!i)return;let a=a=>{k.current&&!k.current.contains(a.target)&&j(!1)};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[i]);let o=(0,c.useCallback)(a=>{a?g(d.includes(a)?d.filter(b=>b!==a):[...d,a]):g([])},[g,d]);return(0,b.jsxs)("div",{className:"relative",ref:k,children:[(0,b.jsxs)("button",{type:"button","aria-label":a,"aria-haspopup":"listbox","aria-expanded":i,className:`flex max-w-[180px] items-center gap-1 rounded-full border px-2.5 py-0.5 text-[11px] font-medium transition-colors ${m?f:"border-[var(--card-border)] text-[var(--muted-foreground)] hover:bg-[var(--card-bg)]"}`,onClick:()=>j(a=>!a),children:[(0,b.jsx)("span",{className:"max-w-[132px] truncate",children:n}),(0,b.jsx)(N.ChevronDown,{size:12,className:`shrink-0 transition-transform ${i?"rotate-180":""}`})]}),i?(0,b.jsxs)("div",{role:"listbox","aria-label":`${a} options`,"aria-multiselectable":"true",className:"absolute left-0 top-full z-50 mt-1 min-w-[240px] overflow-hidden rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-1 shadow-lg backdrop-blur-sm",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":!m,className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${!m?"bg-[var(--background)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>g([]),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${!m?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:m?null:(0,b.jsx)(w.Check,{size:10})}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:h??a})]}),l.length>0?(0,b.jsx)("div",{className:"px-3 pb-1 pt-2 text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--muted-foreground)]",children:"Selected"}):null,e.filter(a=>a.value).map(c=>{let e=d.includes(c.value);return(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":e,className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${e?"bg-[var(--background)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>o(c.value),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border ${e?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:e?(0,b.jsx)(w.Check,{size:10}):null}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c.label})]},`${a}-${c.value}`)})]}):null]})}var aq=a.i(379065),ar=a.i(737313);let as=(0,l.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"}]]),at=(0,l.default)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]);var au=a.i(197180),av=a.i(313872),aw=a.i(628977),ax=a.i(609345),ay=a.i(140810);function az({anchorRef:a,value:d,onChange:e,onClose:f,onSave:g}){let h=(0,c.useRef)(null),[i,j]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!a.current)return;let b=a.current.getBoundingClientRect();j({top:b.bottom+window.scrollY+6,left:b.left+window.scrollX+b.width/2})},[a]);let k=(0,av.useEditor)({extensions:[aw.default,ax.default.configure({placeholder:"Add a note…",emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)]/50 before:float-left before:pointer-events-none before:h-0"}),ay.Markdown.configure({html:!1,transformPastedText:!0})],immediatelyRender:!1,content:d,editorProps:{attributes:{class:"outline-none min-h-[80px] px-3 py-2 text-xs text-[var(--foreground)] prose prose-sm max-w-none"}},onUpdate:({editor:a})=>{e(a.storage.markdown?.getMarkdown()??d)}});return((0,c.useEffect)(()=>{k&&setTimeout(()=>k.commands.focus("end"),0)},[k]),(0,c.useEffect)(()=>{function b(b){!h.current||h.current.contains(b.target)||a.current?.contains(b.target)||(g(k?k.storage.markdown?.getMarkdown()??d:d),f())}function c(a){"Escape"===a.key&&(g(k?k.storage.markdown?.getMarkdown()??d:d),f())}return document.addEventListener("mousedown",b),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",c)}},[k,d,a,g,f]),i)?(0,au.createPortal)((0,b.jsxs)("div",{ref:h,style:{position:"absolute",top:i.top,left:i.left,transform:"translateX(-50%)",zIndex:9999,width:288},onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] shadow-xl",children:[(0,b.jsxs)("div",{className:"flex h-6 w-full items-center justify-end gap-0.5 rounded-t-lg bg-[var(--primary)]/40 px-1.5",children:[(0,b.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),g(k?k.storage.markdown?.getMarkdown()??d:d),f()},className:"flex h-4 w-4 items-center justify-center rounded text-[var(--foreground)]/60 hover:text-emerald-400 transition-colors",title:"Save",children:(0,b.jsx)(w.Check,{size:11})}),(0,b.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),f()},className:"flex h-4 w-4 items-center justify-center rounded text-[var(--foreground)]/60 hover:text-red-400 transition-colors",title:"Discard",children:(0,b.jsx)(o.X,{size:11})})]}),(0,b.jsx)(av.EditorContent,{editor:k}),(0,b.jsx)("div",{className:"flex justify-end px-1.5 pb-1.5",children:(0,b.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),g(""),f()},className:"flex h-4 w-4 items-center justify-center rounded text-[var(--foreground)]/40 hover:text-red-400 transition-colors",title:"Delete note",children:(0,b.jsx)(y.Trash2,{size:11})})})]}),(0,b.jsx)("style",{children:`
23
+ - One ticket per session.`,$=(0,d.default)(async()=>{},{loadableGenerated:{modules:[668610]},ssr:!1});function _({children:a}){return(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:a})}function aa({title:a,expanded:c,onToggle:d,children:e}){return(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden",children:[(0,b.jsxs)("button",{type:"button",onClick:d,className:"flex w-full items-center gap-2 px-4 py-3 text-left text-xs font-semibold text-[var(--muted-foreground)] uppercase tracking-widest hover:text-[var(--foreground)] transition-colors",children:[c?(0,b.jsx)(U.ChevronDown,{size:12}):(0,b.jsx)(V.ChevronRight,{size:12}),a]}),c&&(0,b.jsx)("div",{className:"border-t border-[var(--card-border)]",children:e})]})}function ab({projectId:a,onJobLoaded:d}){let[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)([]),[i,j]=(0,c.useState)(!0),[k,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(Y),[p,q]=(0,c.useState)(Z),[r,s]=(0,c.useState)("*/30 * * * *"),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!0),B=(0,c.useRef)(!1),C=(0,c.useCallback)(async()=>{try{let b=new URLSearchParams;a&&b.set("projectId",a);let c=await fetch(`/api/linear/worker?${b}`);if(!c.ok)return;let e=await c.json();e.job?(f(e.job),o(e.job.prompt||Y),q(e.job.scriptPrompt||Z),s(e.job.cronExpr||e.job.cadence||"*/30 * * * *"),u(e.job.condition||""),w(e.job.teamId||""),d?.(e.job.id)):d?.(null)}catch{}finally{j(!1)}},[a,d]),D=(0,c.useCallback)(async()=>{if(a)try{let b=await fetch(`/api/projects/${a}/teams`);if(!b.ok)return;let c=((await b.json()).teams??[]).map(a=>({id:a.id,name:a.name}));h(c)}catch{}},[a]);(0,c.useEffect)(()=>{B.current||(B.current=!0,C(),D())},[C,D]),(0,c.useEffect)(()=>{let a=setInterval(C,15e3);return()=>clearInterval(a)},[C]);let E=(0,c.useCallback)(async()=>{m(!0);try{let b={prompt:n,scriptPrompt:p,cadence:r,condition:t,teamId:v};a&&(b.projectId=a);let c=await fetch("/api/linear/worker",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(c.ok){let a=await c.json();f(a.job)}}catch{}finally{m(!1)}},[n,p,r,t,v,a]),F=(0,c.useCallback)(async()=>{if(!e)return void await E();m(!0);try{let b="active"===e.state?"paused":"active",c=await fetch("/api/linear/worker",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,state:b})});if(c.ok){let a=await c.json();f(a.job)}}catch{}finally{m(!1)}},[e,a,E]),[G,H]=(0,c.useState)(!1),I=(0,c.useCallback)(async()=>{if(e){H(!0);try{await fetch("/api/prompt-jobs/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jobId:e.id})}),setTimeout(C,1e3)}catch{}finally{H(!1)}}},[e,C]);if(i)return(0,b.jsxs)("div",{className:"flex items-center gap-2 py-12 justify-center text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(l.RefreshCw,{size:14,className:"animate-spin"}),"Loading Worker..."]});let J=e?.state==="active";return(0,b.jsxs)("div",{className:"flex flex-col gap-4 h-full",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex items-center gap-4 text-xs text-[var(--muted-foreground)]",children:e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{children:["Next: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:function(a,b){if("paused"===b)return"Paused";if("stopped"===b)return"Stopped";if(null===a)return"Pending";let c=a-Date.now();return c<0?"Overdue":c<6e4?`in ${Math.round(c/1e3)}s`:c<36e5?`in ${Math.round(c/6e4)}m`:c<864e5?`in ${Math.round(c/36e5)}h`:`in ${Math.round(c/864e5)}d`}(e.nextRunAt,e.state)})]}),(0,b.jsxs)("span",{children:["Last: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:function(a){if(!a)return"Never";let b=Date.now()-a;return b<6e4?"Just now":b<36e5?`${Math.round(b/6e4)}m ago`:b<864e5?`${Math.round(b/36e5)}h ago`:`${Math.round(b/864e5)}d ago`}(e.lastRunAt)})]}),e.lastOutcome&&(0,b.jsxs)("span",{children:["Outcome:"," ",(0,b.jsx)("span",{className:"success"===e.lastOutcome?"text-emerald-400":"failed"===e.lastOutcome?"text-red-400":"text-[var(--foreground)]",children:e.lastOutcome})]})]})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[e&&(0,b.jsxs)("button",{type:"button",disabled:G||k,onClick:I,className:"flex items-center gap-1.5 rounded-lg border border-blue-500/30 bg-blue-500/10 px-3 py-1.5 text-xs font-medium text-blue-400 transition-colors hover:bg-blue-500/20 disabled:opacity-40",children:[G?(0,b.jsx)(l.RefreshCw,{size:12,className:"animate-spin"}):(0,b.jsx)(W.Play,{size:12}),"Run now"]}),(0,b.jsxs)("button",{type:"button",disabled:k,onClick:F,className:"relative flex items-center gap-2.5 rounded-lg border border-[var(--card-border)] bg-[var(--muted)] px-3 py-1.5 text-xs font-medium text-[var(--foreground)] transition-colors hover:border-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{className:`relative inline-flex h-4 w-7 shrink-0 items-center rounded-full transition-colors ${J?"bg-emerald-500":"bg-[var(--card-border)]"}`,children:(0,b.jsx)("span",{className:`inline-block h-3 w-3 rounded-full bg-white transition-transform ${J?"translate-x-3.5":"translate-x-0.5"}`})}),J?"Enabled":"Disabled"]})]})]}),(0,b.jsxs)("div",{className:"flex flex-1 min-h-0 gap-6 overflow-y-auto",children:[(0,b.jsxs)("div",{className:"flex flex-1 min-w-0 flex-col gap-4",children:[(0,b.jsx)(aa,{title:"How to pick a ticket",expanded:x,onToggle:()=>y(!x),children:(0,b.jsx)("div",{className:"min-h-[120px] overflow-y-auto resize-y",style:{height:320},children:(0,b.jsx)($,{content:n,onChange:a=>o(a),placeholder:"Describe how to pick which ticket to work on..."})})}),(0,b.jsx)(aa,{title:"How to work a ticket",expanded:z,onToggle:()=>A(!z),children:(0,b.jsx)("div",{className:"min-h-[300px] max-h-[50vh] overflow-y-auto",children:(0,b.jsx)($,{content:p,onChange:a=>q(a),placeholder:"Instructions injected into the agent session when working a ticket..."})})})]}),(0,b.jsxs)("div",{className:"w-[340px] shrink-0 space-y-6",children:[g.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)(_,{children:"Team"}),(0,b.jsx)(X.SimpleDropdown,{value:v||"",options:[{value:"",label:"Select a team"},...g.map(a=>({value:a.id,label:a.name}))],onChange:a=>w(a),ariaLabel:"Select team"}),(0,b.jsx)("p",{className:"mt-1.5 text-[10px] text-[var(--muted-foreground)]",children:"Agents in this team become default participants of the tracker chat."})]}),(0,b.jsx)(X.ScheduleConditionPicker,{value:{cadence:r,condition:t},onChange:a=>{s(a.cadence),u(a.condition)},scheduleLabel:"Schedule",conditionLabel:"Condition"})]})]}),(0,b.jsx)("div",{className:"flex shrink-0 justify-end pt-2",children:(0,b.jsx)("button",{type:"button",disabled:k,onClick:E,className:"rounded-lg bg-[var(--foreground)] px-5 py-2 text-sm font-medium text-[var(--background)] transition-opacity hover:opacity-90 disabled:opacity-40",children:k?"Saving...":"Save configuration"})})]})}var ac=a.i(44668),ad=a.i(999076),ae=a.i(349692);let af=(0,g.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);function ag({status:a}){switch(a){case"success":return(0,b.jsx)(ac.CheckCircle2,{size:14,className:"text-emerald-400"});case"failed":return(0,b.jsx)(ad.XCircle,{size:14,className:"text-red-400"});case"running":return(0,b.jsx)(ae.Loader2,{size:14,className:"text-blue-400 animate-spin"});case"queued":return(0,b.jsx)(j.Clock,{size:14,className:"text-yellow-400"});case"cancelled":return(0,b.jsx)(af,{size:14,className:"text-[var(--muted-foreground)]"});default:return(0,b.jsx)(j.Clock,{size:14,className:"text-[var(--muted-foreground)]"})}}function ah(a){return a?new Date(a).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"—"}function ai({jobId:a}){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(!0),[h,i]=(0,c.useState)(null),j=(0,c.useRef)(!1),k=(0,c.useCallback)(async()=>{if(!a)return void g(!1);try{let b=await fetch(`/api/prompt-jobs/${a}/runs`);if(!b.ok)return;let c=await b.json();e(c.runs??[])}catch{}finally{g(!1)}},[a]);return((0,c.useEffect)(()=>{j.current||(j.current=!0,k())},[k]),(0,c.useEffect)(()=>{let a=setInterval(k,1e4);return()=>clearInterval(a)},[k]),a)?f?(0,b.jsxs)("div",{className:"flex items-center gap-2 py-12 justify-center text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(l.RefreshCw,{size:14,className:"animate-spin"}),"Loading run history..."]}):0===d.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-16 text-sm text-[var(--muted-foreground)]",children:"No runs yet. The worker will log runs here once it starts executing."}):(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_100px_140px_140px_90px] gap-3 px-4 py-2 text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest border-b border-[var(--card-border)]",children:[(0,b.jsx)("span",{children:"Status"}),(0,b.jsx)("span",{children:"Duration"}),(0,b.jsx)("span",{children:"Started"}),(0,b.jsx)("span",{children:"Finished"}),(0,b.jsx)("span",{children:"Run ID"})]}),(0,b.jsx)("div",{className:"max-h-[60vh] overflow-y-auto",children:d.map(a=>{var c,d;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{type:"button",onClick:()=>i(h===a.id?null:a.id),className:"grid w-full grid-cols-[minmax(0,1fr)_100px_140px_140px_90px] gap-3 px-4 py-2.5 text-left text-sm transition-colors hover:bg-[var(--card-bg)] rounded-lg",children:[(0,b.jsxs)("span",{className:`flex items-center gap-2 font-medium ${function(a){switch(a){case"success":return"text-emerald-400";case"failed":return"text-red-400";case"running":return"text-blue-400";case"queued":return"text-yellow-400";default:return"text-[var(--muted-foreground)]"}}(a.status)}`,children:[(0,b.jsx)(ag,{status:a.status}),(c=a.status).charAt(0).toUpperCase()+c.slice(1)]}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:null===(d=a.durationMs)?"—":d<1e3?`${d}ms`:d<6e4?`${(d/1e3).toFixed(1)}s`:d<36e5?`${Math.round(d/6e4)}m ${Math.round(d%6e4/1e3)}s`:`${Math.round(d/36e5)}h ${Math.round(d%36e5/6e4)}m`}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:ah(a.startedAt)}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:ah(a.finishedAt)}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-xs truncate",children:a.id.slice(0,8)})]}),h===a.id&&(a.output||a.error)&&(0,b.jsxs)("div",{className:"mx-4 mb-2 rounded-lg border border-[var(--card-border)] bg-[var(--muted)] overflow-hidden",children:[a.error&&(0,b.jsxs)("div",{className:"px-4 py-3 border-b border-[var(--card-border)]",children:[(0,b.jsx)("div",{className:"text-[10px] font-semibold text-red-400 uppercase tracking-widest mb-1",children:"Error"}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:a.error})]}),a.output&&(0,b.jsxs)("div",{className:"px-4 py-3",children:[(0,b.jsx)("div",{className:"text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-1",children:"Output"}),(0,b.jsx)("pre",{className:"text-xs text-[var(--foreground)] whitespace-pre-wrap font-mono max-h-[300px] overflow-y-auto",children:a.output})]})]})]},a.id)})})]}):(0,b.jsx)("div",{className:"flex items-center justify-center py-16 text-sm text-[var(--muted-foreground)]",children:"No worker configured yet. Enable the worker to see run history."})}let aj=["#ef4444","#f97316","#eab308","#22c55e","#06b6d4","#3b82f6","#8b5cf6","#ec4899"];function ak({definitions:a,onCreate:d,onDelete:e}){let[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(aj[0]),[j,l]=(0,c.useState)(!1),m=async()=>{f.trim()&&!j&&(l(!0),await d(f.trim(),h),g(""),l(!1))};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Local Labels"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Define labels for local task tracking. These are stored locally and not synced to your tracker."}),a.length>0&&(0,b.jsx)("div",{className:"space-y-1",children:a.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-[var(--card-bg)]",children:[a.color&&(0,b.jsx)("span",{className:"h-3 w-3 shrink-0 rounded-full",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"min-w-0 flex-1 text-sm text-[var(--foreground)]",children:a.name}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-1 text-[var(--muted-foreground)] transition-colors hover:bg-red-500/10 hover:text-red-400",onClick:()=>void e(a.id),title:"Delete label",children:(0,b.jsx)(F.Trash2,{size:14})})]},a.id))}),(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-[var(--card-border)] p-2",children:[(0,b.jsx)("div",{className:"flex gap-1",children:aj.map(a=>(0,b.jsx)("button",{type:"button",className:`h-5 w-5 rounded-full transition-all ${h===a?"ring-2 ring-[var(--foreground)] ring-offset-1 ring-offset-[var(--background)]":""}`,style:{backgroundColor:a},onClick:()=>i(a)},a))}),(0,b.jsx)("input",{type:"text",className:"min-w-0 flex-1 bg-transparent px-2 py-1 text-sm outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Label name",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),m())}}),(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-1 rounded-md bg-[var(--primary)] px-2.5 py-1 text-xs font-medium text-[var(--primary-foreground)] transition-opacity hover:opacity-90 disabled:opacity-50",onClick:()=>void m(),disabled:!f.trim()||j,children:[(0,b.jsx)(k.Plus,{size:12}),"Add"]})]})]})}function al(a,b){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),j=(0,c.useCallback)(async()=>{if(b){i(!0);try{let c=await fetch(`/api/trackers/${encodeURIComponent(a)}/labels?projectId=${encodeURIComponent(b)}`),d=await c.json();e(Array.isArray(d.labels)?d.labels:[]),g(Array.isArray(d.definitions)?d.definitions:[])}catch{}i(!1)}},[a,b]);(0,c.useEffect)(()=>{j()},[j]);let k=(0,c.useCallback)(async(c,d)=>{if(b)try{(await fetch(`/api/trackers/${encodeURIComponent(a)}/labels`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:b,name:c,color:d})})).ok&&await j()}catch{}},[a,b,j]),l=(0,c.useCallback)(async c=>{if(b)try{(await fetch(`/api/trackers/${encodeURIComponent(a)}/labels/${encodeURIComponent(c)}?projectId=${encodeURIComponent(b)}`,{method:"DELETE"})).ok&&await j()}catch{}},[a,b,j]);return{labels:d,definitions:f,loading:h,refresh:j,createDefinition:k,deleteDefinition:l}}function am({trackerType:a,connected:d,user:e,clis:f,mcpConfigured:g,onConnect:h,onConnectWithKey:i,onDisconnect:j,onConfigureMcp:k,onClose:l,projectId:m}){let[n,o]=(0,c.useState)(d?"worker":"connection"),[p,r]=(0,c.useState)(null),{definitions:s,createDefinition:t,deleteDefinition:u}=al(a,m),v="jira"===a?"Jira Worker":"Linear Worker",w=[{id:"connection",label:"Connection",icon:(0,b.jsx)(R,{size:14})},{id:"worker",label:v,icon:(0,b.jsx)(Q.Bot,{size:14}),disabled:!d},{id:"run-log",label:"Run Log",icon:(0,b.jsx)(S,{size:14}),disabled:!d},{id:"labels",label:"Labels",icon:(0,b.jsx)(T.Tag,{size:14}),disabled:!d}];return(0,b.jsx)("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-black/50",children:(0,b.jsxs)("div",{className:"relative flex w-full max-w-6xl flex-col rounded-lg border border-[var(--card-border)] bg-[var(--background)] shadow-xl",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] px-6",children:[(0,b.jsx)("div",{className:"flex items-center gap-6",children:w.map(a=>{let c=n===a.id;return(0,b.jsxs)("button",{onClick:()=>!a.disabled&&o(a.id),disabled:a.disabled,className:`relative flex items-center gap-2 py-4 text-sm font-semibold transition-colors ${c?"text-[var(--foreground)]":a.disabled?"cursor-not-allowed text-[var(--muted-foreground)]/40":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:[a.icon,a.label,c&&(0,b.jsx)("span",{className:"absolute bottom-0 left-0 right-0 h-[2px] rounded-full bg-[var(--foreground)]"})]},a.id)})}),(0,b.jsx)("button",{type:"button",className:"rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:l,children:(0,b.jsx)(q.X,{size:18})})]}),(0,b.jsxs)("div",{className:"flex-1 min-h-0 max-h-[80vh] overflow-y-auto p-6",children:["connection"===n&&(0,b.jsx)(P.default,{trackerType:a,projectId:m??"",connected:d,onConnect:h,onConnectWithKey:i,onDisconnect:j,clis:f,mcpConfigured:g,onConfigureMcp:k}),"worker"===n&&d&&(0,b.jsx)(ab,{projectId:m,onJobLoaded:r}),"run-log"===n&&d&&(0,b.jsx)(ai,{jobId:p}),"labels"===n&&d&&(0,b.jsx)(ak,{definitions:s,onCreate:t,onDelete:u})]})]})})}function an(a){if("chat"===a.mode)switch(a.status){case"queued":return{label:"starting",tone:"queued"};case"running":return{label:"thinking",tone:"running"};case"success":return{label:"ready",tone:"ready"};case"failed":return{label:"error",tone:"failed"};case"cancelled":return{label:"stopped",tone:"cancelled"}}return{label:function(a){switch(a){case"queued":return"queued";case"running":return"running";case"success":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return a}}(a.status),tone:a.status}}function ao(a){let b=a.sessionTitle?.trim();return b||("scripted"===a.mode?"Scripted session":"Chat session")}let ap={"In Progress":"In Prog","In Review":"Review",Backlog:"Backlog",Todo:"Todo",Done:"Done",Cancelled:"Cancl."},aq={queued:"bg-amber-500/10 border-amber-500/20 text-amber-400",running:"bg-yellow-500/10 border-yellow-500/20 text-yellow-400",ready:"bg-sky-500/10 border-sky-500/20 text-sky-400",success:"bg-emerald-500/10 border-emerald-500/20 text-emerald-400",failed:"bg-red-500/10 border-red-500/20 text-red-400",cancelled:"bg-zinc-500/10 border-zinc-500/20 text-zinc-400"},ar={queued:"bg-amber-400",running:"bg-yellow-400",ready:"bg-sky-400",success:"bg-emerald-400",failed:"bg-red-400",cancelled:"bg-zinc-400"},as={queued:"text-amber-500",running:"text-yellow-500",ready:"text-sky-500",success:"text-green-500",failed:"text-red-500",cancelled:"text-[var(--muted-foreground)]"};var at=a.i(249603);function au({label:a,value:c,options:d,activeClasses:e,onChange:f,disabled:g=!1}){let h=c.trim().length>0;return(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("select",{"aria-label":a,className:`max-w-[160px] appearance-none rounded-full border bg-transparent px-2.5 py-0.5 pr-6 text-[11px] font-medium outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-60 ${h?e:"border-[var(--card-border)] text-[var(--muted-foreground)] hover:bg-[var(--card-bg)]"}`,value:c,disabled:g,onChange:a=>f(a.target.value),children:d.map(c=>(0,b.jsx)("option",{value:c.value,children:c.label},`${a}-${c.value||"all"}`))}),(0,b.jsx)(U.ChevronDown,{size:12,className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-current"})]})}function av({status:a,options:c,onChange:d,disabled:e=!1,updating:f=!1}){return(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("select",{"aria-label":"Ticket status",className:"max-w-[160px] appearance-none rounded-md border border-[var(--card-border)] bg-[var(--card-bg)] px-2.5 py-1 pr-8 text-xs font-medium text-[var(--foreground)] outline-none transition-colors hover:border-[var(--muted-foreground)] disabled:cursor-not-allowed disabled:opacity-60",value:a,disabled:e||f,onChange:a=>d(a.target.value),children:c.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},`ticket-status-${a.value}`))}),f?(0,b.jsx)(l.RefreshCw,{size:12,className:"pointer-events-none absolute right-6 top-1/2 -translate-y-1/2 animate-spin text-[var(--muted-foreground)]"}):null,(0,b.jsx)(U.ChevronDown,{size:12,className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)]"})]})}function aw({label:a,values:d,options:e,activeClasses:f,onChange:g,emptyLabel:h}){let[i,j]=(0,c.useState)(!1),k=(0,c.useRef)(null),l=e.filter(a=>a.value&&d.includes(a.value)),m=l.length>0,n=(()=>{if(0===l.length||l.length===e.length)return h??a;if(1===l.length)return l[0]?.label??h??a;let b=a.toLowerCase();return`${l.length} ${b}${b.endsWith("s")?"es":"s"}`})();(0,c.useEffect)(()=>{if(!i)return;let a=a=>{k.current&&!k.current.contains(a.target)&&j(!1)};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[i]);let o=(0,c.useCallback)(a=>{a?g(d.includes(a)?d.filter(b=>b!==a):[...d,a]):g([])},[g,d]);return(0,b.jsxs)("div",{className:"relative",ref:k,children:[(0,b.jsxs)("button",{type:"button","aria-label":a,"aria-haspopup":"listbox","aria-expanded":i,className:`flex max-w-[180px] items-center gap-1 rounded-full border px-2.5 py-0.5 text-[11px] font-medium transition-colors ${m?f:"border-[var(--card-border)] text-[var(--muted-foreground)] hover:bg-[var(--card-bg)]"}`,onClick:()=>j(a=>!a),children:[(0,b.jsx)("span",{className:"max-w-[132px] truncate",children:n}),(0,b.jsx)(U.ChevronDown,{size:12,className:`shrink-0 transition-transform ${i?"rotate-180":""}`})]}),i?(0,b.jsxs)("div",{role:"listbox","aria-label":`${a} options`,"aria-multiselectable":"true",className:"absolute left-0 top-full z-50 mt-1 min-w-[240px] overflow-hidden rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-1 shadow-lg backdrop-blur-sm",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":!m,className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${!m?"bg-[var(--background)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>g([]),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${!m?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:m?null:(0,b.jsx)(D.Check,{size:10})}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:h??a})]}),l.length>0?(0,b.jsx)("div",{className:"px-3 pb-1 pt-2 text-[10px] font-medium uppercase tracking-[0.12em] text-[var(--muted-foreground)]",children:"Selected"}):null,e.filter(a=>a.value).map(c=>{let e=d.includes(c.value);return(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":e,className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${e?"bg-[var(--background)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>o(c.value),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border ${e?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:e?(0,b.jsx)(D.Check,{size:10}):null}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c.label})]},`${a}-${c.value}`)})]}):null]})}var ax=a.i(379065),ay=a.i(737313);let az=(0,g.default)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);var aA=a.i(451844);let aB=(0,g.default)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]);var aC=a.i(197180),aD=a.i(313872),aE=a.i(628977),aF=a.i(609345),aG=a.i(140810);function aH({anchorRef:a,value:d,onChange:e,onClose:f,onSave:g}){let h=(0,c.useRef)(null),[i,j]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!a.current)return;let b=a.current.getBoundingClientRect();j({top:b.bottom+window.scrollY+6,left:b.left+window.scrollX+b.width/2})},[a]);let k=(0,aD.useEditor)({extensions:[aE.default,aF.default.configure({placeholder:"Add a note…",emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)]/50 before:float-left before:pointer-events-none before:h-0"}),aG.Markdown.configure({html:!1,transformPastedText:!0})],immediatelyRender:!1,content:d,editorProps:{attributes:{class:"outline-none min-h-[80px] px-3 py-2 text-xs text-[var(--foreground)] prose prose-sm max-w-none"}},onUpdate:({editor:a})=>{e(a.storage.markdown?.getMarkdown()??d)}});return((0,c.useEffect)(()=>{!k||(k.storage.markdown?.getMarkdown()??"")===d||k.isFocused||k.commands.setContent(d)},[k,d]),(0,c.useEffect)(()=>{k&&setTimeout(()=>k.commands.focus("end"),0)},[k]),(0,c.useEffect)(()=>{function b(b){!h.current||h.current.contains(b.target)||a.current?.contains(b.target)||(g(k?k.storage.markdown?.getMarkdown()??d:d),f())}function c(a){"Escape"===a.key&&(g(k?k.storage.markdown?.getMarkdown()??d:d),f())}return document.addEventListener("mousedown",b),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",c)}},[k,d,a,g,f]),i)?(0,aC.createPortal)((0,b.jsxs)("div",{ref:h,style:{position:"absolute",top:i.top,left:i.left,transform:"translateX(-50%)",zIndex:9999,width:288},onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] shadow-xl",children:[(0,b.jsxs)("div",{className:"flex h-6 w-full items-center justify-end gap-0.5 rounded-t-lg bg-[var(--primary)]/40 px-1.5",children:[(0,b.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),g(k?k.storage.markdown?.getMarkdown()??d:d),f()},className:"flex h-4 w-4 items-center justify-center rounded text-[var(--foreground)]/60 hover:text-emerald-400 transition-colors",title:"Save",children:(0,b.jsx)(D.Check,{size:11})}),(0,b.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),f()},className:"flex h-4 w-4 items-center justify-center rounded text-[var(--foreground)]/60 hover:text-red-400 transition-colors",title:"Discard",children:(0,b.jsx)(q.X,{size:11})})]}),(0,b.jsx)(aD.EditorContent,{editor:k}),(0,b.jsx)("div",{className:"flex justify-end px-1.5 pb-1.5",children:(0,b.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),g(""),f()},className:"flex h-4 w-4 items-center justify-center rounded text-[var(--foreground)]/40 hover:text-red-400 transition-colors",title:"Delete note",children:(0,b.jsx)(F.Trash2,{size:11})})})]}),(0,b.jsx)("style",{children:`
24
24
  .ProseMirror { outline: none !important; }
25
- `})]}),document.body):null}let aA=(0,l.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);function aB({labels:a,selectedLabels:d,labelCounts:e,totalSelected:f,onToggle:g,onAdd:h}){let[j,k]=(0,c.useState)(""),l=(0,c.useMemo)(()=>new Set(d),[d]),m=null!=f&&f>0,n=(0,c.useMemo)(()=>{let b=j.trim().toLowerCase();return b?a.filter(a=>a.name.toLowerCase().includes(b)):a},[a,j]),o=(0,c.useCallback)(()=>{let b=j.trim();b&&(a.some(a=>a.name.toLowerCase()===b.toLowerCase())||h(b),g(b),k(""))},[j,a,h,g]);return(0,b.jsxs)("div",{className:"flex w-56 flex-col gap-1",children:[(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto",children:[n.map(a=>{let c=l.has(a.name),d=e?.get(a.name)??0,h=m&&d>0&&d<(f??0);return(0,b.jsxs)("button",{type:"button",className:`flex w-full items-center gap-2 rounded-lg px-3 py-1.5 text-left text-xs transition-colors ${c?"bg-[var(--background)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>g(a.name),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border ${c||h?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:h?(0,b.jsx)(aA,{size:10}):c?(0,b.jsx)(w.Check,{size:10}):null}),a.color&&(0,b.jsx)("span",{className:"h-2.5 w-2.5 shrink-0 rounded-full",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.name})]},a.name)}),0===n.length&&j.trim()&&(0,b.jsx)("div",{className:"px-3 py-2 text-xs text-[var(--muted-foreground)]",children:"No matching labels"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 border-t border-[var(--card-border)] pt-1",children:[(0,b.jsx)("input",{type:"text",className:"min-w-0 flex-1 bg-transparent px-2 py-1 text-xs outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Add label...",value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),o())}}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:opacity-40",onClick:o,disabled:!j.trim(),children:(0,b.jsx)(i.Plus,{size:12})})]})]})}var aC=a.i(749741);function aD(a,b,c=20){let d=b?b.replace("#",""):"e2e8f0";return`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${encodeURIComponent(a)}&size=${c}&backgroundColor=${d}`}function aE({item:a,selected:d,pinned:e,onSelect:f,onTogglePin:g,activeAgents:h,participants:i,multiSelected:j,draggable:k=!1,treeConnector:l,projectSlug:m,stats:n,hideStatus:o,estimate:p,localLabels:q,labelDefinitions:r,allLabels:s,onToggleLabel:t,onAddLabel:u}){let[v,x]=(0,c.useState)(!1),y=(0,c.useRef)(null),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(!1),I=(0,c.useRef)(null),J=(0,c.useRef)(null),[L,N]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!L)return;let a=a=>{J.current&&!J.current.contains(a.target)&&I.current&&!I.current.contains(a.target)&&N(!1)},b=a=>{"Escape"===a.key&&N(!1)};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",b)}},[L]);let O=(0,c.useCallback)(async()=>{if(m&&!E)try{let b=await fetch(`/api/tracker/notes?projectSlug=${encodeURIComponent(m)}&id=${encodeURIComponent(a.identifier)}&type=issue`),c=(await b.json()).content??"";D(c),H(""!==c.trim()),F(!0)}catch{F(!0)}},[m,a.identifier,E]),Q=(0,c.useCallback)(async b=>{if(m){H(""!==b.trim());try{await fetch("/api/tracker/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectSlug:m,id:a.identifier,type:"issue",content:b})})}catch{}}},[m,a.identifier]),R=(0,c.useCallback)(a=>{a.stopPropagation(),A||O(),B(a=>!a)},[A,O]);(0,c.useEffect)(()=>()=>{y.current&&window.clearTimeout(y.current)},[]);let S=(0,c.useCallback)(async b=>{if(b.stopPropagation(),a.url)try{await navigator.clipboard.writeText(a.url),x(!0),y.current&&window.clearTimeout(y.current),y.current=window.setTimeout(()=>{x(!1)},1500)}catch(a){console.error("Failed to copy tracker item URL:",a),x(!1)}},[a.url]),T=(0,c.useCallback)(b=>{b.stopPropagation(),a.url&&window.open(a.url,"_blank")},[a.url]),{attributes:U,listeners:V,setNodeRef:W,transform:X,isDragging:Y}=(0,aC.useDraggable)({id:a.id,disabled:!k}),{setNodeRef:Z,isOver:$}=(0,aC.useDroppable)({id:a.id,disabled:!k}),_=(0,c.useCallback)(a=>{W(a),Z(a)},[W,Z]),aa=ai[a.status]??a.status.slice(0,6);return(0,b.jsxs)("div",{ref:k?_:void 0,style:Y?{opacity:.3}:void 0,...k?U:{},...k?V:{},className:`group ${l?"pl-7":""} relative flex cursor-pointer items-center gap-3 px-4 py-2.5 text-sm transition-colors ${d?"bg-[var(--card-bg)]":"hover:bg-[var(--card-bg)]/50"} ${j?"ring-1 ring-[var(--primary)]/40 bg-[var(--primary)]/5":""} ${$&&!Y?"bg-[var(--primary)]/10 border-l-2 border-l-[var(--primary)]":""}`,onClick:a=>f(a),role:"button",tabIndex:0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),f())},children:[d&&!$&&(0,b.jsx)("div",{className:"absolute left-0 top-0 bottom-0 w-[3px] rounded-r-full bg-blue-500"}),k&&(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-all ${j?"border-[var(--primary)] bg-[var(--primary)] text-[var(--primary-foreground)]":"border-[var(--muted-foreground)]/30 opacity-0 group-hover:opacity-100"}`,onClick:a=>{a.stopPropagation(),a.preventDefault(),f(new MouseEvent("click",{metaKey:!0,ctrlKey:!0}))},onPointerDown:a=>a.stopPropagation(),children:j&&(0,b.jsx)(w.Check,{size:10})}),l&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] leading-none text-[var(--muted-foreground)]/40 select-none",children:"last"===l?"└──":"├──"}),(0,b.jsx)("span",{className:`shrink-0 whitespace-nowrap font-mono text-xs text-[var(--muted-foreground)] ${l?"":"w-15"}`,children:a.identifier}),(0,b.jsx)("span",{className:`min-w-0 flex-1 truncate text-xs ${d?"font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,children:a.title}),null!=p&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-[var(--card-bg)] px-1.5 py-0.5 text-[10px] font-semibold text-[var(--muted-foreground)]",children:p}),q&&q.length>0&&(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[q.slice(0,3).map(a=>{let c=r?.find(b=>b.name===a);return(0,b.jsxs)("span",{className:"flex items-center gap-1 rounded-full border border-[var(--card-border)] px-1.5 py-0.5 text-[10px] text-[var(--muted-foreground)]",children:[c?.color&&(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full",style:{backgroundColor:c.color}}),(0,b.jsx)("span",{className:"max-w-[60px] truncate",children:a})]},a)}),q.length>3&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:["+",q.length-3]})]}),!o&&(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:aa}),n&&n.sessions>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[10px] tabular-nums text-[var(--muted-foreground)]/50",title:`${n.sessions} session${1!==n.sessions?"s":""}, ${n.messages} message${1!==n.messages?"s":""}`,children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(P.Play,{size:8,className:"fill-current"}),n.sessions]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(ar.MessageSquare,{size:8}),n.messages]})]})]}),o&&n&&n.sessions>0&&(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 text-[10px] tabular-nums text-[var(--muted-foreground)]/50",title:`${n.sessions} session${1!==n.sessions?"s":""}, ${n.messages} message${1!==n.messages?"s":""}`,children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(P.Play,{size:8,className:"fill-current"}),n.sessions]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(ar.MessageSquare,{size:8}),n.messages]})]}),h&&h.length>0&&(0,b.jsx)("span",{className:"inline-flex items-center -space-x-1 shrink-0",children:h.slice(0,3).map(a=>{let c=i?.find(b=>b.id===a.agentId);return(0,b.jsxs)("span",{className:"relative inline-block",title:c?.name??a.agentName,children:[(0,b.jsx)("img",{src:aD(a.agentId,c?.color,16),alt:c?.name??a.agentName,className:"h-3 w-3 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,b.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},a.agentId)})}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[t&&s&&(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("button",{ref:I,type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 ${q&&q.length>0?"text-blue-400 opacity-100":`text-[var(--muted-foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:a=>{a.stopPropagation(),N(a=>!a)},title:q&&q.length>0?"Edit labels":"Add labels","aria-label":q&&q.length>0?"Edit labels":"Add labels",children:(0,b.jsx)(M.Tag,{size:10,className:q&&q.length>0?"fill-current":""})}),L&&(0,b.jsx)("div",{ref:J,className:"absolute right-0 top-full z-30 mt-1 rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] p-2 shadow-xl",onClick:a=>a.stopPropagation(),children:(0,b.jsx)(aB,{labels:s,selectedLabels:q??[],onToggle:t,onAdd:u??(()=>{})})})]}),m&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{ref:z,type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 ${G?"text-amber-400 opacity-100":`text-[var(--muted-foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:R,title:G?"Edit note":"Add note","aria-label":G?"Edit note":"Add note",children:(0,b.jsx)(at,{size:10,className:G?"fill-current":""})}),A&&(0,b.jsx)(az,{anchorRef:z,value:C,onChange:D,onClose:()=>B(!1),onSave:Q})]}),g&&(0,b.jsx)("button",{type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 hover:text-[var(--foreground)] ${e?"text-amber-400 opacity-100":`text-[var(--muted-foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:a=>{a.stopPropagation(),g()},title:e?"Unpin ticket":"Pin to top","aria-label":e?"Unpin ticket":"Pin to top",children:(0,b.jsx)(as,{size:10,className:e?"fill-current":""})}),(0,b.jsx)("button",{type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] transition-all hover:bg-zinc-700 hover:text-[var(--foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"} ${a.url?"":"cursor-not-allowed opacity-40 hover:bg-transparent hover:text-[var(--muted-foreground)]"}`,onClick:a=>{S(a)},title:v?"Copied ticket URL":"Copy ticket URL","aria-label":v?"Copied ticket URL":"Copy ticket URL",disabled:!a.url,children:v?(0,b.jsx)(w.Check,{size:10,className:"text-emerald-400"}):(0,b.jsx)(K,{size:10})}),(0,b.jsx)("button",{type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] transition-all hover:bg-zinc-700 hover:text-[var(--foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"} ${a.url?"":"cursor-not-allowed opacity-40 hover:bg-transparent hover:text-[var(--muted-foreground)]"}`,onClick:T,title:a.url?"Open this ticket in a new tab":"This ticket does not have an external URL","aria-label":a.url?"Open this ticket in a new tab":"This ticket does not have an external URL",disabled:!a.url,children:(0,b.jsx)(aq.ExternalLink,{size:10})})]})]})}var aF=a.i(552605),aG=a.i(316099);function aH({issueId:a,trackerType:d,projectId:e}){let[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(!1),k=(0,c.useRef)(null),l=(0,c.useCallback)(async()=>{try{let b=e?`?projectId=${encodeURIComponent(e)}`:"",c=await fetch(`/api/trackers/${encodeURIComponent(d)}/items/${encodeURIComponent(a)}/recap${b}`);if(!c.ok)return null;let f=await c.json();return g(f),f}catch{return null}},[a,d,e]),m=(0,c.useCallback)(a=>{k.current&&(clearTimeout(k.current),k.current=null),(a?.status==="queued"||a?.status==="running")&&(k.current=setTimeout(async()=>{m(await l())},3e3))},[l]);(0,c.useEffect)(()=>(g(null),(async()=>{m(await l())})(),()=>{k.current&&clearTimeout(k.current)}),[a,l,m]);let n=(0,c.useCallback)(async()=>{i(!0);try{let b=e?`?projectId=${encodeURIComponent(e)}`:"";await fetch(`/api/trackers/${encodeURIComponent(d)}/items/${encodeURIComponent(a)}/recap${b}`,{method:"POST"});let c=await l();m(c)}finally{i(!1)}},[a,d,e,l,m]),o=f?.status==="queued"||f?.status==="running"||h;return(0,b.jsxs)("section",{className:"border-b border-[var(--card-border)] px-6 py-4",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Recap"}),(0,b.jsxs)("div",{className:"flex items-center gap-3 text-[11px] text-[var(--muted-foreground)]",children:[o?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(Z.Loader2,{size:12,className:"animate-spin"}),"Updating…"]}):(0,b.jsxs)("span",{children:["Updated ",function(a){if(!a)return"never";let b=Math.round((Date.now()-new Date(a).getTime())/6e4);if(b<1)return"just now";if(b<60)return`${b}m ago`;let c=Math.round(b/60);if(c<24)return`${c}h ago`;let d=Math.round(c/24);return`${d}d ago`}(f?.generatedAt??null)]}),(0,b.jsxs)("button",{type:"button",onClick:n,disabled:o,className:"flex items-center gap-1 rounded border border-[var(--card-border)] px-2 py-1 text-[11px] text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:opacity-50",children:[(0,b.jsx)(j.RefreshCw,{size:10}),"Regenerate"]})]})]}),(0,b.jsxs)("div",{className:"text-sm text-[var(--foreground)]",children:[f?.content?(0,b.jsx)(v.Markdown,{content:f.content,isUser:!1}):(0,b.jsx)("p",{className:"text-[var(--muted-foreground)]",children:"No recap yet. Click Regenerate to create one."}),f?.error?(0,b.jsxs)("p",{className:"mt-2 text-xs text-red-400",children:["Last run failed: ",f.error]}):null]})]})}var aI=a.i(549429);function aJ({runs:a,onSelect:c}){return 0===a.length?(0,b.jsx)("div",{className:"px-4 py-6 text-center text-xs text-[var(--muted-foreground)]",children:"No sessions yet. Start one below."}):(0,b.jsx)("div",{className:"flex flex-col",children:a.map(a=>{let d=ag(a);return(0,b.jsxs)("button",{type:"button",onClick:()=>c(a.id),className:"flex w-full items-start justify-between gap-3 border-b border-[var(--card-border)] px-4 py-3 text-left transition-colors hover:bg-[var(--overlay-panel-soft)]",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"truncate text-sm font-medium text-[var(--foreground)]",children:ah(a)}),(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-2 text-[11px] text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{children:a.agentName}),(0,b.jsx)("span",{children:"·"}),(0,b.jsx)(h.Clock,{size:10}),(0,b.jsx)("span",{children:new Date(a.updatedAt).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})})]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsxs)("div",{className:`flex items-center gap-1.5 rounded-md border px-2 py-0.5 ${aj[d.tone]}`,children:[(0,b.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${ak[d.tone]}`}),(0,b.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider",children:d.label})]}),(0,b.jsx)(aI.ArrowRight,{className:"mt-0.5 h-4 w-4 text-[var(--muted-foreground)]"})]})]},a.id)})})}function aK(a,b){return a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||b}let aL=(0,d.default)(async()=>{},{loadableGenerated:{modules:[844118]},ssr:!1});function aM({item:a,trackerType:d,runs:e,participants:f,projectId:g,projectSlug:h,itemStatusOptions:i,itemStatusUpdating:j,onItemStatusChange:k,activeSessionScriptLabel:l,onOpenSessionScripts:m,onStartScriptedSession:n,createRun:o,updateRun:p,onRunCreated:q,onSelectRun:r}){let s=f[0],{metadata:v}=function(a,b,d){let[e,f]=(0,c.useState)({labels:[],estimate:null}),[g,h]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!b||!d)return void f({labels:[],estimate:null});let c=!1;return h(!0),fetch(`/api/trackers/${encodeURIComponent(a)}/metadata?projectId=${encodeURIComponent(b)}&issueId=${encodeURIComponent(d)}`).then(a=>a.json()).then(a=>{c||f({labels:Array.isArray(a.labels)?a.labels:[],estimate:"number"==typeof a.estimate?a.estimate:null})}).catch(()=>{}).finally(()=>{c||h(!1)}),()=>{c=!0}},[a,b,d]);let i=(0,c.useCallback)(async c=>{if(b&&d)try{let g=await fetch(`/api/trackers/${encodeURIComponent(a)}/metadata?projectId=${encodeURIComponent(b)}&issueId=${encodeURIComponent(d)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)}),h=await g.json();f({labels:Array.isArray(h.labels)?h.labels:e.labels,estimate:"number"==typeof h.estimate?h.estimate:null})}catch{}},[a,b,d,e.labels]);return{metadata:e,loading:g,update:i}}(d,g,a.id),w=(0,c.useRef)(null);w.current||(w.current=globalThis.crypto?.randomUUID?.()??`thread-${Date.now()}-${Math.random().toString(36).slice(2)}`);let{messages:x,setMessages:y,chatRuns:z}=(0,t.useGroupChat)(w.current),{processes:A}=(0,u.useProcessPolling)({workspaceId:w.current},{messages:x,setMessages:y}),B=(0,c.useMemo)(()=>new Set(["queued","running","awaiting_user","blocked"]),[]),C=z.some(a=>B.has(a.status))||A.some(a=>"spawning"===a.state||"running"===a.state)?z.some(a=>"queued"===a.status)?"queued":"working":"ready",D=(0,c.useRef)(!1),E=(0,c.useCallback)(async(b,c,d,e,i,j,k)=>{if(D.current)return;D.current=!0;let l=(i?f.find(a=>a.id===i):null)??s;if(!l){D.current=!1;return}try{var m,n,r,t;let c,d,e,f,i,s,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,{run:K,recapContent:L}=await o({projectId:g??null,projectSlug:h??null,issueId:a.id,issueIdentifier:a.identifier,issueTitle:a.title,issueStatus:a.status,issueAssignee:a.assignee?.name??null,agentId:l.id,agentName:l.name,mode:"chat"}),{promptPrefix:M}=(e=(r=m={issue:{identifier:a.identifier,title:a.title,status:a.status,assignee:a.assignee?.name??null},project:h?{slug:h}:null,runtime:{recapContent:L}}).issue.identifier.trim()||"TICKET-ID",f=r.issue.title.trim()||"Untitled ticket",i=String(r.issue.status??"").trim()||"Unknown",s=String(r.issue.assignee??"").trim()||"Unassigned",u=function(a){let b=String(a?.slug??"").trim();if(b)return aK(b,"project");let c=String(a?.name??"").trim();return c?aK(c,"project"):"project"}(r.project),v=String(r.project?.name??"").trim()||u,w=String(r.runtime?.knowledgeBaseRoot??"").trim()||`~/.agx/vault/${u}`,x=String(r.runtime?.issueKnowledgePath??"").trim()||`${w}/issues/${e}/`,y=String(r.runtime?.isolatedWorktreePath??"").trim()||`/tmp/agx-${aK(e,"ticket")}`,A=(z={issue:{identifier:e,title:f,status:i,assignee:s},project:{name:v,slug:u,label:(t=r.project,c=String(t?.name??"").trim(),d=String(t?.slug??"").trim(),c&&d?`${c} (${d})`:c||d||"current project"),repos:r.project?.repos?[...r.project.repos]:[]},runtime:{knowledgeBaseRoot:w,issueKnowledgePath:x,isolatedWorktreePath:y}}).issue.identifier,B=z.issue.title,C=z.issue.status,D=z.issue.assignee,E=z.runtime.knowledgeBaseRoot,F=z.runtime.issueKnowledgePath,G=z.runtime.isolatedWorktreePath,H="",(I=m.runtime?.recapContent?.trim())&&(H=`TICKET RECAP
26
- ${I}`),J=["TICKET EXECUTION","You are an engineer working through a single ticket from the project's issue tracker (Linear, Jira, or whichever tracker is configured). Work like a careful teammate: continue existing work when present, investigate before coding, present a plan before implementation, ask clarifying questions when requirements are ambiguous, and stop cleanly when blocked instead of guessing.",'TERMINOLOGY NOTE\n- "Ticket" / "issue" = the work item you are executing (from Linear, Jira, etc.)\n- "Task" in this project\'s UI = a scheduled or manual background task (cron jobs, automations) — NOT this ticket.\n- Do not confuse scheduled tasks with the ticket you are working on.',`INJECTED CONTEXT
27
- - Ticket: ${A}
28
- - Title: ${B}
29
- - Current status: ${C}
30
- - Current assignee: ${D}
31
- - Project: ${z.project.label}
32
- - Knowledge base root: ${E}
33
- - Issue knowledge path: ${F}
34
- - Suggested isolated worktree: ${G}
25
+ `})]}),document.body):null}let aI=(0,g.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);function aJ({labels:a,selectedLabels:d,labelCounts:e,totalSelected:f,onToggle:g,onAdd:h}){let[i,j]=(0,c.useState)(""),l=(0,c.useMemo)(()=>new Set(d),[d]),m=null!=f&&f>0,n=(0,c.useMemo)(()=>{let b=i.trim().toLowerCase();return b?a.filter(a=>a.name.toLowerCase().includes(b)):a},[a,i]),o=(0,c.useCallback)(()=>{let b=i.trim();b&&(a.some(a=>a.name.toLowerCase()===b.toLowerCase())||h(b),g(b),j(""))},[i,a,h,g]);return(0,b.jsxs)("div",{className:"flex w-56 flex-col gap-1",children:[(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto",children:[n.map(a=>{let c=l.has(a.name),d=e?.get(a.name)??0,h=m&&d>0&&d<(f??0);return(0,b.jsxs)("button",{type:"button",className:`flex w-full items-center gap-2 rounded-lg px-3 py-1.5 text-left text-xs transition-colors ${c?"bg-[var(--background)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"}`,onClick:()=>g(a.name),children:[(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border ${c||h?"border-blue-500 bg-blue-500 text-white":"border-[var(--card-border)]"}`,children:h?(0,b.jsx)(aI,{size:10}):c?(0,b.jsx)(D.Check,{size:10}):null}),a.color&&(0,b.jsx)("span",{className:"h-2.5 w-2.5 shrink-0 rounded-full",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.name})]},a.name)}),0===n.length&&i.trim()&&(0,b.jsx)("div",{className:"px-3 py-2 text-xs text-[var(--muted-foreground)]",children:"No matching labels"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 border-t border-[var(--card-border)] pt-1",children:[(0,b.jsx)("input",{type:"text",className:"min-w-0 flex-1 bg-transparent px-2 py-1 text-xs outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Add label...",value:i,onChange:a=>j(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),o())}}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:opacity-40",onClick:o,disabled:!i.trim(),children:(0,b.jsx)(k.Plus,{size:12})})]})]})}var aK=a.i(552605),aL=a.i(316099);function aM({count:a,participants:d,onSend:e}){let[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(d[0]?.id??"");return(0,c.useMemo)(()=>d.find(a=>a.id===h)??d[0],[d,h]),(0,b.jsxs)("div",{className:"flex w-80 flex-col gap-3 p-1",children:[(0,b.jsx)("textarea",{className:"min-h-[80px] w-full resize-none rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-xs text-[var(--foreground)] outline-none placeholder:text-[var(--muted-foreground)] focus:border-[var(--muted-foreground)]",placeholder:"Enter prompt to send to all selected tickets...",value:f,onChange:a=>g(a.target.value),autoFocus:!0}),d.length>1&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wider text-[var(--muted-foreground)]",children:"Agent"}),(0,b.jsx)("select",{className:"flex-1 appearance-none rounded-md border border-[var(--card-border)] bg-[var(--background)] px-2 py-1 text-xs outline-none",value:h,onChange:a=>i(a.target.value),children:d.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))})]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center justify-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-xs font-medium text-white transition-colors hover:bg-blue-600 disabled:opacity-50",disabled:!f.trim(),onClick:()=>{f.trim()&&e(f.trim(),h)},children:[(0,b.jsx)(W.Play,{size:12}),"Send to ",a," ticket",1!==a?"s":""]})]})}function aN({anchorRef:a,onClose:d,participants:e,labels:f,selectedLabels:g,statusOptions:h,onRecap:i,onPrompt:j,onEstimate:k,onToggleLabel:m,onAddLabel:n,onStatus:o}){let p,q,r,s=(0,c.useRef)(null),t=(0,c.useRef)(null),u=(0,c.useRef)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null),[x,y]=(0,c.useState)(null),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(null);(0,c.useEffect)(()=>{let b=a.current;if(!b)return;let c=b.getBoundingClientRect(),d=Math.min(Math.max(8,c.right-160),window.innerWidth-160-8);A({top:c.bottom+4,left:d})},[a]),(0,c.useEffect)(()=>{let b=b=>{s.current?.contains(b.target)||t.current?.contains(b.target)||a.current?.contains(b.target)||d()},c=a=>{"Escape"===a.key&&(x?y(null):d())};return document.addEventListener("pointerdown",b),document.addEventListener("keydown",c),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",c)}},[d,a,x]);let D=(0,c.useCallback)(a=>{y(b=>b===a?null:a)},[]);(0,c.useEffect)(()=>{if(!x)return void C(null);let a="prompt"===x?u:"label"===x?v:w,b=a.current?.getBoundingClientRect();b&&C(b.top)},[x]);let E="flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]";return z?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{ref:s,className:"fixed z-[60] flex w-40 flex-col gap-0.5 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-1 shadow-2xl",style:{top:z.top,left:z.left},onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("button",{type:"button",className:E,onClick:()=>{i(),d()},title:"Recap this ticket",children:[(0,b.jsx)(aK.FileText,{size:12}),"Recap"]}),(0,b.jsxs)("button",{ref:u,type:"button",className:`${E} ${"prompt"===x?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>D("prompt"),title:"Send prompt",children:[(0,b.jsx)(ay.MessageSquare,{size:12}),"Prompt"]}),(0,b.jsxs)("button",{type:"button",className:E,onClick:()=>{k(),d()},title:"Ask the LLM to size this ticket",children:[(0,b.jsx)(aL.Hash,{size:12}),"Estimate"]}),(0,b.jsxs)("button",{ref:v,type:"button",className:`${E} ${"label"===x?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>D("label"),title:"Label",children:[(0,b.jsx)(T.Tag,{size:12}),"Label"]}),(0,b.jsxs)("button",{ref:w,type:"button",className:`${E} ${"status"===x?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>D("status"),title:"Change status",children:[(0,b.jsx)(l.RefreshCw,{size:12}),"Status"]})]}),x&&(0,b.jsxs)("div",{ref:t,className:"fixed z-[60] rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-2 shadow-lg backdrop-blur-sm",style:(p="prompt"===x?340:200,r=(q=z.left+160+4)+p<=window.innerWidth-8?q:Math.max(8,z.left-p-4),{top:B??z.top,left:r}),onClick:a=>a.stopPropagation(),children:["prompt"===x&&(0,b.jsx)(aM,{count:1,participants:e,onSend:(a,b)=>{j(a,b),d()}}),"label"===x&&(0,b.jsx)(aJ,{labels:f,selectedLabels:g,onToggle:m,onAdd:n}),"status"===x&&(0,b.jsx)("div",{className:"flex max-h-48 w-44 flex-col overflow-y-auto",children:h.map(a=>(0,b.jsx)("button",{type:"button",className:"w-full rounded-lg px-3 py-1.5 text-left text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]",onClick:()=>{o(a.value),d()},children:a.label},a.value))})]})]}):null}var aO=a.i(749741);function aP(a,b,c=20){let d=b?b.replace("#",""):"e2e8f0";return`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${encodeURIComponent(a)}&size=${c}&backgroundColor=${d}`}function aQ({item:a,selected:d,pinned:e,onSelect:f,onTogglePin:g,activeAgents:h,participants:i,multiSelected:j,draggable:k=!1,treeConnector:l,projectSlug:m,stats:n,hideStatus:o,estimate:p,localLabels:q,labelDefinitions:r,allLabels:s,onToggleLabel:t,onAddLabel:u,rowActions:v,showGroup:w}){let[x,y]=(0,c.useState)(!1),z=(0,c.useRef)(null),A=(0,c.useRef)(null),[B,C]=(0,c.useState)(!1),[E,F]=(0,c.useState)(""),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(!1),K=(0,c.useRef)(null),L=(0,c.useRef)(null),[M,N]=(0,c.useState)(!1),O=(0,c.useRef)(null),[P,Q]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!M)return;let a=a=>{L.current&&!L.current.contains(a.target)&&K.current&&!K.current.contains(a.target)&&N(!1)},b=a=>{"Escape"===a.key&&N(!1)};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",b)}},[M]);let S=(0,c.useCallback)(async()=>{if(m&&!G)try{let b=await fetch(`/api/tracker/notes?projectSlug=${encodeURIComponent(m)}&id=${encodeURIComponent(a.identifier)}&type=issue`),c=(await b.json()).content??"";F(c),J(""!==c.trim()),H(!0)}catch{H(!0)}},[m,a.identifier,G]),U=(0,c.useCallback)(async b=>{if(m){J(""!==b.trim());try{await fetch("/api/tracker/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectSlug:m,id:a.identifier,type:"issue",content:b})})}catch{}}},[m,a.identifier]),V=(0,c.useCallback)(async a=>{(a.stopPropagation(),B)?C(!1):(await S(),C(!0))},[B,S]);(0,c.useEffect)(()=>()=>{z.current&&window.clearTimeout(z.current)},[]);let X=(0,c.useCallback)(async b=>{if(b.stopPropagation(),a.url)try{await navigator.clipboard.writeText(a.url),y(!0),z.current&&window.clearTimeout(z.current),z.current=window.setTimeout(()=>{y(!1)},1500)}catch(a){console.error("Failed to copy tracker item URL:",a),y(!1)}},[a.url]),Y=(0,c.useCallback)(b=>{b.stopPropagation(),a.url&&window.open(a.url,"_blank")},[a.url]),{attributes:Z,listeners:$,setNodeRef:_,transform:aa,isDragging:ab}=(0,aO.useDraggable)({id:a.id,disabled:!k}),{setNodeRef:ac,isOver:ad}=(0,aO.useDroppable)({id:a.id,disabled:!k}),ae=(0,c.useCallback)(a=>{_(a),ac(a)},[_,ac]),af=ap[a.status]??a.status.slice(0,6);return(0,b.jsxs)("div",{ref:k?ae:void 0,style:ab?{opacity:.3}:void 0,...k?Z:{},...k?$:{},className:`group ${l?"pl-7":""} relative flex cursor-pointer items-center gap-3 px-4 py-2.5 text-sm transition-colors ${d?"bg-[var(--card-bg)]":"hover:bg-[var(--card-bg)]/50"} ${j?"ring-1 ring-[var(--primary)]/40 bg-[var(--primary)]/5":""} ${ad&&!ab?"bg-[var(--primary)]/10 border-l-2 border-l-[var(--primary)]":""}`,onClick:a=>f(a),role:"button",tabIndex:0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),f())},children:[d&&!ad&&(0,b.jsx)("div",{className:"absolute left-0 top-0 bottom-0 w-[3px] rounded-r-full bg-blue-500"}),k&&(0,b.jsx)("span",{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-all ${j?"border-[var(--primary)] bg-[var(--primary)] text-[var(--primary-foreground)]":"border-[var(--muted-foreground)]/30 opacity-0 group-hover:opacity-100"}`,onClick:a=>{a.stopPropagation(),a.preventDefault(),f(new MouseEvent("click",{metaKey:!0,ctrlKey:!0}))},onPointerDown:a=>a.stopPropagation(),children:j&&(0,b.jsx)(D.Check,{size:10})}),l&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] leading-none text-[var(--muted-foreground)]/40 select-none",children:"last"===l?"└──":"├──"}),(0,b.jsx)("span",{className:`shrink-0 whitespace-nowrap font-mono text-xs text-[var(--muted-foreground)] ${l?"":"w-15"}`,children:a.identifier}),(0,b.jsx)("span",{className:`min-w-0 flex-1 truncate text-xs ${d?"font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,children:a.title}),w&&a.group&&(0,b.jsx)("span",{className:"shrink-0 rounded-full border border-[var(--card-border)] px-1.5 py-0.5 text-[10px] text-[var(--muted-foreground)]",title:a.group.name,children:(0,b.jsx)("span",{className:"block max-w-[140px] truncate",children:a.group.name})}),null!=p&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-[var(--card-bg)] px-1.5 py-0.5 text-[10px] font-semibold text-[var(--muted-foreground)]",children:p}),q&&q.length>0&&(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[q.slice(0,3).map(a=>{let c=r?.find(b=>b.name===a);return(0,b.jsxs)("span",{className:"flex items-center gap-1 rounded-full border border-[var(--card-border)] px-1.5 py-0.5 text-[10px] text-[var(--muted-foreground)]",children:[c?.color&&(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full",style:{backgroundColor:c.color}}),(0,b.jsx)("span",{className:"max-w-[60px] truncate",children:a})]},a)}),q.length>3&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:["+",q.length-3]})]}),!o&&(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:af}),n&&n.sessions>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[10px] tabular-nums text-[var(--muted-foreground)]/50",title:`${n.sessions} session${1!==n.sessions?"s":""}, ${n.messages} message${1!==n.messages?"s":""}`,children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(W.Play,{size:8,className:"fill-current"}),n.sessions]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(ay.MessageSquare,{size:8}),n.messages]})]})]}),o&&n&&n.sessions>0&&(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 text-[10px] tabular-nums text-[var(--muted-foreground)]/50",title:`${n.sessions} session${1!==n.sessions?"s":""}, ${n.messages} message${1!==n.messages?"s":""}`,children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(W.Play,{size:8,className:"fill-current"}),n.sessions]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(ay.MessageSquare,{size:8}),n.messages]})]}),h&&h.length>0&&(0,b.jsx)("span",{className:"inline-flex items-center -space-x-1 shrink-0",children:h.slice(0,3).map(a=>{let c=i?.find(b=>b.id===a.agentId);return(0,b.jsxs)("span",{className:"relative inline-block",title:c?.name??a.agentName,children:[(0,b.jsx)("img",{src:aP(a.agentId,c?.color,16),alt:c?.name??a.agentName,className:"h-3 w-3 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,b.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},a.agentId)})}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[t&&s&&(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("button",{ref:K,type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 ${q&&q.length>0?"text-blue-400 opacity-100":`text-[var(--muted-foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:a=>{a.stopPropagation(),N(a=>!a)},title:q&&q.length>0?"Edit labels":"Add labels","aria-label":q&&q.length>0?"Edit labels":"Add labels",children:(0,b.jsx)(T.Tag,{size:10,className:q&&q.length>0?"fill-current":""})}),M&&(0,b.jsx)("div",{ref:L,className:"absolute right-0 top-full z-30 mt-1 rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] p-2 shadow-xl",onClick:a=>a.stopPropagation(),children:(0,b.jsx)(aJ,{labels:s,selectedLabels:q??[],onToggle:t,onAdd:u??(()=>{})})})]}),m&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{ref:A,type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 ${I?"text-amber-400 opacity-100":`text-[var(--muted-foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:V,title:I?"Edit note":"Add note","aria-label":I?"Edit note":"Add note",children:(0,b.jsx)(aB,{size:10,className:I?"fill-current":""})}),B&&(0,b.jsx)(aH,{anchorRef:A,value:E,onChange:F,onClose:()=>C(!1),onSave:U})]}),g&&(0,b.jsx)("button",{type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 hover:text-[var(--foreground)] ${e?"text-amber-400 opacity-100":`text-[var(--muted-foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:a=>{a.stopPropagation(),g()},title:e?"Unpin ticket":"Pin to top","aria-label":e?"Unpin ticket":"Pin to top",children:(0,b.jsx)(aA.Pin,{size:10,className:e?"fill-current":""})}),(0,b.jsx)("button",{type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] transition-all hover:bg-zinc-700 hover:text-[var(--foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"} ${a.url?"":"cursor-not-allowed opacity-40 hover:bg-transparent hover:text-[var(--muted-foreground)]"}`,onClick:a=>{X(a)},title:x?"Copied ticket URL":"Copy ticket URL","aria-label":x?"Copied ticket URL":"Copy ticket URL",disabled:!a.url,children:x?(0,b.jsx)(D.Check,{size:10,className:"text-emerald-400"}):(0,b.jsx)(R,{size:10})}),(0,b.jsx)("button",{type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] transition-all hover:bg-zinc-700 hover:text-[var(--foreground)] ${d?"opacity-100":"opacity-0 group-hover:opacity-100"} ${a.url?"":"cursor-not-allowed opacity-40 hover:bg-transparent hover:text-[var(--muted-foreground)]"}`,onClick:Y,title:a.url?"Open this ticket in a new tab":"This ticket does not have an external URL","aria-label":a.url?"Open this ticket in a new tab":"This ticket does not have an external URL",disabled:!a.url,children:(0,b.jsx)(ax.ExternalLink,{size:10})}),v&&(0,b.jsx)("button",{ref:O,type:"button",className:`flex h-6 w-6 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] transition-all hover:bg-zinc-700 hover:text-[var(--foreground)] ${P||d?"opacity-100":"opacity-0 group-hover:opacity-100"}`,onClick:a=>{a.stopPropagation(),Q(a=>!a)},title:"More actions","aria-label":"More actions",children:(0,b.jsx)(az,{size:10})}),v&&P&&(0,b.jsx)(aN,{anchorRef:O,onClose:()=>Q(!1),participants:i??[],labels:s??[],selectedLabels:q??[],statusOptions:v.statusOptions,onRecap:v.onRecap,onPrompt:v.onPrompt,onEstimate:v.onEstimate,onToggleLabel:a=>t?.(a),onAddLabel:a=>u?.(a),onStatus:v.onStatus})]})]})}function aR({issueId:a,trackerType:d,projectId:e}){let[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(!1),j=(0,c.useRef)(null),k=(0,c.useCallback)(async()=>{try{let b=e?`?projectId=${encodeURIComponent(e)}`:"",c=await fetch(`/api/trackers/${encodeURIComponent(d)}/items/${encodeURIComponent(a)}/recap${b}`);if(!c.ok)return null;let f=await c.json();return g(f),f}catch{return null}},[a,d,e]),m=(0,c.useCallback)(a=>{j.current&&(clearTimeout(j.current),j.current=null),(a?.status==="queued"||a?.status==="running")&&(j.current=setTimeout(async()=>{m(await k())},3e3))},[k]);(0,c.useEffect)(()=>{g(null),(async()=>{m(await k())})();let b=b=>{let c=b.detail;c?.trackerType===d&&c?.issueId===a&&(async()=>{m(await k())})()};return window.addEventListener("tracker:recap-triggered",b),()=>{j.current&&clearTimeout(j.current),window.removeEventListener("tracker:recap-triggered",b)}},[a,d,k,m]);let n=(0,c.useCallback)(async()=>{i(!0);try{let b=e?`?projectId=${encodeURIComponent(e)}`:"";await fetch(`/api/trackers/${encodeURIComponent(d)}/items/${encodeURIComponent(a)}/recap${b}`,{method:"POST"});let c=await k();m(c)}finally{i(!1)}},[a,d,e,k,m]),o=f?.status==="queued"||f?.status==="running"||h;return(0,b.jsxs)("section",{className:"border-b border-[var(--card-border)] px-6 py-4",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Recap"}),(0,b.jsxs)("div",{className:"flex items-center gap-3 text-[11px] text-[var(--muted-foreground)]",children:[o?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(ae.Loader2,{size:12,className:"animate-spin"}),"Updating…"]}):(0,b.jsxs)("span",{children:["Updated ",function(a){if(!a)return"never";let b=Math.round((Date.now()-new Date(a).getTime())/6e4);if(b<1)return"just now";if(b<60)return`${b}m ago`;let c=Math.round(b/60);if(c<24)return`${c}h ago`;let d=Math.round(c/24);return`${d}d ago`}(f?.generatedAt??null)]}),(0,b.jsxs)("button",{type:"button",onClick:n,disabled:o,className:"flex items-center gap-1 rounded border border-[var(--card-border)] px-2 py-1 text-[11px] text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:opacity-50",children:[(0,b.jsx)(l.RefreshCw,{size:10}),"Recap"]})]})]}),(0,b.jsxs)("div",{className:"text-sm text-[var(--foreground)]",children:[f?.content?(0,b.jsx)(C.Markdown,{content:f.content,isUser:!1}):(0,b.jsx)("p",{className:"text-[var(--muted-foreground)]",children:"No recap yet. Click Recap to create one."}),f?.error?(0,b.jsxs)("p",{className:"mt-2 text-xs text-red-400",children:["Last run failed: ",f.error]}):null]})]})}var aS=a.i(549429);function aT({runs:a,onSelect:c}){return 0===a.length?(0,b.jsx)("div",{className:"px-4 py-6 text-center text-xs text-[var(--muted-foreground)]",children:"No sessions yet. Start one below."}):(0,b.jsx)("div",{className:"flex flex-col",children:a.map(a=>{let d=an(a);return(0,b.jsxs)("button",{type:"button",onClick:()=>c(a.id),className:"flex w-full items-start justify-between gap-3 border-b border-[var(--card-border)] px-4 py-3 text-left transition-colors hover:bg-[var(--overlay-panel-soft)]",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"truncate text-sm font-medium text-[var(--foreground)]",children:ao(a)}),(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-2 text-[11px] text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{children:a.agentName}),(0,b.jsx)("span",{children:"·"}),(0,b.jsx)(j.Clock,{size:10}),(0,b.jsx)("span",{children:new Date(a.updatedAt).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})})]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsxs)("div",{className:`flex items-center gap-1.5 rounded-md border px-2 py-0.5 ${aq[d.tone]}`,children:[(0,b.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${ar[d.tone]}`}),(0,b.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider",children:d.label})]}),(0,b.jsx)(aS.ArrowRight,{className:"mt-0.5 h-4 w-4 text-[var(--muted-foreground)]"})]})]},a.id)})})}function aU({targetType:a,targetId:d,projectSlug:e}){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),[j,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1),t=(0,c.useCallback)(async()=>{try{let b=new URLSearchParams({targetType:a,targetId:d}),c=await fetch(`/api/github/prs/for-target?${b.toString()}`);if(c.ok){let a=await c.json();g(a.prs)}else g([])}catch{g([])}finally{i(!0)}},[a,d]);(0,c.useEffect)(()=>{i(!1),l(!1),n(""),p(null),t()},[t]);let u=(0,c.useCallback)(a=>{let b=`/projects/${encodeURIComponent(e)}/prs?pr=${encodeURIComponent(a.id)}`;window.location.href=b},[e]),v=(0,c.useCallback)(async b=>{if(b.preventDefault(),m.trim()&&!r){s(!0),p(null);try{let b=await fetch("/api/github/prs/link",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:m.trim(),targetType:a,targetId:d})}),c=await b.json().catch(()=>({}));if(!b.ok)return void p(c.message||c.error||`HTTP ${b.status}`);n(""),l(!1),await t()}catch(a){p(a instanceof Error?a.message:String(a))}finally{s(!1)}}},[m,r,a,d,t]),w=(0,c.useCallback)(async(b,c)=>{if(c.stopPropagation(),window.confirm(`Unlink ${b.id} from this issue?`))try{if(!(await fetch("/api/github/prs/link",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({prId:b.id,targetType:a,targetId:d})})).ok)return;await t()}catch{}},[a,d,t]);return h&&(0!==f.length||j)?(0,b.jsxs)("section",{className:"border-b border-[var(--card-border)] px-6 py-4",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,b.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:["Pull Requests (",f.length,")"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>l(a=>!a),className:"flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",children:[(0,b.jsx)(k.Plus,{size:12}),"Link PR"]})]}),j&&(0,b.jsxs)("form",{onSubmit:v,className:"mb-3 flex flex-col gap-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"url",value:m,onChange:a=>n(a.target.value),placeholder:"https://github.com/owner/repo/pull/123",className:"flex-1 rounded border border-[var(--card-border)] bg-transparent px-2 py-1 text-xs text-[var(--foreground)] outline-none focus:border-blue-500",autoFocus:!0}),(0,b.jsx)("button",{type:"submit",disabled:r||!m.trim(),className:"rounded-md bg-blue-500 px-2.5 py-1 text-xs font-medium text-white transition-colors hover:bg-blue-600 disabled:opacity-50",children:r?"Linking…":"Link"}),(0,b.jsx)("button",{type:"button",onClick:()=>{l(!1),p(null),n("")},className:"rounded-md border border-[var(--card-border)] px-2 py-1 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"Cancel"})]}),o&&(0,b.jsx)("div",{className:"text-xs text-red-400",children:o})]}),(0,b.jsx)("ul",{className:"flex flex-col gap-1",children:f.map(a=>{var c,d;let e="success"===(c=a.ciStatus)?{symbol:"✓",color:"text-green-500"}:"failure"===c?{symbol:"✗",color:"text-red-500"}:"pending"===c?{symbol:"●",color:"text-amber-500"}:null,f="approved"===(d=a.reviewDecision)?{label:"approved",cls:"bg-green-500/15 text-green-400 border-green-500/30"}:"changes_requested"===d?{label:"changes requested",cls:"bg-amber-500/15 text-amber-400 border-amber-500/30"}:"review_required"===d?{label:"review required",cls:"bg-neutral-500/15 text-neutral-400 border-neutral-500/30"}:null;return(0,b.jsx)("li",{children:(0,b.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>u(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),u(a))},className:"group flex cursor-pointer items-center gap-2 rounded-md border border-transparent px-2 py-1.5 text-sm hover:border-[var(--card-border)] hover:bg-[var(--card-bg)]",children:[(0,b.jsx)("span",{className:`shrink-0 rounded border px-1.5 py-0.5 text-[10px] uppercase tracking-wide ${"merged"===a.state?"bg-purple-500/15 text-purple-400 border-purple-500/30":"closed"===a.state?"bg-red-500/15 text-red-400 border-red-500/30":a.draft?"bg-neutral-500/15 text-neutral-400 border-neutral-500/30":"bg-green-500/15 text-green-400 border-green-500/30"}`,children:"merged"===a.state?"Merged":"closed"===a.state?"Closed":a.draft?"Draft":"Open"}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-xs text-[var(--muted-foreground)]",children:a.id}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[var(--foreground)]",children:a.title}),e&&(0,b.jsx)("span",{className:`shrink-0 text-xs ${e.color}`,title:`CI: ${a.ciStatus}`,children:e.symbol}),f&&(0,b.jsx)("span",{className:`shrink-0 rounded border px-1.5 py-0.5 text-[10px] ${f.cls}`,children:f.label}),(0,b.jsx)("button",{type:"button",onClick:b=>w(a,b),className:"shrink-0 rounded p-0.5 text-[var(--muted-foreground)] opacity-0 transition-opacity hover:bg-red-500/10 hover:text-red-400 group-hover:opacity-100",title:"Unlink","aria-label":"Unlink PR",children:(0,b.jsx)(q.X,{size:12})})]})},a.id)})})]}):null}function aV(a,b){return a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||b}let aW=(0,d.default)(async()=>{},{loadableGenerated:{modules:[844118]},ssr:!1});function aX({item:a,trackerType:d,runs:e,participants:f,projectId:g,projectSlug:h,itemStatusOptions:i,itemStatusUpdating:j,onItemStatusChange:k,activeSessionScriptLabel:l,onOpenSessionScripts:m,onStartScriptedSession:n,createRun:o,updateRun:p,onRunCreated:q,onSelectRun:r}){let s=f[0],{metadata:t}=function(a,b,d){let[e,f]=(0,c.useState)({labels:[],estimate:null}),[g,h]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!b||!d)return void f({labels:[],estimate:null});let c=!1;return h(!0),fetch(`/api/trackers/${encodeURIComponent(a)}/metadata?projectId=${encodeURIComponent(b)}&issueId=${encodeURIComponent(d)}`).then(a=>a.json()).then(a=>{c||f({labels:Array.isArray(a.labels)?a.labels:[],estimate:"number"==typeof a.estimate?a.estimate:null})}).catch(()=>{}).finally(()=>{c||h(!1)}),()=>{c=!0}},[a,b,d]);let i=(0,c.useCallback)(async c=>{if(b&&d)try{let g=await fetch(`/api/trackers/${encodeURIComponent(a)}/metadata?projectId=${encodeURIComponent(b)}&issueId=${encodeURIComponent(d)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)}),h=await g.json();f({labels:Array.isArray(h.labels)?h.labels:e.labels,estimate:"number"==typeof h.estimate?h.estimate:null})}catch{}},[a,b,d,e.labels]);return{metadata:e,loading:g,update:i}}(d,g,a.id),u=(0,c.useRef)(null);u.current||(u.current=globalThis.crypto?.randomUUID?.()??`thread-${Date.now()}-${Math.random().toString(36).slice(2)}`);let{messages:v,setMessages:w,chatRuns:x}=(0,A.useGroupChat)(u.current),{processes:y}=(0,B.useProcessPolling)({workspaceId:u.current},{messages:v,setMessages:w}),z=(0,c.useMemo)(()=>new Set(["queued","running","awaiting_user","blocked"]),[]),C=x.some(a=>z.has(a.status))||y.some(a=>"spawning"===a.state||"running"===a.state)?x.some(a=>"queued"===a.status)?"queued":"working":"ready",D=(0,c.useRef)(!1),E=(0,c.useCallback)(async(b,c,e,i,j,k,l)=>{if(D.current)return;D.current=!0;let m=(j?f.find(a=>a.id===j):null)??s;if(!m){D.current=!1;return}try{var n,r,t,u;let c,e,f,i,j,s,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,{run:L,recapContent:M}=await o({projectId:g??null,projectSlug:h??null,issueId:a.id,issueIdentifier:a.identifier,issueTitle:a.title,issueStatus:a.status,issueAssignee:a.assignee?.name??null,agentId:m.id,agentName:m.name,mode:"chat"}),{promptPrefix:N}=(f=(t=n={issue:{identifier:a.identifier,title:a.title,status:a.status,assignee:a.assignee?.name??null},project:h?{slug:h}:null,runtime:{recapContent:M}}).issue.identifier.trim()||"TICKET-ID",i=t.issue.title.trim()||"Untitled ticket",j=String(t.issue.status??"").trim()||"Unknown",s=String(t.issue.assignee??"").trim()||"Unassigned",v=function(a){let b=String(a?.slug??"").trim();if(b)return aV(b,"project");let c=String(a?.name??"").trim();return c?aV(c,"project"):"project"}(t.project),w=String(t.project?.name??"").trim()||v,x=String(t.runtime?.knowledgeBaseRoot??"").trim()||`~/.agx/vault/${v}`,y=String(t.runtime?.issueKnowledgePath??"").trim()||`${x}/issues/${f}/`,z=String(t.runtime?.isolatedWorktreePath??"").trim()||`/tmp/agx-${aV(f,"ticket")}`,B=(A={issue:{identifier:f,title:i,status:j,assignee:s},project:{name:w,slug:v,label:(u=t.project,c=String(u?.name??"").trim(),e=String(u?.slug??"").trim(),c&&e?`${c} (${e})`:c||e||"current project"),repos:t.project?.repos?[...t.project.repos]:[]},runtime:{knowledgeBaseRoot:x,issueKnowledgePath:y,isolatedWorktreePath:z}}).issue.identifier,C=A.issue.title,D=A.issue.status,E=A.issue.assignee,F=A.runtime.knowledgeBaseRoot,G=A.runtime.issueKnowledgePath,H=A.runtime.isolatedWorktreePath,I="",(J=n.runtime?.recapContent?.trim())&&(I=`TICKET RECAP
26
+ ${J}`),K=["TICKET EXECUTION","You are an engineer working through a single ticket from the project's issue tracker (Linear, Jira, or whichever tracker is configured). Work like a careful teammate: continue existing work when present, investigate before coding, present a plan before implementation, ask clarifying questions when requirements are ambiguous, and stop cleanly when blocked instead of guessing.",'TERMINOLOGY NOTE\n- "Ticket" / "issue" = the work item you are executing (from Linear, Jira, etc.)\n- "Task" in this project\'s UI = a scheduled or manual background task (cron jobs, automations) — NOT this ticket.\n- Do not confuse scheduled tasks with the ticket you are working on.',`INJECTED CONTEXT
27
+ - Ticket: ${B}
28
+ - Title: ${C}
29
+ - Current status: ${D}
30
+ - Current assignee: ${E}
31
+ - Project: ${A.project.label}
32
+ - Knowledge base root: ${F}
33
+ - Issue knowledge path: ${G}
34
+ - Suggested isolated worktree: ${H}
35
35
  - Additional project resources such as repo knowledge, project memory, and project variables are injected separately by the active project context.`,`SOURCE REPOSITORIES
36
- ${!(n=z.project.repos)||0===n.length?"- Use the active project context to discover the right repository or workspace; do not hardcode paths.":n.map(a=>{let b=[a.name.trim()||"repository"],c=String(a.path??"").trim(),d=String(a.notes??"").trim();return c&&b.push(`path: ${c}`),d&&b.push(`notes: ${d}`),`- ${b.join(" | ")}`}).join("\n")}`,"WORKFLOW\n1. Read the full issue and comment thread before acting. Use the issue tracker MCP for issue details, comments, state changes, and follow-up.\n2. Prefer resuming existing work: existing knowledge-base notes, branches, PRs, or prior discussion.\n3. If requirements are unclear, ask specific clarifying questions in the issue tracker and stop.\n4. If the ticket is fresh, investigate first, capture findings in the knowledge base, write a plan, and share the plan before implementation.\n5. If a reviewed plan already exists or the ticket is explicitly ready for implementation, implement in an isolated worktree or equivalent isolated workspace rather than a shared checkout.\n6. Validate with the appropriate tests, linting, type checks, and manual verification for the change.\n7. Keep the issue tracker accurate: comments, links, statuses, blockers, and PR references should match reality.\n8. Keep the knowledge base current with what you learned, what changed, and what remains.\n9. Work on exactly this ticket during this session.","RULES\n- Use the injected project context instead of hardcoded repo-specific paths or conventions.\n- Use knowledge base terminology; the filesystem path above is the storage location.\n- If a PR already exists, focus on CI failures, reviewer feedback, merge status, or ticket follow-up instead of starting over.\n- Leave the ticket and the knowledge base in a resumable state at the end of the session. Clean up temporary worktrees or session claims if your workflow created them."],H&&J.splice(3,0,H),{prompt:`Work on this ticket: ${A} - ${B}`,promptPrefix:J.join("\n\n")+"\n\n"}),N=M+(j?`
37
- ${j}`:""),O=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:b,promptPrefix:N,threadId:K.threadId,activeParticipantIds:[l.id],projectSlug:h??void 0,routing:k})}),P=await O.json().catch(()=>({}));if(!O.ok||!P.chatRunId||!P.userMessageId)throw Error(P.error||"Failed to start chat session");await p(K.id,{chatRunId:P.chatRunId,rootMessageId:P.userMessageId}),q(K.id)}catch(a){console.error("Failed to create chat session:",a),D.current=!1,a instanceof Error&&window.alert(a.message)}},[a,f,s,g,h,o,p,q]);return(0,b.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsxs)("header",{className:"flex h-12 shrink-0 items-center justify-between border-b border-[var(--card-border)] px-6",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,b.jsx)("span",{className:"shrink-0 font-mono text-sm text-[var(--muted-foreground)]",children:a.identifier}),(0,b.jsx)("div",{className:"h-1 w-1 shrink-0 rounded-full bg-[var(--card-border)]"}),(0,b.jsx)("span",{className:"truncate text-sm font-medium text-[var(--foreground)]",children:a.title})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsx)(ao,{status:a.status,options:i,disabled:0===i.length,updating:j,onChange:b=>k(a,b)}),null!=v.estimate&&(0,b.jsxs)("span",{className:"flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-xs font-medium text-[var(--foreground)]",title:"Estimate",children:[(0,b.jsx)(aG.Hash,{size:12}),v.estimate]}),(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:m,title:`Session script: ${l}`,children:[(0,b.jsx)(aF.FileText,{size:12}),(0,b.jsx)("span",{className:"max-w-[120px] truncate",children:"AGX default"===l?"Session script":l})]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-md bg-blue-500 px-2.5 py-1 text-xs font-medium text-white transition-colors hover:bg-blue-600",onClick:n,children:[(0,b.jsx)(P.Play,{size:12}),(0,b.jsx)("span",{children:"Start scripted session"})]})]})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto pb-64",children:[(0,b.jsx)(aH,{issueId:a.id,trackerType:d,projectId:g}),(0,b.jsx)(aJ,{runs:e,onSelect:r})]}),(0,b.jsx)("div",{className:"absolute bottom-3 left-3 right-3 p-2",children:(0,b.jsx)(aL,{onSend:E,onStop:()=>{},participants:f,projectId:g??void 0,projectSlug:h??void 0,loading:"ready"!==C,commands:[],activityStatus:C,placeholder:`Ask about ${a.identifier}...`,initialPinnedParticipantId:s?.id})})]})}var aN=a.i(89613),aO=a.i(157633);function aP({groupId:a,name:d,count:e,collapsed:f,selected:g,onToggleCollapse:h,onSelect:i,onUngroup:j,projectSlug:k}){let{setNodeRef:l,isOver:m}=(0,aC.useDroppable)({id:a}),n=(0,c.useRef)(null),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(""),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(!1),x=(0,c.useCallback)(async()=>{if(k&&!t)try{let b=await fetch(`/api/tracker/notes?projectSlug=${encodeURIComponent(k)}&id=${encodeURIComponent(a)}&type=group`),c=(await b.json()).content??"";s(c),w(""!==c.trim()),u(!0)}catch{u(!0)}},[k,a,t]),y=(0,c.useCallback)(async b=>{if(k){w(""!==b.trim());try{await fetch("/api/tracker/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectSlug:k,id:a,type:"group",content:b})})}catch{}}},[k,a]),z=(0,c.useCallback)(a=>{a.stopPropagation(),p||x(),q(a=>!a)},[p,x]);return(0,b.jsxs)("div",{ref:l,className:`group relative flex cursor-pointer items-center gap-2 pl-[24px] pr-4 py-2 text-sm transition-colors ${g?"bg-[var(--card-bg)]":"hover:bg-[var(--card-bg)]/50"} ${m?"bg-[var(--primary)]/10 border-l-2 border-l-[var(--primary)]":""}`,onClick:i,role:"button",tabIndex:0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),i())},children:[g&&(0,b.jsx)("div",{className:"absolute left-0 top-0 bottom-0 w-[3px] rounded-r-full bg-blue-500"}),(0,b.jsx)("button",{type:"button",className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:a=>{a.stopPropagation(),h()},"aria-label":f?"Expand folder":"Collapse folder",children:f?(0,b.jsx)(O.ChevronRight,{size:14}):(0,b.jsx)(N.ChevronDown,{size:14})}),(0,b.jsx)("span",{className:"shrink-0 text-[var(--muted-foreground)]",children:f?(0,b.jsx)(aO.Folder,{size:14}):(0,b.jsx)(aN.FolderOpen,{size:14})}),(0,b.jsx)("span",{className:`min-w-0 flex-1 truncate text-xs font-medium ${g?"text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,children:d}),(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-[var(--secondary)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--muted-foreground)]",children:e}),k&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{ref:n,type:"button",className:`flex h-5 w-5 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 ${v?"text-amber-400 opacity-100":`text-[var(--muted-foreground)] ${g?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:z,title:v?"Edit group note":"Add group note","aria-label":v?"Edit group note":"Add group note",children:(0,b.jsx)(at,{size:12,className:v?"fill-current":""})}),p&&(0,b.jsx)(az,{anchorRef:n,value:r,onChange:s,onClose:()=>q(!1),onSave:y})]}),j&&(0,b.jsx)("button",{type:"button",className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 hover:text-red-400 transition-all",onClick:a=>{a.stopPropagation(),j()},title:"Ungroup tickets","aria-label":"Ungroup tickets",children:(0,b.jsx)(o.X,{size:12})})]})}var aQ=a.i(667597);let aR=(0,d.default)(async()=>{},{loadableGenerated:{modules:[844118]},ssr:!1});function aS({group:a,items:d,trackerType:e,participants:f,projectId:g,projectSlug:h,onUpdateName:i,onDelete:j,onSelectItem:k,onRunCreated:l,onSelectRun:m}){let[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(a.name),s=(0,c.useCallback)(()=>{let b=p.trim();b&&b!==a.name&&i(b),o(!1)},[p,a.name,i]),v=d.filter(b=>a.task_ids.includes(b.id)),{runs:w,createRun:x,updateRun:z}=r(e,a.id,g??null),A=f[0],B=(0,c.useRef)(null);B.current||(B.current=globalThis.crypto?.randomUUID?.()??`thread-${Date.now()}-${Math.random().toString(36).slice(2)}`);let{messages:C,setMessages:D,chatRuns:E}=(0,t.useGroupChat)(B.current),{processes:F}=(0,u.useProcessPolling)({workspaceId:B.current},{messages:C,setMessages:D}),G=(0,c.useMemo)(()=>new Set(["queued","running","awaiting_user","blocked"]),[]),H=E.some(a=>G.has(a.status))||F.some(a=>"spawning"===a.state||"running"===a.state)?E.some(a=>"queued"===a.status)?"queued":"working":"ready",I=(0,c.useRef)(!1),J=(0,c.useCallback)(async(b,c,d,e,i,j,k)=>{if(I.current)return;I.current=!0;let m=(i?f.find(a=>a.id===i):null)??A;if(!m){I.current=!1;return}try{let{run:c}=await x({projectId:g??null,projectSlug:h??null,issueId:a.id,issueIdentifier:a.name,issueTitle:a.name,issueStatus:"active",issueAssignee:null,agentId:m.id,agentName:m.name,mode:"chat"}),d=v.length>0?v.map(a=>`- ${a.identifier}: ${a.title} (${a.status})`).join("\n"):"- (no tickets assigned to this group)",e=`GROUP SESSION
36
+ ${!(r=A.project.repos)||0===r.length?"- Use the active project context to discover the right repository or workspace; do not hardcode paths.":r.map(a=>{let b=[a.name.trim()||"repository"],c=String(a.path??"").trim(),d=String(a.notes??"").trim();return c&&b.push(`path: ${c}`),d&&b.push(`notes: ${d}`),`- ${b.join(" | ")}`}).join("\n")}`,"WORKFLOW\n1. Read the full issue and comment thread before acting. Use the issue tracker MCP for issue details, comments, state changes, and follow-up.\n2. Prefer resuming existing work: existing knowledge-base notes, branches, PRs, or prior discussion.\n3. If requirements are unclear, ask specific clarifying questions in the issue tracker and stop.\n4. If the ticket is fresh, investigate first, capture findings in the knowledge base, write a plan, and share the plan before implementation.\n5. If a reviewed plan already exists or the ticket is explicitly ready for implementation, implement in an isolated worktree or equivalent isolated workspace rather than a shared checkout.\n6. Validate with the appropriate tests, linting, type checks, and manual verification for the change.\n7. Keep the issue tracker accurate: comments, links, statuses, blockers, and PR references should match reality.\n8. Keep the knowledge base current with what you learned, what changed, and what remains.\n9. Work on exactly this ticket during this session.","RULES\n- Use the injected project context instead of hardcoded repo-specific paths or conventions.\n- Use knowledge base terminology; the filesystem path above is the storage location.\n- If a PR already exists, focus on CI failures, reviewer feedback, merge status, or ticket follow-up instead of starting over.\n- Leave the ticket and the knowledge base in a resumable state at the end of the session. Clean up temporary worktrees or session claims if your workflow created them."],I&&K.splice(3,0,I),{prompt:`Work on this ticket: ${B} - ${C}`,promptPrefix:K.join("\n\n")+"\n\n"}),O="";if("github"===d&&(a.labels??[]).includes("pr")&&g)try{let b=await fetch("/api/github/prs/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:g,prId:a.id})});if(b.ok){let a=await b.json();a.context&&(O=a.context)}}catch(a){console.warn("Failed to fetch PR context",a)}let P=N+(O?`
37
+
38
+ ${O}`:"")+(k?`
39
+ ${k}`:""),Q=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:b,promptPrefix:P,threadId:L.threadId,activeParticipantIds:[m.id],projectSlug:h??void 0,routing:l})}),R=await Q.json().catch(()=>({}));if(!Q.ok||!R.chatRunId||!R.userMessageId)throw Error(R.error||"Failed to start chat session");await p(L.id,{chatRunId:R.chatRunId,rootMessageId:R.userMessageId}),q(L.id)}catch(a){console.error("Failed to create chat session:",a),D.current=!1,a instanceof Error&&window.alert(a.message)}},[a,f,s,g,h,d,o,p,q]);return(0,b.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsxs)("header",{className:"flex h-12 shrink-0 items-center justify-between border-b border-[var(--card-border)] px-6",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,b.jsx)("span",{className:"shrink-0 font-mono text-sm text-[var(--muted-foreground)]",children:a.identifier}),(0,b.jsx)("div",{className:"h-1 w-1 shrink-0 rounded-full bg-[var(--card-border)]"}),(0,b.jsx)("span",{className:"truncate text-sm font-medium text-[var(--foreground)]",children:a.title})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:["github"!==d&&(0,b.jsx)(av,{status:a.status,options:i,disabled:0===i.length,updating:j,onChange:b=>k(a,b)}),null!=t.estimate&&(0,b.jsxs)("span",{className:"flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-xs font-medium text-[var(--foreground)]",title:"Estimate",children:[(0,b.jsx)(aL.Hash,{size:12}),t.estimate]}),(0,b.jsxs)("button",{type:"button",className:"flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:m,title:`Session script: ${l}`,children:[(0,b.jsx)(aK.FileText,{size:12}),(0,b.jsx)("span",{className:"max-w-[120px] truncate",children:"AGX default"===l?"Session script":l})]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-md bg-blue-500 px-2.5 py-1 text-xs font-medium text-white transition-colors hover:bg-blue-600",onClick:n,children:[(0,b.jsx)(W.Play,{size:12}),(0,b.jsx)("span",{children:"Start scripted session"})]})]})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto pb-64",children:[(0,b.jsx)(aR,{issueId:a.id,trackerType:d,projectId:g}),h&&(0,b.jsx)(aU,{targetType:"linear_issue",targetId:a.identifier,projectSlug:h}),(0,b.jsx)(aT,{runs:e,onSelect:r})]}),(0,b.jsx)("div",{className:"absolute bottom-3 left-3 right-3 p-2",children:(0,b.jsx)(aW,{onSend:E,onStop:()=>{},participants:f,projectId:g??void 0,projectSlug:h??void 0,loading:"ready"!==C,commands:[],activityStatus:C,placeholder:`Ask about ${a.identifier}...`,initialPinnedParticipantId:s?.id})})]})}var aY=a.i(111814),aZ=a.i(89613),a$=a.i(157633);function a_({groupId:a,name:d,count:e,collapsed:f,selected:g,onToggleCollapse:h,onSelect:i,onUngroup:j,projectSlug:k}){let{setNodeRef:l,isOver:m}=(0,aO.useDroppable)({id:a}),n=(0,c.useRef)(null),[o,p]=(0,c.useState)(!1),[r,s]=(0,c.useState)(""),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(!1),x=(0,c.useCallback)(async()=>{if(k&&!t)try{let b=await fetch(`/api/tracker/notes?projectSlug=${encodeURIComponent(k)}&id=${encodeURIComponent(a)}&type=group`),c=(await b.json()).content??"";s(c),w(""!==c.trim()),u(!0)}catch{u(!0)}},[k,a,t]),y=(0,c.useCallback)(async b=>{if(k){w(""!==b.trim());try{await fetch("/api/tracker/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectSlug:k,id:a,type:"group",content:b})})}catch{}}},[k,a]),z=(0,c.useCallback)(async a=>{(a.stopPropagation(),o)?p(!1):(await x(),p(!0))},[o,x]);return(0,b.jsxs)("div",{ref:l,className:`group relative flex cursor-pointer items-center gap-2 pl-[24px] pr-4 py-2 text-sm transition-colors ${g?"bg-[var(--card-bg)]":"hover:bg-[var(--card-bg)]/50"} ${m?"bg-[var(--primary)]/10 border-l-2 border-l-[var(--primary)]":""}`,onClick:i,role:"button",tabIndex:0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),i())},children:[g&&(0,b.jsx)("div",{className:"absolute left-0 top-0 bottom-0 w-[3px] rounded-r-full bg-blue-500"}),(0,b.jsx)("button",{type:"button",className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:a=>{a.stopPropagation(),h()},"aria-label":f?"Expand folder":"Collapse folder",children:f?(0,b.jsx)(V.ChevronRight,{size:14}):(0,b.jsx)(U.ChevronDown,{size:14})}),(0,b.jsx)("span",{className:"shrink-0 text-[var(--muted-foreground)]",children:f?(0,b.jsx)(a$.Folder,{size:14}):(0,b.jsx)(aZ.FolderOpen,{size:14})}),(0,b.jsx)("span",{className:`min-w-0 flex-1 truncate text-xs font-medium ${g?"text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,children:d}),(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-[var(--secondary)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--muted-foreground)]",children:e}),k&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{ref:n,type:"button",className:`flex h-5 w-5 shrink-0 items-center justify-center rounded transition-all hover:bg-zinc-700 ${v?"text-amber-400 opacity-100":`text-[var(--muted-foreground)] ${g?"opacity-100":"opacity-0 group-hover:opacity-100"}`}`,onClick:z,title:v?"Edit group note":"Add group note","aria-label":v?"Edit group note":"Add group note",children:(0,b.jsx)(aB,{size:12,className:v?"fill-current":""})}),o&&(0,b.jsx)(aH,{anchorRef:n,value:r,onChange:s,onClose:()=>p(!1),onSave:y})]}),j&&(0,b.jsx)("button",{type:"button",className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 hover:text-red-400 transition-all",onClick:a=>{a.stopPropagation(),j()},title:"Ungroup tickets","aria-label":"Ungroup tickets",children:(0,b.jsx)(q.X,{size:12})})]})}var a0=a.i(667597);let a1=(0,d.default)(async()=>{},{loadableGenerated:{modules:[844118]},ssr:!1});function a2({group:a,items:d,trackerType:e,participants:f,projectId:g,projectSlug:h,onUpdateName:i,onDelete:j,onSelectItem:k,onRunCreated:l,onSelectRun:m}){let[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(a.name),r=(0,c.useCallback)(()=>{let b=p.trim();b&&b!==a.name&&i(b),o(!1)},[p,a.name,i]),s=d.filter(b=>a.task_ids.includes(b.id)),{runs:t,createRun:u,updateRun:v}=y(e,a.id,g??null),w=f[0],x=(0,c.useRef)(null);x.current||(x.current=globalThis.crypto?.randomUUID?.()??`thread-${Date.now()}-${Math.random().toString(36).slice(2)}`);let{messages:z,setMessages:C,chatRuns:D}=(0,A.useGroupChat)(x.current),{processes:E}=(0,B.useProcessPolling)({workspaceId:x.current},{messages:z,setMessages:C}),G=(0,c.useMemo)(()=>new Set(["queued","running","awaiting_user","blocked"]),[]),H=D.some(a=>G.has(a.status))||E.some(a=>"spawning"===a.state||"running"===a.state)?D.some(a=>"queued"===a.status)?"queued":"working":"ready",I=(0,c.useRef)(!1),J=(0,c.useCallback)(async(b,c,d,e,i,j,k)=>{if(I.current)return;I.current=!0;let m=(i?f.find(a=>a.id===i):null)??w;if(!m){I.current=!1;return}try{let{run:c}=await u({projectId:g??null,projectSlug:h??null,issueId:a.id,issueIdentifier:a.name,issueTitle:a.name,issueStatus:"active",issueAssignee:null,agentId:m.id,agentName:m.name,mode:"chat"}),d=s.length>0?s.map(a=>`- ${a.identifier}: ${a.title} (${a.status})`).join("\n"):"- (no tickets assigned to this group)",e=`GROUP SESSION
38
40
 
39
41
  You are working on a group of related tickets named "${a.name}".
40
42
 
@@ -43,6 +45,6 @@ ${d}
43
45
 
44
46
  Work through these tickets as a coherent unit of work.
45
47
 
46
- `+(j??""),f=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:b,promptPrefix:e,threadId:c.threadId,activeParticipantIds:[m.id],projectSlug:h??void 0,routing:k})}),i=await f.json().catch(()=>({}));if(!f.ok||!i.chatRunId||!i.userMessageId)throw Error(i.error||"Failed to start chat session");await z(c.id,{chatRunId:i.chatRunId,rootMessageId:i.userMessageId}),l(c.id)}catch(a){console.error("Failed to create group chat session:",a),I.current=!1,a instanceof Error&&window.alert(a.message)}},[a,v,f,A,g,h,x,z,l]);return(0,b.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-[var(--card-border)] px-4",children:[(0,b.jsx)(aN.FolderOpen,{size:16,className:"shrink-0 text-[var(--muted-foreground)]"}),n?(0,b.jsx)("input",{type:"text",value:p,onChange:a=>q(a.target.value),onBlur:s,onKeyDown:b=>{"Enter"===b.key&&s(),"Escape"===b.key&&(q(a.name),o(!1))},autoFocus:!0,className:"min-w-0 flex-1 bg-transparent text-sm font-medium text-[var(--foreground)] outline-none border-b border-[var(--primary)]"}):(0,b.jsx)("h3",{className:"min-w-0 flex-1 truncate text-sm font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>{q(a.name),o(!0)},title:"Rename group",children:(0,b.jsx)(aQ.Pencil,{size:12})}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] hover:text-red-400 transition-colors",onClick:j,title:"Delete group (ungroups tickets)",children:(0,b.jsx)(y.Trash2,{size:12})})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto pb-64",children:[(0,b.jsxs)("section",{className:"border-b border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"px-4 py-2 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:["Tickets (",v.length,")"]}),0===v.length?(0,b.jsx)("div",{className:"px-4 pb-4 text-center text-xs text-[var(--muted-foreground)]",children:"No tickets in this group."}):v.map(a=>(0,b.jsx)(aE,{item:a,selected:!1,onSelect:()=>k(a.id)},a.id))]}),(0,b.jsx)(aH,{issueId:a.id,trackerType:e,projectId:g}),(0,b.jsx)(aJ,{runs:w,onSelect:m})]}),f.length>0&&(0,b.jsx)("div",{className:"absolute bottom-3 left-3 right-3 p-2",children:(0,b.jsx)(aR,{onSend:J,onStop:()=>{},participants:f,projectId:g??void 0,projectSlug:h??void 0,loading:"ready"!==H,commands:[],activityStatus:H,placeholder:`Work on tickets in "${a.name}"...`,initialPinnedParticipantId:A?.id})})]})}let aT="__pending-group__";function aU({ticket:a,isLast:c}){let{attributes:d,listeners:e,setNodeRef:f,transform:g,isDragging:h}=(0,aC.useDraggable)({id:a.id}),i=g?{transform:`translate3d(${g.x}px, ${g.y}px, 0)`,opacity:h?.3:1,position:"relative",zIndex:h?50:void 0}:void 0;return(0,b.jsxs)("div",{ref:f,style:i,...d,...e,className:"flex items-center gap-3 pl-[48px] pr-4 py-2 text-sm cursor-grab active:cursor-grabbing",children:[(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] leading-none text-[var(--muted-foreground)]/40 select-none",children:c?"└──":"├──"}),(0,b.jsx)("span",{className:"shrink-0 whitespace-nowrap font-mono text-xs text-[var(--muted-foreground)]",children:a.identifier}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs text-[var(--muted-foreground)]",children:a.title}),a.status&&(0,b.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:a.status})]})}function aV({tickets:a,onConfirm:d,onCancel:e}){let[f,g]=(0,c.useState)(""),h=(0,c.useRef)(null),{setNodeRef:i,isOver:j}=(0,aC.useDroppable)({id:aT});(0,c.useEffect)(()=>{h.current?.focus()},[]);let k=(0,c.useCallback)(()=>{let b=f.trim(),c=a.map(a=>a.identifier).join(", ");d(b||c||"Untitled")},[f,d,a]);return(0,b.jsxs)("div",{ref:i,className:`mx-0 my-0 transition-colors ${j?"bg-[var(--primary)]/5":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 pl-[24px] pr-4 py-2 bg-[var(--card-bg)]/50",children:[(0,b.jsx)(N.ChevronDown,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)(aN.FolderOpen,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{ref:h,type:"text",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&k(),"Escape"===a.key&&e()},placeholder:a.map(a=>a.identifier).join(", ")||"Name this group...",className:"min-w-0 flex-1 bg-transparent text-xs font-medium text-[var(--foreground)] placeholder:text-[var(--muted-foreground)]/60 outline-none border-b border-[var(--primary)]/40 pb-0.5 focus:border-[var(--primary)]"}),(0,b.jsx)("button",{type:"button",className:"rounded px-2 py-0.5 text-[10px] font-medium bg-[var(--primary)] text-[var(--primary-foreground)] hover:opacity-90 transition-opacity",onClick:k,children:"Create"}),(0,b.jsx)("button",{type:"button",className:"rounded px-2 py-0.5 text-[10px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:e,children:"Cancel"})]}),a.map((c,d)=>(0,b.jsx)(aU,{ticket:c,isLast:d===a.length-1},c.id))]})}let aW="sg::";function aX({status:a,categoryColor:c,count:d,collapsed:e,onToggle:f}){let{setNodeRef:g,isOver:h}=(0,aC.useDroppable)({id:`${aW}${a}`});return(0,b.jsxs)("div",{ref:g,className:`sticky top-0 z-[5] flex cursor-pointer items-center gap-2 border-b border-[var(--card-border)] bg-[var(--app-shell-pane)] px-4 py-2 transition-colors ${h?"bg-[var(--primary)]/10 ring-1 ring-inset ring-[var(--primary)]/30":""}`,onClick:f,role:"button",tabIndex:0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),f())},children:[e?(0,b.jsx)(O.ChevronRight,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}):(0,b.jsx)(N.ChevronDown,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:`h-2 w-2 shrink-0 rounded-full ${c}`}),(0,b.jsx)("span",{className:"text-xs font-medium text-[var(--foreground)]",children:a}),(0,b.jsx)("span",{className:"text-[10px] tabular-nums text-[var(--muted-foreground)]",children:d})]})}var aY=a.i(785630);let aZ=[1,2,3,5,8,13,21];function a$({value:a,onSelect:c}){return(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[aZ.map(d=>(0,b.jsx)("button",{type:"button",className:`flex h-7 w-7 items-center justify-center rounded-md text-xs font-medium transition-colors ${a===d?"bg-[var(--primary)] text-[var(--primary-foreground)]":"bg-[var(--background)] text-[var(--muted-foreground)] hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"}`,onClick:()=>c(d),children:d},d)),(0,b.jsxs)("button",{type:"button",className:"flex h-7 items-center gap-1 rounded-md px-2 text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:()=>c(null),title:"Clear estimate",children:[(0,b.jsx)(o.X,{size:10}),"Clear"]})]})}function a_({count:a,participants:d,onSend:e}){let[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(d[0]?.id??"");return(0,c.useMemo)(()=>d.find(a=>a.id===h)??d[0],[d,h]),(0,b.jsxs)("div",{className:"flex w-80 flex-col gap-3 p-1",children:[(0,b.jsx)("textarea",{className:"min-h-[80px] w-full resize-none rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-xs text-[var(--foreground)] outline-none placeholder:text-[var(--muted-foreground)] focus:border-[var(--muted-foreground)]",placeholder:"Enter prompt to send to all selected tickets...",value:f,onChange:a=>g(a.target.value),autoFocus:!0}),d.length>1&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wider text-[var(--muted-foreground)]",children:"Agent"}),(0,b.jsx)("select",{className:"flex-1 appearance-none rounded-md border border-[var(--card-border)] bg-[var(--background)] px-2 py-1 text-xs outline-none",value:h,onChange:a=>i(a.target.value),children:d.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))})]}),(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center justify-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-xs font-medium text-white transition-colors hover:bg-blue-600 disabled:opacity-50",disabled:!f.trim(),onClick:()=>{f.trim()&&e(f.trim(),h)},children:[(0,b.jsx)(P.Play,{size:12}),"Send to ",a," ticket",1!==a?"s":""]})]})}function a0({open:a,onClose:d,anchorRef:e,children:f}){let g=(0,c.useRef)(null);return((0,c.useEffect)(()=>{if(!a)return;let b=a=>{g.current?.contains(a.target)||e.current?.contains(a.target)||d()},c=a=>{"Escape"===a.key&&d()};return document.addEventListener("pointerdown",b),document.addEventListener("keydown",c),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",c)}},[a,d,e]),a)?(0,b.jsx)("div",{ref:g,className:"absolute bottom-full left-1/2 z-50 mb-2 -translate-x-1/2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-2 shadow-lg backdrop-blur-sm",children:f}):null}function a1({count:a,onGroup:d,onClear:e,onBulkRecap:f,onBulkPrompt:g,onBulkEstimate:h,onBulkAddLabel:i,onBulkRemoveLabel:k,onBulkStatus:l,statusOptions:m,participants:n,labels:p,onCreateLabel:q,selectedMetadata:r,statusUpdating:s}){let[t,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(null),y=(0,c.useRef)(null),z=(0,c.useCallback)(a=>{u(b=>b===a?null:a)},[]),A=c.default.useMemo(()=>{let a=new Map;for(let b of r.values())for(let c of b.labels)a.set(c,(a.get(c)??0)+1);return a},[r]),B=c.default.useMemo(()=>{let a=new Set;for(let b of r.values())for(let c of b.labels)a.add(c);return Array.from(a)},[r]);if(a<2)return null;let C="flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]";return(0,b.jsx)("div",{className:"absolute bottom-4 left-1/2 z-30 -translate-x-1/2",children:(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-1.5 shadow-2xl",children:[(0,b.jsxs)("span",{className:"mr-1 text-xs font-medium text-[var(--foreground)]",children:[a," selected"]}),(0,b.jsx)("div",{className:"mx-1 h-4 w-px bg-[var(--card-border)]"}),(0,b.jsxs)("button",{type:"button",className:C,onClick:f,title:"Recap all selected",children:[(0,b.jsx)(aF.FileText,{size:12}),"Recap"]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{ref:y,type:"button",className:`${C} ${"prompt"===t?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>z("prompt"),title:"Send prompt to all selected",children:[(0,b.jsx)(ar.MessageSquare,{size:12}),"Prompt"]}),(0,b.jsx)(a0,{open:"prompt"===t,onClose:()=>u(null),anchorRef:y,children:(0,b.jsx)(a_,{count:a,participants:n,onSend:(a,b)=>{g(a,b),u(null)}})})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{ref:v,type:"button",className:`${C} ${"estimate"===t?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>z("estimate"),title:"Set estimate for all selected",children:[(0,b.jsx)(aG.Hash,{size:12}),"Estimate"]}),(0,b.jsx)(a0,{open:"estimate"===t,onClose:()=>u(null),anchorRef:v,children:(0,b.jsx)(a$,{onSelect:a=>{h(a),u(null)}})})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{ref:w,type:"button",className:`${C} ${"label"===t?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>z("label"),title:"Label all selected",children:[(0,b.jsx)(M.Tag,{size:12}),"Label"]}),(0,b.jsx)(a0,{open:"label"===t,onClose:()=>u(null),anchorRef:w,children:(0,b.jsx)(aB,{labels:p,selectedLabels:B,labelCounts:A,totalSelected:a,onToggle:b=>{(A.get(b)??0)===a?k(b):i(b)},onAdd:q})})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{ref:x,type:"button",className:`${C} ${"status"===t?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>z("status"),title:"Update status for all selected",disabled:s,children:[s?(0,b.jsx)(j.RefreshCw,{size:12,className:"animate-spin"}):(0,b.jsx)(j.RefreshCw,{size:12}),"Status"]}),(0,b.jsx)(a0,{open:"status"===t,onClose:()=>u(null),anchorRef:x,children:(0,b.jsx)("div",{className:"flex max-h-48 w-44 flex-col overflow-y-auto",children:m.map(a=>(0,b.jsx)("button",{type:"button",className:"w-full rounded-lg px-3 py-1.5 text-left text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]",onClick:()=>{l(a.value),u(null)},children:a.label},a.value))})})]}),(0,b.jsxs)("button",{type:"button",className:C,onClick:d,title:"Group selected",children:[(0,b.jsx)(aY.FolderPlus,{size:12}),"Group"]}),(0,b.jsx)("div",{className:"mx-1 h-4 w-px bg-[var(--card-border)]"}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:e,"aria-label":"Clear selection",children:(0,b.jsx)(o.X,{size:14})})]})})}let a2=(0,d.default)(async()=>{},{loadableGenerated:{modules:[844118]},ssr:!1}),a3={todo:"bg-zinc-400",in_progress:"bg-amber-400",done:"bg-emerald-400",cancelled:"bg-red-400"};function a4({item:a,run:d,participants:e,itemStatusOptions:f,itemStatusUpdating:i,onItemStatusChange:j,onBack:k}){let{messages:l,setMessages:m,sendMessage:o,loadHistory:p,stop:q}=(0,t.useGroupChat)(d.threadId),{processes:r,streaming:s,chatRuns:w}=(0,u.useProcessPolling)(d.rootMessageId?{workspaceId:d.threadId,threadId:d.rootMessageId}:{workspaceId:d.threadId},{messages:l,setMessages:m}),x=(0,c.useMemo)(()=>{let a=w[0];if(!a)return ag(d);let b={queued:"queued",running:"running",awaiting_user:"running",blocked:"running",completed:"success",failed:"failed",cancelled:"cancelled"}[a.status]??d.status;return ag({...d,status:b})},[w,d]);(0,c.useEffect)(()=>{p()},[p,d.threadId]);let y=(0,c.useMemo)(()=>new Map(e.map(a=>[a.id,a])),[e]),z=new Set(["queued","running","awaiting_user","blocked"]),A=w.some(a=>z.has(a.status))||r.some(a=>"spawning"===a.state||"running"===a.state)?w.some(a=>"queued"===a.status)?"queued":"working":"ready",B=(0,c.useCallback)((a,b,c,f,g,h,i)=>{d.rootMessageId&&o(a,b,void 0,d.rootMessageId,c,void 0,(0,H.orderParticipantIds)(e.map(a=>a.id),g),d.projectSlug??void 0,h,i)},[e,d.projectSlug,d.rootMessageId,o]);return(0,b.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsxs)("header",{className:"flex h-12 shrink-0 items-center justify-between border-b border-[var(--card-border)] px-6",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[k&&(0,b.jsx)("button",{type:"button",onClick:k,className:"shrink-0 rounded p-0.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",title:"Back to sessions",children:(0,b.jsx)(g.ChevronLeft,{size:16})}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-sm text-[var(--muted-foreground)]",children:a.identifier}),(0,b.jsx)("div",{className:"h-1 w-1 shrink-0 rounded-full bg-[var(--card-border)]"}),(0,b.jsx)("span",{className:"truncate text-sm font-medium text-[var(--foreground)]",children:ah(d)})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4",children:[(0,b.jsx)(ao,{status:a.status,options:f,disabled:0===f.length,updating:i,onChange:b=>j(a,b)}),(0,b.jsxs)("div",{className:`flex items-center gap-2 rounded-md border px-2.5 py-1 ${aj[x.tone]}`,children:[(0,b.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${ak[x.tone]}`}),(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider",children:x.label})]}),null!=d.durationMs&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(h.Clock,{size:14}),(0,b.jsxs)("span",{children:[(d.durationMs/1e3).toFixed(1),"s"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-[var(--card-border)] bg-[var(--card-bg)] px-2 py-1",children:[(0,b.jsx)("img",{src:aD(d.agentId,y.get(d.agentId)?.color),alt:d.agentName,className:"h-5 w-5 rounded-full object-cover"}),(0,b.jsx)("span",{className:"pr-1 text-xs font-medium",children:d.agentName})]})]})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-6 pb-64",children:0===l.length?(0,b.jsx)("div",{className:"py-8 text-center text-xs text-[var(--muted-foreground)]",children:"queued"===d.status||"running"===d.status?"Starting session...":"No thread messages yet."}):(0,b.jsxs)("div",{className:"mx-auto max-w-4xl space-y-8",children:[l.map(a=>{let c=a.participantId?y.get(a.participantId):null,e=(0,C.stripMarkers)(a.content);if(!e.trim())return null;let f=a.participantId??d.agentId;return(0,b.jsxs)("div",{className:"flex gap-3",children:["user"===a.role?(0,b.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[var(--app-shell-subtle,var(--card-bg))]",children:(0,b.jsx)(n.User,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]"})}):(0,b.jsx)("img",{src:aD(f,c?.color),alt:c?.name??d.agentName,className:"h-7 w-7 shrink-0 rounded-full object-cover"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"user"===a.role?(0,b.jsx)("span",{className:"text-sm font-semibold text-[var(--foreground)]",children:"You"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-sm font-semibold",style:{color:c?.color??"var(--foreground)"},children:c?.name??d.agentName}),(0,b.jsx)("span",{className:"rounded bg-[var(--card-bg)] px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Agent"})]})}),(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:new Date(a.timestamp).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})]}),"user"===a.role?(0,b.jsx)("div",{className:"w-fit max-w-[85%] rounded-xl rounded-tl-sm border border-[var(--card-border)] bg-[var(--card-bg)] px-4 py-3 text-sm text-[var(--foreground)]",children:(0,b.jsx)(v.Markdown,{content:e,isUser:!0})}):(0,b.jsx)("div",{className:"text-sm text-[var(--foreground)]",children:(0,b.jsx)(v.Markdown,{content:e,isUser:!1})})]})]},a.id)}),Object.entries(s).filter(([,a])=>!d.rootMessageId||a.rootMessageId===d.rootMessageId).map(([a])=>{let c=y.get(a);return(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)("img",{src:aD(a,c?.color),alt:c?.name??d.agentName,className:"h-7 w-7 shrink-0 rounded-full object-cover"}),c?.name??d.agentName," is thinking..."]},`stream-${a}`)})]})}),(0,b.jsx)("div",{className:"absolute bottom-3 left-3 right-3 p-2",children:d.rootMessageId?(0,b.jsx)(a2,{onSend:B,onStop:q,participants:e,projectId:d.projectId??void 0,projectSlug:d.projectSlug??void 0,loading:"ready"!==A,commands:[],activityStatus:A,placeholder:"Continue this session...",initialPinnedParticipantId:d.agentId}):(0,b.jsx)("div",{className:"px-2 py-1 text-xs text-[var(--muted-foreground)]",children:"Waiting for the session to start..."})})]})}function a5({trackerType:a,projectId:d,projectSlug:g,initialShowSettings:h}){let l,{isTouchLayout:n}=(0,D.useInputCapabilities)(),{connected:t,loading:u,user:v,clis:w,mcpConfigured:x,connect:y,connectWithKey:z,disconnect:A,configureMcp:C}=(0,q.useTrackerConnection)(a,d??""),H=(0,c.useRef)(null),[J,K]=(0,c.useState)(h??!1),[L,M]=(0,c.useState)(!1),[N,O]=(0,c.useState)(()=>(0,F.loadLinearTicketPanelWidth)()||576),[P,Q]=(0,c.useState)(""),[R,S]=(0,c.useState)(""),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)([]),[X,Y]=(0,c.useState)([]),[Z,$]=(0,c.useState)([]),[_,aa]=(0,c.useState)([]),[ab,ac]=(0,c.useState)([]),[ad,aj]=(0,c.useState)([]),[ak,ao]=(0,c.useState)("Group"),[aq,ar]=(0,c.useState)(""),[as,at]=(0,c.useState)(""),[au,av]=(0,c.useState)("activity"),[aw,ax]=(0,c.useState)("desc"),[ay,az]=(0,c.useState)([]),[aA,aB]=(0,c.useState)(()=>new Set),[aF,aG]=(0,c.useState)(null),[aH,aI]=(0,c.useState)(null),[aJ,aK]=(0,c.useState)(new Set),{participants:aL}=function(a,b){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let c=!1;return async function(){try{let d=await fetch("/api/participants"),f=d.ok?await d.json():[];if(!b){c||(e(f),g(!0));return}let h=new URLSearchParams;h.set("projectId",b);let i=await fetch(`/api/trackers/${encodeURIComponent(a)}/worker?${h}`).catch(()=>null),j=i?.ok?await i.json().catch(()=>null):null,k=j?.job?.teamId||void 0;if(k){let a=await fetch(`/api/projects/${encodeURIComponent(b)}/teams/${encodeURIComponent(k)}/agents`);if(a.ok){let b=await a.json(),d=Array.isArray(b.agents)?b.agents.sort((a,b)=>(a.routing_order??0)-(b.routing_order??0)).map(a=>a.agent_id).filter(a=>"string"==typeof a&&a.trim().length>0):[];if(d.length>0){let a=new Map(d.map((a,b)=>[a,b])),b=f.filter(b=>a.has(b.id)).sort((b,c)=>(a.get(b.id)??Number.MAX_SAFE_INTEGER)-(a.get(c.id)??Number.MAX_SAFE_INTEGER));if(!c&&b.length>0){e(b),g(!0);return}}}}let l=await fetch(`/api/projects/${encodeURIComponent(b)}/agents`);if(!l.ok){c||(e(f),g(!0));return}let m=await l.json(),n=Array.isArray(m.agents)?m.agents.map(a=>a.agent_id).filter(a=>"string"==typeof a&&a.trim().length>0):[],o=new Map(n.map((a,b)=>[a,b])),p=f.filter(a=>o.has(a.id)).sort((a,b)=>(o.get(a.id)??Number.MAX_SAFE_INTEGER)-(o.get(b.id)??Number.MAX_SAFE_INTEGER));c||(e(p),g(!0))}catch{c||(e([]),g(!0))}}(),()=>{c=!0}},[a,b]),{participants:d,participantsLoaded:f}}(a,d),{issueActiveAgents:aN}=function(a,b){let[d,e]=(0,c.useState)(new Map);return(0,c.useEffect)(()=>{let c=!1;async function d(){try{let d=new URLSearchParams;b&&d.set("projectId",b);let f=await fetch(`/api/trackers/${a}/active-agents?${d}`);if(!f.ok||c)return;let g=await f.json(),h=new Map;for(let a of g.agents??[]){let b=h.get(a.issueId)??[];b.push({agentId:a.agentId,agentName:a.agentName}),h.set(a.issueId,b)}c||e(h)}catch{}}d();let f=setInterval(()=>void d(),5e3);return()=>{c=!0,clearInterval(f)}},[a,b]),{issueActiveAgents:d}}(a,d),{issueStats:aO}=function(a,b){let[d,e]=(0,c.useState)(new Map);return(0,c.useEffect)(()=>{let c=!1;async function d(){try{let d=new URLSearchParams;b&&d.set("projectId",b);let f=await fetch(`/api/trackers/${a}/stats?${d}`);if(!f.ok||c)return;let g=await f.json(),h=new Map;for(let a of g.stats??[])h.set(a.issueId,{sessions:a.sessions,messages:a.messages});c||e(h)}catch{}}d();let f=setInterval(()=>void d(),1e4);return()=>{c=!0,clearInterval(f)}},[a,b]),{issueStats:d}}(a,d),[aQ,aR]=(0,c.useState)(null),[aU,aY]=(0,c.useState)(null),[aZ,a$]=(0,c.useState)("runs"),a_=(0,c.useRef)(null),a0=(0,c.useRef)(!0),a2=(0,c.useRef)(null),a5=(0,c.useRef)(null),{getSelection:a6,pushSelection:a7,replaceSelection:a8}=(0,p.useUrlSelection)(),a9=a6("issue"),ba=a6("run"),bb=a6("group"),{groups:bc,createGroup:bd,updateGroup:be,deleteGroup:bf,addTasksToGroup:bg,removeTaskFromGroup:bh,refetch:bi}=function(a){let[b,d]=(0,c.useState)([]),[e,f]=(0,c.useState)(!1),g=(0,c.useCallback)(async()=>{if(a){f(!0);try{let b=await fetch(`/api/task-groups?project_id=${encodeURIComponent(a)}`);if(!b.ok)throw Error("Failed to fetch groups");let c=await b.json();d(c.groups??[])}catch(a){console.error("useTaskGroups fetch error:",a)}finally{f(!1)}}},[a]);(0,c.useEffect)(()=>{g()},[g]);let h=(0,c.useCallback)(async(b,c)=>{if(!a)return null;try{let d=await fetch("/api/task-groups",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:a,name:b,task_ids:c})});if(!d.ok)throw Error("Failed to create group");let e=await d.json();return await g(),e.group}catch(a){return console.error("createGroup error:",a),null}},[a,g]),i=(0,c.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/task-groups/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)})).ok)throw Error("Failed to update group");await g()}catch(a){console.error("updateGroup error:",a)}},[g]),j=(0,c.useCallback)(async a=>{try{if(!(await fetch(`/api/task-groups/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete group");await g()}catch(a){console.error("deleteGroup error:",a)}},[g]),k=(0,c.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/task-groups/${a}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task_ids:b})})).ok)throw Error("Failed to assign tasks");await g()}catch(a){console.error("addTasksToGroup error:",a)}},[g]),l=(0,c.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/task-groups/${a}/tasks?task_id=${encodeURIComponent(b)}`,{method:"DELETE"})).ok)throw Error("Failed to remove task");await g()}catch(a){console.error("removeTaskFromGroup error:",a)}},[g]);return{groups:b,isLoading:e,refetch:g,createGroup:h,updateGroup:i,deleteGroup:j,addTasksToGroup:k,removeTaskFromGroup:l}}(d),[bj,bk]=(0,c.useState)(new Set),[bl,bm]=(0,c.useState)(!1),[bn,bo]=(0,c.useState)([]),[bp,bq]=(0,c.useState)(null),br=(0,aC.useSensors)((0,aC.useSensor)(aC.PointerSensor,{activationConstraint:{distance:8}})),[bs,bt]=(0,c.useState)(null),bu=(0,c.useCallback)(a=>{bk(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),bv=(0,c.useCallback)(async a=>{bn.length<2||(await bd(a,bn),bo([]),bm(!1),bq(null),bk(new Set))},[bn,bd]),bw=(0,c.useRef)([]),bx=(0,c.useRef)(null),by=(0,c.useCallback)(()=>{let a=Array.from(bj),b=bw.current.find(a=>bj.has(a.id));bo(a),bq(b?.id??a[0]??null),bm(!0)},[bj]),bz=bc.find(a=>a.id===bb),bA=(0,c.useMemo)(()=>new Set(bc.flatMap(a=>a.task_ids)),[bc]),bB=(0,c.useCallback)(a=>{bt(a.active.id)},[]),bC=(0,c.useCallback)(async a=>{bt(null);let{active:b,over:c}=a,d=b.id;if(bl){let a=bn.includes(d);if(!c||b.id===c.id){a&&bo(a=>{let b=a.filter(a=>a!==d);return b.length<2?(bm(!1),bq(null),[]):b});return}let e=c.id,f=e===aT||bn.includes(e);a&&!f?bo(a=>{let b=a.filter(a=>a!==d);return b.length<2?(bm(!1),bq(null),[]):b}):a||bo(a=>[...a,d]);return}if(!c||b.id===c.id)return;let e=c.id;if(e.startsWith(aW)){let a=e.slice(aW.length),b=bw.current.find(a=>a.id===d),c=bw.current.find(b=>b.status===a)?.statusCategory;b&&b.status!==a&&await bx.current?.(b,a,c);return}let f=bw.current.find(a=>a.id===d),g=bw.current.find(a=>a.id===e);if(f&&g&&f.status!==g.status)return void await bx.current?.(f,g.status,g.statusCategory);let h=bc.find(a=>a.id===e);if(h)return void await bg(h.id,[d]);let i=!bA.has(e);if(!bA.has(d)&&i){bo([d,e]),bq(e),bm(!0);return}let j=bc.find(a=>a.task_ids.includes(d));j&&i&&await bh(j.id,d)},[bc,bA,bg,bh,bl,bn]),bD=(0,c.useCallback)(a=>{Q(a),a_.current&&clearTimeout(a_.current),a_.current=setTimeout(()=>S(a),300)},[]),bE=(0,c.useCallback)(a=>{aB(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[a,g]);(0,c.useEffect)(()=>()=>{a_.current&&clearTimeout(a_.current)},[]),(0,c.useEffect)(()=>{let a={...E};a0.current=!0,Q(a.search),S(a.search),aa(a.assigneeIds),ac(a.statusCategories),at(a.groupIds?.[0]??""),ar(a.groupIds?.[0]??""),av(a.sortBy),ax(a.sortDir),az(a.labelNames??[]),aB(new Set)},[a,g]),(0,c.useEffect)(()=>{if(a0.current){a0.current=!1;return}},[a,g,P,_,ab,as,aq,ay,au,aw]),(0,c.useEffect)(()=>{if(!t||!d)return;let b=!1;U(!1);let c=new URLSearchParams;return c.set("projectId",d),g&&c.set("projectSlug",g),fetch(`/api/trackers/${a}/options?${c.toString()}`).then(a=>a.json()).then(a=>{b||(W(Array.isArray(a.assignees)?a.assignees:[]),Y(Array.isArray(a.statuses)?a.statuses.map(a=>({value:a.name,label:a.name})):[]),$(Array.isArray(a.teams)?a.teams:[]),aj(Array.isArray(a.groups)?a.groups:[]),a.groupLabel&&ao(a.groupLabel),U(!0))}).catch(()=>{b||(W([]),Y([]),$([]),aj([]),U(!0))}),()=>{b=!0}},[t,a,d,g]),(0,c.useEffect)(()=>{if(!T)return;let a=_.filter(a=>V.some(b=>b.id===a));a.length!==_.length&&aa(a)},[V,T,_]),(0,c.useEffect)(()=>{if(!T)return;let a=X.map(a=>a.value),b=ab.filter(b=>a.includes(b));b.length!==ab.length&&ac(b)},[T,ab,X]),(0,c.useEffect)(()=>{if(T){if(Z.length<=1&&as)return void at("");as&&!Z.some(a=>a.id===as)&&at("")}},[T,as,Z]),(0,c.useEffect)(()=>{T&&aq&&!ad.some(a=>a.id===aq)&&ar("")},[ad,T,aq]);let{items:bF,loading:bG,hasMore:bH,loadMore:bI,refresh:bJ,updateItem:bK}=function(a,b,d,e){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!0),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),n=(0,c.useRef)(j),o=(0,c.useRef)(!1);n.current=j;let p=`/api/trackers/${encodeURIComponent(a)}/items`,q=(0,c.useCallback)(async a=>{if(d&&e.projectId){i(!0);try{let c=new URLSearchParams;if(c.set("projectId",e.projectId),b.statuses?.length)for(let a of b.statuses)c.append("status",a);if(b.statusCategories?.length)for(let a of b.statusCategories)c.append("statusCategory",a);if(b.search&&c.set("search",b.search),b.assigneeIds?.length)for(let a of b.assigneeIds)c.append("assigneeId",a);if(b.groupIds?.length)for(let a of b.groupIds)c.append("groupId",a);b.sortBy&&c.set("sortBy",b.sortBy),b.sortDir&&c.set("sortDir",b.sortDir),b.hasActivity&&c.set("hasActivity","true"),a&&n.current&&c.set("cursor",n.current),e.limit&&c.set("limit",String(e.limit));let d=await fetch(`${p}?${c.toString()}`),f=await d.json(),h=f.items??[];g(b=>a?[...b,...h]:h),k(f.pageInfo?.endCursor??null),m(f.pageInfo?.hasNextPage??!1),o.current=!0}catch{a||g([])}finally{i(!1)}}},[p,b.statuses,b.statusCategories,b.search,b.assigneeIds,b.groupIds,b.sortBy,b.sortDir,b.hasActivity,d,e.projectId,e.limit]);(0,c.useEffect)(()=>{k(null),q(!1)},[q]);let r=(0,c.useCallback)(()=>q(!0),[q]);return{items:f,loading:h,hasMore:l,loadMore:r,refresh:(0,c.useCallback)(()=>(k(null),q(!1)),[q]),updateItem:(0,c.useCallback)(a=>{g(b=>b.map(b=>b.id===a.id?a:b))},[])}}(a,(0,c.useMemo)(()=>({search:R||void 0,statuses:ab.length>0&&ab.length<X.length?ab:void 0,assigneeIds:_.length>0?_:void 0,groupIds:aq?[aq]:void 0,sortBy:au,sortDir:aw}),[R,_,aq,ab,X.length,au,aw]),t&&T&&!!d,{projectId:d??""}),{metadataMap:bL,refresh:bM}=function(a,b,d){let[e,f]=(0,c.useState)(new Map),[g,h]=(0,c.useState)(!1),i=(0,c.useRef)(""),j=(0,c.useCallback)(async()=>{if(!b||0===d.length)return void f(new Map);h(!0);try{let c=await fetch(`/api/trackers/${encodeURIComponent(a)}/metadata/bulk?projectId=${encodeURIComponent(b)}&issueIds=${d.map(encodeURIComponent).join(",")}`),e=await c.json(),g=new Map;for(let[a,b]of Object.entries(e))g.set(a,{labels:Array.isArray(b.labels)?b.labels:[],estimate:"number"==typeof b.estimate?b.estimate:null});f(g)}catch{}h(!1)},[a,b,d]);return(0,c.useEffect)(()=>{let a=d.join(",");a!==i.current&&(i.current=a,j())},[j,d]),{metadataMap:e,loading:g,refresh:j}}(a,d,(0,c.useMemo)(()=>bF.map(a=>a.id),[bF])),{labels:bN,definitions:bO,refresh:bP,createDefinition:bQ}=ae(a,d),bR=(0,c.useMemo)(()=>a9?bF.find(a=>a.id===a9)??null:null,[bF,a9]),bS=bR??(aF?.id===a9?aF:null),bT=(0,c.useMemo)(()=>{if(0===aA.size)return bF;let a=[],b=[];for(let c of bF)aA.has(c.id)?a.push(c):b.push(c);return[...a,...b]},[bF,aA]);bw.current=bT;let bU=(0,c.useDeferredValue)(ay),bV=(0,c.useMemo)(()=>{if(0===bU.length)return bT;let a=new Set(bU),b=[];for(let c of bT){let d=bL.get(c.id)?.labels;if(d){for(let e of d)if(a.has(e)){b.push(c);break}}}return b},[bT,bU,bL]),bW=(0,c.useMemo)(()=>{let a=new Map;for(let b of bV){let c=a.get(b.status);c||(c={status:b.status,category:b.statusCategory,items:[]},a.set(b.status,c)),c.items.push(b)}let b={in_progress:0,todo:1,done:2,cancelled:3};return[...a.values()].sort((a,c)=>(b[a.category]??1)-(b[c.category]??1))},[!0,bV]),{runs:bX,loading:bY,loadedForIssueId:bZ,createRun:b$,updateRun:b_}=r(a,bS?.id??null,d??null),{scripts:b0,activeScriptId:b1,activeScript:b2,setActiveScriptId:b3,saveScript:b4,deleteScript:b5}=function(a,b){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a={...s};e(a.scripts),g(a.activeScriptId)},[a,b]);let h=(0,c.useCallback)((a,b)=>{e(a),g(b)},[a,b]),i=(0,c.useCallback)(a=>{let b=a&&d.some(b=>b.id===a)?a:null;h(d,b)},[h,d]),j=(0,c.useCallback)(a=>{let b=new Date().toISOString(),c=a.name.trim(),e=a.prompt.trim();if(!c||!e)throw Error("Run script name and prompt are required.");let f=a.id?d.find(b=>b.id===a.id):null,g=f?{...f,name:c,prompt:e,updatedAt:b}:{id:crypto.randomUUID(),name:c,prompt:e,createdAt:b,updatedAt:b};return h([...f?d.map(a=>a.id===f.id?g:a):[g,...d]].sort((a,b)=>b.updatedAt.localeCompare(a.updatedAt)),g.id),g},[h,d]),k=(0,c.useCallback)(a=>{h(d.filter(b=>b.id!==a),f===a?null:f)},[f,h,d]),l=(0,c.useMemo)(()=>d.find(a=>a.id===f)??null,[f,d]);return{scripts:d,activeScriptId:f,activeScript:l,setActiveScriptId:i,saveScript:j,deleteScript:k}}(a,g),b6=ba?bX.find(a=>a.id===ba)??null:null,b7=a9&&!ba?(0,G.loadLastRunForIssue)(a9):null,b8=!!b7&&H.current!==a9,b9=(0,c.useMemo)(()=>V.map(a=>({value:a.id,label:a.name})),[V]),ca=(0,c.useMemo)(()=>X.map(a=>({value:a.value,label:a.label})),[X]),cb=(0,c.useMemo)(()=>{let a=X.map(a=>({value:a.label,label:a.label})),b=new Set(a.map(a=>a.value)),c=bS?.status?.trim();return c&&!b.has(c)&&a.unshift({value:c,label:c}),a},[bS?.status,X]),cc=(0,c.useMemo)(()=>[{value:"",label:"Workspace"},...Z.map(a=>({value:a.id,label:a.name}))],[Z]),cd=(0,c.useMemo)(()=>[{value:"",label:ak},...ad.map(a=>({value:a.id,label:a.name}))],[ad,ak]),ce=ca.length>0,cf=cd.length>1,cg=cc.length>2,ch=b2?.name??"AGX default",ci=(0,c.useMemo)(()=>bN.map(a=>({value:a.name,label:a.name})),[bN]),cj=(0,c.useCallback)(async(b,c)=>{if(!d)return;let e=bL.get(b)?.labels??[],f=e.includes(c)?e.filter(a=>a!==c):[...e,c];try{await fetch(`/api/trackers/${a}/metadata?projectId=${encodeURIComponent(d)}&issueId=${encodeURIComponent(b)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({labels:f})}),bM(),bP()}catch{}},[d,a,bL,bM,bP]),ck=(0,c.useCallback)(async a=>{d&&await bQ(a)},[d,bQ]),cl=(0,c.useCallback)(async(b,c,e)=>{let f=c.trim();if(!f||f===b.status||!d)return;let g={...b,status:f,statusCategory:e??b.statusCategory};bK(g),a9===b.id&&aG(g),aI(b.id);try{let c=await fetch(`/api/trackers/${a}/items/${encodeURIComponent(b.id)}?projectId=${encodeURIComponent(d??"")}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:f})}),e=await c.json().catch(()=>({}));if(!c.ok||!e.item)throw Error(e.error||"Failed to update ticket status");let g=e.item;bK(g),a9===g.id&&aG(g),await bJ()}catch(a){bK(b),a9===b.id&&aG(b),a instanceof Error&&window.alert(a.message)}finally{aI(a=>a===b.id?null:a)}},[bJ,a9,bK,a,d]);bx.current=cl;let cm=(0,c.useCallback)(async()=>{let b=Array.from(bj).map(a=>bF.find(b=>b.id===a)).filter(Boolean);if(0===b.length||0===aL.length)return;let c=aL[0];for(let e of b)try{await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:e.id,issueIdentifier:e.identifier,issueTitle:e.title,issueStatus:e.status,issueAssignee:e.assignee?.name??null,agentId:c.id,scriptName:"Recap",scriptPrompt:"Summarize recent activity and current state of this ticket. Focus on: what was done, what's outstanding, and any blockers."})})}catch(a){console.error(`Failed to start recap for ${e.identifier}:`,a)}bk(new Set)},[bj,bF,aL,a,d,g]),cn=(0,c.useCallback)(async(b,c)=>{for(let e of Array.from(bj).map(a=>bF.find(b=>b.id===a)).filter(Boolean))try{await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:e.id,issueIdentifier:e.identifier,issueTitle:e.title,issueStatus:e.status,issueAssignee:e.assignee?.name??null,agentId:c,scriptPrompt:b})})}catch(a){console.error(`Failed to send prompt for ${e.identifier}:`,a)}bk(new Set)},[bj,bF,a,d,g]),co=(0,c.useCallback)(async b=>{let c=Array.from(bj);if(0!==c.length&&d){try{await fetch(`/api/trackers/${a}/metadata/bulk`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d,issueIds:c,action:"set_estimate",payload:{estimate:b}})}),bM()}catch{}bk(new Set)}},[bj,d,a,bM]),cp=(0,c.useCallback)(async b=>{let c=Array.from(bj);if(0!==c.length&&d)try{await fetch(`/api/trackers/${a}/metadata/bulk`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d,issueIds:c,action:"add_labels",payload:{labels:[b]}})}),bM(),bP()}catch{}},[bj,d,a,bM,bP]),cq=(0,c.useCallback)(async b=>{let c=Array.from(bj);if(0!==c.length&&d)try{await fetch(`/api/trackers/${a}/metadata/bulk`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d,issueIds:c,action:"remove_label",payload:{label:b}})}),bM(),bP()}catch{}},[bj,d,a,bM,bP]),[cr,cs]=(0,c.useState)(!1),ct=(0,c.useCallback)(async a=>{let b=Array.from(bj).map(a=>bF.find(b=>b.id===a)).filter(Boolean);if(0!==b.length){for(let c of(cs(!0),b))await cl(c,a);cs(!1),bk(new Set)}},[bj,bF,cl]),cu=(0,c.useCallback)(async a=>{d&&await bQ(a)},[d,bQ]),cv=(0,c.useMemo)(()=>{let a=new Map;for(let b of bj){let c=bL.get(b);a.set(b,c??{labels:[],estimate:null})}return a},[bj,bL]);(0,c.useEffect)(()=>{if(!a9||!d)return void aG(null);if(bR)return void aG(a=>a?.id===a9?bR:null);let b=!1;return(async()=>{try{let c=await fetch(`/api/trackers/${a}/items/${encodeURIComponent(a9)}?projectId=${encodeURIComponent(d??"")}`);if(b)return;if(404===c.status)return void a8({issue:null,run:null});if(!c.ok)throw Error(`Failed to fetch selected tracker ticket: ${c.status}`);let e=await c.json().catch(()=>({}));if(!e.item?.id)return void a8({issue:null,run:null});aG(e.item)}catch(a){b||console.error("Failed to hydrate selected tracker item",a)}})(),()=>{b=!0}},[a8,bR,a9,a,d]),(0,c.useEffect)(()=>{if(!a9){ba&&a8({run:null});return}},[a8,a9,ba]),(0,c.useEffect)(()=>{bS&&ba&&!bY&&(bX.some(a=>a.id===ba)||a8({run:null}))},[a8,bX,bY,bS,ba]),(0,c.useEffect)(()=>{a9&&ba&&(0,G.persistLastRunForIssue)(a9,ba)},[a9,ba]),(0,c.useEffect)(()=>{b8&&!bY&&bZ===a9&&(H.current=a9,b7&&bX.some(a=>a.id===b7)&&a8({run:b7}))},[b8,b7,a9,bX,bY,bZ,a8]),(0,c.useEffect)(()=>{if(n){if(!bS)return void a$("runs");if(b6||0===bX.length)return void a$("ticket");a$("runs")}},[n,bX.length,bS,b6]),(0,c.useEffect)(()=>{if(!L)return;let a=a=>{let b=a.target;a5.current?.contains(b)||a2.current?.contains(b)||M(!1)},b=a=>{"Escape"===a.key&&M(!1)};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",b)}},[L]);let cw=(0,c.useCallback)(async(b,c)=>{aR(null),aY(null);try{let e=await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:b.id,issueIdentifier:b.identifier,issueTitle:b.title,issueStatus:b.status,issueAssignee:b.assignee?.name??null,agentId:c.id,scriptName:b2?.name,scriptPrompt:b2?.prompt})}),f=await e.json().catch(()=>({}));if(!e.ok||!f.run||!f.chatRunId||!f.userMessageId)throw Error(f.error||"Failed to start scripted session");a7({issue:b.id,run:f.run.id})}catch(a){console.error("Failed to start scripted tracker session:",a),a instanceof Error&&window.alert(a.message)}},[b2,d,g,a7,a]),cx=(0,c.useCallback)((a,b)=>{if(M(!1),0===aL.length)return void window.alert("Add at least one agent to this project before starting a scripted session.");if(1===aL.length)return void cw(a,aL[0]);let c=b?.currentTarget?.getBoundingClientRect();aR(a),aY(c?{top:c.bottom+4,left:c.left}:{top:200,left:200})},[cw,aL]),cy=(0,c.useRef)(null);return((0,c.useEffect)(()=>{let a=cy.current;if(!a||!bH)return;let b=new IntersectionObserver(a=>{a[0]?.isIntersecting&&bI()},{threshold:.1});return b.observe(a),()=>b.disconnect()},[bH,bI]),t)?(0,b.jsxs)("div",{className:"relative flex h-full overflow-hidden",children:[n?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,b.jsxs)("div",{className:"shrink-0 border-b border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center gap-2 px-3",children:[(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-2 rounded-md border border-[var(--card-border)] bg-[var(--background)] px-2.5 py-1.5 transition-all focus-within:border-[var(--muted-foreground)] focus-within:ring-1 focus-within:ring-[var(--muted-foreground)]",children:[(0,b.jsx)(k.Search,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{type:"text",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Search tickets...",value:P,onChange:a=>bD(a.target.value)})]}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-2 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-50",onClick:()=>void bJ(),title:"Refresh tickets","aria-label":"Refresh tickets",disabled:bG,children:(0,b.jsx)(j.RefreshCw,{size:16,className:bG?"animate-spin":void 0})}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-2 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:()=>{M(!1),K(!0)},title:"Tracker settings",children:(0,b.jsx)(m,{size:16})})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 pb-2",children:[ce?(0,b.jsx)(ap,{label:"Status",values:ab,options:ca,activeClasses:"border-amber-500/30 bg-amber-500/10 text-amber-300",onChange:ac,emptyLabel:"All statuses"}):null,(0,b.jsx)(ap,{label:"Assignee",values:_,options:b9,activeClasses:"border-blue-500/30 bg-blue-500/10 text-blue-400",onChange:aa,emptyLabel:"All assignees"}),ci.length>0&&(0,b.jsx)(ap,{label:"Label",values:ay,options:ci,activeClasses:"border-pink-500/30 bg-pink-500/10 text-pink-400",onChange:az,emptyLabel:"All labels"}),cg?(0,b.jsx)(an,{label:"Workspace",value:as,options:cc,activeClasses:"border-emerald-500/30 bg-emerald-500/10 text-emerald-400",onChange:at}):null,cf?(0,b.jsx)(an,{label:ak,value:aq,options:cd,activeClasses:"border-purple-500/30 bg-purple-500/10 text-purple-400",onChange:ar}):null,(0,b.jsx)(an,{label:"Sort",value:au,options:[{value:"activity",label:"Updated At"},{value:"identifier",label:"Ticket ID"},{value:"status",label:"Status"},{value:"created",label:"Created At"}],activeClasses:"border-sky-500/30 bg-sky-500/10 text-sky-400",onChange:a=>av(a)}),(0,b.jsx)("button",{type:"button",className:"rounded-full border border-[var(--card-border)] p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",title:"desc"===aw?"Descending":"Ascending",onClick:()=>ax(a=>"desc"===a?"asc":"desc"),children:"desc"===aw?(0,b.jsx)(e.ArrowDown,{size:12}):(0,b.jsx)(f.ArrowUp,{size:12})})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto",children:bG&&0===bF.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"Loading tickets..."}):0===bF.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"No tickets found."}):(0,b.jsxs)(b.Fragment,{children:[bW.map(a=>{let d=aJ.has(a.status);return(0,b.jsxs)(c.default.Fragment,{children:[(0,b.jsx)(aX,{status:a.status,categoryColor:a3[a.category]??"bg-zinc-400",count:a.items.length,collapsed:d,onToggle:()=>aK(b=>{let c=new Set(b);return c.has(a.status)?c.delete(a.status):c.add(a.status),c})}),!d&&a.items.map(a=>(0,b.jsx)(aE,{item:a,selected:bS?.id===a.id,pinned:aA.has(a.id),activeAgents:aN.get(a.id),participants:aL,projectSlug:g,stats:aO.get(a.id),hideStatus:!0,estimate:bL.get(a.id)?.estimate,localLabels:bL.get(a.id)?.labels,labelDefinitions:bO,allLabels:bN,onToggleLabel:b=>cj(a.id,b),onAddLabel:ck,onSelect:()=>{a$("runs"),a7({issue:a.id,run:null})},onTogglePin:()=>bE(a.id)},a.id))]},`sg-${a.status}`)}),bH?(0,b.jsx)("div",{ref:cy,className:"py-2 text-center text-xs text-[var(--muted-foreground)]",children:bG?"Loading...":"Load more"}):null]})})]}),bS?(0,b.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col bg-[var(--background)]",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--card-border)] px-4 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:bS.identifier}),(0,b.jsx)("div",{className:"truncate text-sm font-semibold text-[var(--foreground)]",children:bS.title})]}),(0,b.jsx)("button",{type:"button",className:"rounded p-2 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:()=>a8({issue:null,run:null}),"aria-label":"Close ticket panel",children:(0,b.jsx)(o.X,{size:16})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-[var(--card-border)] px-3 py-2",children:[(0,b.jsx)("button",{type:"button",className:`rounded-full px-3 py-1.5 text-xs font-medium transition-colors ${"runs"===aZ?"bg-[var(--card-bg)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"}`,onClick:()=>a$("runs"),children:"Runs"}),(0,b.jsx)("button",{type:"button",className:`rounded-full px-3 py-1.5 text-xs font-medium transition-colors ${"ticket"===aZ?"bg-[var(--card-bg)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"}`,onClick:()=>a$("ticket"),children:"Ticket"})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:"runs"===aZ?(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"relative flex items-center justify-between border-b border-[var(--card-border)] px-3 py-2",children:[(0,b.jsx)("h3",{className:"text-xs font-semibold text-[var(--foreground)]",children:"Sessions"}),(0,b.jsxs)("button",{ref:a2,type:"button",className:"inline-flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-40",onClick:()=>{M(!1),a$("ticket"),a7({run:null})},title:"Open a fresh chat for this ticket. You can choose or edit the session script in the ticket tab.","aria-label":"New session",disabled:!bS,children:[(0,b.jsx)(i.Plus,{size:12}),"New session"]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto",children:bY&&0===bX.length||b8?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"Loading sessions..."}):0===bX.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"No previous sessions yet."}):bX.map(a=>{let c=ag(a);return(0,b.jsxs)("button",{type:"button",className:`w-full px-3 py-2 text-left text-xs transition-colors ${b6?.id===a.id?"bg-[var(--card-bg)]":"hover:bg-[var(--card-bg)]"}`,onClick:()=>{a$("ticket"),a7({run:a.id})},children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[11px] font-medium text-[var(--foreground)]",children:ah(a)}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:new Date(a.startedAt).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})]}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5 text-[10px]",children:[(0,b.jsx)("span",{className:`font-medium ${al[c.tone]}`,children:c.label}),(0,b.jsx)("span",{className:"truncate text-[var(--muted-foreground)]",children:a.agentName})]}),null!=a.durationMs?(0,b.jsxs)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:[(a.durationMs/1e3).toFixed(1),"s"]}):null]},a.id)})})]}):b6?(0,b.jsx)(a4,{item:bS??{id:b6.issueId,identifier:b6.issueIdentifier,title:b6.issueTitle,status:b6.issueStatus,statusCategory:"todo",labels:[],trackerId:"",trackerType:a,assignee:b6.issueAssignee?{id:"",name:b6.issueAssignee}:void 0,updatedAt:b6.updatedAt,createdAt:b6.updatedAt,url:""},run:b6,participants:aL,itemStatusOptions:cb,itemStatusUpdating:aH===b6.issueId,onItemStatusChange:cl,onBack:()=>a8({run:null})}):b8?null:0===aL.length?(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-xs text-[var(--muted-foreground)]",children:"Add at least one agent to this project to start a session."}):(0,b.jsx)(aM,{item:bS,trackerType:a,runs:bX,participants:aL,projectId:d,projectSlug:g,itemStatusOptions:cb,itemStatusUpdating:aH===bS.id,onItemStatusChange:cl,activeSessionScriptLabel:ch,onOpenSessionScripts:()=>M(!0),onStartScriptedSession:a=>cx(bS,a),createRun:b$,updateRun:b_,onRunCreated:a=>a7({run:a}),onSelectRun:a=>a7({run:a})},bS.id)})]}):null]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex shrink-0 flex-col border-r border-[var(--card-border)]",style:{width:N},children:[(0,b.jsxs)("div",{className:"shrink-0 border-b border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center gap-2 px-3",children:[(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-2 rounded-md border border-[var(--card-border)] bg-[var(--background)] px-2.5 py-1.5 transition-all focus-within:border-[var(--muted-foreground)] focus-within:ring-1 focus-within:ring-[var(--muted-foreground)]",children:[(0,b.jsx)(k.Search,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{type:"text",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Search tickets...",value:P,onChange:a=>bD(a.target.value)})]}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-50",onClick:()=>void bJ(),title:"Refresh tickets","aria-label":"Refresh tickets",disabled:bG,children:(0,b.jsx)(j.RefreshCw,{size:16,className:bG?"animate-spin":void 0})}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:()=>{M(!1),K(!0)},title:"Tracker settings",children:(0,b.jsx)(m,{size:16})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pb-2",children:[ce?(0,b.jsx)(ap,{label:"Status",values:ab,options:ca,activeClasses:"border-amber-500/30 bg-amber-500/10 text-amber-300",onChange:ac,emptyLabel:"All statuses"}):null,(0,b.jsx)(ap,{label:"Assignee",values:_,options:b9,activeClasses:"border-blue-500/30 bg-blue-500/10 text-blue-400",onChange:aa,emptyLabel:"All assignees"}),ci.length>0&&(0,b.jsx)(ap,{label:"Label",values:ay,options:ci,activeClasses:"border-pink-500/30 bg-pink-500/10 text-pink-400",onChange:az,emptyLabel:"All labels"}),cg?(0,b.jsx)(an,{label:"Workspace",value:as,options:cc,activeClasses:"border-emerald-500/30 bg-emerald-500/10 text-emerald-400",onChange:at}):null,cf?(0,b.jsx)(an,{label:ak,value:aq,options:cd,activeClasses:"border-purple-500/30 bg-purple-500/10 text-purple-400",onChange:ar}):null,(0,b.jsx)(an,{label:"Sort",value:au,options:[{value:"activity",label:"Updated At"},{value:"identifier",label:"Ticket ID"},{value:"status",label:"Status"},{value:"created",label:"Created At"}],activeClasses:"border-sky-500/30 bg-sky-500/10 text-sky-400",onChange:a=>av(a)}),(0,b.jsx)("button",{type:"button",className:"rounded-full border border-[var(--card-border)] p-0.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",title:"desc"===aw?"Descending":"Ascending",onClick:()=>ax(a=>"desc"===a?"asc":"desc"),children:"desc"===aw?(0,b.jsx)(e.ArrowDown,{size:12}):(0,b.jsx)(f.ArrowUp,{size:12})})]})]}),(0,b.jsxs)(aC.DndContext,{sensors:br,collisionDetection:aC.closestCenter,onDragStart:bB,onDragEnd:bC,children:[(0,b.jsxs)("div",{className:"relative flex-1 overflow-y-auto",children:[bG&&0===bF.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"Loading tickets..."}):0===bF.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"No tickets found."}):(0,b.jsxs)(b.Fragment,{children:[bW.map(a=>{let d=aJ.has(a.status);return(0,b.jsxs)(c.default.Fragment,{children:[(0,b.jsx)(aX,{status:a.status,categoryColor:a3[a.category]??"bg-zinc-400",count:a.items.length,collapsed:d,onToggle:()=>aK(b=>{let c=new Set(b);return c.has(a.status)?c.delete(a.status):c.add(a.status),c})}),!d&&(()=>{let d=bl?new Set(bn):null,e=new Map;for(let b of bc){let c=a.items.find(a=>b.task_ids.includes(a.id));c&&e.set(c.id,b)}let f=bl?bn.map(b=>a.items.find(a=>a.id===b)).filter(Boolean).map(a=>({id:a.id,identifier:a.identifier,title:a.title,status:ai[a.status]??a.status})):[],h=new Set;return a.items.map(i=>{if(d?.has(i.id))return i.id===bp&&bl?(0,b.jsx)(aV,{tickets:f,onConfirm:bv,onCancel:()=>{bm(!1),bo([]),bq(null)}},"__pending-group__"):null;let j=e.get(i.id);if(j&&!h.has(j.id)){h.add(j.id);let d=j.task_ids.map(b=>a.items.find(a=>a.id===b)).filter(Boolean);return(0,b.jsxs)(c.default.Fragment,{children:[(0,b.jsx)(aP,{groupId:j.id,name:j.name,count:d.length,collapsed:!!j.collapsed,selected:bb===j.id,projectSlug:g,onToggleCollapse:()=>be(j.id,{collapsed:!j.collapsed}),onSelect:()=>a7({group:j.id,issue:null,run:null}),onUngroup:()=>{bf(j.id),bb===j.id&&a8({group:null})}}),!j.collapsed&&d.map((a,c)=>(0,b.jsx)(aE,{item:a,selected:bS?.id===a.id,pinned:aA.has(a.id),activeAgents:aN.get(a.id),participants:aL,draggable:!0,multiSelected:bj.has(a.id),treeConnector:c===d.length-1?"last":"mid",projectSlug:g,stats:aO.get(a.id),hideStatus:!0,estimate:bL.get(a.id)?.estimate,localLabels:bL.get(a.id)?.labels,labelDefinitions:bO,allLabels:bN,onToggleLabel:b=>cj(a.id,b),onAddLabel:ck,onSelect:b=>{b&&(b.metaKey||b.ctrlKey)?bu(a.id):a7({issue:a.id,run:null,group:null})},onTogglePin:()=>bE(a.id)},a.id))]},`group-${j.id}`)}return bA.has(i.id)?null:(0,b.jsx)(aE,{item:i,selected:bS?.id===i.id,pinned:aA.has(i.id),activeAgents:aN.get(i.id),participants:aL,draggable:!0,multiSelected:bj.has(i.id),projectSlug:g,stats:aO.get(i.id),hideStatus:!0,estimate:bL.get(i.id)?.estimate,localLabels:bL.get(i.id)?.labels,labelDefinitions:bO,allLabels:bN,onToggleLabel:a=>cj(i.id,a),onAddLabel:ck,onSelect:a=>{a&&(a.metaKey||a.ctrlKey)?bu(i.id):a7({issue:i.id,run:null,group:null})},onTogglePin:()=>bE(i.id)},i.id)})})()]},`sg-${a.status}`)}),bH?(0,b.jsx)("div",{ref:cy,className:"py-2 text-center text-xs text-[var(--muted-foreground)]",children:bG?"Loading...":"Load more"}):null]}),(0,b.jsx)(a1,{count:bj.size,onGroup:by,onClear:()=>bk(new Set),onBulkRecap:cm,onBulkPrompt:cn,onBulkEstimate:co,onBulkAddLabel:cp,onBulkRemoveLabel:cq,onBulkStatus:ct,statusOptions:cb,participants:aL,labels:bN,onCreateLabel:cu,selectedMetadata:cv,statusUpdating:cr})]}),(0,b.jsx)(aC.DragOverlay,{dropAnimation:null,children:bs&&((l=bw.current.find(a=>a.id===bs))?(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-[var(--primary)]/30 bg-[var(--card-bg)] px-4 py-2.5 text-sm shadow-xl backdrop-blur-sm",children:[(0,b.jsx)("span",{className:"w-24 shrink-0 whitespace-nowrap font-mono text-xs text-[var(--muted-foreground)]",children:l.identifier}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs font-medium text-[var(--foreground)]",children:l.title})]}):null)})]})]}),(0,b.jsx)(am,{onResize:a=>O(b=>{let c=Math.max(280,Math.min(960,b+a));return(0,F.persistLinearTicketPanelWidth)(c),c})}),L?(0,b.jsx)("div",{ref:a5,className:"absolute right-6 top-16 z-20 max-h-[80vh] overflow-y-auto rounded-2xl border border-[var(--card-border)] bg-[var(--background)] p-4 shadow-2xl",style:{width:"min(760px, calc(100vw - 32px))"},children:(0,b.jsx)(B,{projectSlug:g,scripts:b0,activeScriptId:b1,onSetActiveScriptId:b3,onSaveScript:b4,onDeleteScript:b5})}):null,(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:b6?(0,b.jsx)(a4,{item:bS??{id:b6.issueId,identifier:b6.issueIdentifier,title:b6.issueTitle,status:b6.issueStatus,statusCategory:"todo",labels:[],trackerId:"",trackerType:a,assignee:b6.issueAssignee?{id:"",name:b6.issueAssignee}:void 0,updatedAt:b6.updatedAt,createdAt:b6.updatedAt,url:""},run:b6,participants:aL,itemStatusOptions:cb,itemStatusUpdating:aH===b6.issueId,onItemStatusChange:cl,onBack:()=>a8({run:null})}):bz&&!bS?(0,b.jsx)(aS,{group:bz,items:bF,trackerType:a,participants:aL,projectId:d,projectSlug:g,onUpdateName:a=>be(bz.id,{name:a}),onDelete:async()=>{await bf(bz.id),a8({group:null})},onSelectItem:a=>a7({issue:a,group:null,run:null}),onRunCreated:a=>a7({run:a}),onSelectRun:a=>a7({run:a})}):bS?b8?null:0===aL.length?(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-xs text-[var(--muted-foreground)]",children:"Add at least one agent to this project to start a session."}):(0,b.jsx)(aM,{item:bS,trackerType:a,runs:bX,participants:aL,projectId:d,projectSlug:g,itemStatusOptions:cb,itemStatusUpdating:aH===bS.id,onItemStatusChange:cl,activeSessionScriptLabel:ch,onOpenSessionScripts:()=>M(!0),onStartScriptedSession:a=>cx(bS,a),createRun:b$,updateRun:b_,onRunCreated:a=>a7({run:a}),onSelectRun:a=>a7({run:a})},bS.id):(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-xs text-[var(--muted-foreground)]",children:"Select a ticket from the list."})})]}),J&&(0,b.jsx)(af,{trackerType:a,connected:t,user:v,clis:w,mcpConfigured:x,onConnect:y,onConnectWithKey:z,onDisconnect:A,onConfigureMcp:C,onClose:()=>K(!1),projectId:d}),L&&n?(0,b.jsx)("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,b.jsx)("div",{ref:a5,className:"max-h-[85vh] w-full max-w-3xl overflow-y-auto rounded-2xl border border-[var(--card-border)] bg-[var(--background)] p-4 shadow-2xl",children:(0,b.jsx)(B,{projectSlug:g,scripts:b0,activeScriptId:b1,onSetActiveScriptId:b3,onSaveScript:b4,onDeleteScript:b5})})}):null,aQ&&aU&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"fixed inset-0 z-40",onClick:()=>{aR(null),aY(null)}}),(0,b.jsxs)("div",{className:"fixed z-50 min-w-[180px] rounded border border-[var(--card-border)] bg-[var(--card-bg)] py-1 shadow-lg",style:{top:aU.top,left:aU.left},children:[(0,b.jsx)("div",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Pick an agent"}),aL.map(a=>(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors hover:bg-[var(--card-bg)]",onClick:()=>void cw(aQ,a),children:[(0,b.jsx)("img",{src:aD(a.id,a.color,20),alt:"",className:"h-5 w-5 shrink-0 rounded-full"}),(0,b.jsxs)("span",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a.name}),a.role?(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:a.role}):null]})]},a.id))]})]})]}):(0,b.jsx)(I.default,{trackerType:a,projectId:d??"",connected:t,onConnect:y,onConnectWithKey:z})}a.s(["default",()=>a5],859117)}];
48
+ `+(j??""),f=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:b,promptPrefix:e,threadId:c.threadId,activeParticipantIds:[m.id],projectSlug:h??void 0,routing:k})}),i=await f.json().catch(()=>({}));if(!f.ok||!i.chatRunId||!i.userMessageId)throw Error(i.error||"Failed to start chat session");await v(c.id,{chatRunId:i.chatRunId,rootMessageId:i.userMessageId}),l(c.id)}catch(a){console.error("Failed to create group chat session:",a),I.current=!1,a instanceof Error&&window.alert(a.message)}},[a,s,f,w,g,h,u,v,l]);return(0,b.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-[var(--card-border)] px-4",children:[(0,b.jsx)(aZ.FolderOpen,{size:16,className:"shrink-0 text-[var(--muted-foreground)]"}),n?(0,b.jsx)("input",{type:"text",value:p,onChange:a=>q(a.target.value),onBlur:r,onKeyDown:b=>{"Enter"===b.key&&r(),"Escape"===b.key&&(q(a.name),o(!1))},autoFocus:!0,className:"min-w-0 flex-1 bg-transparent text-sm font-medium text-[var(--foreground)] outline-none border-b border-[var(--primary)]"}):(0,b.jsx)("h3",{className:"min-w-0 flex-1 truncate text-sm font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>{q(a.name),o(!0)},title:"Rename group",children:(0,b.jsx)(a0.Pencil,{size:12})}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] hover:text-red-400 transition-colors",onClick:j,title:"Delete group (ungroups tickets)",children:(0,b.jsx)(F.Trash2,{size:12})})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto pb-64",children:[(0,b.jsxs)("section",{className:"border-b border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"px-4 py-2 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:["Tickets (",s.length,")"]}),0===s.length?(0,b.jsx)("div",{className:"px-4 pb-4 text-center text-xs text-[var(--muted-foreground)]",children:"No tickets in this group."}):s.map(a=>(0,b.jsx)(aQ,{item:a,selected:!1,onSelect:()=>k(a.id)},a.id))]}),(0,b.jsx)(aR,{issueId:a.id,trackerType:e,projectId:g}),(0,b.jsx)(aT,{runs:t,onSelect:m})]}),f.length>0&&(0,b.jsx)("div",{className:"absolute bottom-3 left-3 right-3 p-2",children:(0,b.jsx)(a1,{onSend:J,onStop:()=>{},participants:f,projectId:g??void 0,projectSlug:h??void 0,loading:"ready"!==H,commands:[],activityStatus:H,placeholder:`Work on tickets in "${a.name}"...`,initialPinnedParticipantId:w?.id})})]})}let a3="__pending-group__";function a4({ticket:a,isLast:c}){let{attributes:d,listeners:e,setNodeRef:f,transform:g,isDragging:h}=(0,aO.useDraggable)({id:a.id}),i=g?{transform:`translate3d(${g.x}px, ${g.y}px, 0)`,opacity:h?.3:1,position:"relative",zIndex:h?50:void 0}:void 0;return(0,b.jsxs)("div",{ref:f,style:i,...d,...e,className:"flex items-center gap-3 pl-[48px] pr-4 py-2 text-sm cursor-grab active:cursor-grabbing",children:[(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] leading-none text-[var(--muted-foreground)]/40 select-none",children:c?"└──":"├──"}),(0,b.jsx)("span",{className:"shrink-0 whitespace-nowrap font-mono text-xs text-[var(--muted-foreground)]",children:a.identifier}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs text-[var(--muted-foreground)]",children:a.title}),a.status&&(0,b.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:a.status})]})}function a5({tickets:a,onConfirm:d,onCancel:e}){let[f,g]=(0,c.useState)(""),h=(0,c.useRef)(null),{setNodeRef:i,isOver:j}=(0,aO.useDroppable)({id:a3});(0,c.useEffect)(()=>{h.current?.focus()},[]);let k=(0,c.useCallback)(()=>{let b=f.trim(),c=a.map(a=>a.identifier).join(", ");d(b||c||"Untitled")},[f,d,a]);return(0,b.jsxs)("div",{ref:i,className:`mx-0 my-0 transition-colors ${j?"bg-[var(--primary)]/5":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 pl-[24px] pr-4 py-2 bg-[var(--card-bg)]/50",children:[(0,b.jsx)(U.ChevronDown,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)(aZ.FolderOpen,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{ref:h,type:"text",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&k(),"Escape"===a.key&&e()},placeholder:a.map(a=>a.identifier).join(", ")||"Name this group...",className:"min-w-0 flex-1 bg-transparent text-xs font-medium text-[var(--foreground)] placeholder:text-[var(--muted-foreground)]/60 outline-none border-b border-[var(--primary)]/40 pb-0.5 focus:border-[var(--primary)]"}),(0,b.jsx)("button",{type:"button",className:"rounded px-2 py-0.5 text-[10px] font-medium bg-[var(--primary)] text-[var(--primary-foreground)] hover:opacity-90 transition-opacity",onClick:k,children:"Create"}),(0,b.jsx)("button",{type:"button",className:"rounded px-2 py-0.5 text-[10px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:e,children:"Cancel"})]}),a.map((c,d)=>(0,b.jsx)(a4,{ticket:c,isLast:d===a.length-1},c.id))]})}let a6="sg::";function a7({status:a,categoryColor:c,count:d,collapsed:e,onToggle:f}){let{setNodeRef:g,isOver:h}=(0,aO.useDroppable)({id:`${a6}${a}`});return(0,b.jsxs)("div",{ref:g,className:`sticky top-0 z-[5] flex cursor-pointer items-center gap-2 border-b border-[var(--card-border)] bg-[var(--app-shell-pane)] px-4 py-2 transition-colors ${h?"bg-[var(--primary)]/10 ring-1 ring-inset ring-[var(--primary)]/30":""}`,onClick:f,role:"button",tabIndex:0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),f())},children:[e?(0,b.jsx)(V.ChevronRight,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}):(0,b.jsx)(U.ChevronDown,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:`h-2 w-2 shrink-0 rounded-full ${c}`}),(0,b.jsx)("span",{className:"text-xs font-medium text-[var(--foreground)]",children:a}),(0,b.jsx)("span",{className:"text-[10px] tabular-nums text-[var(--muted-foreground)]",children:d})]})}var a8=a.i(785630);function a9({open:a,onClose:d,anchorRef:e,children:f}){let g=(0,c.useRef)(null);return((0,c.useEffect)(()=>{if(!a)return;let b=a=>{g.current?.contains(a.target)||e.current?.contains(a.target)||d()},c=a=>{"Escape"===a.key&&d()};return document.addEventListener("pointerdown",b),document.addEventListener("keydown",c),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",c)}},[a,d,e]),a)?(0,b.jsx)("div",{ref:g,className:"absolute bottom-full left-1/2 z-50 mb-2 -translate-x-1/2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-2 shadow-lg backdrop-blur-sm",children:f}):null}function ba({count:a,onGroup:d,onClear:e,onBulkRecap:f,onBulkPrompt:g,onBulkEstimate:h,onBulkAddLabel:i,onBulkRemoveLabel:j,onBulkStatus:k,statusOptions:m,participants:n,labels:o,onCreateLabel:p,selectedMetadata:r,statusUpdating:s}){let[t,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(null),y=(0,c.useCallback)(a=>{u(b=>b===a?null:a)},[]),z=c.default.useMemo(()=>{let a=new Map;for(let b of r.values())for(let c of b.labels)a.set(c,(a.get(c)??0)+1);return a},[r]),A=c.default.useMemo(()=>{let a=new Set;for(let b of r.values())for(let c of b.labels)a.add(c);return Array.from(a)},[r]);if(a<2)return null;let B="flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]";return(0,b.jsx)("div",{className:"absolute bottom-4 left-1/2 z-30 -translate-x-1/2",children:(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-1.5 shadow-2xl",children:[(0,b.jsxs)("span",{className:"mr-1 text-xs font-medium text-[var(--foreground)]",children:[a," selected"]}),(0,b.jsx)("div",{className:"mx-1 h-4 w-px bg-[var(--card-border)]"}),(0,b.jsxs)("button",{type:"button",className:B,onClick:f,title:"Recap all selected",children:[(0,b.jsx)(aK.FileText,{size:12}),"Recap"]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{ref:x,type:"button",className:`${B} ${"prompt"===t?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>y("prompt"),title:"Send prompt to all selected",children:[(0,b.jsx)(ay.MessageSquare,{size:12}),"Prompt"]}),(0,b.jsx)(a9,{open:"prompt"===t,onClose:()=>u(null),anchorRef:x,children:(0,b.jsx)(aM,{count:a,participants:n,onSend:(a,b)=>{g(a,b),u(null)}})})]}),(0,b.jsxs)("button",{type:"button",className:B,onClick:h,title:"Ask the LLM to size all selected",children:[(0,b.jsx)(aL.Hash,{size:12}),"Estimate"]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{ref:v,type:"button",className:`${B} ${"label"===t?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>y("label"),title:"Label all selected",children:[(0,b.jsx)(T.Tag,{size:12}),"Label"]}),(0,b.jsx)(a9,{open:"label"===t,onClose:()=>u(null),anchorRef:v,children:(0,b.jsx)(aJ,{labels:o,selectedLabels:A,labelCounts:z,totalSelected:a,onToggle:b=>{(z.get(b)??0)===a?j(b):i(b)},onAdd:p})})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{ref:w,type:"button",className:`${B} ${"status"===t?"bg-[var(--background)] text-[var(--foreground)]":""}`,onClick:()=>y("status"),title:"Update status for all selected",disabled:s,children:[s?(0,b.jsx)(l.RefreshCw,{size:12,className:"animate-spin"}):(0,b.jsx)(l.RefreshCw,{size:12}),"Status"]}),(0,b.jsx)(a9,{open:"status"===t,onClose:()=>u(null),anchorRef:w,children:(0,b.jsx)("div",{className:"flex max-h-48 w-44 flex-col overflow-y-auto",children:m.map(a=>(0,b.jsx)("button",{type:"button",className:"w-full rounded-lg px-3 py-1.5 text-left text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]",onClick:()=>{k(a.value),u(null)},children:a.label},a.value))})})]}),(0,b.jsxs)("button",{type:"button",className:B,onClick:d,title:"Group selected",children:[(0,b.jsx)(a8.FolderPlus,{size:12}),"Group"]}),(0,b.jsx)("div",{className:"mx-1 h-4 w-px bg-[var(--card-border)]"}),(0,b.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:e,"aria-label":"Clear selection",children:(0,b.jsx)(q.X,{size:14})})]})})}var bb=a.i(908225);let bc=(0,d.default)(async()=>{},{loadableGenerated:{modules:[844118]},ssr:!1}),bd={todo:"bg-zinc-400",in_progress:"bg-amber-400",done:"bg-emerald-400",cancelled:"bg-red-400"};function be({item:a,run:d,participants:e,itemStatusOptions:f,itemStatusUpdating:g,onItemStatusChange:h,onBack:k}){let{messages:l,setMessages:m,sendMessage:n,loadHistory:o,stop:q}=(0,A.useGroupChat)(d.threadId),{processes:r,streaming:s,chatRuns:t}=(0,B.useProcessPolling)(d.rootMessageId?{workspaceId:d.threadId,threadId:d.rootMessageId}:{workspaceId:d.threadId},{messages:l,setMessages:m}),u=(0,c.useMemo)(()=>{let a=t[0];if(!a)return an(d);let b={queued:"queued",running:"running",awaiting_user:"running",blocked:"running",completed:"success",failed:"failed",cancelled:"cancelled"}[a.status]??d.status;return an({...d,status:b})},[t,d]);(0,c.useEffect)(()=>{o()},[o,d.threadId]);let v=(0,c.useMemo)(()=>new Map(e.map(a=>[a.id,a])),[e]),w=new Set(["queued","running","awaiting_user","blocked"]),x=t.some(a=>w.has(a.status))||r.some(a=>"spawning"===a.state||"running"===a.state)?t.some(a=>"queued"===a.status)?"queued":"working":"ready",y=(0,c.useCallback)((a,b,c,f,g,h,i)=>{d.rootMessageId&&n(a,b,void 0,d.rootMessageId,c,void 0,(0,O.orderParticipantIds)(e.map(a=>a.id),g),d.projectSlug??void 0,h,i)},[e,d.projectSlug,d.rootMessageId,n]);return(0,b.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsxs)("header",{className:"flex h-12 shrink-0 items-center justify-between border-b border-[var(--card-border)] px-6",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[k&&(0,b.jsx)("button",{type:"button",onClick:k,className:"shrink-0 rounded p-0.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",title:"Back to sessions",children:(0,b.jsx)(i.ChevronLeft,{size:16})}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-sm text-[var(--muted-foreground)]",children:a.identifier}),(0,b.jsx)("div",{className:"h-1 w-1 shrink-0 rounded-full bg-[var(--card-border)]"}),(0,b.jsx)("span",{className:"truncate text-sm font-medium text-[var(--foreground)]",children:ao(d)})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4",children:[(0,b.jsx)(av,{status:a.status,options:f,disabled:0===f.length,updating:g,onChange:b=>h(a,b)}),(0,b.jsxs)("div",{className:`flex items-center gap-2 rounded-md border px-2.5 py-1 ${aq[u.tone]}`,children:[(0,b.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${ar[u.tone]}`}),(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider",children:u.label})]}),null!=d.durationMs&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(j.Clock,{size:14}),(0,b.jsxs)("span",{children:[(d.durationMs/1e3).toFixed(1),"s"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-[var(--card-border)] bg-[var(--card-bg)] px-2 py-1",children:[(0,b.jsx)("img",{src:aP(d.agentId,v.get(d.agentId)?.color),alt:d.agentName,className:"h-5 w-5 rounded-full object-cover"}),(0,b.jsx)("span",{className:"pr-1 text-xs font-medium",children:d.agentName})]})]})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-6 pb-64",children:0===l.length?(0,b.jsx)("div",{className:"py-8 text-center text-xs text-[var(--muted-foreground)]",children:"queued"===d.status||"running"===d.status?"Starting session...":"No thread messages yet."}):(0,b.jsxs)("div",{className:"mx-auto max-w-4xl space-y-8",children:[l.map(a=>{let c=a.participantId?v.get(a.participantId):null,e=(0,J.stripMarkers)(a.content);if(!e.trim())return null;let f=a.participantId??d.agentId;return(0,b.jsxs)("div",{className:"flex gap-3",children:["user"===a.role?(0,b.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[var(--app-shell-subtle,var(--card-bg))]",children:(0,b.jsx)(p.User,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]"})}):(0,b.jsx)("img",{src:aP(f,c?.color),alt:c?.name??d.agentName,className:"h-7 w-7 shrink-0 rounded-full object-cover"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"user"===a.role?(0,b.jsx)("span",{className:"text-sm font-semibold text-[var(--foreground)]",children:"You"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-sm font-semibold",style:{color:c?.color??"var(--foreground)"},children:c?.name??d.agentName}),(0,b.jsx)("span",{className:"rounded bg-[var(--card-bg)] px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Agent"})]})}),(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:new Date(a.timestamp).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})]}),"user"===a.role?(0,b.jsx)("div",{className:"w-fit max-w-[85%] rounded-xl rounded-tl-sm border border-[var(--card-border)] bg-[var(--card-bg)] px-4 py-3 text-sm text-[var(--foreground)]",children:(0,b.jsx)(C.Markdown,{content:e,isUser:!0})}):(0,b.jsx)("div",{className:"text-sm text-[var(--foreground)]",children:(0,b.jsx)(C.Markdown,{content:e,isUser:!1})})]})]},a.id)}),Object.entries(s).filter(([,a])=>!d.rootMessageId||a.rootMessageId===d.rootMessageId).map(([a])=>{let c=v.get(a);return(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)("img",{src:aP(a,c?.color),alt:c?.name??d.agentName,className:"h-7 w-7 shrink-0 rounded-full object-cover"}),c?.name??d.agentName," is thinking..."]},`stream-${a}`)})]})}),(0,b.jsx)("div",{className:"absolute bottom-3 left-3 right-3 p-2",children:d.rootMessageId?(0,b.jsx)(bc,{onSend:y,onStop:q,participants:e,projectId:d.projectId??void 0,projectSlug:d.projectSlug??void 0,loading:"ready"!==x,commands:[],activityStatus:x,placeholder:"Continue this session...",initialPinnedParticipantId:d.agentId}):(0,b.jsx)("div",{className:"px-2 py-1 text-xs text-[var(--muted-foreground)]",children:"Waiting for the session to start..."})})]})}function bf({trackerType:a,projectId:d,projectSlug:g,initialShowSettings:i,initialGroupId:j}){let p,s,{isTouchLayout:t}=(0,K.useInputCapabilities)(),{connected:u,loading:A,user:B,clis:C,mcpConfigured:D,connect:E,connectWithKey:F,disconnect:G,configureMcp:H}=(0,x.useTrackerConnection)(a,d??""),J=(0,c.useRef)(null),[O,Q]=(0,c.useState)(i??!1),[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)(()=>(0,M.loadLinearTicketPanelWidth)()||576),[V,W]=(0,c.useState)(""),[X,Y]=(0,c.useState)(""),[Z,$]=(0,c.useState)(!1),[_,aa]=(0,c.useState)([]),[ab,ac]=(0,c.useState)([]),[ad,ae]=(0,c.useState)([]),[af,ag]=(0,c.useState)([]),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)([]),[aq,ar]=(0,c.useState)("Group"),[av,ax]=(0,c.useState)(""),[ay,az]=(0,c.useState)(""),[aA,aB]=(0,c.useState)("activity"),[aC,aD]=(0,c.useState)("desc"),[aE,aF]=(0,c.useState)([]),[aG,aH]=(0,c.useState)(()=>new Set),[aI,aJ]=(0,c.useState)(null),[aK,aL]=(0,c.useState)(null),[aM,aN]=(0,c.useState)(new Set),{participants:aR}=(0,aY.useTrackerParticipants)(a,d),{issueActiveAgents:aS}=function(a,b){let[d,e]=(0,c.useState)(new Map);return(0,c.useEffect)(()=>{let c=!1;async function d(){try{let d=new URLSearchParams;b&&d.set("projectId",b);let f=await fetch(`/api/trackers/${a}/active-agents?${d}`);if(!f.ok||c)return;let g=await f.json(),h=new Map;for(let a of g.agents??[]){let b=h.get(a.issueId)??[];b.push({agentId:a.agentId,agentName:a.agentName}),h.set(a.issueId,b)}c||e(h)}catch{}}d();let f=setInterval(()=>void d(),5e3);return()=>{c=!0,clearInterval(f)}},[a,b]),{issueActiveAgents:d}}(a,d),{issueStats:aT}=function(a,b){let[d,e]=(0,c.useState)(new Map);return(0,c.useEffect)(()=>{let c=!1;async function d(){try{let d=new URLSearchParams;b&&d.set("projectId",b);let f=await fetch(`/api/trackers/${a}/stats?${d}`);if(!f.ok||c)return;let g=await f.json(),h=new Map;for(let a of g.stats??[])h.set(a.issueId,{sessions:a.sessions,messages:a.messages});c||e(h)}catch{}}d();let f=setInterval(()=>void d(),1e4);return()=>{c=!0,clearInterval(f)}},[a,b]),{issueStats:d}}(a,d),[aU,aV]=(0,c.useState)(null),[aW,aZ]=(0,c.useState)(null),[a$,a0]=(0,c.useState)("runs"),a1=(0,c.useRef)(null),a4=(0,c.useRef)(!0),a8=(0,c.useRef)(null),a9=(0,c.useRef)(null),{getSelection:bc,pushSelection:bf,replaceSelection:bg}=(0,r.useUrlSelection)(),bh=bc("issue"),bi=bc("run"),bj=bc("group"),{groups:bk,createGroup:bl,updateGroup:bm,deleteGroup:bn,addTasksToGroup:bo,removeTaskFromGroup:bp,refetch:bq}=function(a){let[b,d]=(0,c.useState)([]),[e,f]=(0,c.useState)(!1),g=(0,c.useCallback)(async()=>{if(a){f(!0);try{let b=await fetch(`/api/task-groups?project_id=${encodeURIComponent(a)}`);if(!b.ok)throw Error("Failed to fetch groups");let c=await b.json();d(c.groups??[])}catch(a){console.error("useTaskGroups fetch error:",a)}finally{f(!1)}}},[a]);(0,c.useEffect)(()=>{g()},[g]);let h=(0,c.useCallback)(async(b,c)=>{if(!a)return null;try{let d=await fetch("/api/task-groups",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:a,name:b,task_ids:c})});if(!d.ok)throw Error("Failed to create group");let e=await d.json();return await g(),e.group}catch(a){return console.error("createGroup error:",a),null}},[a,g]),i=(0,c.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/task-groups/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)})).ok)throw Error("Failed to update group");await g()}catch(a){console.error("updateGroup error:",a)}},[g]),j=(0,c.useCallback)(async a=>{try{if(!(await fetch(`/api/task-groups/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete group");await g()}catch(a){console.error("deleteGroup error:",a)}},[g]),k=(0,c.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/task-groups/${a}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task_ids:b})})).ok)throw Error("Failed to assign tasks");await g()}catch(a){console.error("addTasksToGroup error:",a)}},[g]),l=(0,c.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/task-groups/${a}/tasks?task_id=${encodeURIComponent(b)}`,{method:"DELETE"})).ok)throw Error("Failed to remove task");await g()}catch(a){console.error("removeTaskFromGroup error:",a)}},[g]);return{groups:b,isLoading:e,refetch:g,createGroup:h,updateGroup:i,deleteGroup:j,addTasksToGroup:k,removeTaskFromGroup:l}}(d),[br,bs]=(0,c.useState)(new Set),[bt,bu]=(0,c.useState)(!1),[bv,bw]=(0,c.useState)([]),[bx,by]=(0,c.useState)(null),bz=(0,aO.useSensors)((0,aO.useSensor)(aO.PointerSensor,{activationConstraint:{distance:8}})),[bA,bB]=(0,c.useState)(null),bC=(0,c.useCallback)(a=>{bs(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),bD=(0,c.useCallback)(async a=>{bv.length<2||(await bl(a,bv),bw([]),bu(!1),by(null),bs(new Set))},[bv,bl]),bE=(0,c.useRef)([]),bF=(0,c.useRef)(null),bG=(0,c.useCallback)(()=>{let a=Array.from(br),b=bE.current.find(a=>br.has(a.id));bw(a),by(b?.id??a[0]??null),bu(!0)},[br]),bH=bk.find(a=>a.id===bj),bI=(0,c.useMemo)(()=>new Set(bk.flatMap(a=>a.task_ids)),[bk]),bJ=(0,c.useCallback)(a=>{bB(a.active.id)},[]),bK=(0,c.useCallback)(async a=>{bB(null);let{active:b,over:c}=a,d=b.id;if(bt){let a=bv.includes(d);if(!c||b.id===c.id){a&&bw(a=>{let b=a.filter(a=>a!==d);return b.length<2?(bu(!1),by(null),[]):b});return}let e=c.id,f=e===a3||bv.includes(e);a&&!f?bw(a=>{let b=a.filter(a=>a!==d);return b.length<2?(bu(!1),by(null),[]):b}):a||bw(a=>[...a,d]);return}if(!c||b.id===c.id)return;let e=c.id;if(e.startsWith(a6)){let a=e.slice(a6.length),b=bE.current.find(a=>a.id===d),c=bE.current.find(b=>b.status===a)?.statusCategory;b&&b.status!==a&&await bF.current?.(b,a,c);return}let f=bE.current.find(a=>a.id===d),g=bE.current.find(a=>a.id===e);if(f&&g&&f.status!==g.status)return void await bF.current?.(f,g.status,g.statusCategory);let h=bk.find(a=>a.id===e);if(h)return void await bo(h.id,[d]);let i=!bI.has(e);if(!bI.has(d)&&i){bw([d,e]),by(e),bu(!0);return}let j=bk.find(a=>a.task_ids.includes(d));j&&i&&await bp(j.id,d)},[bk,bI,bo,bp,bt,bv]),bL=(0,c.useCallback)(a=>{W(a),a1.current&&clearTimeout(a1.current),a1.current=setTimeout(()=>Y(a),300)},[]),bM=(0,c.useCallback)(a=>{aH(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[a,g]);(0,c.useEffect)(()=>()=>{a1.current&&clearTimeout(a1.current)},[]),(0,c.useEffect)(()=>{let a={...L};a4.current=!0,W(a.search),Y(a.search),ag(a.assigneeIds),ai(a.statusCategories),az(j??a.groupIds?.[0]??""),ax(j??a.groupIds?.[0]??""),aB(a.sortBy),aD(a.sortDir),aF(a.labelNames??[]),aH(new Set)},[a,g,j]),(0,c.useEffect)(()=>{if(a4.current){a4.current=!1;return}},[a,g,V,af,ah,ay,av,aE,aA,aC]),(0,c.useEffect)(()=>{if(!u||!d)return;let b=!1;$(!1);let c=new URLSearchParams;return c.set("projectId",d),g&&c.set("projectSlug",g),fetch(`/api/trackers/${a}/options?${c.toString()}`).then(a=>a.json()).then(a=>{b||(aa(Array.isArray(a.assignees)?a.assignees:[]),ac(Array.isArray(a.statuses)?a.statuses.map(a=>({value:a.name,label:a.name})):[]),ae(Array.isArray(a.teams)?a.teams:[]),ak(Array.isArray(a.groups)?a.groups:[]),a.groupLabel&&ar(a.groupLabel),$(!0))}).catch(()=>{b||(aa([]),ac([]),ae([]),ak([]),$(!0))}),()=>{b=!0}},[u,a,d,g]),(0,c.useEffect)(()=>{if(!Z)return;let a=af.filter(a=>_.some(b=>b.id===a));a.length!==af.length&&ag(a)},[_,Z,af]),(0,c.useEffect)(()=>{if(!Z)return;let a=ab.map(a=>a.value),b=ah.filter(b=>a.includes(b));b.length!==ah.length&&ai(b)},[Z,ah,ab]),(0,c.useEffect)(()=>{if(Z){if(ad.length<=1&&ay)return void az("");ay&&!ad.some(a=>a.id===ay)&&az("")}},[Z,ay,ad]),(0,c.useEffect)(()=>{Z&&av&&!aj.some(a=>a.id===av)&&ax("")},[aj,Z,av]);let{items:bN,loading:bO,hasMore:bP,loadMore:bQ,refresh:bR,updateItem:bS}=function(a,b,d,e){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!0),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),n=(0,c.useRef)(j),o=(0,c.useRef)(!1);n.current=j;let p=`/api/trackers/${encodeURIComponent(a)}/items`,q=e.projectId?function(a,b,c){let d={};for(let a of Object.keys(c).sort()){let b=c[a];if(null!=b&&""!==b&&!1!==b)if(Array.isArray(b)){if(!b.length)continue;d[a]=[...b].map(String).sort()}else d[a]=b}return`${a}:${b}:${JSON.stringify(d)}`}(a,e.projectId,{statuses:b.statuses,statusCategories:b.statusCategories,search:b.search,assigneeIds:b.assigneeIds,groupIds:b.groupIds,sortBy:b.sortBy,sortDir:b.sortDir,hasActivity:b.hasActivity,limit:e.limit}):null,r=(0,c.useRef)(q);r.current=q;let s=(0,c.useCallback)(async a=>{if(d&&e.projectId){i(!0);try{let c=new URLSearchParams;if(c.set("projectId",e.projectId),b.statuses?.length)for(let a of b.statuses)c.append("status",a);if(b.statusCategories?.length)for(let a of b.statusCategories)c.append("statusCategory",a);if(b.search&&c.set("search",b.search),b.assigneeIds?.length)for(let a of b.assigneeIds)c.append("assigneeId",a);if(b.groupIds?.length)for(let a of b.groupIds)c.append("groupId",a);b.sortBy&&c.set("sortBy",b.sortBy),b.sortDir&&c.set("sortDir",b.sortDir),b.hasActivity&&c.set("hasActivity","true"),a&&n.current&&c.set("cursor",n.current),e.limit&&c.set("limit",String(e.limit));let d=await fetch(`${p}?${c.toString()}`),f=await d.json(),h=f.items??[];g(b=>a?[...b,...h]:h);let i=f.pageInfo?.endCursor??null,j=f.pageInfo?.hasNextPage??!1;k(i),m(j),o.current=!0,!a&&r.current&&w(r.current,{items:h,endCursor:i,hasNextPage:j,savedAt:Date.now()})}catch{a||g([])}finally{i(!1)}}},[p,b.statuses,b.statusCategories,b.search,b.assigneeIds,b.groupIds,b.sortBy,b.sortDir,b.hasActivity,d,e.projectId,e.limit]);(0,c.useEffect)(()=>{let a=!1;return k(null),o.current=!1,d&&q&&v(q).then(b=>{a||!b||o.current||(g(b.items),k(b.endCursor),m(b.hasNextPage),i(!1))}),s(!1),()=>{a=!0}},[s,q,d]);let t=(0,c.useCallback)(()=>s(!0),[s]);return{items:f,loading:h,hasMore:l,loadMore:t,refresh:(0,c.useCallback)(()=>(k(null),s(!1)),[s]),updateItem:(0,c.useCallback)(a=>{g(b=>b.map(b=>b.id===a.id?a:b))},[])}}(a,(0,c.useMemo)(()=>({search:X||void 0,statuses:ah.length>0&&ah.length<ab.length?ah:void 0,assigneeIds:af.length>0?af:void 0,groupIds:av?[av]:void 0,sortBy:aA,sortDir:aC}),[X,af,av,ah,ab.length,aA,aC]),u&&Z&&!!d,{projectId:d??""}),{metadataMap:bT,refresh:bU}=function(a,b,d){let[e,f]=(0,c.useState)(new Map),[g,h]=(0,c.useState)(!1),i=(0,c.useRef)(""),j=(0,c.useCallback)(async()=>{if(!b||0===d.length)return void f(new Map);h(!0);try{let c=await fetch(`/api/trackers/${encodeURIComponent(a)}/metadata/bulk?projectId=${encodeURIComponent(b)}&issueIds=${d.map(encodeURIComponent).join(",")}`),e=await c.json(),g=new Map;for(let[a,b]of Object.entries(e))g.set(a,{labels:Array.isArray(b.labels)?b.labels:[],estimate:"number"==typeof b.estimate?b.estimate:null});f(g)}catch{}h(!1)},[a,b,d]);return(0,c.useEffect)(()=>{let a=d.join(",");a!==i.current&&(i.current=a,j())},[j,d]),{metadataMap:e,loading:g,refresh:j}}(a,d,(0,c.useMemo)(()=>bN.map(a=>a.id),[bN])),{labels:bV,definitions:bW,refresh:bX,createDefinition:bY}=al(a,d),bZ=(0,c.useMemo)(()=>bh?bN.find(a=>a.id===bh)??null:null,[bN,bh]),b$=bZ??(aI?.id===bh?aI:null),b_=(0,c.useMemo)(()=>{if(0===aG.size)return bN;let a=[],b=[];for(let c of bN)aG.has(c.id)?a.push(c):b.push(c);return[...a,...b]},[bN,aG]);bE.current=b_;let b0=(0,c.useDeferredValue)(aE),b1=(0,c.useMemo)(()=>{if(0===b0.length)return b_;let a=new Set(b0),b=[];for(let c of b_){let d=bT.get(c.id)?.labels;if(d){for(let e of d)if(a.has(e)){b.push(c);break}}}return b},[b_,b0,bT]),b2=(0,c.useMemo)(()=>{let a=new Map;for(let b of b1){let c=a.get(b.status);c||(c={status:b.status,category:b.statusCategory,items:[]},a.set(b.status,c)),c.items.push(b)}let b={in_progress:0,todo:1,done:2,cancelled:3};return[...a.values()].sort((a,c)=>(b[a.category]??1)-(b[c.category]??1))},[!0,b1]),{runs:b3,loading:b4,loadedForIssueId:b5,createRun:b6,updateRun:b7}=y(a,b$?.id??null,d??null),{scripts:b8,activeScriptId:b9,activeScript:ca,setActiveScriptId:cb,saveScript:cc,deleteScript:cd}=function(a,b){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a={...z};e(a.scripts),g(a.activeScriptId)},[a,b]);let h=(0,c.useCallback)((a,b)=>{e(a),g(b)},[a,b]),i=(0,c.useCallback)(a=>{let b=a&&d.some(b=>b.id===a)?a:null;h(d,b)},[h,d]),j=(0,c.useCallback)(a=>{let b=new Date().toISOString(),c=a.name.trim(),e=a.prompt.trim();if(!c||!e)throw Error("Run script name and prompt are required.");let f=a.id?d.find(b=>b.id===a.id):null,g=f?{...f,name:c,prompt:e,updatedAt:b}:{id:crypto.randomUUID(),name:c,prompt:e,createdAt:b,updatedAt:b};return h([...f?d.map(a=>a.id===f.id?g:a):[g,...d]].sort((a,b)=>b.updatedAt.localeCompare(a.updatedAt)),g.id),g},[h,d]),k=(0,c.useCallback)(a=>{h(d.filter(b=>b.id!==a),f===a?null:f)},[f,h,d]),l=(0,c.useMemo)(()=>d.find(a=>a.id===f)??null,[f,d]);return{scripts:d,activeScriptId:f,activeScript:l,setActiveScriptId:i,saveScript:j,deleteScript:k}}(a,g),ce=bi?b3.find(a=>a.id===bi)??null:null,cf=bh&&!bi?(0,N.loadLastRunForIssue)(bh):null,cg=!!cf&&J.current!==bh,ch=(0,c.useMemo)(()=>_.map(a=>({value:a.id,label:a.name})),[_]),ci=(0,c.useMemo)(()=>ab.map(a=>({value:a.value,label:a.label})),[ab]),cj=(0,c.useMemo)(()=>{let a=ab.map(a=>({value:a.label,label:a.label})),b=new Set(a.map(a=>a.value)),c=b$?.status?.trim();return c&&!b.has(c)&&a.unshift({value:c,label:c}),a},[b$?.status,ab]),ck=(0,c.useMemo)(()=>[{value:"",label:"Workspace"},...ad.map(a=>({value:a.id,label:a.name}))],[ad]),cl=(0,c.useMemo)(()=>[{value:"",label:aq},...aj.map(a=>({value:a.id,label:a.name}))],[aj,aq]),cm=ci.length>0,cn=cl.length>1,co=ck.length>2,cp=ca?.name??"AGX default",cq=(0,c.useMemo)(()=>bV.map(a=>({value:a.name,label:a.name})),[bV]),cr=(0,c.useCallback)(async(b,c)=>{if(!d)return;let e=bT.get(b)?.labels??[],f=e.includes(c)?e.filter(a=>a!==c):[...e,c];try{await fetch(`/api/trackers/${a}/metadata?projectId=${encodeURIComponent(d)}&issueId=${encodeURIComponent(b)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({labels:f})}),bU(),bX()}catch{}},[d,a,bT,bU,bX]),cs=(0,c.useCallback)(async a=>{d&&await bY(a)},[d,bY]),ct=(0,c.useCallback)(async(b,c,e)=>{let f=c.trim();if(!f||f===b.status||!d)return;let g={...b,status:f,statusCategory:e??b.statusCategory};bS(g),bh===b.id&&aJ(g),aL(b.id);try{let c=await fetch(`/api/trackers/${a}/items/${encodeURIComponent(b.id)}?projectId=${encodeURIComponent(d??"")}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:f})}),e=await c.json().catch(()=>({}));if(!c.ok||!e.item)throw Error(e.error||"Failed to update ticket status");let g=e.item;bS(g),bh===g.id&&aJ(g),await bR()}catch(a){bS(b),bh===b.id&&aJ(b),a instanceof Error&&window.alert(a.message)}finally{aL(a=>a===b.id?null:a)}},[bR,bh,bS,a,d]);bF.current=ct;let cu=(0,c.useCallback)(async(b,c,e,f)=>{let h=f??aR[0]?.id;if(h)try{await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:b.id,issueIdentifier:b.identifier,issueTitle:b.title,issueStatus:b.status,issueAssignee:b.assignee?.name??null,agentId:h,scriptName:c,scriptPrompt:e})})}catch(a){console.error(`Failed to start ${c} for ${b.identifier}:`,a)}},[aR,a,d,g]),cv=(0,c.useCallback)(async()=>{let b=Array.from(br).map(a=>bN.find(b=>b.id===a)).filter(Boolean);if(0===b.length||0===aR.length)return;let c=aR[0];for(let e of b)try{await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:e.id,issueIdentifier:e.identifier,issueTitle:e.title,issueStatus:e.status,issueAssignee:e.assignee?.name??null,agentId:c.id,scriptName:"Recap",scriptPrompt:"Summarize recent activity and current state of this ticket. Focus on: what was done, what's outstanding, and any blockers."})})}catch(a){console.error(`Failed to start recap for ${e.identifier}:`,a)}bs(new Set)},[br,bN,aR,a,d,g]),cw=(0,c.useCallback)(async(b,c)=>{for(let e of Array.from(br).map(a=>bN.find(b=>b.id===a)).filter(Boolean))try{await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:e.id,issueIdentifier:e.identifier,issueTitle:e.title,issueStatus:e.status,issueAssignee:e.assignee?.name??null,agentId:c,scriptPrompt:b})})}catch(a){console.error(`Failed to send prompt for ${e.identifier}:`,a)}bs(new Set)},[br,bN,a,d,g]),cx=(0,c.useCallback)(async()=>{let b=Array.from(br).map(a=>bN.find(b=>b.id===a)).filter(Boolean);if(0===b.length||0===aR.length)return;let c=aR[0];for(let e of b)try{await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:e.id,issueIdentifier:e.identifier,issueTitle:e.title,issueStatus:e.status,issueAssignee:e.assignee?.name??null,agentId:c.id,scriptName:"Estimate",scriptPrompt:"Assess the complexity and scope of this ticket and assign a Fibonacci story-point estimate (1, 2, 3, 5, 8, 13, or 21). Consider: required investigation, files likely to change, unknowns, and testing effort. Briefly justify the number, then set the estimate using the available tooling."})})}catch(a){console.error(`Failed to start estimate for ${e.identifier}:`,a)}bs(new Set)},[br,bN,aR,a,d,g]),cy=(0,c.useCallback)(async b=>{let c=Array.from(br);if(0!==c.length&&d)try{await fetch(`/api/trackers/${a}/metadata/bulk`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d,issueIds:c,action:"add_labels",payload:{labels:[b]}})}),bU(),bX()}catch{}},[br,d,a,bU,bX]),cz=(0,c.useCallback)(async b=>{let c=Array.from(br);if(0!==c.length&&d)try{await fetch(`/api/trackers/${a}/metadata/bulk`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d,issueIds:c,action:"remove_label",payload:{label:b}})}),bU(),bX()}catch{}},[br,d,a,bU,bX]),[cA,cB]=(0,c.useState)(!1),cC=(0,c.useCallback)(async a=>{let b=Array.from(br).map(a=>bN.find(b=>b.id===a)).filter(Boolean);if(0!==b.length){for(let c of(cB(!0),b))await ct(c,a);cB(!1),bs(new Set)}},[br,bN,ct]),cD=(0,c.useCallback)(async a=>{d&&await bY(a)},[d,bY]),cE=(0,c.useCallback)(b=>({statusOptions:cj,onRecap:()=>{let c=d?`?projectId=${encodeURIComponent(d)}`:"";fetch(`/api/trackers/${encodeURIComponent(a)}/items/${encodeURIComponent(b.id)}/recap${c}`,{method:"POST"}).then(()=>{window.dispatchEvent(new CustomEvent("tracker:recap-triggered",{detail:{trackerType:a,issueId:b.id}}))})},onPrompt:(a,c)=>{cu(b,"Prompt",a,c)},onEstimate:()=>{cu(b,"Estimate","Assess the complexity and scope of this ticket and assign a Fibonacci story-point estimate (1, 2, 3, 5, 8, 13, or 21). Consider: required investigation, files likely to change, unknowns, and testing effort. Briefly justify the number, then set the estimate using the available tooling.")},onStatus:a=>{ct(b,a)}}),[cj,cu,ct,a,d]),cF=(0,c.useMemo)(()=>{let a=new Map;for(let b of br){let c=bT.get(b);a.set(b,c??{labels:[],estimate:null})}return a},[br,bT]);(0,c.useEffect)(()=>{if(!bh||!d)return void aJ(null);if(bZ)return void aJ(a=>a?.id===bh?bZ:null);let b=!1;return(async()=>{try{let c=await fetch(`/api/trackers/${a}/items/${encodeURIComponent(bh)}?projectId=${encodeURIComponent(d??"")}`);if(b)return;if(404===c.status)return void aJ(null);if(!c.ok)throw Error(`Failed to fetch selected tracker ticket: ${c.status}`);let e=await c.json().catch(()=>({}));if(!e.item?.id)return void aJ(null);aJ(e.item)}catch(a){b||console.error("Failed to hydrate selected tracker item",a)}})(),()=>{b=!0}},[bg,bZ,bh,a,d]),(0,c.useEffect)(()=>{if(!bh){bi&&bg({run:null});return}},[bg,bh,bi]),(0,c.useEffect)(()=>{b$&&bi&&!b4&&(b3.some(a=>a.id===bi)||bg({run:null}))},[bg,b3,b4,b$,bi]),(0,c.useEffect)(()=>{bh&&bi&&(0,N.persistLastRunForIssue)(bh,bi)},[bh,bi]),(0,c.useEffect)(()=>{cg&&!b4&&b5===bh&&(J.current=bh,cf&&b3.some(a=>a.id===cf)&&bg({run:cf}))},[cg,cf,bh,b3,b4,b5,bg]),(0,c.useEffect)(()=>{if(t){if(!b$)return void a0("runs");if(ce||0===b3.length)return void a0("ticket");a0("runs")}},[t,b3.length,b$,ce]),(0,c.useEffect)(()=>{if(!R)return;let a=a=>{let b=a.target;a9.current?.contains(b)||a8.current?.contains(b)||S(!1)},b=a=>{"Escape"===a.key&&S(!1)};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",b)}},[R]);let cG=(0,c.useCallback)(async(b,c)=>{aV(null),aZ(null);try{let e=await fetch(`/api/trackers/${a}/runs/scripted`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:d??void 0,projectSlug:g??void 0,issueId:b.id,issueIdentifier:b.identifier,issueTitle:b.title,issueStatus:b.status,issueAssignee:b.assignee?.name??null,agentId:c.id,scriptName:ca?.name,scriptPrompt:ca?.prompt})}),f=await e.json().catch(()=>({}));if(!e.ok||!f.run||!f.chatRunId||!f.userMessageId)throw Error(f.error||"Failed to start scripted session");bf({issue:b.id,run:f.run.id})}catch(a){console.error("Failed to start scripted tracker session:",a),a instanceof Error&&window.alert(a.message)}},[ca,d,g,bf,a]),cH=(0,c.useCallback)((a,b)=>{if(S(!1),0===aR.length)return void window.alert("Add at least one agent to this project before starting a scripted session.");if(1===aR.length)return void cG(a,aR[0]);let c=b?.currentTarget?.getBoundingClientRect();aV(a),aZ(c?{top:c.bottom+4,left:c.left}:{top:200,left:200})},[cG,aR]),cI=(0,c.useRef)(null),cJ=(0,c.useRef)(null),cK=(0,c.useRef)(null),[cL,cM]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=[cJ.current,cK.current].filter(Boolean);if(0===a.length)return;let b=a=>{cM(a.currentTarget.scrollTop>400)};return a.forEach(a=>a.addEventListener("scroll",b,{passive:!0})),()=>a.forEach(a=>a.removeEventListener("scroll",b))},[t]);let cN=(0,c.useCallback)(()=>{let a=cJ.current??cK.current;a?.scrollTo({top:0,behavior:"smooth"})},[]);return((0,c.useEffect)(()=>{let a=cI.current;if(!a||!bP)return;let b=new IntersectionObserver(a=>{a[0]?.isIntersecting&&bQ()},{threshold:.1});return b.observe(a),()=>b.disconnect()},[bP,bQ]),u)?(0,b.jsxs)("div",{className:"relative flex h-full overflow-hidden",children:[t?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,b.jsxs)("div",{className:"shrink-0 border-b border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center gap-2 px-3",children:[(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-2 rounded-md border border-[var(--card-border)] bg-[var(--background)] px-2.5 py-1.5 transition-all focus-within:border-[var(--muted-foreground)] focus-within:ring-1 focus-within:ring-[var(--muted-foreground)]",children:[(0,b.jsx)(m.Search,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{type:"text",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Search tickets...",value:V,onChange:a=>bL(a.target.value)})]}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-2 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-50",onClick:()=>void bR(),title:"Refresh tickets","aria-label":"Refresh tickets",disabled:bO,children:(0,b.jsx)(l.RefreshCw,{size:16,className:bO?"animate-spin":void 0})}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-2 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:()=>{S(!1),Q(!0)},title:"Tracker settings",children:(0,b.jsx)(n,{size:16})})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 pb-2",children:[cn?(0,b.jsx)(au,{label:aq,value:av,options:cl,activeClasses:"border-purple-500/30 bg-purple-500/10 text-purple-400",onChange:ax}):null,cm?(0,b.jsx)(aw,{label:"Status",values:ah,options:ci,activeClasses:"border-amber-500/30 bg-amber-500/10 text-amber-300",onChange:ai,emptyLabel:"All statuses"}):null,(0,b.jsx)(aw,{label:"Assignee",values:af,options:ch,activeClasses:"border-blue-500/30 bg-blue-500/10 text-blue-400",onChange:ag,emptyLabel:"All assignees"}),cq.length>0&&(0,b.jsx)(aw,{label:"Label",values:aE,options:cq,activeClasses:"border-pink-500/30 bg-pink-500/10 text-pink-400",onChange:aF,emptyLabel:"All labels"}),co?(0,b.jsx)(au,{label:"Workspace",value:ay,options:ck,activeClasses:"border-emerald-500/30 bg-emerald-500/10 text-emerald-400",onChange:az}):null,(0,b.jsx)(au,{label:"Sort",value:aA,options:[{value:"activity",label:"Updated At"},{value:"identifier",label:"Ticket ID"},{value:"status",label:"Status"},{value:"created",label:"Created At"}],activeClasses:"border-sky-500/30 bg-sky-500/10 text-sky-400",onChange:a=>aB(a)}),(0,b.jsx)("button",{type:"button",className:"rounded-full border border-[var(--card-border)] p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",title:"desc"===aC?"Descending":"Ascending",onClick:()=>aD(a=>"desc"===a?"asc":"desc"),children:"desc"===aC?(0,b.jsx)(e.ArrowDown,{size:12}):(0,b.jsx)(f.ArrowUp,{size:12})})]})]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0 flex flex-col",children:[(0,b.jsx)("div",{ref:cK,className:"flex-1 overflow-y-auto",children:bO&&0===bN.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"Loading tickets..."}):0===bN.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"No tickets found."}):(0,b.jsxs)(b.Fragment,{children:[b2.map(a=>{let d=aM.has(a.status);return(0,b.jsxs)(c.default.Fragment,{children:[(0,b.jsx)(a7,{status:a.status,categoryColor:bd[a.category]??"bg-zinc-400",count:a.items.length,collapsed:d,onToggle:()=>aN(b=>{let c=new Set(b);return c.has(a.status)?c.delete(a.status):c.add(a.status),c})}),!d&&a.items.map(a=>(0,b.jsx)(aQ,{item:a,selected:b$?.id===a.id,pinned:aG.has(a.id),activeAgents:aS.get(a.id),participants:aR,projectSlug:g,stats:aT.get(a.id),hideStatus:!0,estimate:bT.get(a.id)?.estimate,localLabels:bT.get(a.id)?.labels,labelDefinitions:bW,allLabels:bV,onToggleLabel:b=>cr(a.id,b),onAddLabel:cs,onSelect:()=>{a0("runs"),bf({issue:a.id,run:null})},onTogglePin:()=>bM(a.id),rowActions:cE(a),showGroup:!av},a.id))]},`sg-${a.status}`)}),bP?(0,b.jsx)("div",{ref:cI,className:"py-2 text-center text-xs text-[var(--muted-foreground)]",children:bO?"Loading...":"Load more"}):null]})}),(0,b.jsx)(bb.JumpToLatestButton,{visible:cL&&bN.length>20,direction:"top",onClick:cN})]})]}),b$?(0,b.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col bg-[var(--background)]",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--card-border)] px-4 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]",children:b$.identifier}),(0,b.jsx)("div",{className:"truncate text-sm font-semibold text-[var(--foreground)]",children:b$.title})]}),(0,b.jsx)("button",{type:"button",className:"rounded p-2 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:()=>bg({issue:null,run:null}),"aria-label":"Close ticket panel",children:(0,b.jsx)(q.X,{size:16})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-[var(--card-border)] px-3 py-2",children:[(0,b.jsx)("button",{type:"button",className:`rounded-full px-3 py-1.5 text-xs font-medium transition-colors ${"runs"===a$?"bg-[var(--card-bg)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"}`,onClick:()=>a0("runs"),children:"Runs"}),(0,b.jsx)("button",{type:"button",className:`rounded-full px-3 py-1.5 text-xs font-medium transition-colors ${"ticket"===a$?"bg-[var(--card-bg)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"}`,onClick:()=>a0("ticket"),children:"Ticket"})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:"runs"===a$?(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"relative flex items-center justify-between border-b border-[var(--card-border)] px-3 py-2",children:[(0,b.jsx)("h3",{className:"text-xs font-semibold text-[var(--foreground)]",children:"Sessions"}),(0,b.jsxs)("button",{ref:a8,type:"button",className:"inline-flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-40",onClick:()=>{S(!1),a0("ticket"),bf({run:null})},title:"Open a fresh chat for this ticket. You can choose or edit the session script in the ticket tab.","aria-label":"New session",disabled:!b$,children:[(0,b.jsx)(k.Plus,{size:12}),"New session"]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto",children:b4&&0===b3.length||cg?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"Loading sessions..."}):0===b3.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"No previous sessions yet."}):b3.map(a=>{let c=an(a);return(0,b.jsxs)("button",{type:"button",className:`w-full px-3 py-2 text-left text-xs transition-colors ${ce?.id===a.id?"bg-[var(--card-bg)]":"hover:bg-[var(--card-bg)]"}`,onClick:()=>{a0("ticket"),bf({run:a.id})},children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[11px] font-medium text-[var(--foreground)]",children:ao(a)}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:new Date(a.startedAt).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})]}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5 text-[10px]",children:[(0,b.jsx)("span",{className:`font-medium ${as[c.tone]}`,children:c.label}),(0,b.jsx)("span",{className:"truncate text-[var(--muted-foreground)]",children:a.agentName})]}),null!=a.durationMs?(0,b.jsxs)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:[(a.durationMs/1e3).toFixed(1),"s"]}):null]},a.id)})})]}):ce?(0,b.jsx)(be,{item:b$??{id:ce.issueId,identifier:ce.issueIdentifier,title:ce.issueTitle,status:ce.issueStatus,statusCategory:"todo",labels:[],trackerId:"",trackerType:a,assignee:ce.issueAssignee?{id:"",name:ce.issueAssignee}:void 0,updatedAt:ce.updatedAt,createdAt:ce.updatedAt,url:""},run:ce,participants:aR,itemStatusOptions:cj,itemStatusUpdating:aK===ce.issueId,onItemStatusChange:ct,onBack:()=>bg({run:null})}):cg?null:0===aR.length?(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-xs text-[var(--muted-foreground)]",children:"Add at least one agent to this project to start a session."}):(0,b.jsx)(aX,{item:b$,trackerType:a,runs:b3,participants:aR,projectId:d,projectSlug:g,itemStatusOptions:cj,itemStatusUpdating:aK===b$.id,onItemStatusChange:ct,activeSessionScriptLabel:cp,onOpenSessionScripts:()=>S(!0),onStartScriptedSession:a=>cH(b$,a),createRun:b6,updateRun:b7,onRunCreated:a=>bf({run:a}),onSelectRun:a=>bf({run:a})},b$.id)})]}):null]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex shrink-0 flex-col border-r border-[var(--card-border)]",style:{width:T},children:[(0,b.jsxs)("div",{className:"shrink-0 border-b border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center gap-2 px-3",children:[(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-2 rounded-md border border-[var(--card-border)] bg-[var(--background)] px-2.5 py-1.5 transition-all focus-within:border-[var(--muted-foreground)] focus-within:ring-1 focus-within:ring-[var(--muted-foreground)]",children:[(0,b.jsx)(m.Search,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{type:"text",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-[var(--muted-foreground)]",placeholder:"Search tickets...",value:V,onChange:a=>bL(a.target.value)})]}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-50",onClick:()=>void bR(),title:"Refresh tickets","aria-label":"Refresh tickets",disabled:bO,children:(0,b.jsx)(l.RefreshCw,{size:16,className:bO?"animate-spin":void 0})}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",onClick:()=>{S(!1),Q(!0)},title:"Tracker settings",children:(0,b.jsx)(n,{size:16})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pb-2",children:[cn?(0,b.jsx)(au,{label:aq,value:av,options:cl,activeClasses:"border-purple-500/30 bg-purple-500/10 text-purple-400",onChange:ax}):null,cm?(0,b.jsx)(aw,{label:"Status",values:ah,options:ci,activeClasses:"border-amber-500/30 bg-amber-500/10 text-amber-300",onChange:ai,emptyLabel:"All statuses"}):null,(0,b.jsx)(aw,{label:"Assignee",values:af,options:ch,activeClasses:"border-blue-500/30 bg-blue-500/10 text-blue-400",onChange:ag,emptyLabel:"All assignees"}),cq.length>0&&(0,b.jsx)(aw,{label:"Label",values:aE,options:cq,activeClasses:"border-pink-500/30 bg-pink-500/10 text-pink-400",onChange:aF,emptyLabel:"All labels"}),co?(0,b.jsx)(au,{label:"Workspace",value:ay,options:ck,activeClasses:"border-emerald-500/30 bg-emerald-500/10 text-emerald-400",onChange:az}):null,(0,b.jsx)(au,{label:"Sort",value:aA,options:[{value:"activity",label:"Updated At"},{value:"identifier",label:"Ticket ID"},{value:"status",label:"Status"},{value:"created",label:"Created At"}],activeClasses:"border-sky-500/30 bg-sky-500/10 text-sky-400",onChange:a=>aB(a)}),(0,b.jsx)("button",{type:"button",className:"rounded-full border border-[var(--card-border)] p-0.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]",title:"desc"===aC?"Descending":"Ascending",onClick:()=>aD(a=>"desc"===a?"asc":"desc"),children:"desc"===aC?(0,b.jsx)(e.ArrowDown,{size:12}):(0,b.jsx)(f.ArrowUp,{size:12})}),b1.length>0&&(p=b1.length>0&&b1.every(a=>br.has(a.id)),(0,b.jsxs)("button",{type:"button",className:`flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] transition-colors ${p?"border-[var(--primary)]/40 bg-[var(--primary)]/10 text-[var(--primary)]":"border-[var(--card-border)] text-[var(--muted-foreground)] hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"}`,title:p?"Clear selection":"Select all filtered tickets",onClick:()=>{p?bs(new Set):bs(new Set(b1.map(a=>a.id)))},children:[p?(0,b.jsx)(h,{size:12}):(0,b.jsx)(o,{size:12}),p?"Clear":`Select all (${b1.length})`]}))]})]}),(0,b.jsxs)(aO.DndContext,{sensors:bz,collisionDetection:aO.closestCenter,onDragStart:bJ,onDragEnd:bK,children:[(0,b.jsxs)("div",{className:"relative flex-1 min-h-0 flex flex-col",children:[(0,b.jsxs)("div",{ref:cJ,className:"flex-1 overflow-y-auto",children:[bO&&0===bN.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"Loading tickets..."}):0===bN.length?(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)]",children:"No tickets found."}):(0,b.jsxs)(b.Fragment,{children:[b2.map(a=>{let d=aM.has(a.status);return(0,b.jsxs)(c.default.Fragment,{children:[(0,b.jsx)(a7,{status:a.status,categoryColor:bd[a.category]??"bg-zinc-400",count:a.items.length,collapsed:d,onToggle:()=>aN(b=>{let c=new Set(b);return c.has(a.status)?c.delete(a.status):c.add(a.status),c})}),!d&&(()=>{let d=bt?new Set(bv):null,e=new Map;for(let b of bk){let c=a.items.find(a=>b.task_ids.includes(a.id));c&&e.set(c.id,b)}let f=bt?bv.map(b=>a.items.find(a=>a.id===b)).filter(Boolean).map(a=>({id:a.id,identifier:a.identifier,title:a.title,status:ap[a.status]??a.status})):[],h=new Set;return a.items.map(i=>{if(d?.has(i.id))return i.id===bx&&bt?(0,b.jsx)(a5,{tickets:f,onConfirm:bD,onCancel:()=>{bu(!1),bw([]),by(null)}},"__pending-group__"):null;let j=e.get(i.id);if(j&&!h.has(j.id)){h.add(j.id);let d=j.task_ids.map(b=>a.items.find(a=>a.id===b)).filter(Boolean);return(0,b.jsxs)(c.default.Fragment,{children:[(0,b.jsx)(a_,{groupId:j.id,name:j.name,count:d.length,collapsed:!!j.collapsed,selected:bj===j.id,projectSlug:g,onToggleCollapse:()=>bm(j.id,{collapsed:!j.collapsed}),onSelect:()=>bf({group:j.id,issue:null,run:null}),onUngroup:()=>{bn(j.id),bj===j.id&&bg({group:null})}}),!j.collapsed&&d.map((a,c)=>(0,b.jsx)(aQ,{item:a,selected:b$?.id===a.id,pinned:aG.has(a.id),activeAgents:aS.get(a.id),participants:aR,draggable:!0,multiSelected:br.has(a.id),treeConnector:c===d.length-1?"last":"mid",projectSlug:g,stats:aT.get(a.id),hideStatus:!0,estimate:bT.get(a.id)?.estimate,localLabels:bT.get(a.id)?.labels,labelDefinitions:bW,allLabels:bV,onToggleLabel:b=>cr(a.id,b),onAddLabel:cs,onSelect:b=>{b&&(b.metaKey||b.ctrlKey)?bC(a.id):bf({issue:a.id,run:null,group:null})},onTogglePin:()=>bM(a.id),rowActions:cE(a),showGroup:!av},a.id))]},`group-${j.id}`)}return bI.has(i.id)?null:(0,b.jsx)(aQ,{item:i,selected:b$?.id===i.id,pinned:aG.has(i.id),activeAgents:aS.get(i.id),participants:aR,draggable:!0,multiSelected:br.has(i.id),projectSlug:g,stats:aT.get(i.id),hideStatus:!0,estimate:bT.get(i.id)?.estimate,localLabels:bT.get(i.id)?.labels,labelDefinitions:bW,allLabels:bV,onToggleLabel:a=>cr(i.id,a),onAddLabel:cs,onSelect:a=>{a&&(a.metaKey||a.ctrlKey)?bC(i.id):bf({issue:i.id,run:null,group:null})},onTogglePin:()=>bM(i.id),rowActions:cE(i),showGroup:!av},i.id)})})()]},`sg-${a.status}`)}),bP?(0,b.jsx)("div",{ref:cI,className:"py-2 text-center text-xs text-[var(--muted-foreground)]",children:bO?"Loading...":"Load more"}):null]}),(0,b.jsx)(ba,{count:br.size,onGroup:bG,onClear:()=>bs(new Set),onBulkRecap:cv,onBulkPrompt:cw,onBulkEstimate:cx,onBulkAddLabel:cy,onBulkRemoveLabel:cz,onBulkStatus:cC,statusOptions:cj,participants:aR,labels:bV,onCreateLabel:cD,selectedMetadata:cF,statusUpdating:cA})]}),(0,b.jsx)(bb.JumpToLatestButton,{visible:cL&&bN.length>20,direction:"top",onClick:cN})]}),(0,b.jsx)(aO.DragOverlay,{dropAnimation:null,children:bA&&((s=bE.current.find(a=>a.id===bA))?(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-[var(--primary)]/30 bg-[var(--card-bg)] px-4 py-2.5 text-sm shadow-xl backdrop-blur-sm",children:[(0,b.jsx)("span",{className:"w-24 shrink-0 whitespace-nowrap font-mono text-xs text-[var(--muted-foreground)]",children:s.identifier}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs font-medium text-[var(--foreground)]",children:s.title})]}):null)})]})]}),(0,b.jsx)(at.ResizeHandle,{onResize:a=>U(b=>{let c=Math.max(280,Math.min(960,b+a));return(0,M.persistLinearTicketPanelWidth)(c),c})}),R?(0,b.jsx)("div",{ref:a9,className:"absolute right-6 top-16 z-20 max-h-[80vh] overflow-y-auto rounded-2xl border border-[var(--card-border)] bg-[var(--background)] p-4 shadow-2xl",style:{width:"min(760px, calc(100vw - 32px))"},children:(0,b.jsx)(I,{projectSlug:g,scripts:b8,activeScriptId:b9,onSetActiveScriptId:cb,onSaveScript:cc,onDeleteScript:cd})}):null,(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:ce?(0,b.jsx)(be,{item:b$??{id:ce.issueId,identifier:ce.issueIdentifier,title:ce.issueTitle,status:ce.issueStatus,statusCategory:"todo",labels:[],trackerId:"",trackerType:a,assignee:ce.issueAssignee?{id:"",name:ce.issueAssignee}:void 0,updatedAt:ce.updatedAt,createdAt:ce.updatedAt,url:""},run:ce,participants:aR,itemStatusOptions:cj,itemStatusUpdating:aK===ce.issueId,onItemStatusChange:ct,onBack:()=>bg({run:null})}):bH&&!b$?(0,b.jsx)(a2,{group:bH,items:bN,trackerType:a,participants:aR,projectId:d,projectSlug:g,onUpdateName:a=>bm(bH.id,{name:a}),onDelete:async()=>{await bn(bH.id),bg({group:null})},onSelectItem:a=>bf({issue:a,group:null,run:null}),onRunCreated:a=>bf({run:a}),onSelectRun:a=>bf({run:a})}):b$?cg?null:0===aR.length?(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-xs text-[var(--muted-foreground)]",children:"Add at least one agent to this project to start a session."}):(0,b.jsx)(aX,{item:b$,trackerType:a,runs:b3,participants:aR,projectId:d,projectSlug:g,itemStatusOptions:cj,itemStatusUpdating:aK===b$.id,onItemStatusChange:ct,activeSessionScriptLabel:cp,onOpenSessionScripts:()=>S(!0),onStartScriptedSession:a=>cH(b$,a),createRun:b6,updateRun:b7,onRunCreated:a=>bf({run:a}),onSelectRun:a=>bf({run:a})},b$.id):(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-xs text-[var(--muted-foreground)]",children:"Select a ticket from the list."})})]}),O&&(0,b.jsx)(am,{trackerType:a,connected:u,user:B,clis:C,mcpConfigured:D,onConnect:E,onConnectWithKey:F,onDisconnect:G,onConfigureMcp:H,onClose:()=>Q(!1),projectId:d}),R&&t?(0,b.jsx)("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,b.jsx)("div",{ref:a9,className:"max-h-[85vh] w-full max-w-3xl overflow-y-auto rounded-2xl border border-[var(--card-border)] bg-[var(--background)] p-4 shadow-2xl",children:(0,b.jsx)(I,{projectSlug:g,scripts:b8,activeScriptId:b9,onSetActiveScriptId:cb,onSaveScript:cc,onDeleteScript:cd})})}):null,aU&&aW&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"fixed inset-0 z-40",onClick:()=>{aV(null),aZ(null)}}),(0,b.jsxs)("div",{className:"fixed z-50 min-w-[180px] rounded border border-[var(--card-border)] bg-[var(--card-bg)] py-1 shadow-lg",style:{top:aW.top,left:aW.left},children:[(0,b.jsx)("div",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Pick an agent"}),aR.map(a=>(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors hover:bg-[var(--card-bg)]",onClick:()=>void cG(aU,a),children:[(0,b.jsx)("img",{src:aP(a.id,a.color,20),alt:"",className:"h-5 w-5 shrink-0 rounded-full"}),(0,b.jsxs)("span",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a.name}),a.role?(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:a.role}):null]})]},a.id))]})]})]}):(0,b.jsx)(P.default,{trackerType:a,projectId:d??"",connected:u,onConnect:E,onConnectWithKey:F})}a.s(["default",()=>bf],859117)}];
47
49
 
48
50
  //# sourceMappingURL=apps_local_components_TrackerBoard_tsx_98970bab._.js.map