@ai-development-environment/server 0.0.28 → 0.0.30

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 (402) hide show
  1. package/package.json +1 -1
  2. package/prisma-runtime/prisma/migrations/20260718220000_add_build_freshness/migration.sql +1 -0
  3. package/prisma-runtime/prisma/migrations/20260719010000_add_build_reports/migration.sql +29 -0
  4. package/prisma-runtime/prisma/schema.prisma +24 -0
  5. package/standalone/.next/BUILD_ID +1 -1
  6. package/standalone/.next/app-path-routes-manifest.json +2 -0
  7. package/standalone/.next/build-manifest.json +6 -6
  8. package/standalone/.next/prerender-manifest.json +3 -3
  9. package/standalone/.next/routes-manifest.json +17 -0
  10. package/standalone/.next/server/app/[locale]/actions/page/build-manifest.json +3 -3
  11. package/standalone/.next/server/app/[locale]/actions/page.js.nft.json +1 -1
  12. package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
  13. package/standalone/.next/server/app/[locale]/agents/[id]/page/build-manifest.json +3 -3
  14. package/standalone/.next/server/app/[locale]/agents/[id]/page.js.nft.json +1 -1
  15. package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
  16. package/standalone/.next/server/app/[locale]/agents/page/build-manifest.json +3 -3
  17. package/standalone/.next/server/app/[locale]/agents/page.js.nft.json +1 -1
  18. package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
  19. package/standalone/.next/server/app/[locale]/build-data/page/build-manifest.json +3 -3
  20. package/standalone/.next/server/app/[locale]/build-data/page.js.nft.json +1 -1
  21. package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
  22. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/app-paths-manifest.json +3 -0
  23. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/build-manifest.json +16 -0
  24. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/next-font-manifest.json +11 -0
  25. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/react-loadable-manifest.json +1 -0
  26. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/server-reference-manifest.json +4 -0
  27. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js +16 -0
  28. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.map +5 -0
  29. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.nft.json +1 -0
  30. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +3 -0
  31. package/standalone/.next/server/app/[locale]/builds/[buildId]/page/build-manifest.json +3 -3
  32. package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js.nft.json +1 -1
  33. package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
  34. package/standalone/.next/server/app/[locale]/builds/page/build-manifest.json +3 -3
  35. package/standalone/.next/server/app/[locale]/builds/page.js.nft.json +1 -1
  36. package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
  37. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page/build-manifest.json +3 -3
  38. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js.nft.json +1 -1
  39. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
  40. package/standalone/.next/server/app/[locale]/codebases/page/build-manifest.json +3 -3
  41. package/standalone/.next/server/app/[locale]/codebases/page.js.nft.json +1 -1
  42. package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
  43. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page/build-manifest.json +3 -3
  44. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
  45. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
  46. package/standalone/.next/server/app/[locale]/comments/page/build-manifest.json +3 -3
  47. package/standalone/.next/server/app/[locale]/comments/page.js.nft.json +1 -1
  48. package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
  49. package/standalone/.next/server/app/[locale]/jira/cache/page/build-manifest.json +3 -3
  50. package/standalone/.next/server/app/[locale]/jira/cache/page.js.nft.json +1 -1
  51. package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
  52. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page/build-manifest.json +3 -3
  53. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
  54. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  55. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page/build-manifest.json +3 -3
  56. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js.nft.json +1 -1
  57. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  58. package/standalone/.next/server/app/[locale]/jira/tickets/page/build-manifest.json +3 -3
  59. package/standalone/.next/server/app/[locale]/jira/tickets/page.js.nft.json +1 -1
  60. package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
  61. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page/build-manifest.json +3 -3
  62. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js.nft.json +1 -1
  63. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
  64. package/standalone/.next/server/app/[locale]/page/build-manifest.json +3 -3
  65. package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
  66. package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
  67. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page/build-manifest.json +3 -3
  68. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
  69. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
  70. package/standalone/.next/server/app/[locale]/pull-requests/page/build-manifest.json +3 -3
  71. package/standalone/.next/server/app/[locale]/pull-requests/page.js.nft.json +1 -1
  72. package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
  73. package/standalone/.next/server/app/[locale]/settings/page/build-manifest.json +3 -3
  74. package/standalone/.next/server/app/[locale]/settings/page.js.nft.json +1 -1
  75. package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
  76. package/standalone/.next/server/app/[locale]/skills/[skillId]/page/build-manifest.json +3 -3
  77. package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js.nft.json +1 -1
  78. package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
  79. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page/build-manifest.json +3 -3
  80. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js.nft.json +1 -1
  81. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
  82. package/standalone/.next/server/app/[locale]/skills/groups/page/build-manifest.json +3 -3
  83. package/standalone/.next/server/app/[locale]/skills/groups/page.js.nft.json +1 -1
  84. package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
  85. package/standalone/.next/server/app/[locale]/skills/page/build-manifest.json +3 -3
  86. package/standalone/.next/server/app/[locale]/skills/page.js.nft.json +1 -1
  87. package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
  88. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page/build-manifest.json +3 -3
  89. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js.nft.json +1 -1
  90. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
  91. package/standalone/.next/server/app/[locale]/tools/page/build-manifest.json +3 -3
  92. package/standalone/.next/server/app/[locale]/tools/page.js.nft.json +1 -1
  93. package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
  94. package/standalone/.next/server/app/[locale]/usage/page/build-manifest.json +3 -3
  95. package/standalone/.next/server/app/[locale]/usage/page.js.nft.json +1 -1
  96. package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
  97. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page/build-manifest.json +3 -3
  98. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js.nft.json +1 -1
  99. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
  100. package/standalone/.next/server/app/[locale]/worktrees/page/build-manifest.json +3 -3
  101. package/standalone/.next/server/app/[locale]/worktrees/page.js.nft.json +1 -1
  102. package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
  103. package/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
  104. package/standalone/.next/server/app/_global-error.html +1 -1
  105. package/standalone/.next/server/app/_global-error.rsc +1 -1
  106. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  107. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  108. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  109. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  110. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  111. package/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
  112. package/standalone/.next/server/app/_not-found.html +1 -1
  113. package/standalone/.next/server/app/_not-found.rsc +1 -1
  114. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  115. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  116. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  117. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  118. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  119. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  120. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +2 -2
  121. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js.nft.json +1 -1
  122. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js +2 -2
  123. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js.nft.json +1 -1
  124. package/standalone/.next/server/app/api/codebases/by-path/route.js +2 -2
  125. package/standalone/.next/server/app/api/codebases/by-path/route.js.nft.json +1 -1
  126. package/standalone/.next/server/app/api/codebases/route.js +2 -2
  127. package/standalone/.next/server/app/api/codebases/route.js.nft.json +1 -1
  128. package/standalone/.next/server/app/api/graphql/route.js +2 -2
  129. package/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
  130. package/standalone/.next/server/app/api/mcp/route.js +2 -2
  131. package/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  132. package/standalone/.next/server/app/api/tools/call/route.js +2 -2
  133. package/standalone/.next/server/app/api/tools/call/route.js.nft.json +1 -1
  134. package/standalone/.next/server/app/api/tools/catalog/route.js +2 -2
  135. package/standalone/.next/server/app/api/tools/catalog/route.js.nft.json +1 -1
  136. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/app-paths-manifest.json +3 -0
  137. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/build-manifest.json +9 -0
  138. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/server-reference-manifest.json +4 -0
  139. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js +10 -0
  140. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.map +5 -0
  141. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.nft.json +1 -0
  142. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route_client-reference-manifest.js +3 -0
  143. package/standalone/.next/server/app-paths-manifest.json +2 -0
  144. package/standalone/.next/server/chunks/1oeh_server_app_api_worktrees_[worktreeId]_diff-image_route_actions_0nie5n3.js +3 -0
  145. package/standalone/.next/server/chunks/{[root-of-the-server]__1iv83x0._.js → [root-of-the-server]__0-ypkf7._.js} +1 -1
  146. package/standalone/.next/server/chunks/{[root-of-the-server]__08w_8a-._.js → [root-of-the-server]__00ku6-v._.js} +1 -1
  147. package/standalone/.next/server/chunks/{[root-of-the-server]__0yfvw4a._.js → [root-of-the-server]__0138gz-._.js} +1 -1
  148. package/standalone/.next/server/chunks/{[root-of-the-server]__0r5s0h6._.js → [root-of-the-server]__02vqwey._.js} +2 -2
  149. package/standalone/.next/server/chunks/{[root-of-the-server]__098f8w4._.js → [root-of-the-server]__056cnsc._.js} +1 -1
  150. package/standalone/.next/server/chunks/{[root-of-the-server]__1l6ed2g._.js → [root-of-the-server]__08mfybr._.js} +2 -2
  151. package/standalone/.next/server/chunks/{[root-of-the-server]__0cs2bfc._.js → [root-of-the-server]__08u874i._.js} +1 -1
  152. package/standalone/.next/server/chunks/{[root-of-the-server]__01h2pl1._.js → [root-of-the-server]__09skp6r._.js} +1 -1
  153. package/standalone/.next/server/chunks/{[root-of-the-server]__1mgcft0._.js → [root-of-the-server]__09v6swg._.js} +1 -1
  154. package/standalone/.next/server/chunks/{[root-of-the-server]__0h0mvv8._.js → [root-of-the-server]__0aiyd05._.js} +1 -1
  155. package/standalone/.next/server/chunks/{[root-of-the-server]__14-aq4c._.js → [root-of-the-server]__0cyubup._.js} +1 -1
  156. package/standalone/.next/server/chunks/{[root-of-the-server]__0_l5rqe._.js → [root-of-the-server]__0da1wsf._.js} +1 -1
  157. package/standalone/.next/server/chunks/[root-of-the-server]__0e1fqyr._.js +3 -0
  158. package/standalone/.next/server/chunks/{[root-of-the-server]__1frrx8s._.js → [root-of-the-server]__0f3ptor._.js} +2 -2
  159. package/standalone/.next/server/chunks/{[root-of-the-server]__0k01mi-._.js → [root-of-the-server]__0fih0li._.js} +1 -1
  160. package/standalone/.next/server/chunks/{[root-of-the-server]__02qjyhj._.js → [root-of-the-server]__0g0tnct._.js} +1 -1
  161. package/standalone/.next/server/chunks/{[root-of-the-server]__1ehdq4c._.js → [root-of-the-server]__0gbor-2._.js} +1 -1
  162. package/standalone/.next/server/chunks/{[root-of-the-server]__09lyzw2._.js → [root-of-the-server]__0mj6qcr._.js} +2 -2
  163. package/standalone/.next/server/chunks/{[root-of-the-server]__14uwobw._.js → [root-of-the-server]__0p_h088._.js} +1 -1
  164. package/standalone/.next/server/chunks/[root-of-the-server]__0rwpsai._.js +3 -0
  165. package/standalone/.next/server/chunks/{[root-of-the-server]__0i4bd9d._.js → [root-of-the-server]__0vvjqp5._.js} +1 -1
  166. package/standalone/.next/server/chunks/{[root-of-the-server]__04rx7b9._.js → [root-of-the-server]__0w20bq-._.js} +2 -2
  167. package/standalone/.next/server/chunks/{[root-of-the-server]__0hmrx3m._.js → [root-of-the-server]__0wf0pka._.js} +1 -1
  168. package/standalone/.next/server/chunks/{[root-of-the-server]__0nxj1ky._.js → [root-of-the-server]__0wg2umj._.js} +1 -1
  169. package/standalone/.next/server/chunks/{[root-of-the-server]__17bgip6._.js → [root-of-the-server]__0xa_els._.js} +1 -1
  170. package/standalone/.next/server/chunks/{[root-of-the-server]__0wx4-1l._.js → [root-of-the-server]__0xukz2x._.js} +2 -2
  171. package/standalone/.next/server/chunks/[root-of-the-server]__0zyqmd4._.js +122 -0
  172. package/standalone/.next/server/chunks/[root-of-the-server]__1-z6lg_._.js +3 -0
  173. package/standalone/.next/server/chunks/{[root-of-the-server]__0kxltc8._.js → [root-of-the-server]__15_clsj._.js} +1 -1
  174. package/standalone/.next/server/chunks/{[root-of-the-server]__020ggc3._.js → [root-of-the-server]__15aat79._.js} +1 -1
  175. package/standalone/.next/server/chunks/{[root-of-the-server]__00_-x1w._.js → [root-of-the-server]__15bbm2q._.js} +2 -2
  176. package/standalone/.next/server/chunks/{[root-of-the-server]__09c7zmy._.js → [root-of-the-server]__16l4wed._.js} +1 -1
  177. package/standalone/.next/server/chunks/{[root-of-the-server]__04hrhu3._.js → [root-of-the-server]__19zwwdv._.js} +1 -1
  178. package/standalone/.next/server/chunks/{[root-of-the-server]__0d4_f1e._.js → [root-of-the-server]__1a5_am-._.js} +1 -1
  179. package/standalone/.next/server/chunks/[root-of-the-server]__1ajaiy1._.js +3 -0
  180. package/standalone/.next/server/chunks/[root-of-the-server]__1dtlzq1._.js +3 -0
  181. package/standalone/.next/server/chunks/[root-of-the-server]__1kpqohm._.js +3 -0
  182. package/standalone/.next/server/chunks/[root-of-the-server]__1l7234r._.js +3 -0
  183. package/standalone/.next/server/chunks/{[root-of-the-server]__0c02fce._.js → [root-of-the-server]__1oa-sy6._.js} +2 -2
  184. package/standalone/.next/server/chunks/[root-of-the-server]__1vip3sa._.js +3 -0
  185. package/standalone/.next/server/chunks/[root-of-the-server]__1vxtcsq._.js +3 -0
  186. package/standalone/.next/server/chunks/{[root-of-the-server]__0cryh-d._.js → [root-of-the-server]__1wtng3p._.js} +1 -1
  187. package/standalone/.next/server/chunks/[root-of-the-server]__1wu654b._.js +3 -0
  188. package/standalone/.next/server/chunks/[root-of-the-server]__1x2nph5._.js +3 -0
  189. package/standalone/.next/server/chunks/[root-of-the-server]__1xk-0be._.js +3 -0
  190. package/standalone/.next/server/chunks/[root-of-the-server]__210dhdj._.js +3 -0
  191. package/standalone/.next/server/chunks/_0exkna-._.js +164 -8
  192. package/standalone/.next/server/chunks/{_0bru086._.js → _0jurkow._.js} +26 -26
  193. package/standalone/.next/server/chunks/{_00mzn-u._.js → _0rx5rfm._.js} +27 -27
  194. package/standalone/.next/server/chunks/_0tufgj0._.js +234 -78
  195. package/standalone/.next/server/chunks/_0w2eghf._.js +164 -8
  196. package/standalone/.next/server/chunks/_152rnkf._.js +17 -17
  197. package/standalone/.next/server/chunks/{_1_g2i-t._.js → _16x77b_._.js} +27 -27
  198. package/standalone/.next/server/chunks/_1dbqy8c._.js +17 -17
  199. package/standalone/.next/server/chunks/_1vrixpc._.js +17 -17
  200. package/standalone/.next/server/chunks/_1yfz-9u._.js +17 -17
  201. package/standalone/.next/server/chunks/src_0o4-snj._.js +1 -1
  202. package/standalone/.next/server/chunks/ssr/1oeh_server_app_[locale]_builds_[buildId]_coverage_page_actions_20i_0zd.js +3 -0
  203. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__08bbv6z._.js +9 -0
  204. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ckj6wg._.js +13 -0
  205. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eit075._.js +3 -0
  206. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tsac-e._.js +15 -0
  207. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0uo4dhz._.js +11 -0
  208. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__10-ftkj._.js +3 -0
  209. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__15v1geo._.js +3 -0
  210. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qm_j4s._.js +3 -0
  211. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1s6_fta._.js +3 -0
  212. package/standalone/.next/server/chunks/ssr/_0-o77zz._.js +3 -0
  213. package/standalone/.next/server/chunks/ssr/_00m30gw._.js +3 -0
  214. package/standalone/.next/server/chunks/ssr/_03961l6._.js +3 -0
  215. package/standalone/.next/server/chunks/ssr/_08q5hnx._.js +35 -0
  216. package/standalone/.next/server/chunks/ssr/_093--4s._.js +3 -0
  217. package/standalone/.next/server/chunks/ssr/{_1kaz2gq._.js → _09lh67h._.js} +2 -2
  218. package/standalone/.next/server/chunks/ssr/_0a1ligo._.js +3 -0
  219. package/standalone/.next/server/chunks/ssr/{_1h3p6oi._.js → _0cw_tqx._.js} +2 -2
  220. package/standalone/.next/server/chunks/ssr/{_0hoc_fd._.js → _0ddgabq._.js} +2 -2
  221. package/standalone/.next/server/chunks/ssr/_0dq-84j._.js +22 -0
  222. package/standalone/.next/server/chunks/ssr/_0dy1ovj._.js +3 -0
  223. package/standalone/.next/server/chunks/ssr/_0ezo890._.js +3 -0
  224. package/standalone/.next/server/chunks/ssr/_0id1774._.js +13 -0
  225. package/standalone/.next/server/chunks/ssr/_0j48up8._.js +1 -1
  226. package/standalone/.next/server/chunks/ssr/_0nhtqty._.js +1 -1
  227. package/standalone/.next/server/chunks/ssr/_0oh246z._.js +3 -0
  228. package/standalone/.next/server/chunks/ssr/{_1r9ohdr._.js → _0q8sy0w._.js} +2 -2
  229. package/standalone/.next/server/chunks/ssr/_0qra30j._.js +3 -0
  230. package/standalone/.next/server/chunks/ssr/_0t2jwg3._.js +109 -0
  231. package/standalone/.next/server/chunks/ssr/{_13jl9nw._.js → _0ufkrvm._.js} +2 -2
  232. package/standalone/.next/server/chunks/ssr/{_0sp1ojg._.js → _0vjihfb._.js} +26 -2
  233. package/standalone/.next/server/chunks/ssr/_0xh-lyy._.js +3 -0
  234. package/standalone/.next/server/chunks/ssr/_1-2qcpf._.js +3 -0
  235. package/standalone/.next/server/chunks/ssr/_15erjna._.js +3 -0
  236. package/standalone/.next/server/chunks/ssr/_17a3xuq._.js +3 -0
  237. package/standalone/.next/server/chunks/ssr/_17p59oz._.js +3 -0
  238. package/standalone/.next/server/chunks/ssr/_1bzibio._.js +109 -0
  239. package/standalone/.next/server/chunks/ssr/_1c2fde9._.js +11 -0
  240. package/standalone/.next/server/chunks/ssr/_1ekznx8._.js +3 -0
  241. package/standalone/.next/server/chunks/ssr/_1k1tyz4._.js +3 -0
  242. package/standalone/.next/server/chunks/ssr/{_1dsdn7w._.js → _1n9rteq._.js} +8 -2
  243. package/standalone/.next/server/chunks/ssr/_1och_zk._.js +3 -0
  244. package/standalone/.next/server/chunks/ssr/_1tpguta._.js +3 -0
  245. package/standalone/.next/server/chunks/ssr/_1v1lo7c._.js +3 -0
  246. package/standalone/.next/server/chunks/ssr/_1vv-dg-._.js +3 -0
  247. package/standalone/.next/server/chunks/ssr/_1zgu74l._.js +1 -1
  248. package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud._.js +1 -1
  249. package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-._.js +1 -1
  250. package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd._.js +1 -1
  251. package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0i._.js +1 -1
  252. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uzalot.js +4 -0
  253. package/standalone/.next/server/chunks/ssr/src_components_agents_agent-detail_tsx_0lfa4ui._.js +2 -2
  254. package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js +15 -13
  255. package/standalone/.next/server/chunks/ssr/src_components_builds_builds-page_tsx_17qzmsl._.js +8 -12
  256. package/standalone/.next/server/chunks/ssr/src_components_builds_coverage-report-page_tsx_1nhwba1._.js +11 -0
  257. package/standalone/.next/server/chunks/ssr/src_components_codebases_repository-detail-page_tsx_20_7wk_._.js +5 -5
  258. package/standalone/.next/server/chunks/ssr/src_components_github_actions-page_tsx_18434xt._.js +5 -5
  259. package/standalone/.next/server/chunks/ssr/src_components_github_pull-requests-page_tsx_1il3ga-._.js +12 -12
  260. package/standalone/.next/server/chunks/ssr/src_components_jira_cache-page_tsx_1znt1yl._.js +1 -1
  261. package/standalone/.next/server/chunks/ssr/src_components_skills_skill-sync-page_tsx_15sidhb._.js +1 -1
  262. package/standalone/.next/server/chunks/ssr/src_components_skills_skills-page_tsx_0o1nlbg._.js +3 -3
  263. package/standalone/.next/server/chunks/ssr/src_components_tools_tools-page_tsx_0k1jqcz._.js +2 -2
  264. package/standalone/.next/server/chunks/ssr/src_components_worktrees_worktree-detail-page_tsx_1oexgu_._.js +21 -4
  265. package/standalone/.next/server/functions-config-manifest.json +3 -0
  266. package/standalone/.next/server/middleware-build-manifest.js +6 -6
  267. package/standalone/.next/server/next-font-manifest.js +1 -1
  268. package/standalone/.next/server/next-font-manifest.json +4 -0
  269. package/standalone/.next/server/pages/404.html +1 -1
  270. package/standalone/.next/server/pages/500.html +1 -1
  271. package/standalone/.next/server/server-reference-manifest.js +1 -1
  272. package/standalone/.next/server/server-reference-manifest.json +1 -1
  273. package/standalone/.next/static/chunks/041g9raf1naqv.js +48 -0
  274. package/standalone/.next/static/chunks/08ujwkhzkokhf.js +1 -0
  275. package/standalone/.next/static/chunks/0a82bgw37ev__.js +33 -0
  276. package/standalone/.next/static/chunks/0cw4z7_m01m5f.js +31 -0
  277. package/standalone/.next/static/chunks/0emxr8tr7kji0.js +33 -0
  278. package/standalone/.next/static/chunks/0h8zu6aywqh1-.js +27 -0
  279. package/standalone/.next/static/chunks/0ng892ycfzv2q.js +1 -0
  280. package/standalone/.next/static/chunks/0tgtji0dbbefa.js +107 -0
  281. package/standalone/.next/static/chunks/15_8kla24ff9f.js +1 -0
  282. package/standalone/.next/static/chunks/16-l4kp9o217d.js +1 -0
  283. package/standalone/.next/static/chunks/1c7ci5ai5qyfo.js +1 -0
  284. package/standalone/.next/static/chunks/1egccqmgk3kbi.js +1 -0
  285. package/standalone/.next/static/chunks/1gwvywh0e6i17.js +3 -0
  286. package/standalone/.next/static/chunks/1hehq94hslvbl.js +7 -0
  287. package/standalone/.next/static/chunks/1k5cw41bd4e5r.js +51 -0
  288. package/standalone/.next/static/chunks/{1rivge68m21sm.js → 1mprxk0uebv70.js} +10 -10
  289. package/standalone/.next/static/chunks/1rus13s58mkxy.js +1 -0
  290. package/standalone/.next/static/chunks/{2fzxwi39odugq.js → 1rwqeg_l_plzt.js} +1 -1
  291. package/standalone/.next/static/chunks/1u_jwc-bo10k3.js +1 -0
  292. package/standalone/.next/static/chunks/1ut0xkaqsykm4.js +7 -0
  293. package/standalone/.next/static/chunks/1w_zvfx_jdyv_.js +29 -0
  294. package/standalone/.next/static/chunks/2-wrd12dmwbo-.js +1 -0
  295. package/standalone/.next/static/chunks/23kut2_l2y2-w.js +9 -0
  296. package/standalone/.next/static/chunks/23xyv764-kx8z.js +38 -0
  297. package/standalone/.next/static/chunks/{1wihkuyju-wa-.js → 25haryfoj4x3h.js} +1 -1
  298. package/standalone/.next/static/chunks/{0fr0zp4cwlyrr.js → 28ljy-uz6n_g9.js} +2 -2
  299. package/standalone/.next/static/chunks/29zl8lgsa28tb.js +1 -0
  300. package/standalone/.next/static/chunks/{0w8rd_g6hnvmz.js → 2__bi79el56lb.js} +5 -5
  301. package/standalone/.next/static/chunks/2aq80hyo4l8a2.js +7 -0
  302. package/standalone/.next/static/chunks/{24a_ux27e8jj4.js → 2l_wayk-ioguc.js} +1 -1
  303. package/standalone/.next/static/chunks/2swvzbwm_dr9y.js +1 -0
  304. package/standalone/.next/static/chunks/{0m26h4h36cb_0.js → 3120xcqaqci82.js} +1 -1
  305. package/standalone/.next/static/chunks/315cis1es_5t3.js +41 -0
  306. package/standalone/.next/static/chunks/321feys_9vp2v.js +33 -0
  307. package/standalone/.next/static/chunks/{0d-e51sawr2y8.js → 34oyci46fsc5w.js} +1 -1
  308. package/standalone/.next/static/chunks/{1nqkxeuycfmrt.js → 36_1bjzx79v18.js} +5 -5
  309. package/standalone/.next/static/chunks/37mczlawlcx5l.js +1 -0
  310. package/standalone/.next/static/chunks/3ajj69p_sj615.js +1 -0
  311. package/standalone/.next/static/chunks/{1tcqtaedz7922.js → 3d4ijy7zglgv5.js} +1 -1
  312. package/standalone/.next/static/chunks/3ir4b8po439x7.js +40 -0
  313. package/standalone/.next/static/chunks/3p7wbgo7qd6_m.css +1 -0
  314. package/standalone/.next/static/chunks/3q0q6_ntq8aa5.js +51 -0
  315. package/standalone/.next/static/chunks/3r-6igcofcwxj.js +107 -0
  316. package/standalone/.next/static/chunks/{0m--47yk9j-ec.js → 3tycetq7o8g3h.js} +1 -1
  317. package/standalone/.next/static/chunks/3vg6y29m047x9.js +31 -0
  318. package/standalone/.next/static/chunks/{0biu8z1f8c42u.js → 40ovzayigkz_-.js} +1 -1
  319. package/standalone/.next/static/chunks/41wq-96yyl0uw.js +1 -0
  320. package/standalone/.next/static/chunks/44xu63hsh11xp.js +1 -0
  321. package/standalone/.next/static/chunks/{turbopack-1rw7om86c18dg.js → turbopack-1v9ogj_5hv56l.js} +1 -1
  322. package/standalone/src/services/builds/build-freshness.test.ts +107 -0
  323. package/standalone/src/services/builds/build-freshness.ts +73 -0
  324. package/standalone/src/services/builds/builds.service.test.ts +222 -8
  325. package/standalone/src/services/builds/builds.service.ts +514 -3
  326. package/standalone/.next/server/chunks/[root-of-the-server]__0qjhcow._.js +0 -122
  327. package/standalone/.next/server/chunks/[root-of-the-server]__1878s0b._.js +0 -3
  328. package/standalone/.next/server/chunks/[root-of-the-server]__18zrtty._.js +0 -3
  329. package/standalone/.next/server/chunks/[root-of-the-server]__1_xz_m2._.js +0 -3
  330. package/standalone/.next/server/chunks/[root-of-the-server]__1mx1hqe._.js +0 -3
  331. package/standalone/.next/server/chunks/[root-of-the-server]__1sjjkyp._.js +0 -3
  332. package/standalone/.next/server/chunks/[root-of-the-server]__1vk9266._.js +0 -3
  333. package/standalone/.next/server/chunks/[root-of-the-server]__1yn6pds._.js +0 -3
  334. package/standalone/.next/server/chunks/[root-of-the-server]__1zwpjfo._.js +0 -3
  335. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__03m5q8h._.js +0 -27
  336. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__06bk7ik._.js +0 -3
  337. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__06f05jg._.js +0 -3
  338. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oj1os4._.js +0 -3
  339. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1349-us._.js +0 -3
  340. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1osx7qy._.js +0 -27
  341. package/standalone/.next/server/chunks/ssr/_09l5w5d._.js +0 -3
  342. package/standalone/.next/server/chunks/ssr/_0_726fj._.js +0 -3
  343. package/standalone/.next/server/chunks/ssr/_0a1zku5._.js +0 -3
  344. package/standalone/.next/server/chunks/ssr/_0bvpmhm._.js +0 -97
  345. package/standalone/.next/server/chunks/ssr/_0ndnmkz._.js +0 -3
  346. package/standalone/.next/server/chunks/ssr/_0pe56xv._.js +0 -3
  347. package/standalone/.next/server/chunks/ssr/_0pu14lm._.js +0 -3
  348. package/standalone/.next/server/chunks/ssr/_1-1mnp6._.js +0 -3
  349. package/standalone/.next/server/chunks/ssr/_1-7r8vu._.js +0 -3
  350. package/standalone/.next/server/chunks/ssr/_10evhql._.js +0 -3
  351. package/standalone/.next/server/chunks/ssr/_142x9wn._.js +0 -22
  352. package/standalone/.next/server/chunks/ssr/_1_ta7g1._.js +0 -3
  353. package/standalone/.next/server/chunks/ssr/_1eol9we._.js +0 -3
  354. package/standalone/.next/server/chunks/ssr/_1ey5mmy._.js +0 -3
  355. package/standalone/.next/server/chunks/ssr/_1fdyu2w._.js +0 -3
  356. package/standalone/.next/server/chunks/ssr/_1h3t5g1._.js +0 -3
  357. package/standalone/.next/server/chunks/ssr/_1kemhyd._.js +0 -39
  358. package/standalone/.next/server/chunks/ssr/_1kmkrz5._.js +0 -3
  359. package/standalone/.next/server/chunks/ssr/_1lseili._.js +0 -3
  360. package/standalone/.next/server/chunks/ssr/_1oh35yj._.js +0 -3
  361. package/standalone/.next/server/chunks/ssr/_1vhf014._.js +0 -3
  362. package/standalone/.next/server/chunks/ssr/_1x13g5y._.js +0 -3
  363. package/standalone/.next/server/chunks/ssr/_1yzb5-u._.js +0 -11
  364. package/standalone/.next/server/chunks/ssr/_1za3z6k._.js +0 -97
  365. package/standalone/.next/server/chunks/ssr/src_components_0wvh73y._.js +0 -11
  366. package/standalone/.next/server/chunks/ssr/src_components_github_167_ydi._.js +0 -35
  367. package/standalone/.next/static/chunks/00dx8gu-2oyqe.js +0 -45
  368. package/standalone/.next/static/chunks/091l-ij_cv0b6.js +0 -41
  369. package/standalone/.next/static/chunks/0a3s519wuzjet.js +0 -1
  370. package/standalone/.next/static/chunks/0j5n6p9i-vyzo.js +0 -9
  371. package/standalone/.next/static/chunks/0sp_r-c6262te.js +0 -3
  372. package/standalone/.next/static/chunks/0weklluydd2mf.js +0 -23
  373. package/standalone/.next/static/chunks/1eehbcjby4go8.js +0 -95
  374. package/standalone/.next/static/chunks/1joeb4m-mmn69.js +0 -7
  375. package/standalone/.next/static/chunks/1xjd6ye7mxyf5.js +0 -7
  376. package/standalone/.next/static/chunks/23_75iur2dq8p.js +0 -1
  377. package/standalone/.next/static/chunks/24sd_kmnetibb.js +0 -1
  378. package/standalone/.next/static/chunks/278dxvyf095b_.js +0 -55
  379. package/standalone/.next/static/chunks/27k7_zc-iuppd.js +0 -1
  380. package/standalone/.next/static/chunks/2baaj4mpr6i-i.js +0 -1
  381. package/standalone/.next/static/chunks/2cj2ndz_e0hbz.js +0 -1
  382. package/standalone/.next/static/chunks/2dwchs_6y_o5f.js +0 -1
  383. package/standalone/.next/static/chunks/2hv6pkoloju0g.js +0 -33
  384. package/standalone/.next/static/chunks/2lgsgstcvc7uk.css +0 -1
  385. package/standalone/.next/static/chunks/2sqprazdqp7f7.js +0 -1
  386. package/standalone/.next/static/chunks/32agjzrkphjrl.js +0 -9
  387. package/standalone/.next/static/chunks/33y_b6dqfx3tk.js +0 -1
  388. package/standalone/.next/static/chunks/399uxexoo8x7f.js +0 -33
  389. package/standalone/.next/static/chunks/39ecics7n8z5m.js +0 -1
  390. package/standalone/.next/static/chunks/3_kaby2qep1pd.js +0 -34
  391. package/standalone/.next/static/chunks/3h1pxh5fd97ym.js +0 -27
  392. package/standalone/.next/static/chunks/3jbfibit05k5o.js +0 -29
  393. package/standalone/.next/static/chunks/3oyhf7rk2xr_g.js +0 -1
  394. package/standalone/.next/static/chunks/3q7vh58-5dkv2.js +0 -25
  395. package/standalone/.next/static/chunks/3td_-1s61zkpa.js +0 -38
  396. package/standalone/.next/static/chunks/3xkoiasuwi3ms.js +0 -95
  397. package/standalone/.next/static/chunks/41s57pssydrel.js +0 -43
  398. package/standalone/.next/static/chunks/42flok13o-l0b.js +0 -1
  399. package/standalone/.next/static/chunks/43gw6_6hbw18w.js +0 -51
  400. /package/standalone/.next/static/{_pMjurqsAcC478HIzIe-d → ePu377E66yy0icQx3ykQJ}/_buildManifest.js +0 -0
  401. /package/standalone/.next/static/{_pMjurqsAcC478HIzIe-d → ePu377E66yy0icQx3ykQJ}/_clientMiddlewareManifest.js +0 -0
  402. /package/standalone/.next/static/{_pMjurqsAcC478HIzIe-d → ePu377E66yy0icQx3ykQJ}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,77071,e=>{"use strict";let t=(0,e.i(456420).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],77071)},929592,e=>{"use strict";var t=e.i(843476),r=e.i(225913),n=e.i(975157);let i=(0,r.cva)("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});e.s(["Alert",0,function({className:e,variant:r,...s}){return(0,t.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,n.cn)(i({variant:r}),e),...s})},"AlertDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-description",className:(0,n.cn)("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",e),...r})}])},515288,e=>{"use strict";var t=e.i(843476),r=e.i(975157);e.s(["Card",0,function({className:e,size:n="default",...i}){return(0,t.jsx)("div",{"data-slot":"card","data-size":n,className:(0,r.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...i})},"CardAction",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-action",className:(0,r.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e),...n})},"CardContent",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-(--card-spacing)",e),...n})},"CardDescription",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-sm text-muted-foreground",e),...n})},"CardFooter",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-footer",className:(0,r.cn)("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",e),...n})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...n})}])},758379,e=>{"use strict";let t=(0,e.i(456420).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",0,t])},987968,e=>{"use strict";var t=e.i(843476),r=e.i(975157),n=e.i(758379),n=n;e.s(["Spinner",0,function({className:e,...i}){return(0,t.jsx)(n.default,{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,r.cn)("size-4 animate-spin",e),...i})}],987968)},637611,e=>{"use strict";var t,r,n=e.i(247167);function i(e){return null===e?"null":Array.isArray(e)?"array":typeof e}function s(e){return"object"===i(e)}function o(e,t){return e.length<124?e:t}var a=((t=a||{})[t.InternalServerError=4500]="InternalServerError",t[t.InternalClientError=4005]="InternalClientError",t[t.BadRequest=4400]="BadRequest",t[t.BadResponse=4004]="BadResponse",t[t.Unauthorized=4401]="Unauthorized",t[t.Forbidden=4403]="Forbidden",t[t.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",t[t.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",t[t.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",t[t.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",t[t.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests",t),l=((r=l||{}).ConnectionInit="connection_init",r.ConnectionAck="connection_ack",r.Ping="ping",r.Pong="pong",r.Subscribe="subscribe",r.Next="next",r.Error="error",r.Complete="complete",r);function c(e){if(!s(e))throw Error(`Message is expected to be an object, but got ${i(e)}`);if(!e.type)throw Error("Message is missing the 'type' property");if("string"!=typeof e.type)throw Error(`Message is expects the 'type' property to be a string, but got ${i(e.type)}`);switch(e.type){case"connection_init":case"connection_ack":case"ping":case"pong":if(null!=e.payload&&!s(e.payload))throw Error(`"${e.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${e.payload}"`);break;case"subscribe":if("string"!=typeof e.id)throw Error(`"${e.type}" message expects the 'id' property to be a string, but got ${i(e.id)}`);if(!e.id)throw Error(`"${e.type}" message requires a non-empty 'id' property`);if(!s(e.payload))throw Error(`"${e.type}" message expects the 'payload' property to be an object, but got ${i(e.payload)}`);if("string"!=typeof e.payload.query)throw Error(`"${e.type}" message payload expects the 'query' property to be a string, but got ${i(e.payload.query)}`);if(null!=e.payload.variables&&!s(e.payload.variables))throw Error(`"${e.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${i(e.payload.variables)}`);if(null!=e.payload.operationName&&"string"!==i(e.payload.operationName))throw Error(`"${e.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${i(e.payload.operationName)}`);if(null!=e.payload.extensions&&!s(e.payload.extensions))throw Error(`"${e.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${i(e.payload.extensions)}`);break;case"next":if("string"!=typeof e.id)throw Error(`"${e.type}" message expects the 'id' property to be a string, but got ${i(e.id)}`);if(!e.id)throw Error(`"${e.type}" message requires a non-empty 'id' property`);if(!s(e.payload))throw Error(`"${e.type}" message expects the 'payload' property to be an object, but got ${i(e.payload)}`);break;case"error":var t;if("string"!=typeof e.id)throw Error(`"${e.type}" message expects the 'id' property to be a string, but got ${i(e.id)}`);if(!e.id)throw Error(`"${e.type}" message requires a non-empty 'id' property`);if(!(Array.isArray(t=e.payload)&&t.length>0&&t.every(e=>"message"in e)))throw Error(`"${e.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(e.payload)}`);break;case"complete":if("string"!=typeof e.id)throw Error(`"${e.type}" message expects the 'id' property to be a string, but got ${i(e.id)}`);if(!e.id)throw Error(`"${e.type}" message requires a non-empty 'id' property`);break;default:throw Error(`Invalid message 'type' property "${e.type}"`)}return e}function d(e,t){return c(e),JSON.stringify(e,t)}class u extends Error{name="TerminatedCloseEvent";message="4499: Terminated";code=4499;reason="Terminated";wasClean=!1}function p(e){return s(e)&&"code"in e&&"reason"in e}async function f(e,t){let r=await fetch("/api/graphql",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:e,variables:t})}),n=await r.json();if(!r.ok||n.errors?.length||!n.data)throw Error(n.errors?.map(e=>e.message).join("; ")||`HTTP ${r.status}`);return n.data}let h=null;function m(){let e=n.default.env.NEXT_PUBLIC_AGENT_WS_URL;return e||("https:"===window.location.protocol?`wss://${window.location.host}/graphql`:`ws://${window.location.hostname}:3091/graphql`)}e.s(["controlPlaneRequest",0,f,"controlPlaneSubscriptions",0,function(){return h??=function(t){let r,n,i,s,{url:f,connectionParams:h,lazy:m=!0,onNonLazyError:y=console.error,lazyCloseTimeout:g=0,keepAlive:x=0,disablePong:v,connectionAckWaitTimeout:b=0,retryAttempts:w=5,retryWait:j=async function(e){let t=Math.pow(2,e);await new Promise(e=>setTimeout(e,1e3*t+Math.floor(2700*Math.random()+300)))},shouldRetry:E=p,on:k,webSocketImpl:S,generateID:N=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})},jsonMessageReplacer:C,jsonMessageReviver:A}=t;if(S){var T;if(!("function"==typeof(T=S)&&"constructor"in T&&"CLOSED"in T&&"CLOSING"in T&&"CONNECTING"in T&&"OPEN"in T))throw Error("Invalid WebSocket implementation provided");r=S}else r="u">typeof WebSocket?WebSocket:e.g.WebSocket||e.g.MozWebSocket;if(!r)throw Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");let R=r,$=(n={},i={on:(e,t)=>(n[e]=t,()=>{delete n[e]}),emit(e){"id"in e&&n[e.id]?.(e)}},s={connecting:k?.connecting?[k.connecting]:[],opened:k?.opened?[k.opened]:[],connected:k?.connected?[k.connected]:[],ping:k?.ping?[k.ping]:[],pong:k?.pong?[k.pong]:[],message:k?.message?[i.emit,k.message]:[i.emit],closed:k?.closed?[k.closed]:[],error:k?.error?[k.error]:[]},{onMessage:i.on,on(e,t){let r=s[e];return r.push(t),()=>{r.splice(r.indexOf(t),1)}},emit(e,...t){for(let r of[...s[e]])r(...t)}});function I(e){let t=[$.on("error",r=>{t.forEach(e=>e()),e(r)}),$.on("closed",r=>{t.forEach(e=>e()),e(r)})]}let M,O=0,z,P=!1,_=0,D=!1;async function B(){clearTimeout(z);let[e,t]=await (M??(M=new Promise((e,t)=>(async()=>{let r,n;if(P){if(await j(_),!O)return M=void 0,t({code:1e3,reason:"All Subscriptions Gone"});_++}$.emit("connecting",P);let i=new R("function"==typeof f?await f():f,"graphql-transport-ws");function s(){isFinite(x)&&x>0&&(clearTimeout(n),n=setTimeout(()=>{i.readyState===R.OPEN&&(i.send(d({type:l.Ping})),$.emit("ping",!1,void 0))},x))}I(e=>{M=void 0,clearTimeout(r),clearTimeout(n),t(e),e instanceof u&&(i.close(4499,"Terminated"),i.onerror=null,i.onclose=null)}),i.onerror=e=>$.emit("error",e),i.onclose=e=>$.emit("closed",e),i.onopen=async()=>{try{$.emit("opened",i);let e="function"==typeof h?await h():h;if(i.readyState!==R.OPEN)return;i.send(d(e?{type:l.ConnectionInit,payload:e}:{type:l.ConnectionInit},C)),isFinite(b)&&b>0&&(r=setTimeout(()=>{i.close(a.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},b)),s()}catch(e){$.emit("error",e),i.close(a.InternalClientError,o(e instanceof Error?e.message:String(e),"Internal client error"))}};let p=!1;i.onmessage=({data:t})=>{try{let n=c("string"==typeof t?JSON.parse(t,A):t);if($.emit("message",n),"ping"===n.type||"pong"===n.type){$.emit(n.type,!0,n.payload),"pong"===n.type?s():v||(i.send(d(n.payload?{type:l.Pong,payload:n.payload}:{type:l.Pong})),$.emit("pong",!1,n.payload));return}if(p)return;if(n.type!==l.ConnectionAck)throw Error(`First message cannot be of type ${n.type}`);clearTimeout(r),p=!0,$.emit("connected",i,n.payload,P),P=!1,_=0,e([i,new Promise((e,t)=>I(t))])}catch(e){i.onmessage=null,$.emit("error",e),i.close(a.BadResponse,o(e instanceof Error?e.message:String(e),"Bad response"))}}})())));e.readyState===R.CLOSING&&await t;let r=()=>{},n=new Promise(e=>r=e);return[e,r,Promise.race([n.then(()=>{O||(isFinite(g)&&g>0?z=setTimeout(()=>{e.readyState===R.OPEN&&e.close(1e3,"Normal Closure")},g):e.close(1e3,"Normal Closure"))}),t])]}function q(e){var t;if(p(e)&&(![1e3,1001,1006,1005,1012,1013,1014].includes(t=e.code)&&t>=1e3&&t<=1999||[a.InternalServerError,a.InternalClientError,a.BadRequest,a.BadResponse,a.Unauthorized,a.SubprotocolNotAcceptable,a.SubscriberAlreadyExists,a.TooManyInitialisationRequests].includes(e.code)))throw e;if(D)return!1;if(p(e)&&1e3===e.code)return O>0;if(!w||_>=w||!E(e))throw e;return P=!0}function L(e,t){let r=N(e),n=!1,i=!1,s=()=>{O--,n=!0};return(async()=>{for(O++;;)try{let[o,a,c]=await B();if(n)return a();let u=$.onMessage(r,e=>{switch(e.type){case l.Next:return void t.next(e.payload);case l.Error:i=!0,n=!0,t.error(e.payload),s();return;case l.Complete:n=!0,s();return}});o.send(d({id:r,type:l.Subscribe,payload:e},C)),s=()=>{n||o.readyState!==R.OPEN||o.send(d({id:r,type:l.Complete},C)),O--,n=!0,a()},await c.finally(u);return}catch(e){if(!q(e))return}})().then(()=>{i||t.complete()}).catch(e=>{t.error(e)}),()=>{n||s()}}return m||(async()=>{for(O++;;)try{let[,,e]=await B();await e}catch(e){try{if(!q(e))return}catch(e){return y?.(e)}}})(),{on:$.on,subscribe:L,iterate(e){let t=[],r={done:!1,error:null,resolve:()=>{}},n=L(e,{next(e){t.push(e),r.resolve()},error(e){r.done=!0,r.error=e,r.resolve()},complete(){r.done=!0,r.resolve()}}),i=async function*(){for(;;){for(t.length||await new Promise(e=>r.resolve=e);t.length;)yield t.shift();if(r.error)throw r.error;if(r.done)return}}();return i.throw=async e=>(r.done||(r.done=!0,r.error=e,r.resolve()),{done:!0,value:void 0}),i.return=async()=>(n(),{done:!0,value:void 0}),i},async dispose(){if(D=!0,M){let[e]=await M;e.close(1e3,"Normal Closure")}},terminate(){M&&$.emit("closed",new u)}}}({url:m,lazy:!0,retryAttempts:1/0,shouldRetry:()=>!0})}],637611)},487486,e=>{"use strict";var t=e.i(843476),r=e.i(225913),n=e.i(709840),i=e.i(975157);let s=(0,r.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",success:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300 [a]:hover:bg-emerald-500/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:r="default",asChild:o=!1,...a}){let l=o?n.Slot.Root:"span";return(0,t.jsx)(l,{className:(0,i.cn)(s({variant:r}),e),"data-slot":"badge","data-variant":r,...a})}])},643957,e=>{"use strict";let t=(0,e.i(456420).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t])},999682,e=>{"use strict";var t=e.i(271645);e.s(["usePrevious",0,function(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}])},593698,e=>{"use strict";var t=e.i(643957);e.s(["CheckIcon",()=>t.default])},75830,586318,e=>{"use strict";var t=e.i(271645),r=e.i(30030);function n(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function i(...e){return t.useCallback(function(...e){return t=>{let r=!1,i=e.map(e=>{let i=n(e,t);return r||"function"!=typeof i||(r=!0),i});if(r)return()=>{for(let t=0;t<i.length;t++){let r=i[t];"function"==typeof r?r():n(e[t],null)}}}}(...e),e)}function s(e){let r=t.forwardRef((r,n)=>{var s;let l,f,{children:h,...m}=r,y=null,g=!1,x=[];c(h)&&"function"==typeof p&&(h=p(h._payload)),t.Children.forEach(h,e=>{var r;if(r=e,t.isValidElement(r)&&"function"==typeof r.type&&"__radixId"in r.type&&r.type.__radixId===o){g=!0;let t="child"in e.props?e.props.child:e.props.children;c(t)&&"function"==typeof p&&(t=p(t._payload)),y=a(e,t),x.push(y?.props?.children)}else x.push(e)}),y?y=t.cloneElement(y,void 0,x):!g&&1===t.Children.count(h)&&t.isValidElement(h)&&(y=h);let v=y?(s=y,(f=(l=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?s.ref:(f=(l=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?s.props.ref:s.props.ref||s.ref):void 0,b=i(n,v);if(!y){if(h||0===h)throw Error(g?u(e):d(e));return h}let w=function(e,t){let r={...t};for(let n in t){let i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...e)=>{let t=s(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...s}:"className"===n&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}(m,y.props??{});return y.type!==t.Fragment&&(w.ref=n?b:v),t.cloneElement(y,w)});return r.displayName=`${e}.Slot`,r}var o=Symbol.for("radix.slottable"),a=(e,r)=>{if("child"in e.props){let r=e.props.child;return t.isValidElement(r)?t.cloneElement(r,void 0,e.props.children(r.props.children)):null}return t.isValidElement(r)?r:null},l=Symbol.for("react.lazy");function c(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===l&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var d=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,u=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,p=t[" use ".trim().toString()],f=e.i(843476),h=new WeakMap;function m(e,t){var r,n;let i,s,o;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let a=(r=e,n=t,i=r.length,(o=(s=y(n))>=0?s:i+s)<0||o>=i?-1:o);return -1===a?void 0:e[a]}function y(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],h.set(this,!0)}set(e,t){return h.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,i=this.has(t),s=this.#e.length,o=y(e),a=o>=0?o:s+o,l=a<0||a>=s?-1:a;if(l===this.size||i&&l===this.size-1||-1===l)return this.set(t,r),this;let c=this.size+ +!i;o<0&&a++;let d=[...this.#e],u=!1;for(let e=a;e<c;e++)if(a===e){let s=d[e];d[e]===t&&(s=d[e+1]),i&&this.delete(t),n=this.get(s),this.set(t,r)}else{u||d[e-1]!==t||(u=!0);let r=d[u?e:e-1],i=n;n=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,n){let i=new e(this);return i.insert(t,r,n),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=m(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=m(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return m(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&n.push(e),i++;return new e(n)}map(t,r){let n=[],i=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(n)}reduce(...e){let[t,r]=e,n=0,i=r??this.at(0);for(let r of this)i=0===n&&1===e.length?r:Reflect.apply(t,this,[i,r,n,this]),n++;return i}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);n=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[n,i,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,i=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,function(e){let n=e+"CollectionProvider",[o,a]=(0,r.createContextScope)(n),[l,c]=o(n,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:n}=e,i=t.useRef(null),s=t.useRef(new Map).current;return(0,f.jsx)(l,{scope:r,itemMap:s,collectionRef:i,children:n})};d.displayName=n;let u=e+"CollectionSlot",p=s(u),h=t.forwardRef((e,t)=>{let{scope:r,children:n}=e,s=i(t,c(u,r).collectionRef);return(0,f.jsx)(p,{ref:s,children:n})});h.displayName=u;let m=e+"CollectionItemSlot",y="data-radix-collection-item",g=s(m),x=t.forwardRef((e,r)=>{let{scope:n,children:s,...o}=e,a=t.useRef(null),l=i(r,a),d=c(m,n);return t.useEffect(()=>(d.itemMap.set(a,{ref:a,...o}),()=>void d.itemMap.delete(a))),(0,f.jsx)(g,{...{[y]:""},ref:l,children:s})});return x.displayName=m,[{Provider:d,Slot:h,ItemSlot:x},function(r){let n=c(e+"CollectionConsumer",r);return t.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${y}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},a]}],75830);var g=t.createContext(void 0);e.s(["useDirection",0,function(e){let r=t.useContext(g);return e||r||"ltr"}],586318)},26495,e=>{"use strict";let t=(0,e.i(456420).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",0,t])},144716,e=>{"use strict";let t=(0,e.i(456420).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["default",0,t])},508734,e=>{"use strict";let t=(0,e.i(456420).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],508734)},741120,e=>{"use strict";let t=(0,e.i(456420).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],741120)},82612,e=>{"use strict";var t=e.i(843476),r=e.i(225913),n=e.i(975157);let i=(0,r.cva)("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"}},defaultVariants:{variant:"default"}});e.s(["Empty",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty",className:(0,n.cn)("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance",e),...r})},"EmptyDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty-description",className:(0,n.cn)("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e),...r})},"EmptyHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty-header",className:(0,n.cn)("flex max-w-sm flex-col items-center gap-2",e),...r})},"EmptyMedia",0,function({className:e,variant:r="default",...s}){return(0,t.jsx)("div",{"data-slot":"empty-icon","data-variant":r,className:(0,n.cn)(i({variant:r,className:e})),...s})},"EmptyTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty-title",className:(0,n.cn)("font-heading text-sm font-medium tracking-tight",e),...r})}])},462777,e=>{"use strict";async function t(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select();let r=document.execCommand("copy");if(t.remove(),!r)throw Error("Copy is not supported by this browser")}e.s(["copyText",0,t,"createClientId",0,function(){try{if(globalThis.crypto?.randomUUID)return globalThis.crypto.randomUUID()}catch{}if(globalThis.crypto?.getRandomValues)try{let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return Array.from(e,e=>e.toString(16).padStart(2,"0")).join("")}catch{}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}])},778434,e=>{"use strict";e.s(["AGENT_FIELDS",0,"id name hostname version osVersion architecture cpuModel memoryTotalBytes memoryFreeBytes diskTotalBytes diskFreeBytes capabilities baseRepoDirectory derivedDataLocationMode derivedDataPath buildsDirectory defaultBuildsDirectory effectiveBuildsDirectory connectionStatus ipAddress lastSeenAt disconnectedAt createdAt","JOB_FIELDS",0,"id agentId kind payload status error result timeoutSeconds createdAt startedAt finishedAt updatedAt","JOB_LOG_FIELDS",0,"id jobId sequence stream message createdAt"])},675926,e=>{"use strict";var t=e.i(843476),r=e.i(948148),n=e.i(487486),i=e.i(975157);e.s(["StatusBadge",0,function({status:e}){let s=(0,r.useTranslations)("status"),o="ONLINE"===e||"RUNNING"===e||"SUCCEEDED"===e,a="FAILED"===e||"TIMED_OUT"===e;return(0,t.jsx)(n.Badge,{className:(0,i.cn)(o&&"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",a&&"border-destructive/30 bg-destructive/10 text-destructive"),variant:o||a?"outline":"secondary",children:s(e.toLowerCase())})}])},697270,e=>{"use strict";var t=e.i(843476),r=e.i(508734);let n=(0,e.i(456420).default)("laptop",[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]]);var i=e.i(77071),s=e.i(741120),o=e.i(948148),a=e.i(271645),l=e.i(929592),c=e.i(519455),d=e.i(515288),u=e.i(82612),p=e.i(987968),f=e.i(967489),h=e.i(520133),m=e.i(462777),y=e.i(637611),g=e.i(675926),x=e.i(778434);let v=`query Agents { agents { ${x.AGENT_FIELDS} } }`;e.s(["AgentsList",0,function({localServerOrigins:e=[]}){let b=(0,o.useTranslations)("agents"),[w,j]=(0,a.useState)([]),[E,k]=(0,a.useState)(!0),[S,N]=(0,a.useState)(null),[C,A]=(0,a.useState)(null),[T,R]=(0,a.useState)(null),$=(0,a.useCallback)(async()=>{try{let e=await (0,y.controlPlaneRequest)(v);j(e.agents),N(null)}catch(e){N(e instanceof Error?e.message:String(e))}finally{k(!1)}},[]);(0,a.useEffect)(()=>{let e=window.setTimeout(()=>void $(),0),t=(0,y.controlPlaneSubscriptions)().subscribe({query:`subscription { agentChanged { ${x.AGENT_FIELDS} } }`},{next:e=>{let t=e.data?.agentChanged;t&&j(e=>{let r=e.findIndex(e=>e.id===t.id);return -1===r?[t,...e]:e.map((e,n)=>n===r?t:e)})},error:()=>void 0,complete:()=>void 0});return()=>{window.clearTimeout(e),t()}},[$]);let I=async()=>{try{let e=await (0,y.controlPlaneRequest)("mutation { createAgentEnrollmentToken { token expiresAt } }");A(e.createAgentEnrollmentToken)}catch(e){N(e instanceof Error?e.message:String(e))}},M=async()=>{try{await (0,m.copyText)(z)}catch{N(b("copyFailed"))}},O=window.location.origin,z=C?`control-agent enroll --server ${T??O??"http://127.0.0.1:3090"} --enrollment-token ${C.token}`:"",P=[...new Set([O,...e].filter(e=>!!e))];return(0,t.jsxs)("section",{className:"mx-auto flex w-full max-w-6xl flex-col gap-6",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:b("title")}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("description")})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(c.Button,{onClick:()=>void $(),variant:"outline",children:[(0,t.jsx)(s.RefreshCw,{}),b("refresh")]}),(0,t.jsxs)(c.Button,{onClick:()=>void I(),children:[(0,t.jsx)(i.Plus,{}),b("enroll")]})]})]}),C&&(0,t.jsx)(d.Card,{children:(0,t.jsxs)(d.CardContent,{children:[(0,t.jsx)("h2",{className:"font-medium",children:b("enrollmentTitle")}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("enrollmentDescription")}),(0,t.jsxs)(f.Select,{onValueChange:R,value:T??O??void 0,children:[(0,t.jsx)(f.SelectTrigger,{"aria-label":b("serverAddress"),className:"mt-3 w-full sm:w-auto sm:min-w-72",children:(0,t.jsx)(f.SelectValue,{placeholder:b("serverAddress")})}),(0,t.jsx)(f.SelectContent,{align:"start",children:P.map(e=>(0,t.jsx)(f.SelectItem,{value:e,children:e},e))})]}),(0,t.jsxs)("div",{className:"mt-3 flex items-start gap-2 rounded-lg bg-muted p-3",children:[(0,t.jsx)("code",{className:"min-w-0 flex-1 break-all text-xs",children:z}),(0,t.jsx)(c.Button,{"aria-label":b("copy"),onClick:()=>void M(),size:"icon-sm",variant:"ghost",children:(0,t.jsx)(r.Copy,{})})]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("expires",{date:new Date(C.expiresAt).toLocaleString()})})]})}),S&&(0,t.jsx)(l.Alert,{variant:"destructive",children:(0,t.jsx)(l.AlertDescription,{children:S})}),E?(0,t.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(p.Spinner,{}),b("loading")]}):0===w.length?(0,t.jsx)(u.Empty,{className:"border py-10",children:(0,t.jsxs)(u.EmptyHeader,{children:[(0,t.jsx)(u.EmptyMedia,{variant:"icon",children:(0,t.jsx)(n,{})}),(0,t.jsx)(u.EmptyTitle,{children:b("emptyTitle")}),(0,t.jsx)(u.EmptyDescription,{children:b("emptyDescription")})]})}):(0,t.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:w.map(e=>(0,t.jsx)(h.Link,{href:`/agents/${e.id}`,className:"rounded-xl outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(d.Card,{className:"h-full transition-colors hover:bg-muted/50",children:(0,t.jsxs)(d.CardContent,{children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h2",{className:"truncate font-medium",children:e.name}),(0,t.jsx)("p",{className:"truncate text-sm text-muted-foreground",children:e.hostname})]}),(0,t.jsx)(g.StatusBadge,{status:e.connectionStatus})]}),(0,t.jsxs)("dl",{className:"mt-4 grid grid-cols-2 gap-2 text-xs text-muted-foreground",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:b("version")}),(0,t.jsx)("dd",{className:"text-foreground",children:e.version})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:b("platform")}),(0,t.jsx)("dd",{className:"text-foreground",children:e.cpuModel??e.architecture})]}),(0,t.jsxs)("div",{className:"col-span-2",children:[(0,t.jsx)("dt",{children:b("lastSeen")}),(0,t.jsx)("dd",{className:"text-foreground",children:e.lastSeenAt?new Date(e.lastSeenAt).toLocaleString():b("never")})]})]})]})})},e.id))})]})}],697270)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,959411,e=>{"use strict";var t=e.i(271645);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}e.i(174080);var o=Symbol.for("radix.slottable"),n=Symbol.for("react.lazy");function i(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===n&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var l=t[" use ".trim().toString()],a=e.i(843476),s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{var s;let d,c=(s=`Primitive.${n}`,(d=t.forwardRef((e,n)=>{var a;let d,c,{children:u,...p}=e,f=null,m=!1,h=[];i(u)&&"function"==typeof l&&(u=l(u._payload)),t.Children.forEach(u,e=>{var r;if(r=e,t.isValidElement(r)&&"function"==typeof r.type&&"__radixId"in r.type&&r.type.__radixId===o){m=!0;let r="child"in e.props?e.props.child:e.props.children;i(r)&&"function"==typeof l&&(r=l(r._payload)),f=((e,r)=>{if("child"in e.props){let r=e.props.child;return t.isValidElement(r)?t.cloneElement(r,void 0,e.props.children(r.props.children)):null}return t.isValidElement(r)?r:null})(e,r),h.push(f?.props?.children)}else h.push(e)}),f?f=t.cloneElement(f,void 0,h):!m&&1===t.Children.count(u)&&t.isValidElement(u)&&(f=u);let g=f?(a=f,(c=(d=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?a.ref:(c=(d=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?a.props.ref:a.props.ref||a.ref):void 0,y=function(...e){return t.useCallback(function(...e){return t=>{let o=!1,n=e.map(e=>{let n=r(e,t);return o||"function"!=typeof n||(o=!0),n});if(o)return()=>{for(let t=0;t<n.length;t++){let o=n[t];"function"==typeof o?o():r(e[t],null)}}}}(...e),e)}(n,g);if(!f){if(u||0===u){let e,t;throw Error(m?(e=s,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=s,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return u}let b=function(e,t){let r={...t};for(let o in t){let n=e[o],i=t[o];/^on[A-Z]/.test(o)?n&&i?r[o]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...i}:"className"===o&&(r[o]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(p,f.props??{});return f.type!==t.Fragment&&(b.ref=n?y:g),t.cloneElement(f,b)})).displayName=`${s}.Slot`,d),u=t.forwardRef((e,t)=>{let{asChild:r,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(r?c:n,{...o,ref:t})});return u.displayName=`Primitive.${n}`,{...e,[n]:u}},{}),d=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),c=t.forwardRef((e,t)=>(0,a.jsx)(s.span,{...e,ref:t,style:{...d,...e.style}}));c.displayName="VisuallyHidden",e.s(["Root",0,c,"VISUALLY_HIDDEN_STYLES",0,d],959411)},343084,e=>{"use strict";let t=["top","right","bottom","left"],r=t.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]),o=Math.min,n=Math.max,i=Math.round,l=Math.floor,a={left:"right",right:"left",bottom:"top",top:"bottom"};function s(e){return e.split("-")[0]}function d(e){return e.split("-")[1]}function c(e){return"x"===e?"y":"x"}function u(e){return"y"===e?"height":"width"}function p(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function f(e){return c(p(e))}function m(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let h=["left","right"],g=["right","left"],y=["top","bottom"],b=["bottom","top"];function v(e){let t=s(e);return a[t]+e.slice(t.length)}e.s(["clamp",0,function(e,t,r){return n(e,o(t,r))},"createCoords",0,e=>({x:e,y:e}),"evaluate",0,function(e,t){return"function"==typeof e?e(t):e},"floor",0,l,"getAlignment",0,d,"getAlignmentAxis",0,f,"getAlignmentSides",0,function(e,t,r){void 0===r&&(r=!1);let o=d(e),n=f(e),i=u(n),l="x"===n?o===(r?"end":"start")?"right":"left":"start"===o?"bottom":"top";return t.reference[i]>t.floating[i]&&(l=v(l)),[l,v(l)]},"getAxisLength",0,u,"getExpandedPlacements",0,function(e){let t=v(e);return[m(e),t,m(t)]},"getOppositeAlignmentPlacement",0,m,"getOppositeAxis",0,c,"getOppositeAxisPlacements",0,function(e,t,r,o){let n=d(e),i=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?g:h;return t?h:g;case"left":case"right":return t?y:b;default:return[]}}(s(e),"start"===r,o);return n&&(i=i.map(e=>e+"-"+n),t&&(i=i.concat(i.map(m)))),i},"getOppositePlacement",0,v,"getPaddingObject",0,function(e){var t,r,o,n;return"number"!=typeof e?{top:null!=(t=e.top)?t:0,right:null!=(r=e.right)?r:0,bottom:null!=(o=e.bottom)?o:0,left:null!=(n=e.left)?n:0}:{top:e,right:e,bottom:e,left:e}},"getSide",0,s,"getSideAxis",0,p,"max",0,n,"min",0,o,"placements",0,r,"rectToClientRect",0,function(e){let{x:t,y:r,width:o,height:n}=e;return{width:o,height:n,top:r,left:t,right:t+o,bottom:r+n,x:t,y:r}},"round",0,i,"sides",0,t])},229315,e=>{"use strict";let t;function r(){return"u">typeof window}function o(e){return l(e)?(e.nodeName||"").toLowerCase():"#document"}function n(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function i(e){var t;return null==(t=(l(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function l(e){return!!r()&&(e instanceof Node||e instanceof n(e).Node)}function a(e){return!!r()&&(e instanceof Element||e instanceof n(e).Element)}function s(e){return!!r()&&(e instanceof HTMLElement||e instanceof n(e).HTMLElement)}function d(e){return!(!r()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof n(e).ShadowRoot)}function c(e){let{overflow:t,overflowX:r,overflowY:o,display:n}=b(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+r)&&"inline"!==n&&"contents"!==n}function u(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let p=/transform|translate|scale|rotate|perspective|filter/,f=/paint|layout|strict|content/,m=e=>!!e&&"none"!==e;function h(e){let t=a(e)?b(e):e;return m(t.transform)||m(t.translate)||m(t.scale)||m(t.rotate)||m(t.perspective)||!g()&&(m(t.backdropFilter)||m(t.filter))||p.test(t.willChange||"")||f.test(t.contain||"")}function g(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function y(e){return/^(html|body|#document)$/.test(o(e))}function b(e){return n(e).getComputedStyle(e)}function v(e){if("html"===o(e))return e;let t=e.assignedSlot||e.parentNode||d(e)&&e.host||i(e);return d(t)?t.host:t}function x(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}e.s(["getComputedStyle",0,b,"getContainingBlock",0,function(e){let t=v(e);for(;s(t)&&!y(t);){if(h(t))return t;if(u(t))break;t=v(t)}return null},"getDocumentElement",0,i,"getFrameElement",0,x,"getNodeName",0,o,"getNodeScroll",0,function(e){return a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}},"getOverflowAncestors",0,function e(t,r,o){var i;void 0===r&&(r=[]),void 0===o&&(o=!0);let l=function e(t){let r=v(t);return y(r)?(t.ownerDocument||t).body:s(r)&&c(r)?r:e(r)}(t),a=l===(null==(i=t.ownerDocument)?void 0:i.body),d=n(l);if(!a)return r.concat(l,e(l,[],o));{let t=x(d);return r.concat(d,d.visualViewport||[],c(l)?l:[],t&&o?e(t):[])}},"getParentNode",0,v,"getWindow",0,n,"isContainingBlock",0,h,"isElement",0,a,"isHTMLElement",0,s,"isLastTraversableNode",0,y,"isOverflowElement",0,c,"isShadowRoot",0,d,"isTableElement",0,function(e){return/^(table|td|th)$/.test(o(e))},"isTopLayer",0,u,"isWebKit",0,g])},793479,e=>{"use strict";var t=e.i(843476),r=e.i(975157);e.s(["Input",0,function({className:e,type:o,...n}){return(0,t.jsx)("input",{type:o,"data-slot":"input",className:(0,r.cn)("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...n})}])},635804,e=>{"use strict";var t=e.i(271645),r=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useSize",0,function(e){let[o,n]=t.useState(void 0);return r(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,o;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,o=t.blockSize}else r=e.offsetWidth,o=e.offsetHeight;n({width:r,height:o})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),o}],635804)},814387,e=>{"use strict";let t=(0,e.i(456420).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",0,t])},964053,e=>{"use strict";var t=e.i(326999);e.s(["Dialog",0,t])},560964,e=>{"use strict";var t=e.i(814387);e.s(["XIcon",()=>t.default])},269846,e=>{"use strict";let t=(0,e.i(456420).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);e.s(["GitBranch",0,t],269846)},772436,e=>{"use strict";var t=e.i(843476),r=e.i(271645);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}e.i(174080);var n=Symbol.for("radix.slottable"),i=Symbol.for("react.lazy");function l(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===i&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var a=r[" use ".trim().toString()],s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,i)=>{var s;let d,c=(s=`Primitive.${i}`,(d=r.forwardRef((e,t)=>{var i;let d,c,{children:u,...p}=e,f=null,m=!1,h=[];l(u)&&"function"==typeof a&&(u=a(u._payload)),r.Children.forEach(u,e=>{var t;if(t=e,r.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===n){m=!0;let t="child"in e.props?e.props.child:e.props.children;l(t)&&"function"==typeof a&&(t=a(t._payload)),f=((e,t)=>{if("child"in e.props){let t=e.props.child;return r.isValidElement(t)?r.cloneElement(t,void 0,e.props.children(t.props.children)):null}return r.isValidElement(t)?t:null})(e,t),h.push(f?.props?.children)}else h.push(e)}),f?f=r.cloneElement(f,void 0,h):!m&&1===r.Children.count(u)&&r.isValidElement(u)&&(f=u);let g=f?(i=f,(c=(d=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?i.ref:(c=(d=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?i.props.ref:i.props.ref||i.ref):void 0,y=function(...e){return r.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=o(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():o(e[t],null)}}}}(...e),e)}(t,g);if(!f){if(u||0===u){let e,t;throw Error(m?(e=s,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=s,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return u}let b=function(e,t){let r={...t};for(let o in t){let n=e[o],i=t[o];/^on[A-Z]/.test(o)?n&&i?r[o]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...i}:"className"===o&&(r[o]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(p,f.props??{});return f.type!==r.Fragment&&(b.ref=t?y:g),r.cloneElement(f,b)})).displayName=`${s}.Slot`,d),u=r.forwardRef((e,r)=>{let{asChild:o,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(o?c:i,{...n,ref:r})});return u.displayName=`Primitive.${i}`,{...e,[i]:u}},{}),d="horizontal",c=["horizontal","vertical"],u=r.forwardRef((e,r)=>{var o;let{decorative:n,orientation:i=d,...l}=e,a=(o=i,c.includes(o))?i:d;return(0,t.jsx)(s.div,{"data-orientation":a,...n?{role:"none"}:{"aria-orientation":"vertical"===a?a:void 0,role:"separator"},...l,ref:r})});u.displayName="Separator",e.s(["Root",0,u,"Separator",0,u],886392);var p=e.i(886392),p=p,f=e.i(975157);e.s(["Separator",0,function({className:e,orientation:r="horizontal",decorative:o=!0,...n}){return(0,t.jsx)(p.Root,{"data-slot":"separator",decorative:o,orientation:r,className:(0,f.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",e),...n})}],772436)},980376,e=>{"use strict";var t=e.i(843476),r=e.i(964053),o=e.i(975157),n=e.i(519455),i=e.i(560964);function l({...e}){return(0,t.jsx)(r.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function a({className:e,...n}){return(0,t.jsx)(r.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,o.cn)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["Sheet",0,function({...e}){return(0,t.jsx)(r.Dialog.Root,{"data-slot":"sheet",...e})},"SheetContent",0,function({className:e,children:s,side:d="right",showCloseButton:c=!0,...u}){return(0,t.jsxs)(l,{children:[(0,t.jsx)(a,{}),(0,t.jsxs)(r.Dialog.Content,{"data-slot":"sheet-content","data-side":d,className:(0,o.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",e),...u,children:[s,c&&(0,t.jsx)(r.Dialog.Close,{"data-slot":"sheet-close",asChild:!0,children:(0,t.jsxs)(n.Button,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[(0,t.jsx)(i.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})},"SheetDescription",0,function({className:e,...n}){return(0,t.jsx)(r.Dialog.Description,{"data-slot":"sheet-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...n})},"SheetHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-0.5 p-4",e),...r})},"SheetTitle",0,function({className:e,...n}){return(0,t.jsx)(r.Dialog.Title,{"data-slot":"sheet-title",className:(0,o.cn)("font-heading text-base font-medium text-foreground",e),...n})}])},746798,e=>{"use strict";let t;var r=e.i(843476),o=e.i(271645);function n(e,t,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e?.(o),!1===r||!o||!o.defaultPrevented)return t?.(o)}}function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(...e){return o.useCallback(function(...e){return t=>{let r=!1,o=e.map(e=>{let o=i(e,t);return r||"function"!=typeof o||(r=!0),o});if(r)return()=>{for(let t=0;t<o.length;t++){let r=o[t];"function"==typeof r?r():i(e[t],null)}}}}(...e),e)}"u">typeof window&&window.document&&window.document.createElement;var a=e.i(30030),s=e.i(726330),d=e.i(610772),c=e.i(853660),u=e.i(774606),p=e.i(296626);e.i(174080);var f=Symbol.for("radix.slottable"),m=Symbol.for("react.lazy");function h(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===m&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var g=o[" use ".trim().toString()],y=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var n;let i,a=(n=`Primitive.${t}`,(i=o.forwardRef((e,t)=>{var r;let i,a,{children:s,...d}=e,c=null,u=!1,p=[];h(s)&&"function"==typeof g&&(s=g(s._payload)),o.Children.forEach(s,e=>{var t;if(t=e,o.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===f){u=!0;let t="child"in e.props?e.props.child:e.props.children;h(t)&&"function"==typeof g&&(t=g(t._payload)),c=((e,t)=>{if("child"in e.props){let t=e.props.child;return o.isValidElement(t)?o.cloneElement(t,void 0,e.props.children(t.props.children)):null}return o.isValidElement(t)?t:null})(e,t),p.push(c?.props?.children)}else p.push(e)}),c?c=o.cloneElement(c,void 0,p):!u&&1===o.Children.count(s)&&o.isValidElement(s)&&(c=s);let m=c?(r=c,(a=(i=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?r.ref:(a=(i=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?r.props.ref:r.props.ref||r.ref):void 0,y=l(t,m);if(!c){if(s||0===s){let e,t;throw Error(u?(e=n,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=n,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return s}let b=function(e,t){let r={...t};for(let o in t){let n=e[o],i=t[o];/^on[A-Z]/.test(o)?n&&i?r[o]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...i}:"className"===o&&(r[o]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(d,c.props??{});return c.type!==o.Fragment&&(b.ref=t?y:m),o.cloneElement(c,b)})).displayName=`${n}.Slot`,i),s=o.forwardRef((e,o)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,r.jsx)(n?a:t,{...i,ref:o})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{}),b=globalThis?.document?o.useLayoutEffect:()=>{};o[" useEffectEvent ".trim().toString()],o[" useInsertionEffect ".trim().toString()];var v=o[" useInsertionEffect ".trim().toString()]||b;Symbol("RADIX:SYNC_STATE");var x=e.i(959411),[w,E]=(0,a.createContextScope)("Tooltip",[c.createPopperScope]),S=(0,c.createPopperScope)(),C="TooltipProvider",T="tooltip.open",[R,j]=w(C),k=e=>{let{__scopeTooltip:t,delayDuration:n=700,skipDelayDuration:i=300,disableHoverableContent:l=!1,children:a}=e,s=o.useRef(!0),d=o.useRef(!1),c=o.useRef(0);return o.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,r.jsx)(R,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:o.useCallback(()=>{i<=0||(window.clearTimeout(c.current),s.current=!1)},[i]),onClose:o.useCallback(()=>{i<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:o.useCallback(e=>{d.current=e},[]),disableHoverableContent:l,children:a})};k.displayName=C;var P="Tooltip",[_,N]=w(P),D=e=>{let{__scopeTooltip:t,children:n,open:i,defaultOpen:l,onOpenChange:a,disableHoverableContent:s,delayDuration:u}=e,p=j(P,e.__scopeTooltip),f=S(t),[m,h]=o.useState(null),g=(0,d.useId)(),y=o.useRef(0),b=s??p.disableHoverableContent,x=u??p.delayDuration,w=o.useRef(!1),[E,C]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[i,l,a]=function({defaultProp:e,onChange:t}){let[r,n]=o.useState(e),i=o.useRef(r),l=o.useRef(t);return v(()=>{l.current=t},[t]),o.useEffect(()=>{i.current!==r&&(l.current?.(r),i.current=r)},[r,i]),[r,n,l]}({defaultProp:t,onChange:r}),s=void 0!==e,d=s?e:i;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==s){let t=s?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,n])}return[d,o.useCallback(t=>{if(s){let r="function"==typeof t?t(e):t;r!==e&&a.current?.(r)}else l(t)},[s,e,l,a])]}({prop:i,defaultProp:l??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(T))):p.onClose(),a?.(e)},caller:P}),R=o.useMemo(()=>E?w.current?"delayed-open":"instant-open":"closed",[E]),k=o.useCallback(()=>{window.clearTimeout(y.current),y.current=0,w.current=!1,C(!0)},[C]),N=o.useCallback(()=>{window.clearTimeout(y.current),y.current=0,C(!1)},[C]),D=o.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{w.current=!0,C(!0),y.current=0},x)},[x,C]);return o.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,r.jsx)(c.Root,{...f,children:(0,r.jsx)(_,{scope:t,contentId:g,open:E,stateAttribute:R,trigger:m,onTriggerChange:h,onTriggerEnter:o.useCallback(()=>{p.isOpenDelayedRef.current?D():k()},[p.isOpenDelayedRef,D,k]),onTriggerLeave:o.useCallback(()=>{b?N():(window.clearTimeout(y.current),y.current=0)},[N,b]),onOpen:k,onClose:N,disableHoverableContent:b,children:n})})};D.displayName=P;var O="TooltipTrigger",L=o.forwardRef((e,t)=>{let{__scopeTooltip:i,...a}=e,s=N(O,i),d=j(O,i),u=S(i),p=l(t,o.useRef(null),s.onTriggerChange),f=o.useRef(!1),m=o.useRef(!1),h=o.useCallback(()=>f.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),(0,r.jsx)(c.Anchor,{asChild:!0,...u,children:(0,r.jsx)(y.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...a,ref:p,onPointerMove:n(e.onPointerMove,e=>{"touch"!==e.pointerType&&(m.current||d.isPointerInTransitRef.current||(s.onTriggerEnter(),m.current=!0))}),onPointerLeave:n(e.onPointerLeave,()=>{s.onTriggerLeave(),m.current=!1}),onPointerDown:n(e.onPointerDown,()=>{s.open&&s.onClose(),f.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:n(e.onFocus,()=>{f.current||s.onOpen()}),onBlur:n(e.onBlur,s.onClose),onClick:n(e.onClick,s.onClose)})})});L.displayName=O;var $="TooltipPortal",[A,z]=w($,{forceMount:void 0}),I=e=>{let{__scopeTooltip:t,forceMount:o,children:n,container:i}=e,l=N($,t);return(0,r.jsx)(A,{scope:t,forceMount:o,children:(0,r.jsx)(p.Presence,{present:o||l.open,children:(0,r.jsx)(u.Portal,{asChild:!0,container:i,children:n})})})};I.displayName=$;var M="TooltipContent",V=o.forwardRef((e,t)=>{let o=z(M,e.__scopeTooltip),{forceMount:n=o.forceMount,side:i="top",...l}=e,a=N(M,e.__scopeTooltip);return(0,r.jsx)(p.Presence,{present:n||a.open,children:a.disableHoverableContent?(0,r.jsx)(X,{side:i,...l,ref:t}):(0,r.jsx)(W,{side:i,...l,ref:t})})}),W=o.forwardRef((e,t)=>{let n=N(M,e.__scopeTooltip),i=j(M,e.__scopeTooltip),a=o.useRef(null),s=l(t,a),[d,c]=o.useState(null),{trigger:u,onClose:p}=n,f=a.current,{onPointerInTransitChange:m}=i,h=o.useCallback(()=>{c(null),m(!1)},[m]),g=o.useCallback((e,t)=>{let r,o=e.currentTarget,n={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,o,n,i)){case i:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}(n,o.getBoundingClientRect());c(((r=[...function(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}(n,i),...function(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),m(!0)},[m]);return o.useEffect(()=>()=>h(),[h]),o.useEffect(()=>{if(u&&f){let e=e=>g(e,f),t=e=>g(e,u);return u.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[u,f,g,h]),o.useEffect(()=>{if(d){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=u?.contains(t)||f?.contains(t),n=!function(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,d=l.y,c=a.x,u=a.y;d>o!=u>o&&r<(c-s)*(o-d)/(u-d)+s&&(n=!n)}return n}(r,d);o?h():n&&(h(),p())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,f,d,p,h]),(0,r.jsx)(X,{...e,ref:s})}),[B,H]=w(P,{isInside:!1}),F=((t=e=>"child"in e?e.children(e.child):e.children).displayName="TooltipContent.Slottable",t.__radixId=f,t),X=o.forwardRef((e,t)=>{let{__scopeTooltip:n,children:i,"aria-label":l,onEscapeKeyDown:a,onPointerDownOutside:d,...u}=e,p=N(M,n),f=S(n),{onClose:m}=p;return o.useEffect(()=>(document.addEventListener(T,m),()=>document.removeEventListener(T,m)),[m]),o.useEffect(()=>{if(p.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(p.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,m]),(0,r.jsx)(s.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,r.jsxs)(c.Content,{"data-state":p.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,r.jsx)(F,{children:i}),(0,r.jsx)(B,{scope:n,isInside:!0,children:(0,r.jsx)(x.Root,{id:p.contentId,role:"tooltip",children:l||i})})]})})});V.displayName=M;var Y="TooltipArrow",K=o.forwardRef((e,t)=>{let{__scopeTooltip:o,...n}=e,i=S(o);return H(Y,o).isInside?null:(0,r.jsx)(c.Arrow,{...i,...n,ref:t})});K.displayName=Y,e.s(["Arrow",0,K,"Content",0,V,"Portal",0,I,"Provider",0,k,"Root",0,D,"Tooltip",0,D,"TooltipArrow",0,K,"TooltipContent",0,V,"TooltipPortal",0,I,"TooltipProvider",0,k,"TooltipTrigger",0,L,"Trigger",0,L,"createTooltipScope",0,E],186336);var U=e.i(186336),U=U,Z=e.i(975157);e.s(["Tooltip",0,function({...e}){return(0,r.jsx)(U.Root,{"data-slot":"tooltip",...e})},"TooltipContent",0,function({className:e,sideOffset:t=0,children:o,...n}){return(0,r.jsx)(U.Portal,{children:(0,r.jsxs)(U.Content,{"data-slot":"tooltip-content",sideOffset:t,className:(0,Z.cn)("z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...n,children:[o,(0,r.jsx)(U.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})},"TooltipProvider",0,function({delayDuration:e=0,...t}){return(0,r.jsx)(U.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})},"TooltipTrigger",0,function({...e}){return(0,r.jsx)(U.Trigger,{"data-slot":"tooltip-trigger",...e})}],746798)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,635804,e=>{"use strict";var t=e.i(271645),r=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useSize",0,function(e){let[o,n]=t.useState(void 0);return r(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,o;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,o=t.blockSize}else r=e.offsetWidth,o=e.offsetHeight;n({width:r,height:o})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),o}],635804)},343084,e=>{"use strict";let t=["top","right","bottom","left"],r=t.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]),o=Math.min,n=Math.max,i=Math.round,l=Math.floor,a={left:"right",right:"left",bottom:"top",top:"bottom"};function s(e){return e.split("-")[0]}function d(e){return e.split("-")[1]}function c(e){return"x"===e?"y":"x"}function u(e){return"y"===e?"height":"width"}function p(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function f(e){return c(p(e))}function m(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let h=["left","right"],g=["right","left"],y=["top","bottom"],b=["bottom","top"];function v(e){let t=s(e);return a[t]+e.slice(t.length)}e.s(["clamp",0,function(e,t,r){return n(e,o(t,r))},"createCoords",0,e=>({x:e,y:e}),"evaluate",0,function(e,t){return"function"==typeof e?e(t):e},"floor",0,l,"getAlignment",0,d,"getAlignmentAxis",0,f,"getAlignmentSides",0,function(e,t,r){void 0===r&&(r=!1);let o=d(e),n=f(e),i=u(n),l="x"===n?o===(r?"end":"start")?"right":"left":"start"===o?"bottom":"top";return t.reference[i]>t.floating[i]&&(l=v(l)),[l,v(l)]},"getAxisLength",0,u,"getExpandedPlacements",0,function(e){let t=v(e);return[m(e),t,m(t)]},"getOppositeAlignmentPlacement",0,m,"getOppositeAxis",0,c,"getOppositeAxisPlacements",0,function(e,t,r,o){let n=d(e),i=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?g:h;return t?h:g;case"left":case"right":return t?y:b;default:return[]}}(s(e),"start"===r,o);return n&&(i=i.map(e=>e+"-"+n),t&&(i=i.concat(i.map(m)))),i},"getOppositePlacement",0,v,"getPaddingObject",0,function(e){var t,r,o,n;return"number"!=typeof e?{top:null!=(t=e.top)?t:0,right:null!=(r=e.right)?r:0,bottom:null!=(o=e.bottom)?o:0,left:null!=(n=e.left)?n:0}:{top:e,right:e,bottom:e,left:e}},"getSide",0,s,"getSideAxis",0,p,"max",0,n,"min",0,o,"placements",0,r,"rectToClientRect",0,function(e){let{x:t,y:r,width:o,height:n}=e;return{width:o,height:n,top:r,left:t,right:t+o,bottom:r+n,x:t,y:r}},"round",0,i,"sides",0,t])},229315,e=>{"use strict";let t;function r(){return"u">typeof window}function o(e){return l(e)?(e.nodeName||"").toLowerCase():"#document"}function n(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function i(e){var t;return null==(t=(l(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function l(e){return!!r()&&(e instanceof Node||e instanceof n(e).Node)}function a(e){return!!r()&&(e instanceof Element||e instanceof n(e).Element)}function s(e){return!!r()&&(e instanceof HTMLElement||e instanceof n(e).HTMLElement)}function d(e){return!(!r()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof n(e).ShadowRoot)}function c(e){let{overflow:t,overflowX:r,overflowY:o,display:n}=b(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+r)&&"inline"!==n&&"contents"!==n}function u(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let p=/transform|translate|scale|rotate|perspective|filter/,f=/paint|layout|strict|content/,m=e=>!!e&&"none"!==e;function h(e){let t=a(e)?b(e):e;return m(t.transform)||m(t.translate)||m(t.scale)||m(t.rotate)||m(t.perspective)||!g()&&(m(t.backdropFilter)||m(t.filter))||p.test(t.willChange||"")||f.test(t.contain||"")}function g(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function y(e){return/^(html|body|#document)$/.test(o(e))}function b(e){return n(e).getComputedStyle(e)}function v(e){if("html"===o(e))return e;let t=e.assignedSlot||e.parentNode||d(e)&&e.host||i(e);return d(t)?t.host:t}function x(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}e.s(["getComputedStyle",0,b,"getContainingBlock",0,function(e){let t=v(e);for(;s(t)&&!y(t);){if(h(t))return t;if(u(t))break;t=v(t)}return null},"getDocumentElement",0,i,"getFrameElement",0,x,"getNodeName",0,o,"getNodeScroll",0,function(e){return a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}},"getOverflowAncestors",0,function e(t,r,o){var i;void 0===r&&(r=[]),void 0===o&&(o=!0);let l=function e(t){let r=v(t);return y(r)?(t.ownerDocument||t).body:s(r)&&c(r)?r:e(r)}(t),a=l===(null==(i=t.ownerDocument)?void 0:i.body),d=n(l);if(!a)return r.concat(l,e(l,[],o));{let t=x(d);return r.concat(d,d.visualViewport||[],c(l)?l:[],t&&o?e(t):[])}},"getParentNode",0,v,"getWindow",0,n,"isContainingBlock",0,h,"isElement",0,a,"isHTMLElement",0,s,"isLastTraversableNode",0,y,"isOverflowElement",0,c,"isShadowRoot",0,d,"isTableElement",0,function(e){return/^(table|td|th)$/.test(o(e))},"isTopLayer",0,u,"isWebKit",0,g])},959411,e=>{"use strict";var t=e.i(271645);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}e.i(174080);var o=Symbol.for("radix.slottable"),n=Symbol.for("react.lazy");function i(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===n&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var l=t[" use ".trim().toString()],a=e.i(843476),s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{var s;let d,c=(s=`Primitive.${n}`,(d=t.forwardRef((e,n)=>{var a;let d,c,{children:u,...p}=e,f=null,m=!1,h=[];i(u)&&"function"==typeof l&&(u=l(u._payload)),t.Children.forEach(u,e=>{var r;if(r=e,t.isValidElement(r)&&"function"==typeof r.type&&"__radixId"in r.type&&r.type.__radixId===o){m=!0;let r="child"in e.props?e.props.child:e.props.children;i(r)&&"function"==typeof l&&(r=l(r._payload)),f=((e,r)=>{if("child"in e.props){let r=e.props.child;return t.isValidElement(r)?t.cloneElement(r,void 0,e.props.children(r.props.children)):null}return t.isValidElement(r)?r:null})(e,r),h.push(f?.props?.children)}else h.push(e)}),f?f=t.cloneElement(f,void 0,h):!m&&1===t.Children.count(u)&&t.isValidElement(u)&&(f=u);let g=f?(a=f,(c=(d=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?a.ref:(c=(d=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?a.props.ref:a.props.ref||a.ref):void 0,y=function(...e){return t.useCallback(function(...e){return t=>{let o=!1,n=e.map(e=>{let n=r(e,t);return o||"function"!=typeof n||(o=!0),n});if(o)return()=>{for(let t=0;t<n.length;t++){let o=n[t];"function"==typeof o?o():r(e[t],null)}}}}(...e),e)}(n,g);if(!f){if(u||0===u){let e,t;throw Error(m?(e=s,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=s,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return u}let b=function(e,t){let r={...t};for(let o in t){let n=e[o],i=t[o];/^on[A-Z]/.test(o)?n&&i?r[o]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...i}:"className"===o&&(r[o]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(p,f.props??{});return f.type!==t.Fragment&&(b.ref=n?y:g),t.cloneElement(f,b)})).displayName=`${s}.Slot`,d),u=t.forwardRef((e,t)=>{let{asChild:r,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(r?c:n,{...o,ref:t})});return u.displayName=`Primitive.${n}`,{...e,[n]:u}},{}),d=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),c=t.forwardRef((e,t)=>(0,a.jsx)(s.span,{...e,ref:t,style:{...d,...e.style}}));c.displayName="VisuallyHidden",e.s(["Root",0,c,"VISUALLY_HIDDEN_STYLES",0,d],959411)},793479,e=>{"use strict";var t=e.i(843476),r=e.i(975157);e.s(["Input",0,function({className:e,type:o,...n}){return(0,t.jsx)("input",{type:o,"data-slot":"input",className:(0,r.cn)("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...n})}])},814387,e=>{"use strict";let t=(0,e.i(456420).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",0,t])},964053,e=>{"use strict";var t=e.i(326999);e.s(["Dialog",0,t])},560964,e=>{"use strict";var t=e.i(814387);e.s(["XIcon",()=>t.default])},269846,e=>{"use strict";let t=(0,e.i(456420).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);e.s(["GitBranch",0,t],269846)},772436,e=>{"use strict";var t=e.i(843476),r=e.i(271645);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}e.i(174080);var n=Symbol.for("radix.slottable"),i=Symbol.for("react.lazy");function l(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===i&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var a=r[" use ".trim().toString()],s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,i)=>{var s;let d,c=(s=`Primitive.${i}`,(d=r.forwardRef((e,t)=>{var i;let d,c,{children:u,...p}=e,f=null,m=!1,h=[];l(u)&&"function"==typeof a&&(u=a(u._payload)),r.Children.forEach(u,e=>{var t;if(t=e,r.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===n){m=!0;let t="child"in e.props?e.props.child:e.props.children;l(t)&&"function"==typeof a&&(t=a(t._payload)),f=((e,t)=>{if("child"in e.props){let t=e.props.child;return r.isValidElement(t)?r.cloneElement(t,void 0,e.props.children(t.props.children)):null}return r.isValidElement(t)?t:null})(e,t),h.push(f?.props?.children)}else h.push(e)}),f?f=r.cloneElement(f,void 0,h):!m&&1===r.Children.count(u)&&r.isValidElement(u)&&(f=u);let g=f?(i=f,(c=(d=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?i.ref:(c=(d=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?i.props.ref:i.props.ref||i.ref):void 0,y=function(...e){return r.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=o(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():o(e[t],null)}}}}(...e),e)}(t,g);if(!f){if(u||0===u){let e,t;throw Error(m?(e=s,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=s,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return u}let b=function(e,t){let r={...t};for(let o in t){let n=e[o],i=t[o];/^on[A-Z]/.test(o)?n&&i?r[o]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...i}:"className"===o&&(r[o]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(p,f.props??{});return f.type!==r.Fragment&&(b.ref=t?y:g),r.cloneElement(f,b)})).displayName=`${s}.Slot`,d),u=r.forwardRef((e,r)=>{let{asChild:o,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(o?c:i,{...n,ref:r})});return u.displayName=`Primitive.${i}`,{...e,[i]:u}},{}),d="horizontal",c=["horizontal","vertical"],u=r.forwardRef((e,r)=>{var o;let{decorative:n,orientation:i=d,...l}=e,a=(o=i,c.includes(o))?i:d;return(0,t.jsx)(s.div,{"data-orientation":a,...n?{role:"none"}:{"aria-orientation":"vertical"===a?a:void 0,role:"separator"},...l,ref:r})});u.displayName="Separator",e.s(["Root",0,u,"Separator",0,u],886392);var p=e.i(886392),p=p,f=e.i(975157);e.s(["Separator",0,function({className:e,orientation:r="horizontal",decorative:o=!0,...n}){return(0,t.jsx)(p.Root,{"data-slot":"separator",decorative:o,orientation:r,className:(0,f.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",e),...n})}],772436)},980376,e=>{"use strict";var t=e.i(843476),r=e.i(964053),o=e.i(975157),n=e.i(519455),i=e.i(560964);function l({...e}){return(0,t.jsx)(r.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function a({className:e,...n}){return(0,t.jsx)(r.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,o.cn)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["Sheet",0,function({...e}){return(0,t.jsx)(r.Dialog.Root,{"data-slot":"sheet",...e})},"SheetContent",0,function({className:e,children:s,side:d="right",showCloseButton:c=!0,...u}){return(0,t.jsxs)(l,{children:[(0,t.jsx)(a,{}),(0,t.jsxs)(r.Dialog.Content,{"data-slot":"sheet-content","data-side":d,className:(0,o.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",e),...u,children:[s,c&&(0,t.jsx)(r.Dialog.Close,{"data-slot":"sheet-close",asChild:!0,children:(0,t.jsxs)(n.Button,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[(0,t.jsx)(i.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})},"SheetDescription",0,function({className:e,...n}){return(0,t.jsx)(r.Dialog.Description,{"data-slot":"sheet-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...n})},"SheetHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-0.5 p-4",e),...r})},"SheetTitle",0,function({className:e,...n}){return(0,t.jsx)(r.Dialog.Title,{"data-slot":"sheet-title",className:(0,o.cn)("font-heading text-base font-medium text-foreground",e),...n})}])},746798,e=>{"use strict";let t;var r=e.i(843476),o=e.i(271645);function n(e,t,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e?.(o),!1===r||!o||!o.defaultPrevented)return t?.(o)}}function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(...e){return o.useCallback(function(...e){return t=>{let r=!1,o=e.map(e=>{let o=i(e,t);return r||"function"!=typeof o||(r=!0),o});if(r)return()=>{for(let t=0;t<o.length;t++){let r=o[t];"function"==typeof r?r():i(e[t],null)}}}}(...e),e)}"u">typeof window&&window.document&&window.document.createElement;var a=e.i(30030),s=e.i(726330),d=e.i(610772),c=e.i(853660),u=e.i(774606),p=e.i(296626);e.i(174080);var f=Symbol.for("radix.slottable"),m=Symbol.for("react.lazy");function h(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===m&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var g=o[" use ".trim().toString()],y=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var n;let i,a=(n=`Primitive.${t}`,(i=o.forwardRef((e,t)=>{var r;let i,a,{children:s,...d}=e,c=null,u=!1,p=[];h(s)&&"function"==typeof g&&(s=g(s._payload)),o.Children.forEach(s,e=>{var t;if(t=e,o.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===f){u=!0;let t="child"in e.props?e.props.child:e.props.children;h(t)&&"function"==typeof g&&(t=g(t._payload)),c=((e,t)=>{if("child"in e.props){let t=e.props.child;return o.isValidElement(t)?o.cloneElement(t,void 0,e.props.children(t.props.children)):null}return o.isValidElement(t)?t:null})(e,t),p.push(c?.props?.children)}else p.push(e)}),c?c=o.cloneElement(c,void 0,p):!u&&1===o.Children.count(s)&&o.isValidElement(s)&&(c=s);let m=c?(r=c,(a=(i=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?r.ref:(a=(i=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?r.props.ref:r.props.ref||r.ref):void 0,y=l(t,m);if(!c){if(s||0===s){let e,t;throw Error(u?(e=n,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=n,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return s}let b=function(e,t){let r={...t};for(let o in t){let n=e[o],i=t[o];/^on[A-Z]/.test(o)?n&&i?r[o]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...i}:"className"===o&&(r[o]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(d,c.props??{});return c.type!==o.Fragment&&(b.ref=t?y:m),o.cloneElement(c,b)})).displayName=`${n}.Slot`,i),s=o.forwardRef((e,o)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,r.jsx)(n?a:t,{...i,ref:o})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{}),b=globalThis?.document?o.useLayoutEffect:()=>{};o[" useEffectEvent ".trim().toString()],o[" useInsertionEffect ".trim().toString()];var v=o[" useInsertionEffect ".trim().toString()]||b;Symbol("RADIX:SYNC_STATE");var x=e.i(959411),[w,E]=(0,a.createContextScope)("Tooltip",[c.createPopperScope]),S=(0,c.createPopperScope)(),C="TooltipProvider",T="tooltip.open",[R,j]=w(C),k=e=>{let{__scopeTooltip:t,delayDuration:n=700,skipDelayDuration:i=300,disableHoverableContent:l=!1,children:a}=e,s=o.useRef(!0),d=o.useRef(!1),c=o.useRef(0);return o.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,r.jsx)(R,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:o.useCallback(()=>{i<=0||(window.clearTimeout(c.current),s.current=!1)},[i]),onClose:o.useCallback(()=>{i<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:o.useCallback(e=>{d.current=e},[]),disableHoverableContent:l,children:a})};k.displayName=C;var P="Tooltip",[_,N]=w(P),D=e=>{let{__scopeTooltip:t,children:n,open:i,defaultOpen:l,onOpenChange:a,disableHoverableContent:s,delayDuration:u}=e,p=j(P,e.__scopeTooltip),f=S(t),[m,h]=o.useState(null),g=(0,d.useId)(),y=o.useRef(0),b=s??p.disableHoverableContent,x=u??p.delayDuration,w=o.useRef(!1),[E,C]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[i,l,a]=function({defaultProp:e,onChange:t}){let[r,n]=o.useState(e),i=o.useRef(r),l=o.useRef(t);return v(()=>{l.current=t},[t]),o.useEffect(()=>{i.current!==r&&(l.current?.(r),i.current=r)},[r,i]),[r,n,l]}({defaultProp:t,onChange:r}),s=void 0!==e,d=s?e:i;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==s){let t=s?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,n])}return[d,o.useCallback(t=>{if(s){let r="function"==typeof t?t(e):t;r!==e&&a.current?.(r)}else l(t)},[s,e,l,a])]}({prop:i,defaultProp:l??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(T))):p.onClose(),a?.(e)},caller:P}),R=o.useMemo(()=>E?w.current?"delayed-open":"instant-open":"closed",[E]),k=o.useCallback(()=>{window.clearTimeout(y.current),y.current=0,w.current=!1,C(!0)},[C]),N=o.useCallback(()=>{window.clearTimeout(y.current),y.current=0,C(!1)},[C]),D=o.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{w.current=!0,C(!0),y.current=0},x)},[x,C]);return o.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,r.jsx)(c.Root,{...f,children:(0,r.jsx)(_,{scope:t,contentId:g,open:E,stateAttribute:R,trigger:m,onTriggerChange:h,onTriggerEnter:o.useCallback(()=>{p.isOpenDelayedRef.current?D():k()},[p.isOpenDelayedRef,D,k]),onTriggerLeave:o.useCallback(()=>{b?N():(window.clearTimeout(y.current),y.current=0)},[N,b]),onOpen:k,onClose:N,disableHoverableContent:b,children:n})})};D.displayName=P;var O="TooltipTrigger",L=o.forwardRef((e,t)=>{let{__scopeTooltip:i,...a}=e,s=N(O,i),d=j(O,i),u=S(i),p=l(t,o.useRef(null),s.onTriggerChange),f=o.useRef(!1),m=o.useRef(!1),h=o.useCallback(()=>f.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),(0,r.jsx)(c.Anchor,{asChild:!0,...u,children:(0,r.jsx)(y.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...a,ref:p,onPointerMove:n(e.onPointerMove,e=>{"touch"!==e.pointerType&&(m.current||d.isPointerInTransitRef.current||(s.onTriggerEnter(),m.current=!0))}),onPointerLeave:n(e.onPointerLeave,()=>{s.onTriggerLeave(),m.current=!1}),onPointerDown:n(e.onPointerDown,()=>{s.open&&s.onClose(),f.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:n(e.onFocus,()=>{f.current||s.onOpen()}),onBlur:n(e.onBlur,s.onClose),onClick:n(e.onClick,s.onClose)})})});L.displayName=O;var $="TooltipPortal",[A,z]=w($,{forceMount:void 0}),I=e=>{let{__scopeTooltip:t,forceMount:o,children:n,container:i}=e,l=N($,t);return(0,r.jsx)(A,{scope:t,forceMount:o,children:(0,r.jsx)(p.Presence,{present:o||l.open,children:(0,r.jsx)(u.Portal,{asChild:!0,container:i,children:n})})})};I.displayName=$;var M="TooltipContent",V=o.forwardRef((e,t)=>{let o=z(M,e.__scopeTooltip),{forceMount:n=o.forceMount,side:i="top",...l}=e,a=N(M,e.__scopeTooltip);return(0,r.jsx)(p.Presence,{present:n||a.open,children:a.disableHoverableContent?(0,r.jsx)(X,{side:i,...l,ref:t}):(0,r.jsx)(W,{side:i,...l,ref:t})})}),W=o.forwardRef((e,t)=>{let n=N(M,e.__scopeTooltip),i=j(M,e.__scopeTooltip),a=o.useRef(null),s=l(t,a),[d,c]=o.useState(null),{trigger:u,onClose:p}=n,f=a.current,{onPointerInTransitChange:m}=i,h=o.useCallback(()=>{c(null),m(!1)},[m]),g=o.useCallback((e,t)=>{let r,o=e.currentTarget,n={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,o,n,i)){case i:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}(n,o.getBoundingClientRect());c(((r=[...function(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}(n,i),...function(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),m(!0)},[m]);return o.useEffect(()=>()=>h(),[h]),o.useEffect(()=>{if(u&&f){let e=e=>g(e,f),t=e=>g(e,u);return u.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[u,f,g,h]),o.useEffect(()=>{if(d){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=u?.contains(t)||f?.contains(t),n=!function(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,d=l.y,c=a.x,u=a.y;d>o!=u>o&&r<(c-s)*(o-d)/(u-d)+s&&(n=!n)}return n}(r,d);o?h():n&&(h(),p())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,f,d,p,h]),(0,r.jsx)(X,{...e,ref:s})}),[B,H]=w(P,{isInside:!1}),F=((t=e=>"child"in e?e.children(e.child):e.children).displayName="TooltipContent.Slottable",t.__radixId=f,t),X=o.forwardRef((e,t)=>{let{__scopeTooltip:n,children:i,"aria-label":l,onEscapeKeyDown:a,onPointerDownOutside:d,...u}=e,p=N(M,n),f=S(n),{onClose:m}=p;return o.useEffect(()=>(document.addEventListener(T,m),()=>document.removeEventListener(T,m)),[m]),o.useEffect(()=>{if(p.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(p.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,m]),(0,r.jsx)(s.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,r.jsxs)(c.Content,{"data-state":p.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,r.jsx)(F,{children:i}),(0,r.jsx)(B,{scope:n,isInside:!0,children:(0,r.jsx)(x.Root,{id:p.contentId,role:"tooltip",children:l||i})})]})})});V.displayName=M;var Y="TooltipArrow",K=o.forwardRef((e,t)=>{let{__scopeTooltip:o,...n}=e,i=S(o);return H(Y,o).isInside?null:(0,r.jsx)(c.Arrow,{...i,...n,ref:t})});K.displayName=Y,e.s(["Arrow",0,K,"Content",0,V,"Portal",0,I,"Provider",0,k,"Root",0,D,"Tooltip",0,D,"TooltipArrow",0,K,"TooltipContent",0,V,"TooltipPortal",0,I,"TooltipProvider",0,k,"TooltipTrigger",0,L,"Trigger",0,L,"createTooltipScope",0,E],186336);var U=e.i(186336),U=U,Z=e.i(975157);e.s(["Tooltip",0,function({...e}){return(0,r.jsx)(U.Root,{"data-slot":"tooltip",...e})},"TooltipContent",0,function({className:e,sideOffset:t=0,children:o,...n}){return(0,r.jsx)(U.Portal,{children:(0,r.jsxs)(U.Content,{"data-slot":"tooltip-content",sideOffset:t,className:(0,Z.cn)("z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...n,children:[o,(0,r.jsx)(U.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})},"TooltipProvider",0,function({delayDuration:e=0,...t}){return(0,r.jsx)(U.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})},"TooltipTrigger",0,function({...e}){return(0,r.jsx)(U.Trigger,{"data-slot":"tooltip-trigger",...e})}],746798)}]);
@@ -0,0 +1,41 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,573474,e=>{"use strict";let t=(0,e.i(456420).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],573474)},340953,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(30030);function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function s(...e){return a.useCallback(function(...e){return t=>{let a=!1,r=e.map(e=>{let r=i(e,t);return a||"function"!=typeof r||(a=!0),r});if(a)return()=>{for(let t=0;t<r.length;t++){let a=r[t];"function"==typeof a?a():i(e[t],null)}}}}(...e),e)}var l=e.i(326999);"u">typeof window&&window.document&&window.document.createElement;var n="AlertDialog",[o,d]=(0,r.createContextScope)(n,[l.createDialogScope]),u=(0,l.createDialogScope)(),c=e=>{let{__scopeAlertDialog:a,...r}=e,i=u(a);return(0,t.jsx)(l.Root,{...i,...r,modal:!0})};c.displayName=n;var m=a.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...i}=e,s=u(r);return(0,t.jsx)(l.Trigger,{...s,...i,ref:a})});m.displayName="AlertDialogTrigger";var p=e=>{let{__scopeAlertDialog:a,...r}=e,i=u(a);return(0,t.jsx)(l.Portal,{...i,...r})};p.displayName="AlertDialogPortal";var x=a.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...i}=e,s=u(r);return(0,t.jsx)(l.Overlay,{...s,...i,ref:a})});x.displayName="AlertDialogOverlay";var h="AlertDialogContent",[g,f]=o(h),j=a.forwardRef((e,r)=>{let{__scopeAlertDialog:i,children:n,...o}=e,d=u(i),c=s(r,a.useRef(null)),m=a.useRef(null);return(0,t.jsx)(g,{scope:i,cancelRef:m,children:(0,t.jsx)(l.Content,{role:"alertdialog",...d,...o,ref:c,onOpenAutoFocus:function(e,t,{checkForDefaultPrevented:a=!0}={}){return function(r){if(e?.(r),!1===a||!r||!r.defaultPrevented)return t?.(r)}}(o.onOpenAutoFocus,e=>{e.preventDefault(),m.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:n})})});j.displayName=h;var b=a.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...i}=e,s=u(r);return(0,t.jsx)(l.Title,{...s,...i,ref:a})});b.displayName="AlertDialogTitle";var v=a.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...i}=e,s=u(r);return(0,t.jsx)(l.Description,{...s,...i,ref:a})});v.displayName="AlertDialogDescription";var y=a.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...i}=e,s=u(r);return(0,t.jsx)(l.Close,{...s,...i,ref:a})});y.displayName="AlertDialogAction";var R="AlertDialogCancel",w=a.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...i}=e,{cancelRef:n}=f(R,r),o=u(r),d=s(a,n);return(0,t.jsx)(l.Close,{...o,...i,ref:d})});w.displayName=R,e.s(["Action",0,y,"AlertDialog",0,c,"AlertDialogAction",0,y,"AlertDialogCancel",0,w,"AlertDialogContent",0,j,"AlertDialogDescription",0,v,"AlertDialogOverlay",0,x,"AlertDialogPortal",0,p,"AlertDialogTitle",0,b,"AlertDialogTrigger",0,m,"Cancel",0,w,"Content",0,j,"Description",0,v,"Overlay",0,x,"Portal",0,p,"Root",0,c,"Title",0,b,"Trigger",0,m,"createAlertDialogScope",0,d],691162);var N=e.i(691162),N=N,C=e.i(975157),S=e.i(519455);function T({...e}){return(0,t.jsx)(N.Root,{"data-slot":"alert-dialog",...e})}function k({...e}){return(0,t.jsx)(N.Trigger,{"data-slot":"alert-dialog-trigger",...e})}function D({...e}){return(0,t.jsx)(N.Portal,{"data-slot":"alert-dialog-portal",...e})}function A({className:e,...a}){return(0,t.jsx)(N.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,C.cn)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}function P({className:e,size:a="default",...r}){return(0,t.jsxs)(D,{children:[(0,t.jsx)(A,{}),(0,t.jsx)(N.Content,{"data-slot":"alert-dialog-content","data-size":a,className:(0,C.cn)("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...r})]})}function E({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,C.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...a})}function H({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,C.cn)("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...a})}function M({className:e,...a}){return(0,t.jsx)(N.Title,{"data-slot":"alert-dialog-title",className:(0,C.cn)("font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...a})}function $({className:e,...a}){return(0,t.jsx)(N.Description,{"data-slot":"alert-dialog-description",className:(0,C.cn)("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})}function q({className:e,variant:a="default",size:r="default",...i}){return(0,t.jsx)(S.Button,{variant:a,size:r,asChild:!0,children:(0,t.jsx)(N.Action,{"data-slot":"alert-dialog-action",className:(0,C.cn)(e),...i})})}function I({className:e,variant:a="outline",size:r="default",...i}){return(0,t.jsx)(S.Button,{variant:a,size:r,asChild:!0,children:(0,t.jsx)(N.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,C.cn)(e),...i})})}e.s(["ConfirmationDialog",0,function({actionLabel:e,cancelLabel:a,description:r,onConfirm:i,onOpenChange:s,open:l,title:n,trigger:o}){return(0,t.jsxs)(T,{onOpenChange:s,open:l,children:[o&&(0,t.jsx)(k,{asChild:!0,children:o}),(0,t.jsxs)(P,{children:[(0,t.jsxs)(E,{children:[(0,t.jsx)(M,{children:n}),(0,t.jsx)($,{children:r})]}),(0,t.jsxs)(H,{children:[(0,t.jsx)(I,{children:a}),(0,t.jsx)(q,{onClick:()=>void i(),variant:"destructive",children:e})]})]})]})}],340953)},77071,e=>{"use strict";let t=(0,e.i(456420).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],77071)},566595,e=>{"use strict";var t=e.i(630299);e.s(["Search",()=>t.default])},856522,e=>{"use strict";let t=(0,e.i(456420).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],856522)},648119,e=>{"use strict";var t=e.i(560972);e.s(["MoreHorizontal",()=>t.default])},250832,e=>{"use strict";let t=(0,e.i(456420).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);e.s(["Settings2",0,t],250832)},689257,e=>{"use strict";var t=e.i(843476),a=e.i(482022),r=e.i(456420);let i=(0,r.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var s=e.i(113030),l=e.i(634398);let n=(0,r.default)("lock-keyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);var o=e.i(648119),d=e.i(77071),u=e.i(741120),c=e.i(856522),m=e.i(566595),p=e.i(250832),x=e.i(573474),h=e.i(861745),g=e.i(948148),f=e.i(618566),j=e.i(271645),b=e.i(340953),v=e.i(346194),y=e.i(647776),R=e.i(948812),w=e.i(356505),N=e.i(929592),C=e.i(487486),S=e.i(519455),T=e.i(515288),k=e.i(776639),D=e.i(755146),A=e.i(82612),P=e.i(793479),E=e.i(906197),H=e.i(110204),M=e.i(987968),$=e.i(337355),q=e.i(967489),I=e.i(784774),O=e.i(677572),z=e.i(520133),G=e.i(637611);let B="id githubId owner name nameWithOwner url jiraKeyRegex";function L(e,t,a){return"repositories"===e?`${a}:repository:${t}`:`${a}:${e}`}function K(e){let t=new URLSearchParams(window.location.search);e?t.set("issue",e):t.delete("issue");let a=t.toString();window.history.pushState(null,"",`${window.location.pathname}${a?`?${a}`:""}`)}function F(e){if(!e.trim())return null;try{return RegExp(e,"i"),null}catch{return"invalid"}}function V({items:e,locale:a,onMerged:r,onPipelineRetried:i}){let s=(0,g.useTranslations)("pullRequests"),l=(0,z.useRouter)(),n=e=>e.stopPropagation(),o=(0,j.useMemo)(()=>{let t=[],r=new Intl.DateTimeFormat(a,{dateStyle:"full"});for(let a of e){let e=new Date(a.createdAt),i=`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`,s=t.at(-1);s?.dateKey===i?s.items.push(a):t.push({key:`${i}-${a.id}`,dateKey:i,label:r.format(e),items:[a]})}return t},[e,a]);return(0,t.jsx)(T.Card,{className:"gap-0 py-0",children:(0,t.jsxs)(I.Table,{children:[(0,t.jsx)(I.TableHeader,{children:(0,t.jsxs)(I.TableRow,{className:"hover:bg-transparent",children:[(0,t.jsx)(I.TableHead,{children:s("number")}),(0,t.jsx)(I.TableHead,{children:s("pullRequestAndRepository")}),(0,t.jsx)(I.TableHead,{children:s("labels")}),(0,t.jsx)(I.TableHead,{children:s("ticket")}),(0,t.jsx)(I.TableHead,{children:s("pipeline")}),(0,t.jsx)(I.TableHead,{children:s("approval")}),(0,t.jsx)(I.TableHead,{children:s("openComments")}),(0,t.jsx)(I.TableHead,{children:s("age")}),(0,t.jsx)(I.TableHead,{className:"text-right",children:s("actions")})]})}),(0,t.jsx)(I.TableBody,{children:o.map(e=>(0,t.jsxs)(j.Fragment,{children:[(0,t.jsx)(I.TableRow,{className:"bg-muted/20 hover:bg-muted/20",children:(0,t.jsx)(I.TableCell,{className:"py-1.5 text-xs font-normal text-muted-foreground",colSpan:9,children:e.label})}),e.items.map(e=>{var o;return(0,t.jsxs)(I.TableRow,{className:"cursor-pointer",onClick:()=>l.push((0,R.pullRequestDetailHref)(e)),children:[(0,t.jsx)(I.TableCell,{children:(0,t.jsx)(C.Badge,{asChild:!0,className:"cursor-pointer hover:bg-muted/80",variant:"outline",children:(0,t.jsxs)(z.Link,{href:(0,R.pullRequestDetailHref)(e),onClick:n,children:["#",e.number]})})}),(0,t.jsx)(I.TableCell,{className:"min-w-72 whitespace-normal",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(z.Link,{className:"font-medium hover:underline",href:(0,R.pullRequestDetailHref)(e),onClick:n,children:e.title}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 text-xs",children:(0,t.jsx)("a",{className:"text-muted-foreground hover:text-foreground",href:e.repositoryUrl,onClick:n,rel:"noreferrer",target:"_blank",children:e.repositoryNameWithOwner})}),(0,t.jsx)("p",{className:"font-mono text-xs break-all text-muted-foreground",children:e.headRefName})]})}),(0,t.jsx)(I.TableCell,{className:"min-w-40 whitespace-normal",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:e.labels.length>0?e.labels.map(e=>(0,t.jsx)(C.Badge,{children:e},e)):"—"})}),(0,t.jsx)(I.TableCell,{children:e.jiraKey?(0,t.jsx)(C.Badge,{asChild:!0,className:"cursor-pointer hover:bg-primary/80",children:(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),K(e.jiraKey)},type:"button",children:e.jiraKey})}):"—"}),(0,t.jsx)(I.TableCell,{children:(0,t.jsx)(y.PipelineMenu,{onPipelineRetried:t=>i(e.id,t),pipelineStatus:e.pipelineStatus,pipelines:e.pipelines,repositoryId:e.repositoryGithubId})}),(0,t.jsx)(I.TableCell,{children:(0,t.jsx)(C.Badge,{className:"APPROVED"===(o=e.reviewDecision)?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"CHANGES_REQUESTED"===o?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"REVIEW_REQUIRED"===o?"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300":"border-slate-500/30 bg-slate-500/10 text-slate-700 dark:text-slate-300",children:s(`reviewStates.${e.reviewDecision}`)})}),(0,t.jsx)(I.TableCell,{children:(0,t.jsx)(C.Badge,{asChild:!0,className:0===e.unresolvedReviewThreadCount?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:(0,t.jsx)(z.Link,{"aria-label":s("viewOpenComments",{count:e.unresolvedReviewThreadCount}),href:(0,R.pullRequestCommentsHref)(e),onClick:n,children:e.unresolvedReviewThreadCount})})}),(0,t.jsx)(I.TableCell,{className:"whitespace-nowrap text-muted-foreground",children:(0,t.jsxs)("div",{className:"flex flex-col items-start gap-1.5",children:[(0,t.jsx)(C.Badge,{variant:"outline",children:s(`pullRequestStates.${e.state}`)}),(0,t.jsx)("time",{dateTime:e.createdAt,children:function(e,t){let a=Math.round((Date.parse(e)-Date.now())/1e3),r=new Intl.RelativeTimeFormat(t,{numeric:"auto"});for(let[e,t]of[["year",31536e3],["month",2592e3],["week",604800],["day",86400],["hour",3600],["minute",60]])if(Math.abs(a)>=t)return r.format(Math.round(a/t),e);return r.format(a,"second")}(e.createdAt,a)})]})}),(0,t.jsx)(I.TableCell,{className:"text-right",children:(0,t.jsx)(W,{onMerged:r,pullRequest:e})})]},e.id)})]},e.key))})]})})}function W({pullRequest:e,onMerged:r}){let l=(0,g.useTranslations)("pullRequests"),[n,d]=(0,j.useState)(!1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(D.DropdownMenu,{children:[(0,t.jsx)(D.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(S.Button,{"aria-label":`${l("actions")}: #${e.number}`,onClick:e=>e.stopPropagation(),size:"icon-sm",variant:"outline",children:(0,t.jsx)(o.MoreHorizontal,{})})}),(0,t.jsxs)(D.DropdownMenuContent,{align:"end",className:"w-44",children:[(0,t.jsx)(D.DropdownMenuItem,{asChild:!0,children:(0,t.jsxs)(z.Link,{href:(0,R.pullRequestDetailHref)(e),children:[(0,t.jsx)(i,{}),l("details")]})}),(0,t.jsx)(D.DropdownMenuItem,{asChild:!0,children:(0,t.jsxs)("a",{href:e.url,rel:"noreferrer",target:"_blank",children:[(0,t.jsx)(a.ExternalLink,{}),l("openInGitHub")]})}),"OPEN"===e.state&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.DropdownMenuSeparator,{}),(0,t.jsxs)(D.DropdownMenuItem,{onSelect:()=>d(!0),children:[(0,t.jsx)(s.GitMerge,{}),l("merge")]})]})]})]}),"OPEN"===e.state&&(0,t.jsx)(v.MergePullRequestButton,{onMerged:r,onOpenChange:d,open:n,pullRequest:e,showTrigger:!1})]})}function U({open:e,setOpen:a,repositories:r,settings:i,onRepositoriesChanged:s,onSettingsChanged:l,tokenConfigured:o}){let u=(0,g.useTranslations)("pullRequests"),[p,x]=(0,j.useState)([]),[h,f]=(0,j.useState)(null),[b,v]=(0,j.useState)(!1),[y,R]=(0,j.useState)(""),[w,C]=(0,j.useState)(""),[T,D]=(0,j.useState)(""),[A,$]=(0,j.useState)(i?.defaultJiraKeyRegex??""),[q,I]=(0,j.useState)(!1),[L,K]=(0,j.useState)(!1),[V,W]=(0,j.useState)(null),J=(0,j.useCallback)(async e=>{K(!0);try{let t=await (0,G.controlPlaneRequest)(`query GitHubAvailableRepositories($after: String) {
2
+ githubAvailableRepositories(after: $after) {
3
+ items { githubId nameWithOwner url isPrivate managed }
4
+ hasNextPage
5
+ endCursor
6
+ }
7
+ }`,{after:e});x(a=>e?[...a,...t.githubAvailableRepositories.items]:t.githubAvailableRepositories.items),v(t.githubAvailableRepositories.hasNextPage),f(t.githubAvailableRepositories.endCursor),W(null)}catch(e){W(e instanceof Error?e.message:String(e))}finally{K(!1)}},[]);(0,j.useEffect)(()=>{if(!e||!o||p.length>0)return;let t=window.setTimeout(()=>void J(null),0);return()=>window.clearTimeout(t)},[p.length,J,e,o]);let Q=async(e,t)=>{if(F(t))return void W(u("invalidRegex"));I(!0);try{let a=await (0,G.controlPlaneRequest)(`mutation AddGitHubRepository($input: AddGitHubRepositoryInput!) {
8
+ addGitHubRepository(input: $input) { ${B} }
9
+ }`,{input:{nameWithOwner:e,jiraKeyRegex:t||null}});s(a.addGitHubRepository),C(""),D(""),W(null)}catch(e){W(e instanceof Error?e.message:String(e))}finally{I(!1)}},Y=async()=>{if(!A.trim()||F(A))return void W(u("invalidRegex"));I(!0);try{let e=await (0,G.controlPlaneRequest)(`mutation SaveDefaultGitHubJiraKeyRegex(
10
+ $input: SaveGitHubSettingsInput!
11
+ ) {
12
+ saveGitHubSettings(input: $input) {
13
+ tokenConfigured defaultJiraKeyRegex updatedAt
14
+ }
15
+ }`,{input:{defaultJiraKeyRegex:A}});l(e.saveGitHubSettings),W(null)}catch(e){W(e instanceof Error?e.message:String(e))}finally{I(!1)}},X=p.filter(e=>e.nameWithOwner.toLowerCase().includes(y.trim().toLowerCase()));return(0,t.jsx)(k.Dialog,{onOpenChange:a,open:e,children:(0,t.jsxs)(k.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-5xl",children:[(0,t.jsxs)(k.DialogHeader,{children:[(0,t.jsx)(k.DialogTitle,{children:u("manageTitle")}),(0,t.jsx)(k.DialogDescription,{children:u("manageDescription")})]}),V&&(0,t.jsx)(N.Alert,{variant:"destructive",children:(0,t.jsx)(N.AlertDescription,{children:V})}),o?(0,t.jsxs)("div",{className:"grid min-w-0 gap-6 md:grid-cols-2",children:[(0,t.jsxs)("section",{className:"min-w-0 space-y-3",children:[(0,t.jsx)("h3",{className:"font-medium",children:u("managedRepositories")}),(0,t.jsxs)(E.Item,{className:"block space-y-2 p-3",variant:"outline",children:[(0,t.jsx)(H.Label,{htmlFor:"default-github-jira-regex",children:u("defaultJiraKeyRegex")}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(P.Input,{id:"default-github-jira-regex",onChange:e=>$(e.target.value),value:A}),(0,t.jsx)(S.Button,{"aria-label":u("saveDefaultRegex"),disabled:q,onClick:()=>void Y(),size:"icon",type:"button",children:q?(0,t.jsx)(M.Spinner,{}):(0,t.jsx)(c.Save,{})})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:u("defaultJiraKeyRegexHelp")})]}),0===r.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:u("noManagedRepositories")}):(0,t.jsx)("div",{className:"space-y-3",children:r.map(e=>(0,t.jsx)(_,{busy:q,onBusyChange:I,onError:W,onRepositoriesChanged:s,repository:e},e.id))})]}),(0,t.jsxs)("section",{className:"min-w-0 space-y-3",children:[(0,t.jsx)("h3",{className:"font-medium",children:u("addRepository")}),(0,t.jsxs)(O.Tabs,{defaultValue:"browse",children:[(0,t.jsxs)(O.TabsList,{children:[(0,t.jsx)(O.TabsTrigger,{value:"browse",children:u("browse")}),(0,t.jsx)(O.TabsTrigger,{value:"manual",children:u("enterManually")})]}),(0,t.jsxs)(O.TabsContent,{className:"mt-3 space-y-2",value:"browse",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(m.Search,{className:"pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(P.Input,{"aria-label":u("searchAvailableRepositories"),className:"pl-8",onChange:e=>R(e.target.value),placeholder:u("searchAvailableRepositories"),value:y})]}),X.map(e=>{let a=r.some(t=>t.githubId===e.githubId);return(0,t.jsxs)(E.Item,{className:"flex-nowrap p-2",variant:"outline",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:e.nameWithOwner}),e.isPrivate&&(0,t.jsxs)("span",{className:"mt-1 flex items-center gap-1 text-xs text-muted-foreground",children:[(0,t.jsx)(n,{className:"size-3"}),u("privateRepository")]})]}),(0,t.jsxs)(S.Button,{disabled:q||a,onClick:()=>void Q(e.nameWithOwner,""),size:"sm",children:[(0,t.jsx)(d.Plus,{}),a?u("managed"):u("add")]})]},e.githubId)}),!L&&0===X.length&&(0,t.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:u("noRepositoryMatches")}),L&&(0,t.jsxs)("div",{className:"flex items-center gap-2 py-3 text-sm text-muted-foreground",children:[(0,t.jsx)(M.Spinner,{}),u("loadingRepositories")]}),b&&(0,t.jsx)(S.Button,{className:"w-full",disabled:L,onClick:()=>void J(h),variant:"outline",children:u("loadMore")})]}),(0,t.jsx)(O.TabsContent,{className:"mt-3",value:"manual",children:(0,t.jsxs)("form",{className:"space-y-4",onSubmit:e=>{e.preventDefault(),Q(w,T)},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(H.Label,{className:"mb-1.5 block",htmlFor:"github-repository-name",children:u("repositoryName")}),(0,t.jsx)(P.Input,{id:"github-repository-name",onChange:e=>C(e.target.value),placeholder:"owner/repository",required:!0,value:w})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(H.Label,{className:"mb-1.5 block",htmlFor:"github-repository-regex",children:u("jiraKeyRegex")}),(0,t.jsx)(P.Input,{id:"github-repository-regex",onChange:e=>D(e.target.value),value:T}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:u("jiraKeyRegexOverrideHelp")})]}),(0,t.jsxs)(S.Button,{disabled:q,type:"submit",children:[q?(0,t.jsx)(M.Spinner,{}):(0,t.jsx)(d.Plus,{}),u("addRepository")]})]})})]})]})]}):(0,t.jsx)(N.Alert,{children:(0,t.jsxs)(N.AlertDescription,{children:[u("manageCredentialsRequired")," ",(0,t.jsx)(z.Link,{className:"text-primary underline",href:"/settings",children:u("openSettings")})]})}),(0,t.jsx)(k.DialogFooter,{children:(0,t.jsx)(S.Button,{onClick:()=>a(!1),variant:"outline",children:u("done")})})]})})}function _({repository:e,busy:a,onBusyChange:r,onError:i,onRepositoriesChanged:s}){let l=(0,g.useTranslations)("pullRequests"),n=(0,g.useTranslations)("common"),[o,d]=(0,j.useState)(e.jiraKeyRegex??""),u=async()=>{if(F(o))return void i(l("invalidRegex"));r(!0);try{let t=await (0,G.controlPlaneRequest)(`mutation UpdateGitHubRepository($input: UpdateGitHubRepositoryInput!) {
16
+ updateGitHubRepository(input: $input) { ${B} }
17
+ }`,{input:{id:e.id,jiraKeyRegex:o||null}});s(t.updateGitHubRepository),i(null)}catch(e){i(e instanceof Error?e.message:String(e))}finally{r(!1)}},m=async()=>{r(!0);try{let t=await (0,G.controlPlaneRequest)(`mutation RemoveGitHubRepository($id: ID!) {
18
+ removeGitHubRepository(id: $id) { ${B} }
19
+ }`,{id:e.id});s(t.removeGitHubRepository),i(null)}catch(e){i(e instanceof Error?e.message:String(e))}finally{r(!1)}};return(0,t.jsxs)(E.Item,{className:"block space-y-3 p-3",variant:"outline",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsx)("a",{className:"min-w-0 truncate font-medium text-primary hover:underline",href:e.url,rel:"noreferrer",target:"_blank",children:e.nameWithOwner}),(0,t.jsx)(b.ConfirmationDialog,{actionLabel:l("removeRepository"),cancelLabel:n("cancel"),description:l("confirmRemoveRepositoryDescription"),onConfirm:m,title:l("confirmRemoveRepository"),trigger:(0,t.jsxs)(S.Button,{disabled:a,size:"icon-sm",variant:"ghost",children:[(0,t.jsx)(x.Trash2,{}),(0,t.jsx)("span",{className:"sr-only",children:l("removeRepository")})]})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(H.Label,{className:"mb-1.5 block text-xs",htmlFor:`github-regex-${e.id}`,children:l("jiraKeyRegex")}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(P.Input,{id:`github-regex-${e.id}`,onChange:e=>d(e.target.value),value:o}),(0,t.jsxs)(S.Button,{disabled:a,onClick:()=>void u(),size:"icon",children:[a?(0,t.jsx)(M.Spinner,{}):(0,t.jsx)(c.Save,{}),(0,t.jsx)("span",{className:"sr-only",children:l("saveRegex")})]})]}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:l("jiraKeyRegexOverrideHelp")})]})]})}e.s(["PullRequestsPage",0,function(){let e=(0,g.useTranslations)("pullRequests"),a=(0,f.useSearchParams)(),r=(0,h.useLocale)(),i=a.get("issue"),[s,n]=(0,j.useState)(null),[o,c]=(0,j.useState)([]),[m,x]=(0,j.useState)("mine"),[b,v]=(0,j.useState)("OPEN"),[y,R]=(0,j.useState)(""),[C,T]=(0,j.useState)({}),[k,D]=(0,j.useState)({}),[P,E]=(0,j.useState)({}),[H,I]=(0,j.useState)({}),[F,W]=(0,j.useState)(!0),[_,J]=(0,j.useState)(null),[Q,Y]=(0,j.useState)(!1),X=(0,j.useRef)(null),Z=(0,j.useRef)({}),ee=(0,j.useRef)({}),et=(0,j.useCallback)(async()=>{try{let e=await (0,G.controlPlaneRequest)(`query GitHubPullRequestConfiguration {
20
+ githubSettings { tokenConfigured defaultJiraKeyRegex updatedAt }
21
+ githubRepositories { ${B} }
22
+ }`);n(e.githubSettings),c(e.githubRepositories),R(t=>e.githubRepositories.some(e=>e.id===t)?t:e.githubRepositories[0]?.id??""),J(null)}catch(e){J(e instanceof Error?e.message:String(e))}finally{W(!1)}},[]);(0,j.useEffect)(()=>{let e=window.setTimeout(()=>void et(),0);return()=>window.clearTimeout(e)},[et]);let ea=(0,j.useCallback)(async(e,t,a,r={append:!1})=>{let i=L(e,t,a);if("repositories"===e&&!t)return;let s=Z.current[i]??0,l=r.append?s:s+1;if(r.append){if(!r.cursor||ee.current[i]===l)return;ee.current[i]=l,E(e=>({...e,[i]:!0}))}else Z.current[i]=l,delete ee.current[i],D(e=>({...e,[i]:!0})),E(e=>({...e,[i]:!1}));I(e=>({...e,[i]:null}));try{let s="repositories"===e?t:null,n=await (0,G.controlPlaneRequest)(`query GitHubPullRequests(
23
+ $scope: GitHubPullRequestScope!
24
+ $repositoryId: ID
25
+ $state: GitHubPullRequestStateFilter!
26
+ $first: Int!
27
+ $after: String
28
+ ) {
29
+ githubPullRequests(
30
+ scope: $scope
31
+ repositoryId: $repositoryId
32
+ state: $state
33
+ first: $first
34
+ after: $after
35
+ ) {
36
+ items { id number title url repositoryGithubId repositoryNameWithOwner repositoryUrl labels jiraKey pipelineStatus pipelines { id name status url checkSuiteId canRetry retryUnavailableReason } reviewDecision unresolvedReviewThreadCount state headRefName createdAt }
37
+ truncated
38
+ hasNextPage
39
+ endCursor
40
+ }
41
+ }`,{scope:s?"REPOSITORY":"review"===e?"REVIEW_REQUESTED":"MINE",repositoryId:s,state:a,first:25,after:r.cursor??null});if(Z.current[i]!==l)return;T(e=>({...e,[i]:r.append&&e[i]?{...n.githubPullRequests,items:[...e[i].items,...n.githubPullRequests.items.filter(t=>!e[i].items.some(e=>e.id===t.id))]}:n.githubPullRequests})),J(null)}catch(t){if(Z.current[i]!==l)return;let e=t instanceof Error?t.message:String(t);r.append?I(t=>({...t,[i]:e})):J(e)}finally{r.append?ee.current[i]===l&&(delete ee.current[i],E(e=>({...e,[i]:!1}))):Z.current[i]===l&&D(e=>({...e,[i]:!1}))}},[]),er=L(m,y,b);(0,j.useEffect)(()=>{if(s?.tokenConfigured&&("repositories"!==m||y)&&!C[er]&&!k[er]){let e=window.setTimeout(()=>void ea(m,y,b),0);return()=>window.clearTimeout(e)}},[m,ea,k,er,C,b,y,s?.tokenConfigured]),(0,j.useEffect)(()=>{if(!o.some(e=>e.id===y)){let e=window.setTimeout(()=>R(o[0]?.id??""),0);return()=>window.clearTimeout(e)}},[o,y]);let ei=C[er],es=!!k[er],el=!!P[er],en=H[er]??null;return(0,j.useEffect)(()=>{if(!s?.tokenConfigured||!ei?.hasNextPage||!ei.endCursor||es||el||en)return;let e=X.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&ea(m,y,b,{append:!0,cursor:ei.endCursor})},{rootMargin:"400px 0px"});return t.observe(e),()=>t.disconnect()},[m,ea,es,el,ei?.endCursor,ei?.hasNextPage,en,b,y,s?.tokenConfigured]),(0,t.jsxs)("section",{className:"mx-auto flex w-full max-w-[1800px] flex-col gap-5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:e("title")}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e("description")})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(S.Button,{disabled:!s?.tokenConfigured||es,onClick:()=>void ea(m,y,b),variant:"outline",children:[(0,t.jsx)(u.RefreshCw,{className:es?"animate-spin":void 0}),e("refresh")]}),(0,t.jsxs)(S.Button,{onClick:()=>Y(!0),children:[(0,t.jsx)(p.Settings2,{}),e("manage")]})]})]}),_&&(0,t.jsx)(N.Alert,{variant:"destructive",children:(0,t.jsx)(N.AlertDescription,{children:_})}),F?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(M.Spinner,{}),e("loading")]}):s?.tokenConfigured?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,t.jsx)(O.Tabs,{onValueChange:e=>x(e),value:m,children:(0,t.jsxs)(O.TabsList,{"aria-label":e("tabsLabel"),children:[(0,t.jsx)(O.TabsTrigger,{value:"mine",children:e("mine")}),(0,t.jsx)(O.TabsTrigger,{value:"review",children:e("reviewRequests")}),(0,t.jsx)(O.TabsTrigger,{value:"repositories",children:e("repositories")})]})})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsxs)(q.Select,{onValueChange:e=>v(e),value:b,children:[(0,t.jsx)(q.SelectTrigger,{"aria-label":e("stateFilter"),className:"min-w-36",children:(0,t.jsx)(q.SelectValue,{})}),(0,t.jsx)(q.SelectContent,{align:"start",children:["ALL","OPEN","CLOSED","MERGED"].map(a=>(0,t.jsx)(q.SelectItem,{value:a,children:e(`pullRequestStates.${a}`)},a))})]}),"repositories"===m&&o.length>0&&(0,t.jsx)("div",{className:"min-w-64 max-w-lg flex-1",children:(0,t.jsx)($.SearchableSelect,{ariaLabel:e("repositoryFilter"),emptyMessage:e("noRepositoryMatches"),onValueChange:R,options:o.map(e=>({value:e.id,label:e.nameWithOwner,keywords:`${e.owner} ${e.name}`})),placeholder:e("selectRepository"),searchPlaceholder:e("searchRepositories"),value:y})})]}),ei?.truncated&&(0,t.jsx)(N.Alert,{className:"border-amber-500/30 bg-amber-500/10 text-amber-800 dark:text-amber-300",children:(0,t.jsx)(N.AlertDescription,{className:"text-current",children:e("truncated")})}),"repositories"===m&&0===o.length?(0,t.jsxs)(A.Empty,{className:"border py-12",children:[(0,t.jsxs)(A.EmptyHeader,{children:[(0,t.jsx)(A.EmptyTitle,{children:e("noManagedRepositories")}),(0,t.jsx)(A.EmptyDescription,{children:e("manageDescription")})]}),(0,t.jsxs)(S.Button,{className:"mt-4",onClick:()=>Y(!0),children:[(0,t.jsx)(d.Plus,{})," ",e("addRepository")]})]}):es&&!ei?(0,t.jsxs)("div",{className:"flex items-center gap-2 py-10 text-sm text-muted-foreground",children:[(0,t.jsx)(M.Spinner,{}),e("loadingPullRequests")]}):ei?.items.length===0?(0,t.jsx)(A.Empty,{className:"border py-12",children:(0,t.jsxs)(A.EmptyHeader,{children:[(0,t.jsx)(A.EmptyTitle,{children:e("empty")}),(0,t.jsx)(A.EmptyDescription,{children:e("emptyDescription")})]})}):ei?(0,t.jsx)(V,{items:ei.items,locale:r,onMerged:()=>ea(m,y,b),onPipelineRetried:(e,t)=>{T(a=>{let r=a[er];return r?{...a,[er]:{...r,items:r.items.map(a=>a.id===e?{...a,pipelineStatus:"PENDING",pipelines:a.pipelines.map(e=>e.id===t.id?t:e)}:a)}}:a})}}):null,ei&&ei.items.length>0&&en?(0,t.jsx)(N.Alert,{variant:"destructive",children:(0,t.jsxs)(N.AlertDescription,{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("span",{children:en}),(0,t.jsxs)(S.Button,{disabled:el||!ei.endCursor,onClick:()=>void ea(m,y,b,{append:!0,cursor:ei.endCursor}),size:"sm",variant:"outline",children:[(0,t.jsx)(u.RefreshCw,{})," ",e("retryLoad")]})]})}):ei?.hasNextPage&&ei.items.length>0?(0,t.jsx)("div",{className:"flex min-h-10 items-center justify-center gap-2 text-sm text-muted-foreground",ref:X,role:"status",children:el&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(M.Spinner,{})," ",e("loadingMore")]})}):null]}):(0,t.jsxs)(A.Empty,{className:"border py-12",children:[(0,t.jsxs)(A.EmptyHeader,{children:[(0,t.jsx)(A.EmptyMedia,{variant:"icon",children:(0,t.jsx)(l.GitPullRequest,{})}),(0,t.jsx)(A.EmptyTitle,{children:e("credentialsRequired")}),(0,t.jsx)(A.EmptyDescription,{children:e("credentialsRequiredDescription")})]}),(0,t.jsx)(S.Button,{asChild:!0,className:"mt-4",children:(0,t.jsx)(z.Link,{href:"/settings",children:e("openSettings")})})]}),(0,t.jsx)(U,{onRepositoriesChanged:e=>{c(e),T({}),R(t=>e.some(e=>e.id===t)?t:e[0]?.id??"")},onSettingsChanged:e=>{n(e),T({})},open:Q,repositories:o,settings:s,setOpen:Y,tokenConfigured:!!s?.tokenConfigured},s?.updatedAt??"loading"),(0,t.jsx)(w.JiraTicketDrawer,{issueKey:i,onClose:()=>K(null)})]})}],689257)}]);
@@ -0,0 +1,33 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,784774,e=>{"use strict";var t=e.i(843476),a=e.i(975157);e.s(["Table",0,function({className:e,containerClassName:n,...i}){return(0,t.jsx)("div",{className:(0,a.cn)("w-full overflow-x-auto",n),children:(0,t.jsx)("table",{className:(0,a.cn)("w-full caption-bottom text-sm",e),...i})})},"TableBody",0,function({className:e,...n}){return(0,t.jsx)("tbody",{className:(0,a.cn)("divide-y",e),...n})},"TableCell",0,function({className:e,...n}){return(0,t.jsx)("td",{className:(0,a.cn)("whitespace-nowrap px-3 py-3 align-middle",e),...n})},"TableFooter",0,function({className:e,...n}){return(0,t.jsx)("tfoot",{className:(0,a.cn)("border-t bg-muted/50 font-medium",e),...n})},"TableHead",0,function({className:e,...n}){return(0,t.jsx)("th",{className:(0,a.cn)("h-10 whitespace-nowrap px-3 text-left align-middle text-xs font-medium text-muted-foreground",e),...n})},"TableHeader",0,function({className:e,...n}){return(0,t.jsx)("thead",{className:(0,a.cn)("border-b",e),...n})},"TableRow",0,function({className:e,...n}){return(0,t.jsx)("tr",{className:(0,a.cn)("transition-colors hover:bg-muted/40",e),...n})}])},689664,e=>{"use strict";var t=e.i(643957);e.s(["Check",()=>t.default])},711241,e=>{"use strict";let t=(0,e.i(456420).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],711241)},573474,e=>{"use strict";let t=(0,e.i(456420).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],573474)},59497,e=>{"use strict";var t=e.i(843476),a=e.i(271645);function n(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function i(...e){return a.useCallback(function(...e){return t=>{let a=!1,i=e.map(e=>{let i=n(e,t);return a||"function"!=typeof i||(a=!0),i});if(a)return()=>{for(let t=0;t<i.length;t++){let a=i[t];"function"==typeof a?a():n(e[t],null)}}}}(...e),e)}var r=e.i(30030);function l(e,t,{checkForDefaultPrevented:a=!0}={}){return function(n){if(e?.(n),!1===a||!n||!n.defaultPrevented)return t?.(n)}}"u">typeof window&&window.document&&window.document.createElement;var s=globalThis?.document?a.useLayoutEffect:()=>{};a[" useEffectEvent ".trim().toString()],a[" useInsertionEffect ".trim().toString()];var o=a[" useInsertionEffect ".trim().toString()]||s;Symbol("RADIX:SYNC_STATE");var c=e.i(999682),d=e.i(635804),u=e.i(296626);e.i(174080);var p=Symbol.for("radix.slottable"),h=Symbol.for("react.lazy");function m(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===h&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var x=a[" use ".trim().toString()],f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{var r;let l,s=(r=`Primitive.${n}`,(l=a.forwardRef((e,t)=>{var n;let l,s,{children:o,...c}=e,d=null,u=!1,h=[];m(o)&&"function"==typeof x&&(o=x(o._payload)),a.Children.forEach(o,e=>{var t;if(t=e,a.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===p){u=!0;let t="child"in e.props?e.props.child:e.props.children;m(t)&&"function"==typeof x&&(t=x(t._payload)),d=((e,t)=>{if("child"in e.props){let t=e.props.child;return a.isValidElement(t)?a.cloneElement(t,void 0,e.props.children(t.props.children)):null}return a.isValidElement(t)?t:null})(e,t),h.push(d?.props?.children)}else h.push(e)}),d?d=a.cloneElement(d,void 0,h):!u&&1===a.Children.count(o)&&a.isValidElement(o)&&(d=o);let f=d?(n=d,(s=(l=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?n.ref:(s=(l=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?n.props.ref:n.props.ref||n.ref):void 0,g=i(t,f);if(!d){if(o||0===o){let e,t;throw Error(u?(e=r,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=r,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return o}let b=function(e,t){let a={...t};for(let n in t){let i=e[n],r=t[n];/^on[A-Z]/.test(n)?i&&r?a[n]=(...e)=>{let t=r(...e);return i(...e),t}:i&&(a[n]=i):"style"===n?a[n]={...i,...r}:"className"===n&&(a[n]=[i,r].filter(Boolean).join(" "))}return{...e,...a}}(c,d.props??{});return d.type!==a.Fragment&&(b.ref=t?g:f),a.cloneElement(d,b)})).displayName=`${r}.Slot`,l),o=a.forwardRef((e,a)=>{let{asChild:i,...r}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(i?s:n,{...r,ref:a})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),g="Checkbox",[b,y]=(0,r.createContextScope)(g),[j,v]=b(g);function k(e){let{__scopeCheckbox:n,checked:i,children:r,defaultChecked:l,disabled:s,form:c,name:d,onCheckedChange:u,required:p,value:h="on",internal_do_not_use_render:m}=e,[x,f]=function({prop:e,defaultProp:t,onChange:n=()=>{},caller:i}){let[r,l,s]=function({defaultProp:e,onChange:t}){let[n,i]=a.useState(e),r=a.useRef(n),l=a.useRef(t);return o(()=>{l.current=t},[t]),a.useEffect(()=>{r.current!==n&&(l.current?.(n),r.current=n)},[n,r]),[n,i,l]}({defaultProp:t,onChange:n}),c=void 0!==e,d=c?e:r;{let t=a.useRef(void 0!==e);a.useEffect(()=>{let e=t.current;if(e!==c){let t=c?"controlled":"uncontrolled";console.warn(`${i} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=c},[c,i])}return[d,a.useCallback(t=>{if(c){let a="function"==typeof t?t(e):t;a!==e&&s.current?.(a)}else l(t)},[c,e,l,s])]}({prop:i,defaultProp:l??!1,onChange:u,caller:g}),[b,y]=a.useState(null),[v,k]=a.useState(null),S=a.useRef(!1),C=!b||!!c||!!b.closest("form"),w={checked:x,disabled:s,setChecked:f,control:b,setControl:y,name:d,form:c,value:h,hasConsumerStoppedPropagationRef:S,required:p,defaultChecked:!I(l)&&l,isFormControl:C,bubbleInput:v,setBubbleInput:k};return(0,t.jsx)(j,{scope:n,...w,children:"function"==typeof m?m(w):r})}var S="CheckboxTrigger",C=a.forwardRef(({__scopeCheckbox:e,onKeyDown:n,onClick:r,...s},o)=>{let{control:c,value:d,disabled:u,checked:p,required:h,setControl:m,setChecked:x,hasConsumerStoppedPropagationRef:g,isFormControl:b,bubbleInput:y}=v(S,e),j=i(o,m),k=a.useRef(p);return a.useEffect(()=>{let e=c?.form;if(e){let t=()=>x(k.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,x]),(0,t.jsx)(f.button,{type:"button",role:"checkbox","aria-checked":I(p)?"mixed":p,"aria-required":h,"data-state":R(p),"data-disabled":u?"":void 0,disabled:u,value:d,...s,ref:j,onKeyDown:l(n,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:l(r,e=>{x(e=>!!I(e)||!e),y&&b&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});C.displayName=S;var w=a.forwardRef((e,a)=>{let{__scopeCheckbox:n,name:i,checked:r,defaultChecked:l,required:s,disabled:o,value:c,onCheckedChange:d,form:u,...p}=e;return(0,t.jsx)(k,{__scopeCheckbox:n,checked:r,defaultChecked:l,disabled:o,required:s,onCheckedChange:d,name:i,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C,{...p,ref:a,__scopeCheckbox:n}),e&&(0,t.jsx)(E,{__scopeCheckbox:n})]})})});w.displayName=g;var N="CheckboxIndicator",T=a.forwardRef((e,a)=>{let{__scopeCheckbox:n,forceMount:i,...r}=e,l=v(N,n);return(0,t.jsx)(u.Presence,{present:i||I(l.checked)||!0===l.checked,children:(0,t.jsx)(f.span,{"data-state":R(l.checked),"data-disabled":l.disabled?"":void 0,...r,ref:a,style:{pointerEvents:"none",...e.style}})})});T.displayName=N;var L="CheckboxBubbleInput",E=a.forwardRef(({__scopeCheckbox:e,...n},r)=>{let{control:l,hasConsumerStoppedPropagationRef:s,checked:o,defaultChecked:u,required:p,disabled:h,name:m,value:x,form:g,bubbleInput:b,setBubbleInput:y}=v(L,e),j=i(r,y),k=(0,c.usePrevious)(o),S=(0,d.useSize)(l);a.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!s.current;if(k!==o&&e){let a=new Event("click",{bubbles:t});b.indeterminate=I(o),e.call(b,!I(o)&&o),b.dispatchEvent(a)}},[b,k,o,s]);let C=a.useRef(!I(o)&&o);return(0,t.jsx)(f.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??C.current,required:p,disabled:h,name:m,value:x,form:g,...n,tabIndex:-1,ref:j,style:{...n.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function I(e){return"indeterminate"===e}function R(e){return I(e)?"indeterminate":e?"checked":"unchecked"}E.displayName=L,e.s(["Checkbox",0,w,"CheckboxIndicator",0,T,"Indicator",0,T,"Root",0,w,"createCheckboxScope",0,y,"unstable_BubbleInput",0,E,"unstable_CheckboxBubbleInput",0,E,"unstable_CheckboxProvider",0,k,"unstable_CheckboxTrigger",0,C,"unstable_Provider",0,k,"unstable_Trigger",0,C],388474);var A=e.i(388474),A=A,D=e.i(975157),P=e.i(593698);e.s(["Checkbox",0,function({className:e,...a}){return(0,t.jsx)(A.Root,{"data-slot":"checkbox",className:(0,D.cn)("peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",e),...a,children:(0,t.jsx)(A.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,t.jsx)(P.CheckIcon,{})})})}],59497)},21357,e=>{"use strict";let t=(0,e.i(456420).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,t],21357)},131460,e=>{"use strict";let t=(0,e.i(456420).default)("arrow-down-to-line",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]);e.s(["ArrowDownToLine",0,t],131460)},702143,e=>{"use strict";let t=`
2
+ id name description syncGlobally packageHash createdAt updatedAt
3
+ files { id path contentsBase64 executable contentHash createdAt updatedAt }
4
+ groups { id name createdAt updatedAt }
5
+ `,a=`
6
+ id kind status error createdAt updatedAt finishedAt
7
+ group { id name }
8
+ items {
9
+ id direction status sourceHash targetHash resolution candidatePackage error createdAt updatedAt
10
+ skill { id name description }
11
+ agent { id name hostname connectionStatus }
12
+ installation {
13
+ id scope rootKind rootPath skillName description packageHash fileCount totalBytes tracked consumers lastSeenAt
14
+ agent { id name hostname connectionStatus }
15
+ codebase { id folder repository { id name displayOrigin } }
16
+ worktree { id folder }
17
+ skill { id name packageHash }
18
+ }
19
+ }
20
+ `;e.s(["SKILL_FIELDS",0,t,"SKILL_SYNC_RUN_FIELDS",0,a])},170428,e=>{"use strict";let t=(0,e.i(456420).default)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]]);e.s(["GitCompareArrows",0,t],170428)},629864,e=>{"use strict";var t=e.i(843476),a=e.i(131460),n=e.i(711241),i=e.i(456420);let r=(0,i.default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);var l=e.i(689664),s=e.i(170428),o=e.i(21357);let c=(0,i.default)("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]]);var d=e.i(573474),u=e.i(948148),p=e.i(271645),h=e.i(929592),m=e.i(487486),x=e.i(519455),f=e.i(515288),g=e.i(59497),b=e.i(776639),y=e.i(793479),j=e.i(110204),v=e.i(967489),k=e.i(987968),S=e.i(784774),C=e.i(624687),w=e.i(520133),N=e.i(637611),T=e.i(702143);let L="__none__",E={SCAN:0,READ:1,APPLY:2};function I(e){let t=window.atob(e);return Uint8Array.from(t,e=>e.charCodeAt(0))}function R(e){if(!e)return null;let t=I(e.contentsBase64);if(t.includes(0))return null;try{return new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{return null}}function A(e){return e.toLocaleLowerCase().split("_").map(e=>e.charAt(0).toLocaleUpperCase()+e.slice(1)).join(" ")}function D({file:e,missingLabel:a,binaryLabel:n,executableLabel:i}){if(!e)return(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:a});let r=R(e);return null===r?(0,t.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,t.jsx)("p",{children:n}),(0,t.jsxs)("p",{children:[I(e.contentsBase64).byteLength.toLocaleString()," B"]}),e.executable&&(0,t.jsx)(m.Badge,{variant:"outline",children:i})]}):(0,t.jsx)("pre",{className:"max-h-64 overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 font-mono text-xs",children:r})}e.s(["SkillSyncPage",0,function({runId:e}){let i=(0,u.useTranslations)("skills"),P=(0,u.useTranslations)("status"),[B,_]=(0,p.useState)(null),[$,F]=(0,p.useState)([]),[H,M]=(0,p.useState)(!0),[K,O]=(0,p.useState)(!1),[z,U]=(0,p.useState)(null),[V,q]=(0,p.useState)(null),[Y,G]=(0,p.useState)([]),[W,X]=(0,p.useState)([]),[Z,J]=(0,p.useState)("SKILL.md"),[Q,ee]=(0,p.useState)("SKILL.md"),[et,ea]=(0,p.useState)(!1),[en,ei]=(0,p.useState)({}),er=(0,p.useCallback)(async()=>{try{let t=await (0,N.controlPlaneRequest)(`query SkillSyncRun($id: ID!) {
21
+ skillSyncRun(id: $id) { ${T.SKILL_SYNC_RUN_FIELDS} }
22
+ skillsOverview { groups { id name } }
23
+ }`,{id:e});if(!t.skillSyncRun)throw Error(i("syncRunNotFound"));_(t.skillSyncRun),F(t.skillsOverview.groups),U(null)}catch(e){U(e instanceof Error?e.message:String(e))}finally{M(!1)}},[e,i]);(0,p.useEffect)(()=>{let t=window.setTimeout(()=>void er(),0),a=window.setInterval(()=>void er(),1e4),n=(0,N.controlPlaneSubscriptions)().subscribe({query:`subscription SkillSyncRunChanged($runId: ID!) {
24
+ skillSyncRunChanged(runId: $runId) { ${T.SKILL_SYNC_RUN_FIELDS} }
25
+ }`,variables:{runId:e}},{next:e=>e.data?.skillSyncRunChanged&&_(e.data.skillSyncRunChanged),error:()=>void 0,complete:()=>void 0});return()=>{window.clearTimeout(t),window.clearInterval(a),n()}},[er,e]);let el=(0,p.useMemo)(()=>B?.items.filter(e=>!["SCAN","READ","APPLY"].includes(e.direction))??[],[B]),es=(0,p.useMemo)(()=>{let e=new Map;for(let t of B?.items??[]){if(!["SCAN","READ","APPLY"].includes(t.direction))continue;let a=t.agent?.id??t.id,n=e.get(a),i=E[t.direction]??0,r=n?E[n.direction]??0:-1;(!n||i>r||i===r&&t.updatedAt>n.updatedAt)&&e.set(a,t)}return[...e.values()]},[B]),eo=(0,p.useMemo)(()=>es.filter(e=>"PENDING"===e.status),[es]),ec=(0,p.useMemo)(()=>V?.candidatePackage?.package?.files??[],[V]),ed=(0,p.useMemo)(()=>[...new Set([...Y,...ec,...W].map(e=>e.path))].sort((e,t)=>e.localeCompare(t)),[Y,W,ec]),eu=Y.find(e=>e.path===Z),ep=ec.find(e=>e.path===Z),eh=W.find(e=>e.path===Z),em=async(e,t,a)=>{O(!0);try{let n=a?.package,i=await (0,N.controlPlaneRequest)(`mutation ResolveSkillSyncItem($input: ResolveSkillSyncItemInput!) {
26
+ resolveSkillSyncItem(input: $input) { ${T.SKILL_SYNC_RUN_FIELDS} }
27
+ }`,{input:{itemId:e.id,resolution:t,groupId:en[e.id]||null,package:n?{name:n.name,description:n.description,files:n.files}:null}});_(i.resolveSkillSyncItem),q(null),U(null)}catch(e){U(e instanceof Error?e.message:String(e))}finally{O(!1)}},ex=async()=>{O(!0);try{let t=await (0,N.controlPlaneRequest)(`mutation ApplySkillSync($runId: ID!) {
28
+ applySkillSync(runId: $runId) { ${T.SKILL_SYNC_RUN_FIELDS} }
29
+ }`,{runId:e});_(t.applySkillSync)}catch(e){U(e instanceof Error?e.message:String(e))}finally{O(!1)}},ef=async()=>{O(!0);try{let t=await (0,N.controlPlaneRequest)(`mutation SkipPendingSkillSync($runId: ID!) {
30
+ skipPendingSkillSync(runId: $runId) { ${T.SKILL_SYNC_RUN_FIELDS} }
31
+ }`,{runId:e});_(t.skipPendingSkillSync),U(null)}catch(e){U(e instanceof Error?e.message:String(e))}finally{O(!1)}},eg=async e=>{let t=e.candidatePackage?.package;if(t&&(q(e),X(t.files.map(e=>({...e}))),J("SKILL.md"),ee("SKILL.md"),G([]),e.skill)){ea(!0);try{let t=await (0,N.controlPlaneRequest)(`query ConflictDatabasePackage($id: ID!) {
32
+ skill(id: $id) { files { path contentsBase64 executable } }
33
+ }`,{id:e.skill.id});G(t.skill?.files??[])}catch(e){U(e instanceof Error?e.message:String(e))}finally{ea(!1)}}},eb=async()=>{if(!V?.candidatePackage?.package)return;let e=V.candidatePackage.package;await em(V,"MANUAL",{...V.candidatePackage,package:{...e,files:W}})},ey=async e=>{if(!e)return;let t=await Promise.all([...e].map(async e=>({path:e.name,contentsBase64:function(e){let t="";for(let a=0;a<e.length;a+=32768)t+=String.fromCharCode(...e.subarray(a,a+32768));return window.btoa(t)}(new Uint8Array(await e.arrayBuffer())),executable:!1})));X(e=>[...e.filter(e=>!t.some(t=>t.path===e.path)),...t]),t[0]&&(J(t[0].path),ee(t[0].path))};return H||!B?(0,t.jsxs)("div",{className:"flex gap-2 p-6 text-sm text-muted-foreground",children:[(0,t.jsx)(k.Spinner,{})," ",i("loadingSync")]}):(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-4 overflow-auto p-4 sm:p-6",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(x.Button,{asChild:!0,size:"icon",variant:"ghost",children:(0,t.jsx)(w.Link,{"aria-label":i("backToSkills"),href:"/skills",children:(0,t.jsx)(n.ArrowLeft,{})})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold",children:i("syncTitle")}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:B.group?i("syncGroupName",{name:B.group.name}):i("syncAllDescription")})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.Badge,{variant:"SUCCEEDED"===B.status?"secondary":"outline",children:A(B.status)}),eo.length>0&&(0,t.jsxs)(x.Button,{disabled:K,onClick:()=>void ef(),variant:"outline",children:[K?(0,t.jsx)(k.Spinner,{}):(0,t.jsx)(c,{})," ",i("skipPendingClients")]}),(0,t.jsxs)(x.Button,{disabled:K||!["READY","PARTIAL"].includes(B.status),onClick:()=>void ex(),children:[K?(0,t.jsx)(k.Spinner,{}):(0,t.jsx)(o.Play,{})," ",i("applySync")]})]})]}),z&&(0,t.jsx)(h.Alert,{variant:"destructive",children:(0,t.jsx)(h.AlertDescription,{children:z})}),es.length>0&&(0,t.jsxs)(f.Card,{className:"gap-0 py-0",children:[(0,t.jsxs)(f.CardHeader,{className:"border-b py-4",children:[(0,t.jsx)(f.CardTitle,{children:i("syncAgents")}),(0,t.jsx)(f.CardDescription,{children:i("syncAgentsDescription")})]}),(0,t.jsx)(f.CardContent,{className:"px-0",children:(0,t.jsxs)(S.Table,{children:[(0,t.jsx)(S.TableHeader,{children:(0,t.jsxs)(S.TableRow,{children:[(0,t.jsx)(S.TableHead,{children:i("agent")}),(0,t.jsx)(S.TableHead,{children:i("connection")}),(0,t.jsx)(S.TableHead,{children:i("operation")}),(0,t.jsx)(S.TableHead,{children:i("syncStatus")})]})}),(0,t.jsx)(S.TableBody,{children:es.map(e=>{let a=e.agent?.connectionStatus==="ONLINE";return(0,t.jsxs)(S.TableRow,{children:[(0,t.jsx)(S.TableCell,{className:"font-medium",children:e.agent?.name??i("unknownAgent")}),(0,t.jsx)(S.TableCell,{children:(0,t.jsx)(m.Badge,{className:a?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":void 0,variant:a?"outline":"secondary",children:P(a?"online":"offline")})}),(0,t.jsx)(S.TableCell,{children:(0,t.jsx)(m.Badge,{variant:"outline",children:A(e.direction)})}),(0,t.jsx)(S.TableCell,{children:(0,t.jsx)(m.Badge,{variant:"FAILED"===e.status?"destructive":"COMPLETE"===e.status||"SUCCEEDED"===e.status?"secondary":"outline",children:A(e.status)})})]},e.id)})})]})})]}),(0,t.jsxs)(f.Card,{className:"gap-0 py-0",children:[(0,t.jsxs)(f.CardHeader,{className:"border-b py-4",children:[(0,t.jsx)(f.CardTitle,{children:i("syncChanges")}),(0,t.jsx)(f.CardDescription,{children:i("syncChangesDescription")})]}),(0,t.jsx)(f.CardContent,{className:"px-0",children:(0,t.jsxs)(S.Table,{children:[(0,t.jsx)(S.TableHeader,{children:(0,t.jsxs)(S.TableRow,{children:[(0,t.jsx)(S.TableHead,{children:i("change")}),(0,t.jsx)(S.TableHead,{children:i("name")}),(0,t.jsx)(S.TableHead,{children:i("agent")}),(0,t.jsx)(S.TableHead,{children:i("location")}),(0,t.jsx)(S.TableHead,{children:i("status")}),(0,t.jsx)(S.TableHead,{children:i("resolution")})]})}),(0,t.jsxs)(S.TableBody,{children:[el.map(e=>{var n;let o=e.candidatePackage?.projectGroupRequired,c="IMPORT"===e.direction&&e.installation&&!e.installation.tracked;return(0,t.jsxs)(S.TableRow,{children:[(0,t.jsx)(S.TableCell,{children:(0,t.jsxs)(m.Badge,{className:"gap-1",variant:"CONFLICT"===e.direction?"destructive":"outline",children:["IMPORT"===(n=e.direction)?(0,t.jsx)(a.ArrowDownToLine,{}):"EXPORT"===n?(0,t.jsx)(r,{}):"DELETE_REDUNDANT"===n?(0,t.jsx)(d.Trash2,{}):"CONFLICT"===n?(0,t.jsx)(s.GitCompareArrows,{}):(0,t.jsx)(l.Check,{})," ",A(e.direction)]})}),(0,t.jsx)(S.TableCell,{className:"font-medium",children:e.skill?.name??e.installation?.skillName??"—"}),(0,t.jsx)(S.TableCell,{children:e.agent?.name??e.installation?.agent.name??"—"}),(0,t.jsx)(S.TableCell,{className:"max-w-md whitespace-normal font-mono text-xs",children:e.installation?.rootPath??i("newSharedLocation")}),(0,t.jsx)(S.TableCell,{children:(0,t.jsx)(m.Badge,{variant:"BLOCKED"===e.status?"destructive":"READY"===e.status||"COMPLETE"===e.status?"secondary":"outline",children:A(e.status)})}),(0,t.jsxs)(S.TableCell,{children:[o&&"BLOCKED"===e.status&&(0,t.jsxs)(v.Select,{onValueChange:t=>ei(a=>({...a,[e.id]:t===L?"":t})),value:en[e.id]||L,children:[(0,t.jsx)(v.SelectTrigger,{className:"mb-1 w-full min-w-48",size:"sm",children:(0,t.jsx)(v.SelectValue,{placeholder:i("chooseGroup")})}),(0,t.jsxs)(v.SelectContent,{align:"start",children:[(0,t.jsx)(v.SelectItem,{value:L,children:i("chooseGroup")}),$.map(e=>(0,t.jsx)(v.SelectItem,{value:e.id,children:e.name},e.id))]})]}),"BLOCKED"===e.status?(0,t.jsxs)("div",{className:"flex flex-wrap gap-1",children:[e.skill&&(0,t.jsx)(x.Button,{disabled:K,onClick:()=>void em(e,"DATABASE"),size:"sm",variant:"outline",children:i("useDatabase")}),e.candidatePackage?.package&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Button,{disabled:K||o&&!en[e.id],onClick:()=>void em(e,"TARGET"),size:"sm",variant:"outline",children:i("useTarget")}),(0,t.jsxs)(x.Button,{disabled:K,onClick:()=>void eg(e),size:"sm",variant:"outline",children:[(0,t.jsx)(s.GitCompareArrows,{})," ",i("compareAndResolve")]})]}),c&&(0,t.jsxs)(x.Button,{disabled:K,onClick:()=>void em(e,"DELETE"),size:"sm",variant:"destructive",children:[(0,t.jsx)(d.Trash2,{})," ",i("deleteClientCopy")]}),(0,t.jsx)(x.Button,{disabled:K,onClick:()=>void em(e,"SKIP"),size:"sm",variant:"outline",children:i("skip")})]}):c&&"READY"===e.status?(0,t.jsxs)(x.Button,{disabled:K,onClick:()=>void em(e,"DELETE"),size:"sm",variant:"destructive",children:[(0,t.jsx)(d.Trash2,{})," ",i("deleteClientCopy")]}):e.resolution?A(e.resolution):"—"]})]},e.id)}),!el.length&&(0,t.jsx)(S.TableRow,{children:(0,t.jsx)(S.TableCell,{className:"py-10 text-center text-muted-foreground",colSpan:6,children:"PREPARING"===B.status?i("scanningAgents"):i("noSyncChanges")})})]})]})})]}),(0,t.jsx)(b.Dialog,{onOpenChange:e=>{e||(q(null),G([]),X([]))},open:!!V,children:(0,t.jsxs)(b.DialogContent,{className:"flex max-h-[92vh] flex-col overflow-hidden sm:max-w-6xl",children:[(0,t.jsxs)(b.DialogHeader,{className:"shrink-0",children:[(0,t.jsx)(b.DialogTitle,{children:i("manualResolution")}),(0,t.jsx)(b.DialogDescription,{children:i("manualResolutionDescription")})]}),(0,t.jsxs)("div",{className:"flex shrink-0 flex-wrap gap-2",children:[(0,t.jsxs)(x.Button,{disabled:!Y.length||et,onClick:()=>X(Y.map(e=>({...e}))),size:"sm",variant:"outline",children:[et?(0,t.jsx)(k.Spinner,{}):(0,t.jsx)(a.ArrowDownToLine,{})," ",i("startFromDatabase")]}),(0,t.jsxs)(x.Button,{disabled:!ec.length,onClick:()=>X(ec.map(e=>({...e}))),size:"sm",variant:"outline",children:[(0,t.jsx)(a.ArrowDownToLine,{})," ",i("startFromTarget")]}),(0,t.jsx)(x.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsx)(j.Label,{className:"cursor-pointer",htmlFor:"manual-package-upload",children:i("addFiles")})}),(0,t.jsx)(y.Input,{className:"sr-only",id:"manual-package-upload",multiple:!0,onChange:e=>void ey(e.currentTarget.files),type:"file"})]}),(0,t.jsxs)("div",{className:"grid min-h-0 flex-1 gap-4 overflow-y-auto lg:grid-cols-[14rem_minmax(0,1fr)]",children:[(0,t.jsxs)("div",{className:"space-y-1 rounded-md border p-2",children:[(0,t.jsx)("p",{className:"px-2 py-1 text-xs font-medium text-muted-foreground",children:i("packageFiles")}),ed.map(e=>(0,t.jsx)("button",{className:`block w-full truncate rounded px-2 py-1.5 text-left font-mono text-xs ${e===Z?"bg-accent text-accent-foreground":"hover:bg-muted"}`,onClick:()=>{J(e),ee(e)},type:"button",children:e},e))]}),(0,t.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,t.jsx)(j.Label,{children:i("databaseVersion")}),et?(0,t.jsx)(k.Spinner,{}):(0,t.jsx)(D,{binaryLabel:i("binaryPreview"),executableLabel:i("executable"),file:eu,missingLabel:i("missingFile")})]}),(0,t.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,t.jsx)(j.Label,{children:i("targetVersion")}),(0,t.jsx)(D,{binaryLabel:i("binaryPreview"),executableLabel:i("executable"),file:ep,missingLabel:i("missingFile")})]})]}),(0,t.jsxs)("div",{className:"space-y-3 rounded-md border p-3",children:[(0,t.jsx)(j.Label,{children:i("resultVersion")}),eh?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,t.jsxs)("div",{className:"min-w-64 flex-1 space-y-1",children:[(0,t.jsx)(j.Label,{htmlFor:"manual-file-path",children:i("filePath")}),(0,t.jsx)(y.Input,{id:"manual-file-path",onChange:e=>ee(e.target.value),value:Q})]}),(0,t.jsx)(x.Button,{disabled:!Q.trim()||Q.trim()!==eh.path&&W.some(e=>e.path===Q.trim()),onClick:()=>{let e=Q.trim().replaceAll("\\","/");!eh||!e||e!==eh.path&&W.some(t=>t.path===e)||(X(t=>t.map(t=>t.path===eh.path?{...t,path:e}:t)),J(e),ee(e))},variant:"outline",children:i("rename")}),(0,t.jsxs)(j.Label,{className:"flex h-8 items-center gap-2 rounded-lg border px-3",children:[(0,t.jsx)(g.Checkbox,{checked:eh.executable,onCheckedChange:e=>X(t=>t.map(t=>t.path===eh.path?{...t,executable:!0===e}:t))}),i("executable")]}),(0,t.jsxs)(x.Button,{disabled:"SKILL.md"===eh.path,onClick:()=>{X(e=>e.filter(e=>e.path!==eh.path));let e=ed.find(e=>e!==eh.path);J(e??"SKILL.md"),ee(e??"SKILL.md")},variant:"destructive",children:[(0,t.jsx)(d.Trash2,{})," ",i("removeFile")]})]}),null===R(eh)?(0,t.jsxs)("div",{className:"space-y-2 rounded-md bg-muted/30 p-3 text-sm text-muted-foreground",children:[(0,t.jsx)("p",{children:i("binaryFile")}),(0,t.jsxs)("p",{children:[I(eh.contentsBase64).byteLength.toLocaleString()," ","B"]})]}):(0,t.jsx)(C.Textarea,{className:"min-h-48 font-mono text-xs",onChange:e=>X(t=>t.map(t=>t.path===eh.path?{...t,contentsBase64:function(e){let t=new TextEncoder().encode(e),a="";for(let e of t)a+=String.fromCharCode(e);return window.btoa(a)}(e.target.value)}:t)),value:R(eh)??""})]}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("missingResultFile")})]})]})]}),(0,t.jsx)(b.DialogFooter,{className:"shrink-0",children:(0,t.jsxs)(x.Button,{disabled:K||!W.some(e=>"SKILL.md"===e.path)||V?.candidatePackage?.projectGroupRequired===!0&&!en[V.id],onClick:()=>void eb(),children:[K&&(0,t.jsx)(k.Spinner,{})," ",i("useManualVersion")]})})]})})]})}],629864)}]);