@ai-development-environment/server 0.0.29 → 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.
- package/package.json +1 -1
- package/prisma-runtime/prisma/migrations/20260719010000_add_build_reports/migration.sql +29 -0
- package/prisma-runtime/prisma/schema.prisma +23 -0
- package/standalone/.next/BUILD_ID +1 -1
- package/standalone/.next/app-path-routes-manifest.json +2 -0
- package/standalone/.next/build-manifest.json +6 -6
- package/standalone/.next/prerender-manifest.json +3 -3
- package/standalone/.next/routes-manifest.json +17 -0
- package/standalone/.next/server/app/[locale]/actions/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/actions/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/agents/[id]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/agents/[id]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/agents/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/agents/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/build-data/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/build-data/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/app-paths-manifest.json +3 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/build-manifest.json +16 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/next-font-manifest.json +11 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/react-loadable-manifest.json +1 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/server-reference-manifest.json +4 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js +16 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.map +5 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.nft.json +1 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +3 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/builds/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/builds/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/comments/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/comments/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/cache/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/tickets/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/pull-requests/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/settings/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/settings/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/groups/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/tools/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/tools/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/usage/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/usage/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/worktrees/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/_global-error.html +1 -1
- package/standalone/.next/server/app/_global-error.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/_not-found.html +1 -1
- package/standalone/.next/server/app/_not-found.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +1 -1
- package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/app-paths-manifest.json +3 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/build-manifest.json +9 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/server-reference-manifest.json +4 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js +10 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.map +5 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.nft.json +1 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route_client-reference-manifest.js +3 -0
- package/standalone/.next/server/app-paths-manifest.json +2 -0
- package/standalone/.next/server/chunks/1oeh_server_app_api_worktrees_[worktreeId]_diff-image_route_actions_0nie5n3.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__09v6swg._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__0aiyd05._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__0rwpsai._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__0zyqmd4._.js +122 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__15_clsj._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__0c02fce._.js → [root-of-the-server]__1oa-sy6._.js} +2 -2
- package/standalone/.next/server/chunks/[root-of-the-server]__1vxtcsq._.js +3 -0
- package/standalone/.next/server/chunks/_0exkna-._.js +143 -8
- package/standalone/.next/server/chunks/_0jurkow._.js +1 -1
- package/standalone/.next/server/chunks/_0rx5rfm._.js +1 -1
- package/standalone/.next/server/chunks/_0tufgj0._.js +213 -78
- package/standalone/.next/server/chunks/_0w2eghf._.js +143 -8
- package/standalone/.next/server/chunks/_152rnkf._.js +17 -17
- package/standalone/.next/server/chunks/_16x77b_._.js +1 -1
- package/standalone/.next/server/chunks/_1dbqy8c._.js +17 -17
- package/standalone/.next/server/chunks/_1vrixpc._.js +17 -17
- package/standalone/.next/server/chunks/_1yfz-9u._.js +17 -17
- package/standalone/.next/server/chunks/src_0o4-snj._.js +1 -1
- package/standalone/.next/server/chunks/ssr/1oeh_server_app_[locale]_builds_[buildId]_coverage_page_actions_20i_0zd.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__08bbv6z._.js +9 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ckj6wg._.js +13 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eit075._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tsac-e._.js +15 -0
- package/standalone/.next/server/chunks/ssr/{_19fwji0._.js → [root-of-the-server]__0uo4dhz._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__10-ftkj._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__15v1geo._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qm_j4s._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1s6_fta._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0-o77zz._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_00m30gw._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_03961l6._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_00ye62k._.js → _08q5hnx._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_093--4s._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1kaz2gq._.js → _09lh67h._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_0a1ligo._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1r2rmfp._.js → _0cw_tqx._.js} +2 -8
- package/standalone/.next/server/chunks/ssr/_0dq-84j._.js +22 -0
- package/standalone/.next/server/chunks/ssr/_0dy1ovj._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0ezo890._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0id1774._.js +13 -0
- package/standalone/.next/server/chunks/ssr/_0j48up8._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_0nhtqty._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_0oh246z._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0q8sy0w._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0qra30j._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0t2jwg3._.js +109 -0
- package/standalone/.next/server/chunks/ssr/{_1zyjq9y._.js → _0ufkrvm._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/{_07tglcd._.js → _0vjihfb._.js} +2 -10
- package/standalone/.next/server/chunks/ssr/_0xh-lyy._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_15erjna._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_17a3xuq._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_17p59oz._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_1bzibio._.js +109 -0
- package/standalone/.next/server/chunks/ssr/{_12ws_f2._.js → _1c2fde9._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/{_0mr9u9p._.js → _1dnm1d4._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_1ekznx8._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1k1tyz4._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1_1j9nd._.js → _1n9rteq._.js} +3 -7
- package/standalone/.next/server/chunks/ssr/_1och_zk._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_0xrpdyy._.js → _1tpguta._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_1v1lo7c._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1vv-dg-._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1zgu74l._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0i._.js +1 -1
- package/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uzalot.js +4 -0
- package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js +14 -8
- package/standalone/.next/server/chunks/ssr/src_components_builds_coverage-report-page_tsx_1nhwba1._.js +11 -0
- package/standalone/.next/server/chunks/ssr/src_components_codebases_repository-detail-page_tsx_20_7wk_._.js +5 -5
- package/standalone/.next/server/chunks/ssr/src_components_jira_cache-page_tsx_1znt1yl._.js +1 -1
- package/standalone/.next/server/chunks/ssr/src_components_skills_skill-sync-page_tsx_15sidhb._.js +1 -1
- package/standalone/.next/server/chunks/ssr/src_components_skills_skills-page_tsx_0o1nlbg._.js +3 -3
- package/standalone/.next/server/chunks/ssr/src_components_worktrees_worktree-detail-page_tsx_1oexgu_._.js +13 -5
- package/standalone/.next/server/functions-config-manifest.json +3 -0
- package/standalone/.next/server/middleware-build-manifest.js +6 -6
- package/standalone/.next/server/next-font-manifest.js +1 -1
- package/standalone/.next/server/next-font-manifest.json +4 -0
- package/standalone/.next/server/pages/404.html +1 -1
- package/standalone/.next/server/pages/500.html +1 -1
- package/standalone/.next/server/server-reference-manifest.js +1 -1
- package/standalone/.next/server/server-reference-manifest.json +1 -1
- package/standalone/.next/static/chunks/041g9raf1naqv.js +48 -0
- package/standalone/.next/static/chunks/08ujwkhzkokhf.js +1 -0
- package/standalone/.next/static/chunks/{16tfdsma_h0r5.js → 0a82bgw37ev__.js} +1 -1
- package/standalone/.next/static/chunks/0cw4z7_m01m5f.js +31 -0
- package/standalone/.next/static/chunks/0emxr8tr7kji0.js +33 -0
- package/standalone/.next/static/chunks/0h8zu6aywqh1-.js +27 -0
- package/standalone/.next/static/chunks/0ng892ycfzv2q.js +1 -0
- package/standalone/.next/static/chunks/0tgtji0dbbefa.js +107 -0
- package/standalone/.next/static/chunks/15_8kla24ff9f.js +1 -0
- package/standalone/.next/static/chunks/16-l4kp9o217d.js +1 -0
- package/standalone/.next/static/chunks/1c7ci5ai5qyfo.js +1 -0
- package/standalone/.next/static/chunks/1egccqmgk3kbi.js +1 -0
- package/standalone/.next/static/chunks/1gwvywh0e6i17.js +3 -0
- package/standalone/.next/static/chunks/1hehq94hslvbl.js +7 -0
- package/standalone/.next/static/chunks/1k5cw41bd4e5r.js +51 -0
- package/standalone/.next/static/chunks/{2rjf8o4g23no8.js → 1mprxk0uebv70.js} +1 -1
- package/standalone/.next/static/chunks/1rus13s58mkxy.js +1 -0
- package/standalone/.next/static/chunks/{2fzxwi39odugq.js → 1rwqeg_l_plzt.js} +1 -1
- package/standalone/.next/static/chunks/1u_jwc-bo10k3.js +1 -0
- package/standalone/.next/static/chunks/1ut0xkaqsykm4.js +7 -0
- package/standalone/.next/static/chunks/1w_zvfx_jdyv_.js +29 -0
- package/standalone/.next/static/chunks/2-wrd12dmwbo-.js +1 -0
- package/standalone/.next/static/chunks/23kut2_l2y2-w.js +9 -0
- package/standalone/.next/static/chunks/{1nnp0crt0mi_-.js → 23xyv764-kx8z.js} +12 -12
- package/standalone/.next/static/chunks/{1wihkuyju-wa-.js → 25haryfoj4x3h.js} +1 -1
- package/standalone/.next/static/chunks/{0fr0zp4cwlyrr.js → 28ljy-uz6n_g9.js} +2 -2
- package/standalone/.next/static/chunks/29zl8lgsa28tb.js +1 -0
- package/standalone/.next/static/chunks/{4013cp3x6bvuw.js → 2__bi79el56lb.js} +5 -5
- package/standalone/.next/static/chunks/2aq80hyo4l8a2.js +7 -0
- package/standalone/.next/static/chunks/{24a_ux27e8jj4.js → 2l_wayk-ioguc.js} +1 -1
- package/standalone/.next/static/chunks/2swvzbwm_dr9y.js +1 -0
- package/standalone/.next/static/chunks/{0m26h4h36cb_0.js → 3120xcqaqci82.js} +1 -1
- package/standalone/.next/static/chunks/{3-u7pvogc5_bx.js → 315cis1es_5t3.js} +12 -12
- package/standalone/.next/static/chunks/321feys_9vp2v.js +33 -0
- package/standalone/.next/static/chunks/{0d-e51sawr2y8.js → 34oyci46fsc5w.js} +1 -1
- package/standalone/.next/static/chunks/37mczlawlcx5l.js +1 -0
- package/standalone/.next/static/chunks/{1tcqtaedz7922.js → 3d4ijy7zglgv5.js} +1 -1
- package/standalone/.next/static/chunks/3ir4b8po439x7.js +40 -0
- package/standalone/.next/static/chunks/3p7wbgo7qd6_m.css +1 -0
- package/standalone/.next/static/chunks/3q0q6_ntq8aa5.js +51 -0
- package/standalone/.next/static/chunks/3r-6igcofcwxj.js +107 -0
- package/standalone/.next/static/chunks/{0m--47yk9j-ec.js → 3tycetq7o8g3h.js} +1 -1
- package/standalone/.next/static/chunks/3vg6y29m047x9.js +31 -0
- package/standalone/.next/static/chunks/{0biu8z1f8c42u.js → 40ovzayigkz_-.js} +1 -1
- package/standalone/.next/static/chunks/41wq-96yyl0uw.js +1 -0
- package/standalone/.next/static/chunks/44xu63hsh11xp.js +1 -0
- package/standalone/.next/static/chunks/{turbopack-1rw7om86c18dg.js → turbopack-1v9ogj_5hv56l.js} +1 -1
- package/standalone/src/services/builds/builds.service.test.ts +55 -0
- package/standalone/src/services/builds/builds.service.ts +399 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1oahp4o._.js +0 -122
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0361lgt._.js +0 -33
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__06f05jg._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ay4_3d._.js +0 -37
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dm8osz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1349-us._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1xv798-._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1z955gh._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0bvpmhm._.js +0 -101
- package/standalone/.next/server/chunks/ssr/_0eb36qa._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0ndnmkz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0nm6upn._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0pe56xv._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0quhjav._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0w05v7m._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0xozjkz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1-1mnp6._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1-7r8vu._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1-grolz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_10evhql._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_142x9wn._.js +0 -22
- package/standalone/.next/server/chunks/ssr/_1_ta7g1._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1ey5mmy._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1fdyu2w._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1g3i459._.js +0 -15
- package/standalone/.next/server/chunks/ssr/_1g_aflc._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1h3p6oi._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1lcwubl._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1lseili._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1za3z6k._.js +0 -101
- package/standalone/.next/server/chunks/ssr/_20ufqtr._.js +0 -3
- package/standalone/.next/static/chunks/0a3s519wuzjet.js +0 -1
- package/standalone/.next/static/chunks/0newuocvg03xy.js +0 -3
- package/standalone/.next/static/chunks/0rlomhlt6030e.js +0 -1
- package/standalone/.next/static/chunks/1802j8gq2g47d.js +0 -7
- package/standalone/.next/static/chunks/1_tnhhn4f122y.js +0 -9
- package/standalone/.next/static/chunks/1eny65xy2ho48.js +0 -1
- package/standalone/.next/static/chunks/1joeb4m-mmn69.js +0 -7
- package/standalone/.next/static/chunks/1l4bkigul15i3.js +0 -25
- package/standalone/.next/static/chunks/1qd6cse_d9ae1.js +0 -99
- package/standalone/.next/static/chunks/2-mxmazwsh-wz.js +0 -1
- package/standalone/.next/static/chunks/24sd_kmnetibb.js +0 -1
- package/standalone/.next/static/chunks/27k7_zc-iuppd.js +0 -1
- package/standalone/.next/static/chunks/2baaj4mpr6i-i.js +0 -1
- package/standalone/.next/static/chunks/2cj2ndz_e0hbz.js +0 -1
- package/standalone/.next/static/chunks/2fzwgr2iq_783.css +0 -1
- package/standalone/.next/static/chunks/2hv6pkoloju0g.js +0 -33
- package/standalone/.next/static/chunks/2jbygfc0lzu0t.js +0 -55
- package/standalone/.next/static/chunks/2n7u72nxziv_5.js +0 -7
- package/standalone/.next/static/chunks/2sqprazdqp7f7.js +0 -1
- package/standalone/.next/static/chunks/2x8qovg070057.js +0 -1
- package/standalone/.next/static/chunks/3-zh9b0tcttiw.js +0 -33
- package/standalone/.next/static/chunks/31wyih3wwkeid.js +0 -1
- package/standalone/.next/static/chunks/33y_b6dqfx3tk.js +0 -1
- package/standalone/.next/static/chunks/3h1pxh5fd97ym.js +0 -27
- package/standalone/.next/static/chunks/3jbfibit05k5o.js +0 -29
- package/standalone/.next/static/chunks/3jd8_7lna-j_x.js +0 -40
- package/standalone/.next/static/chunks/3jv2gnnn4vx-j.js +0 -43
- package/standalone/.next/static/chunks/3k0oakdayt9yt.js +0 -40
- package/standalone/.next/static/chunks/3pgngh8lg3be3.js +0 -99
- package/standalone/.next/static/chunks/43gw6_6hbw18w.js +0 -51
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → ePu377E66yy0icQx3ykQJ}/_buildManifest.js +0 -0
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → ePu377E66yy0icQx3ykQJ}/_clientMiddlewareManifest.js +0 -0
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → ePu377E66yy0icQx3ykQJ}/_ssgManifest.js +0 -0
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
module.exports=[307048,532055,873142,a=>{"use strict";var b=a.i(187924),c=a.i(32886),d=a.i(415925),e=a.i(786304),f=a.i(206015),g=a.i(368114);function h({label:a,additions:c,deletions:d}){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 whitespace-nowrap text-muted-foreground",children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)(i,{additions:c,deletions:d})]})}function i({additions:a,deletions:c}){return null===a&&null===c?(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"}):(0,b.jsxs)("span",{className:"inline-flex gap-1 tabular-nums",children:[(0,b.jsxs)("span",{className:"text-emerald-700 dark:text-emerald-400",children:["+",a??0]}),(0,b.jsxs)("span",{className:"text-red-700 dark:text-red-400",children:["−",c??0]})]})}a.s(["WorktreeDetailPanel",0,function({detail:a,inline:j=!1}){let k=(0,d.useTranslations)("worktrees"),l=(0,c.useLocale)();return(0,b.jsxs)("div",{className:(0,g.cn)("w-full space-y-4",j&&"border-t pt-4"),"data-testid":"worktree-detail","data-worktree-navigation-ignore":j?"true":void 0,children:[(0,b.jsxs)("section",{className:"w-full",children:[(0,b.jsx)("h2",{className:"mb-2 font-medium",children:k("changes",{count:a.changes.length})}),(0,b.jsx)("div",{className:(0,g.cn)("overflow-auto rounded-md border",j&&"max-h-80"),children:a.changes.length?(0,b.jsx)(f.Table,{"aria-label":k("changes",{count:a.changes.length}),className:"min-w-[36rem] table-fixed text-xs",children:(0,b.jsx)(f.TableBody,{children:a.changes.map(a=>(0,b.jsxs)(f.TableRow,{children:[(0,b.jsx)(f.TableCell,{className:"max-w-0 px-2 py-1.5 font-mono",children:(0,b.jsx)("span",{className:"block truncate",title:a.path,children:a.path})}),(0,b.jsx)(f.TableCell,{className:"w-px px-2 py-1.5",children:(0,b.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[a.conflicted&&(0,b.jsx)(e.Badge,{className:"px-1.5",variant:"destructive",children:k("conflicted")}),a.staged&&(0,b.jsx)(h,{additions:a.stagedAdditions,deletions:a.stagedDeletions,label:k("staged")}),a.unstaged&&(0,b.jsx)(h,{additions:a.unstagedAdditions,deletions:a.unstagedDeletions,label:k("unstaged")}),a.untracked&&(0,b.jsx)(h,{additions:a.unstagedAdditions,deletions:a.unstagedDeletions,label:k("untracked")})]})})]},a.path))})}):(0,b.jsx)("p",{className:"p-3 text-sm text-muted-foreground",children:k("noChanges")})})]}),(0,b.jsxs)("section",{className:"w-full",children:[(0,b.jsx)("h2",{className:"mb-2 font-medium",children:k("commits",{count:a.commits.length})}),(0,b.jsx)("div",{className:(0,g.cn)("overflow-auto rounded-md border",j&&"max-h-80"),children:a.commits.length?(0,b.jsx)(f.Table,{"aria-label":k("commits",{count:a.commits.length}),className:"min-w-[36rem] table-fixed text-xs",children:(0,b.jsx)(f.TableBody,{children:a.commits.map(a=>(0,b.jsxs)(f.TableRow,{children:[(0,b.jsx)(f.TableCell,{className:"w-24 px-2 py-1.5 font-mono text-muted-foreground",children:a.sha.slice(0,8)}),(0,b.jsx)(f.TableCell,{className:"max-w-0 px-2 py-1.5",children:(0,b.jsxs)("div",{className:"flex min-w-0 items-baseline gap-2",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.subject}),(0,b.jsxs)("span",{className:"shrink-0 text-muted-foreground",children:[a.authorName," ·"," ",new Date(a.authoredAt).toLocaleString(l)]})]})}),(0,b.jsx)(f.TableCell,{className:"w-24 px-2 py-1.5 text-right",children:(0,b.jsx)(i,{additions:a.additions,deletions:a.deletions})})]},a.sha))})}):(0,b.jsx)("p",{className:"p-3 text-sm text-muted-foreground",children:k("noCommits")})})]}),(a.commitsTruncated||a.changesTruncated)&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:k("truncated")})]})}],307048);let j=`
|
|
2
|
-
id codebaseId gitDirectory folder relativePath primary branch headSha upstream ahead behind syncState
|
|
3
|
-
baseBranch baseBranchOverride baseAhead baseBehind hasStagedChanges hasUnstagedChanges highlightColor availability statusError
|
|
4
|
-
pushStatus
|
|
5
|
-
ticketKey ticketTitle ticketStatus lastCheckedAt missingAt createdAt updatedAt
|
|
6
|
-
tags { id name color createdAt updatedAt }
|
|
7
|
-
activeJob { id agentId kind payload status idempotencyKey result error timeoutSeconds createdAt startedAt finishedAt updatedAt }
|
|
8
|
-
pullRequest { id number title url repositoryGithubId repositoryNameWithOwner repositoryUrl labels jiraKey pipelineStatus pipelines { id name status url checkSuiteId canRetry retryUnavailableReason jobs { id name status url canRetry retryUnavailableReason steps { number name status } } } reviewDecision unresolvedReviewThreadCount createdAt }
|
|
9
|
-
latestBuild {
|
|
10
|
-
id status action destinationType destination outOfDate createdAt
|
|
11
|
-
artifacts { id kind }
|
|
12
|
-
}
|
|
13
|
-
`,k=`
|
|
14
|
-
id folder observedOrigin branch headSha upstream ahead behind syncState availability statusError
|
|
15
|
-
defaultBranch localBranches remoteBranches lastCheckedAt lastFetchedAt lastFetchAttemptAt lastFetchError createdAt updatedAt
|
|
16
|
-
`,l=`mutation InspectWorktree($id: ID!, $requestId: ID!) {
|
|
17
|
-
inspectWorktree(id: $id, requestId: $requestId) {
|
|
18
|
-
commits { sha subject authorName authoredAt additions deletions }
|
|
19
|
-
changes { path staged unstaged untracked conflicted stagedAdditions stagedDeletions unstagedAdditions unstagedDeletions }
|
|
20
|
-
commitsTruncated changesTruncated
|
|
21
|
-
}
|
|
22
|
-
}`;a.s(["CODEBASE_FIELDS",0,k,"INSPECT_WORKTREE_MUTATION",0,l,"WORKTREE_FIELDS",0,j],532055);var m=a.i(572131),n=a.i(873555),o=a.i(460280);async function p(a){return(await (0,o.controlPlaneRequest)(l,{id:a,requestId:(0,n.createClientId)()})).inspectWorktree}a.s(["inspectWorktree",0,p,"useLiveWorktree",0,function(a){let[b,c]=(0,m.useState)(null),d=(0,m.useCallback)(b=>{c(c=>({sourceUpdatedAt:a.updatedAt,value:c?.sourceUpdatedAt===a.updatedAt?{...c.value,...b}:b}))},[a.updatedAt]),e=(0,m.useCallback)(a=>{let b={};null!==a.hasStagedChanges&&(b.hasStagedChanges=a.hasStagedChanges),null!==a.hasUnstagedChanges&&(b.hasUnstagedChanges=a.hasUnstagedChanges),null!==a.pushStatus&&(b.pushStatus=a.pushStatus),"string"==typeof a.headSha&&Object.assign(b,{branch:a.branch,headSha:a.headSha,upstream:a.upstream,ahead:a.ahead,behind:a.behind,syncState:a.syncState??"UNKNOWN",baseAhead:a.baseAhead,baseBehind:a.baseBehind}),Object.keys(b).length&&d(b)},[d]);return{worktree:b?.sourceUpdatedAt===a.updatedAt?{...a,...b.value}:a,applyActivity:e,setUnstagedChanges:(0,m.useCallback)(a=>d({hasUnstagedChanges:a}),[d])}},"useQueuedWorktreeInspection",0,function(a){let b=(0,m.useRef)(!1),c=(0,m.useRef)(!1);return(0,m.useCallback)(async()=>{if(b.current){c.current=!0;return}b.current=!0;try{do c.current=!1,await a();while(c.current)}finally{b.current=!1}},[a])},"useWorktreeActivitySubscription",0,function(a,b,c){let d=(0,m.useRef)(c);(0,m.useEffect)(()=>{d.current=c},[c]),(0,m.useEffect)(()=>{if(!b)return;let c=!1,e=0,f=null,g=()=>void 0,h=a=>{c||a!==e||null!==f||(f=window.setTimeout(()=>{f=null,i()},1e3))},i=()=>{let b=++e;g=(0,o.controlPlaneSubscriptions)().subscribe({query:`subscription WorktreeInspectionChanged($worktreeId: ID!) {
|
|
23
|
-
worktreeInspectionChanged(worktreeId: $worktreeId) {
|
|
24
|
-
worktreeId branch headSha upstream ahead behind syncState baseAhead baseBehind
|
|
25
|
-
hasStagedChanges hasUnstagedChanges pushStatus observedAt
|
|
26
|
-
}
|
|
27
|
-
}`,variables:{worktreeId:a}},{next:a=>{let b=a.data?.worktreeInspectionChanged;b&&d.current(b)},error:()=>h(b),complete:()=>h(b)})};return i(),()=>{c=!0,e+=1,null!==f&&window.clearTimeout(f),g()}},[b,a])}],873142)},347929,327598,51279,33019,303894,26052,a=>{"use strict";var b=a.i(164831);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",0,c],347929);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",0,d],327598);let e=(0,b.default)("move-right",[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]]);a.s(["MoveRight",0,e],51279);let f=(0,b.default)("paintbrush",[["path",{d:"m14.622 17.897-10.68-2.913",key:"vj2p1u"}],["path",{d:"M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z",key:"18tc5c"}],["path",{d:"M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15",key:"ytzfxy"}]]);a.s(["Paintbrush",0,f],33019);let g=(0,b.default)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]);a.s(["Tags",0,g],303894);var h=a.i(187924),i=a.i(933434),j=a.i(519783),k=a.i(415925),l=a.i(572131),m=a.i(124348),n=a.i(786304),o=a.i(699570),p=a.i(591119),q=a.i(315055),r=a.i(814574),s=a.i(866718),t=a.i(870430),u=a.i(599209),v=a.i(580701),w=a.i(668684),x=a.i(429246),y=a.i(555027),z=a.i(873555),A=a.i(460280),B=a.i(77018);let C=`
|
|
28
|
-
id type
|
|
29
|
-
configurations {
|
|
30
|
-
id name iconKey scheme buildConfiguration defaultAction advancedSettings createdAt updatedAt
|
|
31
|
-
source { id kind relativePath }
|
|
32
|
-
observation { id scopeKey status schemes configurations testPlans error stale headSha xcodeVersion lastParseAttemptAt lastParsedAt }
|
|
33
|
-
}
|
|
34
|
-
allowedScripts {
|
|
35
|
-
position
|
|
36
|
-
script { id name preBuildScript postBuildScript enabledByDefault timeoutSeconds failureBehavior }
|
|
37
|
-
}
|
|
38
|
-
`,D=`
|
|
39
|
-
id scopeKey status schemes configurations testPlans error stale headSha xcodeVersion lastParseAttemptAt lastParsedAt
|
|
40
|
-
`,E=["BUILD","TEST","ANALYZE","ARCHIVE","BUILD_FOR_TESTING","TEST_WITHOUT_BUILDING"];function F({codebaseId:a,worktreeId:b,open:c,onOpenChange:d,onStarted:e}){let f=(0,k.useTranslations)("builds"),[g,i]=(0,l.useState)(null),[u,y]=(0,l.useState)([]),[G,H]=(0,l.useState)(""),[I,J]=(0,l.useState)("BUILD"),[K,L]=(0,l.useState)({}),[M,N]=(0,l.useState)([]),[O,P]=(0,l.useState)("SIMULATOR"),[Q,R]=(0,l.useState)(""),[S,T]=(0,l.useState)(new Set),[U,V]=(0,l.useState)({}),[W,X]=(0,l.useState)("{}"),[Y,Z]=(0,l.useState)(!0),[$,_]=(0,l.useState)(!1),[aa,ab]=(0,l.useState)(!1),[ac,ad]=(0,l.useState)(null),ae=g?.configurations.find(a=>a.id===G),af=ae?K[ae.id]??ae.observation:null;(0,l.useEffect)(()=>{let c=!1;return(0,A.controlPlaneRequest)(`query StartBuildProject($codebaseId: ID!, $worktreeId: ID!) {
|
|
41
|
-
iosAppProject(codebaseId: $codebaseId) { ${C} }
|
|
42
|
-
builds(first: 50, status: SUCCEEDED, worktreeId: $worktreeId) {
|
|
43
|
-
items { id action destinationType snapshot createdAt }
|
|
44
|
-
}
|
|
45
|
-
}`,{codebaseId:a,worktreeId:b}).then(a=>{if(c)return;i(a.iosAppProject),y(a.builds.items);let b=a.iosAppProject?.configurations[0];b&&(H(b.id),J(b.defaultAction),V(b.advancedSettings??{}),T(new Set(a.iosAppProject.allowedScripts.filter(a=>a.script.enabledByDefault).map(a=>a.script.id))))}).catch(a=>ad(a instanceof Error?a.message:String(a))).finally(()=>{c||Z(!1)}),()=>{c=!0}},[a,b]);let ag=(0,l.useMemo)(()=>u.filter(a=>{if("BUILD_FOR_TESTING"!==a.action||a.destinationType!==O)return!1;let b=a.snapshot.configuration,c="string"==typeof U.testPlan?U.testPlan:null,d=b?.advancedSettings?.testPlan;return b?.id===G&&(!c||!d||c===d)}),[U.testPlan,G,O,u]),ah=ag.find(a=>a.id===U.priorBuildForTestingId)?.id??ag[0]?.id??null,ai=async(a,c)=>{_(!0),ad(null),N([]),R("");try{let d=await (0,A.controlPlaneRequest)(`mutation InspectStartBuildDestinations($input: InspectBuildDestinationsInput!) {
|
|
46
|
-
inspectBuildDestinations(input: $input)
|
|
47
|
-
}`,{input:{worktreeId:b,configurationId:a.id,action:c,requestId:(0,z.createClientId)()}});N(d.inspectBuildDestinations);let e="ARCHIVE"===c?"PHYSICAL_DEVICE":d.inspectBuildDestinations.some(a=>"SIMULATOR"===a.type)?"SIMULATOR":"PHYSICAL_DEVICE";P(e),R(d.inspectBuildDestinations.find(a=>a.type===e)?.id??"")}catch(a){ad(a instanceof Error?a.message:String(a))}finally{_(!1)}},aj=async a=>{_(!0),ad(null);try{let c=(await (0,A.controlPlaneRequest)(`mutation ReparseStartBuild($configurationId: ID!, $worktreeId: ID!, $requestId: ID!) {
|
|
48
|
-
reparseBuildConfiguration(configurationId: $configurationId, worktreeId: $worktreeId, requestId: $requestId) {
|
|
49
|
-
${D}
|
|
50
|
-
}
|
|
51
|
-
}`,{configurationId:a.id,worktreeId:b,requestId:(0,z.createClientId)()})).reparseBuildConfiguration;if(L(b=>({...b,[a.id]:c})),"VALID"!==c.status)throw Error(c.error||f("configurationInvalid"));await ai(a,I)}catch(a){ad(a instanceof Error?a.message:String(a))}finally{_(!1)}};(0,l.useEffect)(()=>{if(!ae||Y)return;let a=window.setTimeout(()=>void ai(ae,I),0);return()=>window.clearTimeout(a)},[G,I,Y]);let ak=(0,l.useMemo)(()=>M.filter(a=>a.type===O),[M,O]),al=M.find(a=>a.id===Q),am=ae?`xcrun xcodebuild ${"PROJECT"===ae.source.kind?`-project ${ae.source.relativePath}`:"WORKSPACE"===ae.source.kind?`-workspace ${ae.source.relativePath}`:""} -scheme ${JSON.stringify(ae.scheme)} -configuration ${JSON.stringify(ae.buildConfiguration)} -destination ${JSON.stringify(al?.name??"<destination>")} -hideShellScriptEnvironment ${I.toLowerCase().replaceAll("_","-")}${"TEST_WITHOUT_BUILDING"===I&&ah?` \xb7 ${f("priorBuildSummary",{id:ah})}`:""}`:"",an=async()=>{if(ae&&al){ab(!0),ad(null);try{let a={};try{let b=JSON.parse(W);if(!b||"object"!=typeof b||Array.isArray(b))throw Error();a=b}catch{throw Error(f("overridesInvalid"))}let c=await (0,A.controlPlaneRequest)(`mutation StartIosBuild($input: StartBuildInput!) {
|
|
52
|
-
startBuild(input: $input) { id }
|
|
53
|
-
}`,{input:{worktreeId:b,configurationId:ae.id,destination:al,scriptIds:[...S],action:I,advancedSettings:{...U,buildSettingOverrides:a,..."TEST_WITHOUT_BUILDING"===I?{priorBuildForTestingId:ah,priorTestProductsPath:null,priorXctestrunPath:null}:{}},requestId:(0,z.createClientId)()}});d(!1),e(c.startBuild.id)}catch(a){ad(a instanceof Error?a.message:String(a))}finally{ab(!1)}}};return(0,h.jsx)(r.Dialog,{onOpenChange:d,open:c,children:(0,h.jsxs)(r.DialogContent,{className:"sm:max-w-3xl",children:[(0,h.jsxs)(r.DialogHeader,{children:[(0,h.jsx)(r.DialogTitle,{children:f("startBuild")}),(0,h.jsx)(r.DialogDescription,{children:f("startBuildDescription")})]}),ac&&(0,h.jsx)(m.Alert,{variant:"destructive",children:(0,h.jsx)(m.AlertDescription,{children:ac})}),Y?(0,h.jsxs)("p",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,h.jsx)(w.Spinner,{})," ",f("loading")]}):g?.configurations.length?(0,h.jsxs)("div",{className:"space-y-5",children:[(0,h.jsxs)("section",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("configuration")}),(0,h.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:g.configurations.map(a=>(0,h.jsxs)("button",{className:`rounded-xl border p-3 text-left transition-colors ${a.id===G?"border-primary bg-primary/5":"hover:bg-muted/50"}`,onClick:()=>{H(a.id),J(a.defaultAction),V(a.advancedSettings??{})},type:"button",children:[(0,h.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,h.jsxs)("span",{className:"flex items-center gap-2 font-medium",children:[(0,h.jsx)(B.ConfigurationIcon,{iconKey:a.iconKey}),a.name]}),(0,h.jsx)(n.Badge,{variant:"outline",children:((K[a.id]??a.observation)?.status??"UNPARSED").toLocaleLowerCase().split("_").filter(Boolean).map(a=>`${a.charAt(0).toLocaleUpperCase()}${a.slice(1)}`).join(" ")})]}),(0,h.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[a.scheme," · ",a.buildConfiguration]})]},a.id))})]}),ae&&(0,h.jsx)(p.Card,{children:(0,h.jsxs)(p.CardContent,{className:"space-y-2 text-sm",children:[(0,h.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,h.jsxs)("div",{children:[(0,h.jsx)("p",{className:"font-mono text-xs",children:ae.source.relativePath}),(0,h.jsxs)("p",{className:"text-xs text-muted-foreground",children:[ae.scheme," ·"," ",ae.buildConfiguration]})]}),(0,h.jsxs)(o.Button,{disabled:$,onClick:()=>void aj(ae),size:"sm",type:"button",variant:"outline",children:[$?(0,h.jsx)(w.Spinner,{}):(0,h.jsx)(j.RefreshCw,{})," ",f("reparse")]})]}),af?.error&&(0,h.jsx)("p",{className:"text-xs text-destructive",children:af.error})]})}),(0,h.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("action")}),(0,h.jsxs)(v.Select,{onValueChange:a=>J(a),value:I,children:[(0,h.jsx)(v.SelectTrigger,{children:(0,h.jsx)(v.SelectValue,{})}),(0,h.jsx)(v.SelectContent,{children:E.map(a=>(0,h.jsx)(v.SelectItem,{value:a,children:f(`actions.${a}`)},a))})]})]}),(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("destinationType")}),(0,h.jsxs)(v.Select,{disabled:"ARCHIVE"===I,onValueChange:a=>{P(a),R(M.find(b=>b.type===a)?.id??"")},value:O,children:[(0,h.jsx)(v.SelectTrigger,{children:(0,h.jsx)(v.SelectValue,{})}),(0,h.jsxs)(v.SelectContent,{children:[(0,h.jsx)(v.SelectItem,{value:"SIMULATOR",children:f("simulator")}),(0,h.jsx)(v.SelectItem,{value:"PHYSICAL_DEVICE",children:f("physicalDevice")})]})]})]}),(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("device")}),(0,h.jsxs)(v.Select,{disabled:$||!ak.length,onValueChange:R,value:Q,children:[(0,h.jsx)(v.SelectTrigger,{children:(0,h.jsx)(v.SelectValue,{placeholder:f("selectDevice")})}),(0,h.jsx)(v.SelectContent,{children:ak.map(a=>(0,h.jsxs)(v.SelectItem,{value:a.id,children:[a.generic?"SIMULATOR"===a.type?f("anySimulator"):f("anyPhysicalDevice"):a.name,a.osVersion?` \xb7 ${a.osVersion}`:""]},a.id))})]})]})]}),"TEST_WITHOUT_BUILDING"===I&&(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("priorBuildForTesting")}),(0,h.jsxs)(v.Select,{disabled:!ag.length,onValueChange:a=>V(b=>({...b,priorBuildForTestingId:a,priorTestProductsPath:null,priorXctestrunPath:null})),value:ah??"",children:[(0,h.jsx)(v.SelectTrigger,{children:(0,h.jsx)(v.SelectValue,{placeholder:f("selectPriorBuildForTesting")})}),(0,h.jsx)(v.SelectContent,{children:ag.map(a=>(0,h.jsxs)(v.SelectItem,{value:a.id,children:[new Date(a.createdAt).toLocaleString()," ·"," ",a.id]},a.id))})]}),!ag.length&&(0,h.jsx)("p",{className:"text-xs text-destructive",children:f("noPriorBuildForTesting")})]}),["TEST","BUILD_FOR_TESTING","TEST_WITHOUT_BUILDING"].includes(I)&&(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("testPlan")}),(0,h.jsxs)(v.Select,{onValueChange:a=>V(b=>({...b,testPlan:"__SCHEME_DEFAULT__"===a?null:a})),value:String(U.testPlan??"__SCHEME_DEFAULT__"),children:[(0,h.jsx)(v.SelectTrigger,{children:(0,h.jsx)(v.SelectValue,{})}),(0,h.jsxs)(v.SelectContent,{children:[(0,h.jsx)(v.SelectItem,{value:"__SCHEME_DEFAULT__",children:f("schemeDefaultTestPlan")}),"string"==typeof U.testPlan&&U.testPlan&&!af?.testPlans.includes(U.testPlan)&&(0,h.jsxs)(v.SelectItem,{value:U.testPlan,children:[U.testPlan," · ",f("savedValueUnavailable")]}),af?.testPlans.map(a=>(0,h.jsx)(v.SelectItem,{value:a,children:a},a))]})]})]}),g.allowedScripts.length>0&&(0,h.jsxs)("section",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("scripts")}),(0,h.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:g.allowedScripts.map(({script:a})=>(0,h.jsxs)("label",{className:"flex items-start gap-2 rounded-lg border p-2",children:[(0,h.jsx)(q.Checkbox,{checked:S.has(a.id),onCheckedChange:b=>{T(c=>{let d=new Set(c);return b?d.add(a.id):d.delete(a.id),d})}}),(0,h.jsxs)("span",{children:[(0,h.jsx)("span",{className:"block text-sm font-medium",children:a.name}),(0,h.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.preBuildScript?f("preBuild"):"",a.preBuildScript&&a.postBuildScript?" · ":"",a.postBuildScript?f("postBuild"):""]})]})]},a.id))})]}),(0,h.jsxs)("details",{className:"rounded-xl border p-3",children:[(0,h.jsx)("summary",{className:"cursor-pointer font-medium",children:f("advancedSettings")}),(0,h.jsxs)("div",{className:"mt-4 grid gap-4 sm:grid-cols-2",children:[(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{htmlFor:"development-team",children:f("developmentTeam")}),(0,h.jsx)(s.Input,{id:"development-team",onChange:a=>V(b=>({...b,developmentTeam:a.target.value||null})),value:String(U.developmentTeam??"")})]}),(0,h.jsxs)("div",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("packageResolution")}),(0,h.jsxs)(v.Select,{onValueChange:a=>V(b=>({...b,packageResolution:a})),value:String(U.packageResolution??"DEFAULT"),children:[(0,h.jsx)(v.SelectTrigger,{children:(0,h.jsx)(v.SelectValue,{})}),(0,h.jsx)(v.SelectContent,{children:["DEFAULT","RESOLVED_ONLY","SKIP_UPDATES","DISABLE_AUTOMATIC"].map(a=>(0,h.jsx)(v.SelectItem,{value:a,children:a},a))})]})]}),(0,h.jsxs)("label",{className:"flex items-center gap-2",children:[(0,h.jsx)(q.Checkbox,{checked:!!U.codeCoverage,onCheckedChange:a=>V(b=>({...b,codeCoverage:!!a}))}),f("codeCoverage")]}),(0,h.jsxs)("label",{className:"flex items-center gap-2",children:[(0,h.jsx)(q.Checkbox,{checked:!!U.allowProvisioningUpdates,onCheckedChange:a=>V(b=>({...b,allowProvisioningUpdates:!!a}))}),f("allowProvisioningUpdates")]}),(0,h.jsxs)("div",{className:"space-y-2 sm:col-span-2",children:[(0,h.jsx)(t.Label,{htmlFor:"build-setting-overrides",children:f("buildSettingOverrides")}),(0,h.jsx)(x.Textarea,{className:"font-mono text-xs",id:"build-setting-overrides",onChange:a=>X(a.target.value),rows:4,value:W})]})]})]}),(0,h.jsxs)("section",{className:"space-y-2",children:[(0,h.jsx)(t.Label,{children:f("commandPreview")}),(0,h.jsx)("pre",{className:"overflow-x-auto rounded-lg bg-muted p-3 text-xs whitespace-pre-wrap",children:am})]})]}):(0,h.jsx)(m.Alert,{children:(0,h.jsx)(m.AlertDescription,{children:f("noConfigurations")})}),(0,h.jsxs)(r.DialogFooter,{children:[(0,h.jsx)(o.Button,{onClick:()=>d(!1),type:"button",variant:"outline",children:f("cancel")}),(0,h.jsxs)(o.Button,{disabled:Y||$||aa||!ae||!al||"TEST_WITHOUT_BUILDING"===I&&!ah,onClick:()=>void an(),type:"button",children:[aa&&(0,h.jsx)(w.Spinner,{})," ",f("startBuild")]})]})]})})}a.s(["StartBuildButton",0,function({codebaseId:a,worktreeId:b,disabled:c,disabledReason:d,buildSettingsHref:e,size:f="sm"}){let g=(0,k.useTranslations)("builds"),j=(0,y.useRouter)(),[m,n]=(0,l.useState)(!1),[p,q]=(0,l.useState)(!1),r=(0,l.useRef)(null),s=()=>{null!==r.current&&(window.clearTimeout(r.current),r.current=null)},t=()=>{s(),q(!0)},v=()=>{s(),r.current=window.setTimeout(()=>q(!1),150)};return(0,l.useEffect)(()=>()=>{null!==r.current&&window.clearTimeout(r.current)},[]),(0,h.jsxs)(h.Fragment,{children:[c&&e?(0,h.jsxs)(u.Popover,{onOpenChange:q,open:p,children:[(0,h.jsx)(u.PopoverAnchor,{asChild:!0,children:(0,h.jsxs)(o.Button,{"aria-disabled":"true","aria-expanded":p,"aria-haspopup":"dialog",className:"cursor-not-allowed opacity-50",onClick:t,onFocus:t,onMouseEnter:t,onMouseLeave:v,size:f,title:d??void 0,type:"button",children:[(0,h.jsx)(i.Hammer,{})," ",g("build")]})}),(0,h.jsx)(u.PopoverContent,{align:"start",className:"w-auto max-w-64 p-2 text-xs",onBlurCapture:v,onFocusCapture:s,onMouseEnter:s,onMouseLeave:v,onOpenAutoFocus:a=>a.preventDefault(),side:"top",children:(0,h.jsx)(y.Link,{className:"font-medium underline-offset-4 hover:underline",href:e,children:g("configureBuilds")})})]}):(0,h.jsxs)(o.Button,{disabled:c,onClick:()=>n(!0),size:f,title:d??void 0,type:"button",children:[(0,h.jsx)(i.Hammer,{})," ",g("build")]}),m&&(0,h.jsx)(F,{codebaseId:a,onOpenChange:n,onStarted:a=>j.push(`/builds/${a}`),open:m,worktreeId:b})]})}],26052)},435526,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(979762),e=a.i(347929),f=a.i(818783),g=a.i(327598),h=a.i(752562),i=a.i(589027),j=a.i(141146),k=a.i(617770),l=a.i(168370),m=a.i(239315),n=a.i(993492),o=a.i(369251),p=a.i(528684),q=a.i(272944),r=a.i(51279),s=a.i(33019),t=a.i(590629),u=a.i(403512),v=a.i(519783),w=a.i(533838),x=a.i(879675),y=a.i(233540),z=a.i(303894),A=a.i(980180),B=a.i(201661),C=a.i(32886),D=a.i(415925),E=a.i(437823),F=a.i(974135),G=a.i(657068),H=a.i(26052),I=a.i(205956),J=a.i(313481),K=a.i(275401),L=a.i(785668),M=a.i(124348),N=a.i(786304),O=a.i(699570),P=a.i(591119),Q=a.i(315055),R=a.i(814574),S=a.i(335732),T=a.i(46524),U=a.i(866718),V=a.i(779711),W=a.i(870430),X=a.i(599209),Y=a.i(150253),Z=a.i(668684),$=a.i(580701),_=a.i(206015),aa=a.i(210787),ab=a.i(873555),ac=a.i(460280),ad=a.i(368114),ae=a.i(555027),af=a.i(830976),ag=a.i(307048),ah=a.i(532055),ai=a.i(873142),aj=a.i(971734),ak=a.i(914036);let al=["gray","stone","red","rose","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink"],am="__all__";function an(a,b){return a.some(a=>("string"==typeof a||"number"==typeof a)&&String(a).toLocaleLowerCase().includes(b))}function ao(a,b){let c=b.query.trim().toLocaleLowerCase();return c||b.agentId||b.repositoryId?a.flatMap(a=>{if(b.agentId&&a.agent.id!==b.agentId)return[];let d=c.length>0&&an([a.agent.id,a.agent.name,a.agent.hostname],c),e=a.codebases.flatMap(a=>{if(b.repositoryId&&a.repository.id!==b.repositoryId)return[];let e=c.length>0&&an([a.repository.id,a.repository.name,a.repository.description,a.repository.canonicalOrigin,a.repository.displayOrigin,a.codebase.id,a.codebase.folder,a.codebase.observedOrigin,a.codebase.branch,a.codebase.defaultBranch],c),f=!c||d||e?a.worktrees:a.worktrees.filter(a=>an([a.id,a.branch,a.folder,a.relativePath,a.ticketKey,a.ticketTitle,a.ticketStatus,a.pullRequest?.number,a.pullRequest?.title,a.pullRequest?.repositoryNameWithOwner,a.pullRequest?.jiraKey,...a.tags.map(a=>a.name)],c));return f.length?[{...a,worktrees:f}]:[]});return e.length?[{...a,codebases:e}]:[]}):a}function ap(a,b){if(!b)return a;let c=/^[A-Za-z]:[\\/]/.test(b)||b.startsWith("\\\\"),d=c?"\\":"/",e=a=>c?a.replaceAll("/","\\"):a,f=a=>(c?/^[A-Za-z]:\\$/.test(a):"/"===a)?a:a.replace(/[\\/]+$/,""),g=f(e(b)),h=f(e(a)),i=c?g.toLocaleLowerCase():g,j=c?h.toLocaleLowerCase():h;if(j===i)return".";let k=g.endsWith(d)?g:`${g}${d}`,l=c?k.toLocaleLowerCase():k;return j.startsWith(l)?h.slice(k.length):a}function aq(a){return{hasChanges:a.hasStagedChanges||a.hasUnstagedChanges,stageOperation:a.hasStagedChanges&&!a.hasUnstagedChanges?"UNSTAGE_ALL":"STAGE_ALL"}}let ar={gray:"border-slate-500/30 bg-slate-500/10 hover:border-slate-500/50 hover:bg-slate-500/20",stone:"border-stone-500/30 bg-stone-500/10 hover:border-stone-500/50 hover:bg-stone-500/20",red:"border-red-500/30 bg-red-500/10 hover:border-red-500/50 hover:bg-red-500/20",rose:"border-rose-500/30 bg-rose-500/10 hover:border-rose-500/50 hover:bg-rose-500/20",orange:"border-orange-500/30 bg-orange-500/10 hover:border-orange-500/50 hover:bg-orange-500/20",amber:"border-amber-500/30 bg-amber-500/10 hover:border-amber-500/50 hover:bg-amber-500/20",yellow:"border-yellow-500/30 bg-yellow-500/10 hover:border-yellow-500/50 hover:bg-yellow-500/20",lime:"border-lime-500/30 bg-lime-500/10 hover:border-lime-500/50 hover:bg-lime-500/20",green:"border-green-500/30 bg-green-500/10 hover:border-green-500/50 hover:bg-green-500/20",emerald:"border-emerald-500/30 bg-emerald-500/10 hover:border-emerald-500/50 hover:bg-emerald-500/20",teal:"border-teal-500/30 bg-teal-500/10 hover:border-teal-500/50 hover:bg-teal-500/20",cyan:"border-cyan-500/30 bg-cyan-500/10 hover:border-cyan-500/50 hover:bg-cyan-500/20",sky:"border-sky-500/30 bg-sky-500/10 hover:border-sky-500/50 hover:bg-sky-500/20",blue:"border-blue-500/30 bg-blue-500/10 hover:border-blue-500/50 hover:bg-blue-500/20",indigo:"border-indigo-500/30 bg-indigo-500/10 hover:border-indigo-500/50 hover:bg-indigo-500/20",violet:"border-violet-500/30 bg-violet-500/10 hover:border-violet-500/50 hover:bg-violet-500/20",purple:"border-purple-500/30 bg-purple-500/10 hover:border-purple-500/50 hover:bg-purple-500/20",fuchsia:"border-fuchsia-500/30 bg-fuchsia-500/10 hover:border-fuchsia-500/50 hover:bg-fuchsia-500/20",pink:"border-pink-500/30 bg-pink-500/10 hover:border-pink-500/50 hover:bg-pink-500/20"},as={gray:"border-slate-500/40 bg-slate-500/15 text-slate-700 dark:text-slate-300",stone:"border-stone-500/40 bg-stone-500/15 text-stone-700 dark:text-stone-300",red:"border-red-500/40 bg-red-500/15 text-red-700 dark:text-red-300",rose:"border-rose-500/40 bg-rose-500/15 text-rose-700 dark:text-rose-300",orange:"border-orange-500/40 bg-orange-500/15 text-orange-700 dark:text-orange-300",amber:"border-amber-500/40 bg-amber-500/15 text-amber-800 dark:text-amber-300",yellow:"border-yellow-500/40 bg-yellow-500/15 text-yellow-800 dark:text-yellow-300",lime:"border-lime-500/40 bg-lime-500/15 text-lime-800 dark:text-lime-300",green:"border-green-500/40 bg-green-500/15 text-green-700 dark:text-green-300",emerald:"border-emerald-500/40 bg-emerald-500/15 text-emerald-700 dark:text-emerald-300",teal:"border-teal-500/40 bg-teal-500/15 text-teal-700 dark:text-teal-300",cyan:"border-cyan-500/40 bg-cyan-500/15 text-cyan-700 dark:text-cyan-300",sky:"border-sky-500/40 bg-sky-500/15 text-sky-700 dark:text-sky-300",blue:"border-blue-500/40 bg-blue-500/15 text-blue-700 dark:text-blue-300",indigo:"border-indigo-500/40 bg-indigo-500/15 text-indigo-700 dark:text-indigo-300",violet:"border-violet-500/40 bg-violet-500/15 text-violet-700 dark:text-violet-300",purple:"border-purple-500/40 bg-purple-500/15 text-purple-700 dark:text-purple-300",fuchsia:"border-fuchsia-500/40 bg-fuchsia-500/15 text-fuchsia-700 dark:text-fuchsia-300",pink:"border-pink-500/40 bg-pink-500/15 text-pink-700 dark:text-pink-300"},at={gray:"border-slate-600 bg-slate-500",stone:"border-stone-600 bg-stone-500",red:"border-red-600 bg-red-500",rose:"border-rose-600 bg-rose-500",orange:"border-orange-600 bg-orange-500",amber:"border-amber-600 bg-amber-500",yellow:"border-yellow-600 bg-yellow-500",lime:"border-lime-600 bg-lime-500",green:"border-green-600 bg-green-500",emerald:"border-emerald-600 bg-emerald-500",teal:"border-teal-600 bg-teal-500",cyan:"border-cyan-600 bg-cyan-500",sky:"border-sky-600 bg-sky-500",blue:"border-blue-600 bg-blue-500",indigo:"border-indigo-600 bg-indigo-500",violet:"border-violet-600 bg-violet-500",purple:"border-purple-600 bg-purple-500",fuchsia:"border-fuchsia-600 bg-fuchsia-500",pink:"border-pink-600 bg-pink-500"};function au({moves:a,onReload:d,onError:e,onNotice:f}){let g=(0,D.useTranslations)("worktrees"),[h,i]=(0,c.useState)(null),j=async a=>{i(a.id);try{await (0,ac.controlPlaneRequest)(`mutation RetryWorktreeMove($id: ID!) {
|
|
54
|
-
retryWorktreeMoveWithStash(id: $id) { id status }
|
|
55
|
-
}`,{id:a.id});let b=await (0,aj.waitForWorktreeMove)(a.id);if("FAILED"===b.status)throw Error(b.error||g("moveFailed"));f("SUCCEEDED_WITH_WARNING"===b.status?b.warning||g("moveCompletedWithWarning"):g("moveCompleted")),e(null),await d()}catch(a){e(a instanceof Error?a.message:String(a))}finally{i(null)}},k=async a=>{i(a.id);try{await (0,ac.controlPlaneRequest)(`mutation CancelWorktreeMove($id: ID!) {
|
|
56
|
-
cancelWorktreeMove(id: $id) { id status }
|
|
57
|
-
}`,{id:a.id}),f(g("moveCancelled")),e(null),await d()}catch(a){e(a instanceof Error?a.message:String(a))}finally{i(null)}};return(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,b.jsx)(M.Alert,{children:(0,b.jsxs)(M.AlertDescription,{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium",children:g("moveProgress",{branch:a.branch})}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"AWAITING_STASH"===a.status?a.error||g("moveNeedsStash"):g(`moveStatus.${a.status}`)})]}),"AWAITING_STASH"===a.status?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(O.Button,{disabled:h===a.id,onClick:()=>void k(a),size:"sm",variant:"outline",children:g("cancelMove")}),(0,b.jsxs)(O.Button,{disabled:h===a.id,onClick:()=>void j(a),size:"sm",children:[h===a.id&&(0,b.jsx)(Z.Spinner,{}),g("stashAndContinue")]})]}):(0,b.jsx)(Z.Spinner,{})]})},a.id))})}function av(a,b){return{codebaseId:a.codebase.id,...b?{worktreeId:b.id}:{},defaultBranch:a.codebase.defaultBranch,currentBranch:b?.branch,currentBaseBranch:b?.baseBranch,localBranches:a.codebase.localBranches,remoteBranches:a.codebase.remoteBranches,unavailableBranches:a.worktrees.flatMap(a=>a.branch&&a.id!==b?.id?[a.branch]:[])}}function aw({overview:a,onCreated:d}){let e=(0,D.useTranslations)("worktrees"),f=a.agents.flatMap(a=>a.codebases.flatMap(b=>"ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch")&&"AVAILABLE"===b.codebase.availability&&!b.worktrees.some(a=>a.activeJob)?[{agentGroup:a,group:b}]:[])),[g,h]=(0,c.useState)(1===f.length?f[0].group.codebase.id:""),[i,j]=(0,c.useState)(!1),k=f.some(a=>a.group.codebase.id===g)?g:1===f.length?f[0].group.codebase.id:"",l=f.find(a=>a.group.codebase.id===k),m=f.map(({agentGroup:a,group:b})=>({value:b.codebase.id,label:`${b.repository.name} \xb7 ${a.agent.name}`,description:b.codebase.folder,keywords:`${b.repository.displayOrigin} ${a.agent.hostname}`})),n=async a=>{if(!l)throw Error(e("selectCodebase"));j(!0);try{let b=await (0,ac.controlPlaneRequest)(`mutation CreateWorktree($input: CreateWorktreeInput!) {
|
|
58
|
-
createWorktree(input: $input) { id }
|
|
59
|
-
}`,{input:{codebaseId:l.group.codebase.id,selection:a,requestId:(0,ab.createClientId)()}});await (0,aj.waitForWorktreeJob)(b.createWorktree.id),await d()}finally{j(!1)}};return(0,b.jsxs)(P.Card,{children:[(0,b.jsx)(P.CardHeader,{className:"border-b",children:(0,b.jsxs)(P.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(u.Plus,{})," ",e("createWorktree")]})}),(0,b.jsxs)(P.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(W.Label,{className:"mb-1.5 block",children:e("repositoryCheckout")}),(0,b.jsx)(Y.SearchableSelect,{ariaLabel:e("repositoryCheckout"),disabled:i||0===m.length,emptyMessage:e("noEligibleCodebases"),onValueChange:h,options:m,placeholder:e("selectCodebase"),searchPlaceholder:e("searchCodebases"),value:k})]}),l?(0,b.jsx)(af.WorktreeBranchForm,{busy:i,onSubmit:n,submitLabel:e("createWorktree"),target:av(l.group)},l.group.codebase.id):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:m.length?e("selectCodebaseHelp"):e("noEligibleCodebases")})]})]})}function ax({agentGroup:a,layout:c,allTags:d,editorVariant:e,inspectionRefreshToken:f,onReload:g,onUpdate:h,onError:i,onManageTags:j,onOpenTicket:k,overview:l}){let m=(0,D.useTranslations)("worktrees"),n="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.watch"),o="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch");return(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b pb-2",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:a.agent.name}),(0,b.jsx)(N.Badge,{children:m("ONLINE"===a.agent.connectionStatus?"online":"offline")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.agent.hostname})]}),a.codebases.map(m=>(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-medium",children:m.repository.name}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:m.repository.displayOrigin})]}),(0,b.jsx)(ay,{codebase:m.codebase})]}),"cards"===c?(0,b.jsx)("div",{className:"space-y-3",children:m.worktrees.map(c=>(0,b.jsx)(az,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l,worktree:c},c.id))}):(0,b.jsx)(aR,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l})]},m.codebase.id))]})}function ay({codebase:a}){let d=(0,D.useTranslations)("worktrees"),e=(0,C.useLocale)(),[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a=()=>g(new Date().getTime()),b=window.setTimeout(a,0),c=window.setInterval(a,1e3);return()=>{window.clearTimeout(b),window.clearInterval(c)}},[]);let h=a.lastFetchedAt&&null!==f?Math.max(0,f-new Date(a.lastFetchedAt).getTime()):null,i=null===h?d("neverFetched"):h<6e4?d("secondsAgo",{count:Math.floor(h/1e3)}):new Intl.RelativeTimeFormat(e,{numeric:"auto"}).format(-Math.floor(h/6e4),"minute");return(0,b.jsx)("span",{className:(0,ad.cn)("text-xs text-muted-foreground",a.lastFetchError&&"text-destructive"),title:a.lastFetchError??void 0,children:d("lastFetched",{value:i})})}function az(a){let{inspectionRefreshToken:d,onError:e}=a,{worktree:f,applyActivity:g,setUnstagedChanges:h}=(0,ai.useLiveWorktree)(a.worktree),k={...a,worktree:f},[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(0),s=(0,c.useRef)(d),t=(0,D.useTranslations)("worktrees"),u=(0,ae.useRouter)(),v=(0,c.useCallback)(async()=>{let a=++r.current;q(!0);try{let b=await (0,ai.inspectWorktree)(f.id);if(a!==r.current)return;o(b),h(b.changes.some(a=>a.unstaged||a.untracked||a.conflicted)),e(null)}catch(b){a===r.current&&e(b instanceof Error?b.message:String(b))}finally{a===r.current&&q(!1)}},[e,h,f.id]),w=(0,ai.useQueuedWorktreeInspection)(v),x=(0,c.useCallback)(a=>{g(a),l&&w()},[g,l,w]);(0,ai.useWorktreeActivitySubscription)(f.id,a.liveUpdatesEnabled&&"AVAILABLE"===f.availability,x),(0,c.useEffect)(()=>{if(s.current===d||(s.current=d,!l))return;let a=window.setTimeout(()=>void w(),0);return()=>window.clearTimeout(a)},[l,d,w]);let y=()=>{let a=!l;m(a),a&&!n&&w()};return(0,b.jsxs)(P.Card,{className:(0,ad.cn)("cursor-pointer transition-colors hover:bg-muted/30",f.highlightColor&&ar[f.highlightColor]),onClick:a=>{(0,ak.shouldNavigateWorktreeSurface)(a)&&u.push((0,ak.worktreeDetailHref)(f.id))},children:[(0,b.jsxs)(P.CardHeader,{className:"grid-cols-1! border-b @md/card-header:grid-cols-[minmax(0,1fr)_auto]!",children:[(0,b.jsxs)(P.CardTitle,{className:"min-w-0",children:[(0,b.jsxs)(O.Button,{"aria-expanded":l,className:"h-auto w-full max-w-full justify-start gap-1 p-1 text-left",onClick:()=>void y(),variant:"ghost",children:[l?(0,b.jsx)(i.ChevronDown,{}):(0,b.jsx)(j.ChevronRight,{}),(0,b.jsx)("span",{className:"truncate font-mono",children:f.branch??f.headSha?.slice(0,10)??t("detached")})]}),(f.ticketKey||f.ticketTitle)&&(0,b.jsx)(aB,{...k})]}),(0,b.jsxs)(P.CardAction,{className:"col-start-1 row-span-1 row-start-auto flex max-w-full flex-wrap items-center justify-start gap-1 justify-self-start @md/card-header:col-start-2 @md/card-header:row-span-2 @md/card-header:row-start-1 @md/card-header:justify-end @md/card-header:justify-self-end",children:[(0,b.jsx)(aJ,{worktree:f}),f.hasUnstagedChanges&&(0,b.jsx)(N.Badge,{variant:"destructive",children:t("dirty")}),(0,b.jsx)(aA,{worktree:f}),(0,b.jsx)(aM,{...k})]})]}),(0,b.jsxs)(P.CardContent,{className:"space-y-4",children:[(0,b.jsx)(aC,{...k,detailsExpanded:l,onToggleDetails:y}),p&&(0,b.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(Z.Spinner,{})," ",t("loadingDetails")]}),l&&n&&(0,b.jsx)(ag.WorktreeDetailPanel,{detail:n,inline:!0})]}),(0,b.jsx)(P.CardFooter,{className:"flex-wrap gap-2","data-worktree-navigation-ignore":!0,children:(0,b.jsx)(aP,{...k,onCompleted:async()=>{await a.onReload(),l&&await w()}})})]})}function aA({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=a.branch??a.headSha?.slice(0,10)??c("detached"),e=c("openWorktreeDetails",{branch:d});return(0,b.jsx)(O.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,b.jsx)(ae.Link,{"aria-label":e,href:(0,ak.worktreeDetailHref)(a.id),title:e,children:(0,b.jsx)(f.ArrowRight,{})})})}function aB({worktree:a,onOpenTicket:c,compact:d=!1}){let e=`${a.ticketKey??""}${a.ticketTitle?`${a.ticketKey?" — ":""}${a.ticketTitle}`:""}`;return(0,b.jsxs)("div",{className:(0,ad.cn)("flex max-w-full flex-wrap items-center gap-1.5 font-normal",d?"mt-0.5 text-xs":"mt-1 text-sm"),children:[a.ticketKey?(0,b.jsx)(O.Button,{className:"h-auto min-w-0 justify-start truncate p-0 text-left font-normal",onClick:()=>c(a.ticketKey),title:e,type:"button",variant:"link",children:e}):(0,b.jsx)("p",{className:"min-w-0 truncate text-muted-foreground",title:e,children:e}),a.ticketStatus&&(a.ticketKey?(0,b.jsx)(N.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{onClick:()=>c(a.ticketKey),type:"button",children:a.ticketStatus})}):(0,b.jsx)(N.Badge,{variant:"secondary",children:a.ticketStatus}))]})}function aC(a){let{worktree:c,group:d,baseRepoDirectory:e,detailsExpanded:f,onToggleDetails:g}=a,h=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(aU,{label:h("path"),mono:!0,value:ap(c.folder,e)}),(0,b.jsx)(aK,{...a})]}),(0,b.jsx)(aE,{label:h("upToDate"),children:(0,b.jsx)(aG,{worktree:c})}),(0,b.jsx)(aF,{...a}),(0,b.jsx)(aE,{label:h("pullRequest"),children:(0,b.jsx)(aH,{detailsExpanded:f,onToggleDetails:g,worktree:c})}),c.latestBuild&&(0,b.jsx)(aD,{build:c.latestBuild,onCompleted:a.onReload,onError:a.onError}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.statusError&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:c.statusError}),!d.codebase.defaultBranch&&!c.baseBranchOverride&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:h("baseUnavailable")})]})]})}function aD({build:a,onCompleted:c,onError:d}){let e=(0,D.useTranslations)("worktrees"),f=(0,D.useTranslations)("builds"),g="SUCCEEDED"===a.status&&a.artifacts.some(a=>"RUNNABLE_APP"===a.kind);return(0,b.jsxs)(aE,{label:e("latestBuild"),children:[(0,b.jsx)(N.Badge,{asChild:!0,variant:"outline",children:(0,b.jsx)(ae.Link,{href:`/builds/${a.id}`,children:f(`actions.${a.action}`)})}),(0,b.jsx)(N.Badge,{variant:"FAILED"===a.status?"destructive":"SUCCEEDED"===a.status?"default":"secondary",children:f(`statuses.${a.status}`)}),a.outOfDate&&(0,b.jsx)(N.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:f("outOfDate")}),(0,b.jsx)(F.RebuildButton,{buildId:a.id,onCompleted:()=>c(),onError:d,size:"sm"}),g&&(0,b.jsx)(G.RunBuildControls,{buildId:a.id,destinationType:a.destinationType,onCompleted:c,onError:d,preferredDestination:a.destination,size:"sm"})]})}function aE({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:c})]})}function aF({compact:a=!1,...c}){let{worktree:d}=c,e=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[!a&&(0,b.jsx)("span",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:e("tags")}),(0,b.jsx)(aM,{...c,contentAlign:a?"end":"start",contentAlignOffset:a?0:-100,trigger:(0,b.jsx)(O.Button,{"aria-label":`${e("tags")}: ${d.branch??e("detached")}`,className:(0,ad.cn)("h-auto min-h-7 max-w-full justify-start px-1 py-1 text-left font-normal",!a&&"-mx-1"),type:"button",variant:"ghost",children:(0,b.jsxs)("span",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[d.tags.map(a=>(0,b.jsx)(aT,{tag:a},a.id)),!d.tags.length&&(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"})]})})})]})}function aG({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=0===a.baseBehind;return(0,b.jsx)(N.Badge,{className:d?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":null===a.baseBehind?void 0:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:null===a.baseBehind?c("unknown"):d?c("yes"):c("notUpToDate",{count:a.baseBehind})})}function aH({worktree:a,detailsExpanded:c,onToggleDetails:d}){var e;let f=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(b.Fragment,{children:[a.pullRequest?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(aI,{pullRequest:a.pullRequest}),(0,b.jsx)(J.PipelineMenu,{pipelineStatus:a.pullRequest.pipelineStatus,pipelines:a.pullRequest.pipelines,repositoryId:a.pullRequest.repositoryGithubId}),(0,b.jsx)(N.Badge,{className:"APPROVED"===(e=a.pullRequest.reviewDecision)?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"CHANGES_REQUESTED"===e?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:f(`review.${a.pullRequest.reviewDecision}`)}),(0,b.jsx)(N.Badge,{asChild:!0,className:0===a.pullRequest.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,b.jsx)(ae.Link,{href:(0,K.pullRequestCommentsHref)(a.pullRequest),children:f("comments",{count:a.pullRequest.unresolvedReviewThreadCount})})})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"}),d?(0,b.jsx)(N.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{"aria-expanded":c,onClick:d,type:"button",children:f("branchCommits",{count:a.baseAhead??0})})}):(0,b.jsx)(N.Badge,{variant:"secondary",children:f("branchCommits",{count:a.baseAhead??0})})]})}function aI({pullRequest:a}){let c=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(S.DropdownMenu,{children:[(0,b.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(N.Badge,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",children:["PR #",a.number]})})}),(0,b.jsxs)(S.DropdownMenuContent,{align:"start",className:"w-44",children:[(0,b.jsx)(S.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)("a",{href:a.url,rel:"noreferrer",target:"_blank",children:[(0,b.jsx)(l.ExternalLink,{}),c("openInGitHub")]})}),(0,b.jsx)(S.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)(ae.Link,{href:(0,K.pullRequestDetailHref)(a),children:[(0,b.jsx)(n.GitPullRequest,{}),c("openDetails")]})})]})]})}function aJ({worktree:a}){var c,d;let f=(0,D.useTranslations)("worktrees");return"IN_SYNC"===a.syncState||0===a.ahead&&0===a.behind?(0,b.jsx)(N.Badge,{className:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",variant:"outline",children:f("inSync")}):null!==a.ahead||null!==a.behind?(0,b.jsxs)(b.Fragment,{children:[null!==a.ahead&&(0,b.jsxs)(N.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(g.ArrowUp,{"data-icon":"inline-start"}),f("ahead",{count:a.ahead})]}),null!==a.behind&&(0,b.jsxs)(N.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(e.ArrowDown,{"data-icon":"inline-start"}),f("behind",{count:a.behind})]})]}):(0,b.jsx)(N.Badge,{variant:"outline",children:(c=a,d=f,"AHEAD"===c.syncState?d("ahead",{count:c.ahead??0}):"BEHIND"===c.syncState?d("behind",{count:c.behind??0}):d("DIVERGED"===c.syncState?"diverged":"IN_SYNC"===c.syncState?"upToDate":"NO_UPSTREAM"===c.syncState?"unpublished":"DETACHED"===c.syncState?"detached":"unknown"))})}function aK(a){let{worktree:d,group:e,onUpdate:f,onError:g,compact:h=!1}=a,i=(0,D.useTranslations)("worktrees"),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n="__inherit_remote_default__",o=Array.from(new Set([d.baseBranchOverride,e.codebase.defaultBranch,...e.codebase.remoteBranches].filter(a=>!!a))),p=async a=>{m(!0);try{let b=await (0,ac.controlPlaneRequest)(`mutation UpdateWorktreeBase($id: ID!, $baseBranch: String) {
|
|
60
|
-
updateWorktreeBaseBranch(id: $id, baseBranch: $baseBranch) { ${ah.WORKTREE_FIELDS} }
|
|
61
|
-
}`,{id:d.id,baseBranch:a||null});f(b.updateWorktreeBaseBranch),g(null),k(!1)}catch(a){g(a instanceof Error?a.message:String(a))}finally{m(!1)}};return(0,b.jsxs)("div",{className:"min-w-0",children:[!h&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:i("baseBranch")}),(0,b.jsx)("div",{className:(0,ad.cn)("flex min-h-6 min-w-0 items-center gap-1",!h&&"mt-0.5"),children:j?(0,b.jsxs)($.Select,{disabled:l,onOpenChange:k,onValueChange:a=>void p(a===n?"":a),open:j,value:d.baseBranchOverride??(e.codebase.defaultBranch?n:void 0),children:[(0,b.jsx)($.SelectTrigger,{"aria-label":i("baseBranch"),className:"h-7 min-w-40 max-w-full font-mono text-xs",size:"sm",children:(0,b.jsx)($.SelectValue,{placeholder:i("baseUnavailable")})}),(0,b.jsxs)($.SelectContent,{align:"start",children:[e.codebase.defaultBranch&&(0,b.jsxs)($.SelectItem,{value:n,children:[e.codebase.defaultBranch," · ",i("inheritBase")]}),o.map(a=>(0,b.jsx)($.SelectItem,{value:a,children:a},a))]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"truncate font-mono text-xs",title:d.baseBranch??void 0,children:d.baseBranch??"—"}),(0,b.jsx)(O.Button,{"aria-label":i("editBase"),onClick:()=>k(!0),size:"icon-xs",variant:"ghost",children:(0,b.jsx)(t.Pencil,{})})]})})]})}function aL(a,b){let c=b.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id);return"ONLINE"===a.agentGroup.agent.connectionStatus&&a.agentGroup.agent.capabilities.includes("worktree.move.checkout")&&"AVAILABLE"===a.group.codebase.availability&&!a.group.worktrees.some(a=>a.activeJob)&&!c}function aM(a){let d,e,{worktree:f,allTags:g,onUpdate:h,onError:i,onManageTags:j,contentAlign:k="end",contentAlignOffset:l=0,trigger:n}=a,o=(0,D.useTranslations)("worktrees"),[p,t]=(0,c.useState)(!1),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),[E,F]=(0,c.useState)(null),[G,H]=(0,c.useState)(null),I=(0,c.useRef)(!1),J=(d=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)))?a.overview.agents.flatMap(b=>b.agent.id===d.agent.id?[]:b.codebases.flatMap(c=>c.repository.id===a.group.repository.id?[{agentGroup:b,group:c}]:[])):[],K=(e=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)))&&"ONLINE"===e.agent.connectionStatus&&e.agent.capabilities.includes("worktree.move.push")?"AVAILABLE"!==a.worktree.availability||a.worktree.activeJob||a.overview.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id)?o("moveBlocked.busy"):a.worktree.branch&&a.worktree.headSha?a.worktree.hasStagedChanges||a.worktree.hasUnstagedChanges||"DIRTY"===a.worktree.pushStatus?o("moveBlocked.dirty"):"BEHIND"===a.worktree.pushStatus?o("moveBlocked.behind"):"DIVERGED"===a.worktree.pushStatus?o("moveBlocked.diverged"):"READY"!==a.worktree.pushStatus?o("moveBlocked.unknown"):J.some(b=>aL(b,a.overview))?null:o("moveBlocked.destination"):o("moveBlocked.detached"):o("moveBlocked.agent"),L=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)),N=!L||"ONLINE"!==L.agent.connectionStatus||!L.agent.capabilities.includes("worktree.delete")||"AVAILABLE"!==f.availability||!!f.activeJob||a.overview.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id),P=new Set(f.tags.map(a=>a.id)),Q=async(a,b)=>{let c=b?[...P,a]:[...P].filter(b=>b!==a);try{let a=await (0,ac.controlPlaneRequest)(`mutation SetWorktreeTags($id: ID!, $tagIds: [ID!]!) { setWorktreeTags(id: $id, tagIds: $tagIds) { ${ah.WORKTREE_FIELDS} } }`,{id:f.id,tagIds:c});h(a.setWorktreeTags),i(null)}catch(a){i(a instanceof Error?a.message:String(a))}},R=async a=>{try{let b=await (0,ac.controlPlaneRequest)(`mutation HighlightWorktree($id: ID!, $color: String) { updateWorktreeHighlight(id: $id, color: $color) { ${ah.WORKTREE_FIELDS} } }`,{id:f.id,color:a});h(b.updateWorktreeHighlight),i(null)}catch(a){i(a instanceof Error?a.message:String(a))}},T=async(b,c=!1)=>{C(!0);try{let d=await (0,ac.controlPlaneRequest)(`mutation ChangeWorktreeBranch($input: ChangeWorktreeBranchInput!) {
|
|
62
|
-
changeWorktreeBranch(input: $input) { id }
|
|
63
|
-
}`,{input:{worktreeId:f.id,selection:b,requestId:(0,ab.createClientId)(),stashOnFailure:c}});await (0,aj.waitForWorktreeJob)(d.changeWorktreeBranch.id),await a.onReload(),F(null),H(null),t(!1),i(null)}finally{C(!1)}},U=async()=>{if(E)try{H(null),await T(E,!0)}catch(a){H(a instanceof Error?a.message:String(a))}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(X.Popover,{onOpenChange:a=>{t(a),a||(F(null),H(null))},open:p,children:[(0,b.jsxs)(S.DropdownMenu,{children:[(0,b.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(X.PopoverAnchor,{asChild:!0,children:n??(0,b.jsx)(O.Button,{"aria-label":o("customize"),size:"icon-sm",variant:"ghost",children:(0,b.jsx)(q.MoreHorizontal,{})})})}),(0,b.jsxs)(S.DropdownMenuContent,{align:k,alignOffset:l,className:"w-72",onCloseAutoFocus:a=>{I.current&&(I.current=!1,a.preventDefault(),t(!0))},children:[J.length>0&&(0,b.jsxs)(S.DropdownMenuItem,{disabled:!!K,onSelect:()=>w(!0),title:K??void 0,children:[(0,b.jsx)(r.MoveRight,{})," ",o("moveToAgent")]}),(0,b.jsxs)(S.DropdownMenuItem,{disabled:!a.branchManagementEnabled||"AVAILABLE"!==f.availability||!!f.activeJob,onSelect:()=>{I.current=!0},children:[(0,b.jsx)(m.GitBranch,{})," ",o("changeBranch")]}),(0,b.jsx)(S.DropdownMenuSeparator,{}),(0,b.jsxs)(S.DropdownMenuLabel,{className:"flex items-center gap-1.5 leading-none",children:[(0,b.jsx)(z.Tags,{className:"size-3"}),(0,b.jsx)("span",{children:o("tags")})]}),g.map(a=>(0,b.jsxs)(S.DropdownMenuCheckboxItem,{checked:P.has(a.id),onCheckedChange:b=>void Q(a.id,!!b),children:[(0,b.jsx)("span",{className:(0,ad.cn)("size-3 rounded-full border",at[a.color])})," ",a.name]},a.id)),(0,b.jsxs)(S.DropdownMenuItem,{onSelect:j,children:[(0,b.jsx)(u.Plus,{})," ",o("manageTags")]}),(0,b.jsx)(S.DropdownMenuSeparator,{}),(0,b.jsxs)(S.DropdownMenuLabel,{className:"flex items-center gap-1.5 leading-none",children:[(0,b.jsx)(s.Paintbrush,{className:"size-3"}),(0,b.jsx)("span",{children:o("highlight")})]}),(0,b.jsxs)(aa.ToggleGroup,{"aria-label":o("highlight"),className:"grid grid-cols-7 gap-1 p-2",onClick:a=>a.stopPropagation(),onValueChange:a=>{a&&R("__none__"===a?null:a)},size:"sm",spacing:1,type:"single",value:f.highlightColor??"__none__",variant:"outline",children:[(0,b.jsx)(aa.ToggleGroupItem,{"aria-label":o("clearHighlight"),className:"size-7 min-w-0 p-0",value:"__none__",children:(0,b.jsx)(A.Trash2,{className:"size-3"})}),al.map(a=>(0,b.jsx)(aa.ToggleGroupItem,{"aria-label":a,className:(0,ad.cn)("size-7 min-w-0 p-0",at[a],"data-[state=on]:ring-2 data-[state=on]:ring-foreground"),value:a},a))]}),!f.primary&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(S.DropdownMenuSeparator,{}),(0,b.jsxs)(S.DropdownMenuItem,{disabled:N,onSelect:()=>y(!0),variant:"destructive",children:[(0,b.jsx)(A.Trash2,{})," ",o("deleteWorktree")]})]})]})]}),(0,b.jsxs)(X.PopoverContent,{align:k,className:"z-60 w-[min(28rem,calc(100vw-2rem))]",children:[(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("h3",{className:"font-semibold",children:o("changeBranch")}),(0,b.jsx)("p",{className:"mt-1 truncate font-mono text-xs text-muted-foreground",children:ap(f.folder,a.baseRepoDirectory)})]}),(0,b.jsx)(af.WorktreeBranchForm,{busy:B,onSubmit:a=>T(a),onSubmitError:a=>{F(f.hasStagedChanges||f.hasUnstagedChanges?a:null)},recovery:E?(0,b.jsx)(M.Alert,{children:(0,b.jsxs)(M.AlertDescription,{className:"space-y-2",children:[(0,b.jsx)("p",{children:o("stashRetryHelp")}),G&&(0,b.jsx)("p",{className:"text-destructive",children:G}),(0,b.jsxs)(O.Button,{disabled:B,onClick:()=>void U(),size:"sm",type:"button",variant:"outline",children:[B&&(0,b.jsx)(Z.Spinner,{}),o("stashAndRetry")]})]})}):null,submitLabel:o("changeBranch"),target:av(a.group,f)})]})]}),v&&(0,b.jsx)(aN,{onOpenChange:w,open:v,props:a,targets:J.filter(b=>aL(b,a.overview))}),!f.primary&&x&&(0,b.jsx)(aO,{onOpenChange:y,open:x,props:a})]})}function aN({props:a,targets:d,open:e,onOpenChange:f}){let g=(0,D.useTranslations)("worktrees"),h=1===d.length?d[0].group.codebase.id:"",[i,j]=(0,c.useState)(h),[k,l]=(0,c.useState)("__new__"),[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(null),u=d.some(a=>a.group.codebase.id===i)?i:1===d.length?d[0].group.codebase.id:"",v=d.find(a=>a.group.codebase.id===u),w=d.map(a=>({value:a.group.codebase.id,label:`${a.agentGroup.agent.name} \xb7 ${a.group.repository.name}`,description:a.group.codebase.folder,keywords:`${a.agentGroup.agent.hostname} ${a.group.repository.displayOrigin}`})),x=v?.group.worktrees.find(a=>a.id===k),y=v?.group.worktrees.find(b=>b.branch===a.worktree.branch),z=!a.worktree.primary&&a.overview.agents.some(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)&&b.agent.capabilities.includes("worktree.delete")),A=async b=>{if("AWAITING_STASH"===b.status){t(b),await a.onReload();return}if("FAILED"===b.status)throw Error(b.error||g("moveFailed"));if("CANCELLED"===b.status)throw Error(g("moveCancelled"));a.onError("SUCCEEDED_WITH_WARNING"===b.status?b.warning:null),await a.onReload(),a.onMoved?.(b),f(!1)},B=async()=>{if(v){p(!0),r(null);try{let b=await (0,ac.controlPlaneRequest)(`mutation MoveWorktree($input: MoveWorktreeInput!) {
|
|
64
|
-
moveWorktree(input: $input) {
|
|
65
|
-
id sourceWorktreeId sourceCodebaseId targetCodebaseId targetWorktreeId destinationMode
|
|
66
|
-
branch headSha deleteSource status sourceJobId targetJobId cleanupJobId error warning
|
|
67
|
-
createdAt updatedAt finishedAt
|
|
68
|
-
}
|
|
69
|
-
}`,{input:{sourceWorktreeId:a.worktree.id,targetCodebaseId:v.group.codebase.id,targetWorktreeId:"__new__"===k?null:k,deleteSource:m,requestId:(0,ab.createClientId)()}});await A(await (0,aj.waitForWorktreeMove)(b.moveWorktree.id))}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}}},C=async()=>{if(s){p(!0),r(null);try{await (0,ac.controlPlaneRequest)(`mutation RetryMove($id: ID!) {
|
|
70
|
-
retryWorktreeMoveWithStash(id: $id) { id status }
|
|
71
|
-
}`,{id:s.id}),await A(await (0,aj.waitForWorktreeMove)(s.id))}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}}},E=async()=>{if(s){p(!0);try{await (0,ac.controlPlaneRequest)(`mutation CancelMove($id: ID!) {
|
|
72
|
-
cancelWorktreeMove(id: $id) { id status }
|
|
73
|
-
}`,{id:s.id}),await a.onReload(),f(!1)}catch(a){r(a instanceof Error?a.message:String(a))}finally{p(!1)}}};return(0,b.jsx)(R.Dialog,{onOpenChange:a=>!o&&f(a),open:e,children:(0,b.jsxs)(R.DialogContent,{className:"sm:max-w-xl",children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:g("moveToAgent")}),(0,b.jsx)(R.DialogDescription,{children:g("moveDescription",{branch:a.worktree.branch??""})})]}),s?(0,b.jsx)(M.Alert,{children:(0,b.jsxs)(M.AlertDescription,{className:"space-y-3",children:[(0,b.jsx)("p",{children:s.error||g("moveNeedsStash")}),(0,b.jsx)("p",{className:"text-muted-foreground",children:g("moveStashHelp")})]})}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(W.Label,{className:"mb-1.5 block",children:g("destinationAgent")}),(0,b.jsx)(Y.SearchableSelect,{ariaLabel:g("destinationAgent"),disabled:o,emptyMessage:g("noMoveDestinations"),onValueChange:a=>{j(a),l("__new__")},options:w,placeholder:g("selectDestinationAgent"),searchPlaceholder:g("searchDestinationAgents"),value:u})]}),v&&(0,b.jsxs)("div",{children:[(0,b.jsx)(W.Label,{className:"mb-1.5 block",children:g("destinationWorktree")}),(0,b.jsxs)($.Select,{disabled:o,onValueChange:l,value:k,children:[(0,b.jsx)($.SelectTrigger,{"aria-label":g("destinationWorktree"),children:(0,b.jsx)($.SelectValue,{})}),(0,b.jsxs)($.SelectContent,{children:[(0,b.jsx)($.SelectItem,{disabled:!!y,value:"__new__",children:g("createDestinationWorktree")}),v.group.worktrees.filter(a=>"AVAILABLE"===a.availability).map(a=>(0,b.jsxs)($.SelectItem,{disabled:!!y&&y.id!==a.id,value:a.id,children:[a.branch??g("detached")," ·"," ",a.relativePath]},a.id))]})]})]}),x&&(x.hasStagedChanges||x.hasUnstagedChanges)&&(0,b.jsx)(M.Alert,{children:(0,b.jsx)(M.AlertDescription,{children:g("dirtyDestinationWarning")})}),(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Q.Checkbox,{checked:m,disabled:!z||o,id:`delete-source-${a.worktree.id}`,onCheckedChange:a=>n(!!a)}),(0,b.jsxs)("div",{children:[(0,b.jsx)(W.Label,{htmlFor:`delete-source-${a.worktree.id}`,children:g("deleteOldWorktree")}),!z&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:g("deleteOldWorktreeDisabled")})]})]})]}),q&&(0,b.jsx)(M.Alert,{variant:"destructive",children:(0,b.jsx)(M.AlertDescription,{children:q})}),(0,b.jsxs)(R.DialogFooter,{children:[(0,b.jsx)(O.Button,{disabled:o,onClick:()=>s?void E():f(!1),variant:"outline",children:s?g("cancelMove"):g("cancel")}),(0,b.jsxs)(O.Button,{disabled:o||!s&&!v,onClick:()=>s?void C():void B(),children:[o&&(0,b.jsx)(Z.Spinner,{}),s?g("stashAndContinue"):g("moveWorktree")]})]})]})})}function aO({props:a,open:d,onOpenChange:e}){let f=(0,D.useTranslations)("worktrees"),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(null),m=!!(a.worktree.branch&&(a.group.codebase.remoteBranches.includes(a.worktree.branch)||a.worktree.upstream===`origin/${a.worktree.branch}`)),n=a.worktree.branch===a.group.codebase.defaultBranch,o=async()=>{j(!0),l(null);try{let b=await (0,ac.controlPlaneRequest)(`mutation DeleteWorktree($input: DeleteWorktreeInput!) {
|
|
74
|
-
deleteWorktree(input: $input) { id }
|
|
75
|
-
}`,{input:{worktreeId:a.worktree.id,deleteRemoteBranch:g,requestId:(0,ab.createClientId)()}});await (0,aj.waitForWorktreeJob)(b.deleteWorktree.id),await a.onReload(),a.onError(null),a.onDeleted?.(),e(!1)}catch(a){l(a instanceof Error?a.message:String(a))}finally{j(!1)}};return(0,b.jsx)(R.Dialog,{onOpenChange:a=>!i&&e(a),open:d,children:(0,b.jsxs)(R.DialogContent,{children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:f("deleteWorktree")}),(0,b.jsx)(R.DialogDescription,{children:f("deleteWorktreeDescription",{path:ap(a.worktree.folder,a.baseRepoDirectory)})})]}),(0,b.jsx)(M.Alert,{variant:"destructive",children:(0,b.jsx)(M.AlertDescription,{children:f("deleteWorktreeWarning")})}),m&&(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Q.Checkbox,{checked:g,disabled:i||n,id:`delete-remote-${a.worktree.id}`,onCheckedChange:a=>h(!!a)}),(0,b.jsxs)("div",{children:[(0,b.jsx)(W.Label,{htmlFor:`delete-remote-${a.worktree.id}`,children:f("deleteRemoteBranch",{branch:a.worktree.branch??""})}),n&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("defaultRemoteProtected")})]})]}),k&&(0,b.jsx)(M.Alert,{variant:"destructive",children:(0,b.jsx)(M.AlertDescription,{children:k})}),(0,b.jsxs)(R.DialogFooter,{children:[(0,b.jsx)(O.Button,{disabled:i,onClick:()=>e(!1),variant:"outline",children:f("cancel")}),(0,b.jsxs)(O.Button,{disabled:i,onClick:()=>void o(),variant:"destructive",children:[i&&(0,b.jsx)(Z.Spinner,{}),f("deleteWorktree")]})]})]})})}function aP(a){let{worktree:c,editorVariant:e}=a,f=(0,D.useTranslations)("worktrees"),g="AVAILABLE"!==c.availability||!!c.activeJob,i=aq(c),j=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id))?.agent,l=j?.connectionStatus==="ONLINE"&&j.capabilities.includes("ios.build.run")&&!1===a.group.iosBuildConfigured,m="AVAILABLE"!==c.availability||!j||"ONLINE"!==j.connectionStatus||!j.capabilities.includes("ios.build.run")||!1===a.group.iosBuildConfigured;return(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(H.StartBuildButton,{buildSettingsHref:l?`/codebases/repositories/${a.group.repository.id}`:void 0,codebaseId:a.group.codebase.id,disabled:m,disabledReason:j&&"ONLINE"===j.connectionStatus?j.capabilities.includes("ios.build.run")?!1===a.group.iosBuildConfigured?f("iosBuildNotConfigured"):"AVAILABLE"!==c.availability?f("worktreeUnavailable"):null:f("agentUnsupported"):f("agentOffline"),worktreeId:c.id}),c.pullRequest&&(0,b.jsx)(I.MergePullRequestButton,{onMerged:a.onCompleted,pullRequest:c.pullRequest}),"NONE"!==e&&(0,b.jsx)(aQ,{icon:(0,b.jsx)(k.Code2,{}),label:f("CODE_INSIDERS"===e?"openInsiders":"openCode"),operation:"OPEN_EDITOR",props:a}),(0,b.jsx)(aQ,{confirm:!0,icon:(0,b.jsx)(B.Upload,{}),label:f("forcePush"),operation:"FORCE_PUSH",props:a,disabled:g||!c.upstream}),(0,b.jsx)(aQ,{confirm:!0,icon:(0,b.jsx)(v.RefreshCw,{}),label:f("sync"),operation:"SYNC",props:a,disabled:g||!c.upstream||!c.baseBranch||0===c.baseBehind}),(0,b.jsx)(aQ,{icon:(0,b.jsx)(B.Upload,{}),label:f(c.upstream?"push":"publish"),operation:"PUSH",props:a,disabled:g||!c.branch}),(0,b.jsx)(aQ,{confirm:!0,icon:(0,b.jsx)(w.RotateCcw,{}),label:f("reset"),operation:"RESET",props:a,disabled:g||!c.upstream}),(0,b.jsx)(aQ,{icon:(0,b.jsx)(d.Archive,{}),label:f("stashAll"),operation:"STASH_ALL",props:a,disabled:g||!i.hasChanges}),(0,b.jsx)(aQ,{icon:(0,b.jsx)(h.Check,{}),label:f("UNSTAGE_ALL"===i.stageOperation?"unstageAll":"stageAll"),operation:i.stageOperation,props:a,disabled:g||!i.hasChanges}),c.activeJob&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,b.jsx)(Z.Spinner,{})," ",f("operationRunning")]})]})}function aQ({props:a,operation:d,label:e,icon:f,confirm:g=!1,disabled:i=!1}){let j=(0,D.useTranslations)("worktrees"),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(!1),o=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{o.current&&window.clearTimeout(o.current)},[]);let p=async()=>{if(g&&!k){l(!0),o.current=window.setTimeout(()=>l(!1),5e3);return}n(!0),l(!1);try{let b=await (0,ac.controlPlaneRequest)("mutation RunWorktreeOperation($input: RunWorktreeOperationInput!) { runWorktreeOperation(input: $input) { id } }",{input:{worktreeId:a.worktree.id,operation:d,requestId:(0,ab.createClientId)()}});a.onError(null),await a.onCompleted(),await (0,aj.waitForWorktreeJob)(b.runWorktreeOperation.id),await a.onCompleted()}catch(b){a.onError(b instanceof Error?b.message:String(b))}finally{n(!1)}};return(0,b.jsxs)(O.Button,{disabled:i||m,onClick:()=>void p(),size:"sm",variant:k?"destructive":"outline",children:[m?(0,b.jsx)(Z.Spinner,{}):k?(0,b.jsx)(h.Check,{}):f," ",k?j("confirmAction"):e]})}function aR(a){let d=(0,D.useTranslations)("worktrees");return(0,b.jsx)("div",{className:"rounded-xl border",children:(0,b.jsxs)(_.Table,{children:[(0,b.jsx)(_.TableHeader,{children:(0,b.jsxs)(_.TableRow,{children:[(0,b.jsx)(_.TableHead,{children:d("branch")}),(0,b.jsx)(_.TableHead,{children:d("path")}),(0,b.jsx)(_.TableHead,{children:d("baseBranch")}),(0,b.jsx)(_.TableHead,{children:d("upToDate")}),(0,b.jsx)(_.TableHead,{children:d("tags")}),(0,b.jsx)(_.TableHead,{children:d("pullRequest")}),(0,b.jsx)(_.TableHead,{children:d("origin")}),(0,b.jsx)(_.TableHead,{})]})}),(0,b.jsx)(_.TableBody,{children:a.group.worktrees.map(b=>(0,c.createElement)(aS,{...a,key:b.id,worktree:b}))})]})})}function aS(a){let{baseRepoDirectory:d,inspectionRefreshToken:e,onError:f}=a,{worktree:g,applyActivity:h,setUnstagedChanges:k}=(0,ai.useLiveWorktree)(a.worktree),l={...a,worktree:g},m=(0,D.useTranslations)("worktrees"),n=(0,ae.useRouter)(),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(!1),u=(0,c.useRef)(0),v=(0,c.useRef)(e),w=(0,c.useCallback)(async()=>{let a=++u.current;t(!0);try{let b=await (0,ai.inspectWorktree)(g.id);if(a!==u.current)return;r(b),k(b.changes.some(a=>a.unstaged||a.untracked||a.conflicted)),f(null)}catch(b){a===u.current&&f(b instanceof Error?b.message:String(b))}finally{a===u.current&&t(!1)}},[f,k,g.id]),x=(0,ai.useQueuedWorktreeInspection)(w),y=(0,c.useCallback)(a=>{h(a),o&&x()},[h,o,x]);(0,ai.useWorktreeActivitySubscription)(g.id,a.liveUpdatesEnabled&&"AVAILABLE"===g.availability,y),(0,c.useEffect)(()=>{if(v.current===e||(v.current=e,!o))return;let a=window.setTimeout(()=>void x(),0);return()=>window.clearTimeout(a)},[o,e,x]);let z=()=>{let a=!o;p(a),a&&!q&&x()},A=g.highlightColor&&ar[g.highlightColor];return(0,b.jsxs)(c.Fragment,{children:[(0,b.jsxs)(_.TableRow,{className:(0,ad.cn)("cursor-pointer transition-colors hover:bg-muted/50",A),onClick:a=>{(0,ak.shouldNavigateWorktreeSurface)(a)&&n.push((0,ak.worktreeDetailHref)(g.id))},children:[(0,b.jsxs)(_.TableCell,{children:[(0,b.jsxs)(O.Button,{"aria-expanded":o,className:"max-w-full px-0 font-mono",onClick:()=>void z(),variant:"ghost",children:[o?(0,b.jsx)(i.ChevronDown,{}):(0,b.jsx)(j.ChevronRight,{}),(0,b.jsx)("span",{className:"truncate",children:g.branch??m("detached")})]}),(g.ticketKey||g.ticketTitle)&&(0,b.jsx)(aB,{...l,compact:!0})]}),(0,b.jsx)(_.TableCell,{className:"font-mono text-xs",children:ap(g.folder,d)}),(0,b.jsx)(_.TableCell,{children:(0,b.jsx)(aK,{...l,compact:!0})}),(0,b.jsx)(_.TableCell,{children:(0,b.jsx)(aG,{worktree:g})}),(0,b.jsx)(_.TableCell,{children:(0,b.jsx)(aF,{...l,compact:!0})}),(0,b.jsx)(_.TableCell,{children:(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:(0,b.jsx)(aH,{detailsExpanded:o,onToggleDetails:z,worktree:g})})}),(0,b.jsx)(_.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[(0,b.jsx)(aJ,{worktree:g}),g.hasUnstagedChanges&&(0,b.jsx)(N.Badge,{variant:"destructive",children:m("dirty")})]})}),(0,b.jsx)(_.TableCell,{children:(0,b.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[(0,b.jsx)(aA,{worktree:g}),(0,b.jsx)(aM,{...l})]})})]}),(0,b.jsx)(_.TableRow,{className:(0,ad.cn)(A),children:(0,b.jsx)(_.TableCell,{colSpan:8,children:(0,b.jsx)(aP,{...l,onCompleted:async()=>{await a.onReload(),o&&await x()}})})}),o&&(0,b.jsx)(_.TableRow,{className:(0,ad.cn)(A),children:(0,b.jsx)(_.TableCell,{colSpan:8,children:s&&!q?(0,b.jsx)(Z.Spinner,{}):q?(0,b.jsx)(ag.WorktreeDetailPanel,{detail:q,inline:!0}):null})})]})}function aT({tag:a}){return(0,b.jsx)(N.Badge,{className:as[a.color],children:a.name})}function aU({label:a,value:c,mono:d=!1}){return(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("p",{className:(0,ad.cn)("flex min-h-6 items-center truncate",d&&"font-mono text-xs"),title:c,children:c})]})}function aV({open:a,onOpenChange:d,tags:e,onChanged:f}){let g=(0,D.useTranslations)("worktrees"),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)("blue"),[n,o]=(0,c.useState)(null),p=async a=>{a.preventDefault();try{await (0,ac.controlPlaneRequest)("mutation SaveTag($input: SaveWorktreeTagInput!) { saveWorktreeTag(input: $input) { id } }",{input:{id:h?.id??null,name:j,color:l}}),i(null),k(""),m("blue"),o(null),await f()}catch(a){o(a instanceof Error?a.message:String(a))}},q=async a=>{try{await (0,ac.controlPlaneRequest)("mutation DeleteTag($id: ID!) { deleteWorktreeTag(id: $id) }",{id:a}),await f()}catch(a){o(a instanceof Error?a.message:String(a))}};return(0,b.jsx)(R.Dialog,{onOpenChange:d,open:a,children:(0,b.jsxs)(R.DialogContent,{children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:g("manageTags")}),(0,b.jsx)(R.DialogDescription,{children:g("manageTagsDescription")})]}),n&&(0,b.jsx)(M.Alert,{variant:"destructive",children:(0,b.jsx)(M.AlertDescription,{children:n})}),(0,b.jsx)(V.ItemGroup,{className:"gap-2",children:e.map(a=>(0,b.jsxs)(V.Item,{size:"sm",variant:"outline",children:[(0,b.jsx)(V.ItemContent,{children:(0,b.jsx)(V.ItemTitle,{children:(0,b.jsx)(aT,{tag:a})})}),(0,b.jsxs)(V.ItemActions,{children:[(0,b.jsx)(O.Button,{onClick:()=>{i(a),k(a.name),m(a.color)},size:"sm",variant:"outline",children:g("edit")}),(0,b.jsx)(O.Button,{onClick:()=>void q(a.id),size:"icon-sm",variant:"destructive",children:(0,b.jsx)(A.Trash2,{})})]})]},a.id))}),(0,b.jsxs)("form",{className:"space-y-3 border-t pt-3",onSubmit:p,children:[(0,b.jsx)(W.Label,{htmlFor:"tag-name",children:h?g("editTag"):g("createTag")}),(0,b.jsx)(U.Input,{id:"tag-name",maxLength:40,onChange:a=>k(a.target.value),required:!0,value:j}),(0,b.jsx)(aa.ToggleGroup,{"aria-label":g("highlight"),className:"grid grid-cols-12 gap-1",onValueChange:a=>{a&&m(a)},size:"sm",spacing:1,type:"single",value:l,variant:"outline",children:al.map(a=>(0,b.jsx)(aa.ToggleGroupItem,{"aria-label":a,className:(0,ad.cn)("size-7 min-w-0 p-0",at[a],"data-[state=on]:ring-2 data-[state=on]:ring-foreground"),value:a},a))}),(0,b.jsx)(R.DialogFooter,{children:(0,b.jsxs)(O.Button,{type:"submit",children:[(0,b.jsx)(x.Save,{})," ",g("saveTag")]})})]})]})})}function aW({open:a,onOpenChange:e,onChanged:f}){let g=(0,D.useTranslations)("worktrees"),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(null),l=(0,c.useCallback)(async()=>{try{let a=await (0,ac.controlPlaneRequest)(`query HiddenWorktrees { hiddenWorktrees { ${ah.WORKTREE_FIELDS} } }`);i(a.hiddenWorktrees),k(null)}catch(a){k(a instanceof Error?a.message:String(a))}},[]);(0,c.useEffect)(()=>{if(!a)return;let b=window.setTimeout(()=>void l(),0);return()=>window.clearTimeout(b)},[a,l]);let n=async a=>{try{await (0,ac.controlPlaneRequest)(a?"mutation PurgeHidden($id: ID!) { purgeHiddenWorktree(id: $id) }":"mutation PurgeAllHidden { purgeAllHiddenWorktrees }",a?{id:a}:void 0),await l(),await f()}catch(a){k(a instanceof Error?a.message:String(a))}};return(0,b.jsx)(R.Dialog,{onOpenChange:e,open:a,children:(0,b.jsxs)(R.DialogContent,{className:"sm:max-w-3xl",children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:g("hiddenTitle")}),(0,b.jsx)(R.DialogDescription,{children:g("hiddenDescription")})]}),j&&(0,b.jsx)(M.Alert,{variant:"destructive",children:(0,b.jsx)(M.AlertDescription,{children:j})}),(0,b.jsx)("div",{className:"max-h-96 overflow-y-auto",children:h.length?(0,b.jsx)(V.ItemGroup,{className:"gap-2",children:h.map(a=>(0,b.jsxs)(V.Item,{variant:"outline",children:[(0,b.jsx)(V.ItemMedia,{variant:"icon",children:(0,b.jsx)(m.GitBranch,{})}),(0,b.jsxs)(V.ItemContent,{className:"min-w-0",children:[(0,b.jsx)(V.ItemTitle,{className:"font-mono",children:a.branch??g("detached")}),(0,b.jsx)(V.ItemDescription,{className:"truncate",title:a.folder,children:a.folder})]}),(0,b.jsx)(V.ItemActions,{children:(0,b.jsxs)(O.Button,{onClick:()=>void n(a.id),size:"sm",variant:"destructive",children:[(0,b.jsx)(A.Trash2,{})," ",g("purge")]})})]},a.id))}):(0,b.jsx)(T.Empty,{className:"border-0 py-8",children:(0,b.jsxs)(T.EmptyHeader,{children:[(0,b.jsx)(T.EmptyMedia,{variant:"icon",children:(0,b.jsx)(d.Archive,{})}),(0,b.jsx)(T.EmptyTitle,{children:g("noHidden")})]})})}),(0,b.jsx)(R.DialogFooter,{children:h.length>0&&(0,b.jsxs)(O.Button,{onClick:()=>void n(),variant:"destructive",children:[(0,b.jsx)(A.Trash2,{})," ",g("purgeAll")]})})]})})}a.s(["ActionRow",0,aP,"BaseBranchControl",0,aK,"BaseFreshnessBadge",0,aG,"OriginStatusBadges",0,aJ,"PullRequestBadges",0,aH,"TagManagerDialog",0,aV,"WorktreeMenus",0,aM,"WorktreeMetadata",0,aC,"WorktreeTagsMenu",0,aF,"WorktreeTicketLink",0,aB,"WorktreesPage",0,function(){let a=(0,D.useTranslations)("worktrees"),[e,f]=(0,c.useState)(()=>null),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(()=>"cards"),[k,l]=(0,c.useState)(!0),[n,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null),[w,x]=(0,c.useState)(0),[z,A]=(0,c.useState)(!1),[C,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(""),[I,J]=(0,c.useState)(am),[K,N]=(0,c.useState)(am),P=(0,c.useRef)(0),Q=(0,c.useCallback)(async()=>{let a=++P.current;try{let b=await (0,ac.controlPlaneRequest)(`query WorktreeOverview {
|
|
76
|
-
worktreeOverview {
|
|
77
|
-
hiddenCount
|
|
78
|
-
settings { editorVariant updatedAt }
|
|
79
|
-
tags { id name color createdAt updatedAt }
|
|
80
|
-
activeMoves {
|
|
81
|
-
id sourceWorktreeId sourceCodebaseId targetCodebaseId targetWorktreeId destinationMode
|
|
82
|
-
branch headSha deleteSource status sourceJobId targetJobId cleanupJobId error warning
|
|
83
|
-
createdAt updatedAt finishedAt
|
|
84
|
-
}
|
|
85
|
-
agents {
|
|
86
|
-
agent { ${E.AGENT_FIELDS} }
|
|
87
|
-
codebases {
|
|
88
|
-
iosBuildConfigured
|
|
89
|
-
repository { id canonicalOrigin displayOrigin name description jiraBranchRegex keepBaseBranchUpToDate createdAt updatedAt }
|
|
90
|
-
codebase { ${ah.CODEBASE_FIELDS} }
|
|
91
|
-
worktrees { ${ah.WORKTREE_FIELDS} }
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}`);if(a!==P.current)return;h(b.worktreeOverview),s(null)}catch(b){a===P.current&&s(b instanceof Error?b.message:String(b))}finally{a===P.current&&l(!1)}},[]);(0,c.useEffect)(()=>{let a=window.setTimeout(()=>void Q(),0),b=window.setInterval(()=>void Q(),3e4),c=(0,ac.controlPlaneSubscriptions)(),d=c.subscribe({query:"subscription WorktreesChanged { worktreeOverviewChanged { worktreeId codebaseId } }"},{next:()=>void Q(),error:()=>void 0,complete:()=>void 0}),e=c.subscribe({query:"subscription WorktreeBuildsChanged { buildsChanged { id } }"},{next:()=>void Q(),error:()=>void 0,complete:()=>void 0});return()=>{window.clearTimeout(a),window.clearInterval(b),P.current+=1,d(),e()}},[Q]),(0,c.useEffect)(()=>{let a=()=>f(new URLSearchParams(window.location.search).get("issue"));return window.addEventListener("popstate",a),()=>window.removeEventListener("popstate",a)},[]);let R=a=>{let b,c;b=new URLSearchParams(window.location.search),a?b.set("issue",a):b.delete("issue"),c=b.toString(),window.history.pushState(null,"",`${window.location.pathname}${c?`?${c}`:""}`),f(a)},S=async()=>{l(!0),q(!0);try{await (0,ac.controlPlaneRequest)(`mutation RefreshWorktrees {
|
|
96
|
-
refreshWorktrees
|
|
97
|
-
}`),await Q(),x(a=>a+1),s(null)}catch(a){s(a instanceof Error?a.message:String(a))}finally{q(!1),l(!1)}},V=async()=>{let b=g?.agents.flatMap(a=>a.codebases.map(a=>a.codebase.id))??[];if(b.length){q(!0);try{await (0,ac.controlPlaneRequest)(`mutation FetchWorktreeCodebases($input: RunCodebaseOperationInput!) {
|
|
98
|
-
fetchCodebases(input: $input) { jobs { id } skipped { codebaseId reason } }
|
|
99
|
-
}`,{input:{codebaseIds:b,requestId:(0,ab.createClientId)()}}),u(a("fetchStarted")),s(null),await Q()}catch(a){s(a instanceof Error?a.message:String(a)),u(null)}finally{q(!1)}}},W=a=>{h(b=>b?{...b,agents:b.agents.map(b=>({...b,codebases:b.codebases.map(b=>({...b,worktrees:b.worktrees.map(b=>b.id===a.id?{...b,...a,ticketKey:a.ticketKey??b.ticketKey,ticketTitle:a.ticketTitle??b.ticketTitle,ticketStatus:a.ticketStatus??b.ticketStatus,pullRequest:a.pullRequest??b.pullRequest}:b)}))}))}:b)},X=(0,c.useMemo)(()=>{let a=new Map;return g?.agents.forEach(b=>b.codebases.forEach(b=>a.set(b.repository.id,{id:b.repository.id,name:b.repository.name}))),[...a.values()].sort((a,b)=>a.name.localeCompare(b.name))},[g]),Y=(0,c.useMemo)(()=>ao(g?.agents??[],{query:G,agentId:I===am?null:I,repositoryId:K===am?null:K}),[I,g,G,K]),_=!!G.trim()||I!==am||K!==am;return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:a("title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:a("description")})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(O.Button,{disabled:n,onClick:()=>void S(),variant:"outline",children:[(0,b.jsx)(v.RefreshCw,{className:k?"animate-spin":void 0})," ",a("refresh")]}),(0,b.jsxs)(O.Button,{disabled:n||!g?.agents.length,onClick:()=>void V(),variant:"outline",children:[(0,b.jsx)(B.Upload,{})," ",a("fetchNow")]}),(0,b.jsxs)(O.Button,{onClick:()=>F(!0),variant:"outline",children:[(0,b.jsx)(d.Archive,{})," ",a("hidden",{count:g?.hiddenCount??0})]}),(0,b.jsxs)(aa.ToggleGroup,{"aria-label":`${a("cards")} / ${a("table")}`,onValueChange:a=>{("cards"===a||"table"===a)&&(j(a),window.localStorage.setItem("worktrees-layout",a))},size:"sm",spacing:0,type:"single",value:i,variant:"outline",children:[(0,b.jsx)(aa.ToggleGroupItem,{"aria-label":a("cards"),className:"px-2",value:"cards",children:(0,b.jsx)(o.Grid2X2,{})}),(0,b.jsx)(aa.ToggleGroupItem,{"aria-label":a("table"),className:"px-2",value:"table",children:(0,b.jsx)(p.List,{})})]})]})]}),r&&(0,b.jsx)(M.Alert,{variant:"destructive",children:(0,b.jsx)(M.AlertDescription,{children:r})}),t&&(0,b.jsx)(M.Alert,{children:(0,b.jsx)(M.AlertDescription,{children:t})}),g&&g.agents.length>0&&(0,b.jsxs)("div",{"aria-label":a("filters"),className:"flex flex-wrap gap-2",role:"search",children:[(0,b.jsxs)("div",{className:"relative min-w-0 flex-[2_1_18rem]",children:[(0,b.jsx)(y.Search,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(U.Input,{"aria-label":a("searchWorktrees"),className:"pl-9",onChange:a=>H(a.target.value),placeholder:a("searchWorktreesPlaceholder"),type:"search",value:G})]}),(0,b.jsx)("div",{className:"min-w-0 flex-[1_1_12rem]",children:(0,b.jsxs)($.Select,{onValueChange:J,value:I,children:[(0,b.jsx)($.SelectTrigger,{"aria-label":a("filterByAgent"),className:"w-full",children:(0,b.jsx)($.SelectValue,{})}),(0,b.jsxs)($.SelectContent,{children:[(0,b.jsx)($.SelectItem,{value:am,children:a("allAgents")}),g.agents.map(a=>(0,b.jsx)($.SelectItem,{value:a.agent.id,children:a.agent.name},a.agent.id))]})]})}),(0,b.jsx)("div",{className:"min-w-0 flex-[1_1_12rem]",children:(0,b.jsxs)($.Select,{onValueChange:N,value:K,children:[(0,b.jsx)($.SelectTrigger,{"aria-label":a("filterByRepository"),className:"w-full",children:(0,b.jsx)($.SelectValue,{})}),(0,b.jsxs)($.SelectContent,{children:[(0,b.jsx)($.SelectItem,{value:am,children:a("allRepositories")}),X.map(a=>(0,b.jsx)($.SelectItem,{value:a.id,children:a.name},a.id))]})]})})]}),g&&g.activeMoves.length>0&&(0,b.jsx)(au,{moves:g.activeMoves,onError:s,onNotice:u,onReload:Q}),g&&(0,b.jsx)(aw,{onCreated:async()=>{await Q(),u(a("worktreeCreated"))},overview:g}),k&&!g?(0,b.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(Z.Spinner,{})," ",a("loading")]}):g?.agents.length?_&&0===Y.length?(0,b.jsx)(T.Empty,{className:"border py-12",children:(0,b.jsxs)(T.EmptyHeader,{children:[(0,b.jsx)(T.EmptyMedia,{variant:"icon",children:(0,b.jsx)(y.Search,{})}),(0,b.jsx)(T.EmptyTitle,{children:a("noMatchingWorktrees")}),(0,b.jsx)(T.EmptyDescription,{children:a("noMatchingWorktreesDescription")})]})}):Y.map(a=>(0,b.jsx)(ax,{agentGroup:a,allTags:g.tags,editorVariant:g.settings.editorVariant,inspectionRefreshToken:w,layout:i,onError:s,onManageTags:()=>A(!0),onOpenTicket:a=>R(a),onReload:Q,onUpdate:W,overview:g},a.agent.id)):(0,b.jsx)(T.Empty,{className:"border py-12",children:(0,b.jsxs)(T.EmptyHeader,{children:[(0,b.jsx)(T.EmptyMedia,{variant:"icon",children:(0,b.jsx)(m.GitBranch,{})}),(0,b.jsx)(T.EmptyTitle,{children:a("emptyTitle")}),(0,b.jsx)(T.EmptyDescription,{children:a("emptyDescription")})]})}),(0,b.jsx)(aV,{onChanged:Q,onOpenChange:A,open:z,tags:g?.tags??[]}),(0,b.jsx)(aW,{onChanged:Q,onOpenChange:F,open:C}),(0,b.jsx)(L.JiraTicketDrawer,{issueKey:e,onClose:()=>R(null)})]})},"displayedWorktreePath",0,ap,"filterWorktreeAgentGroups",0,ao,"worktreeChangeActionState",0,aq])}];
|
|
100
|
-
|
|
101
|
-
//# sourceMappingURL=_1za3z6k._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[206015,a=>{"use strict";var b=a.i(187924),c=a.i(368114);a.s(["Table",0,function({className:a,containerClassName:d,...e}){return(0,b.jsx)("div",{className:(0,c.cn)("w-full overflow-x-auto",d),children:(0,b.jsx)("table",{className:(0,c.cn)("w-full caption-bottom text-sm",a),...e})})},"TableBody",0,function({className:a,...d}){return(0,b.jsx)("tbody",{className:(0,c.cn)("divide-y",a),...d})},"TableCell",0,function({className:a,...d}){return(0,b.jsx)("td",{className:(0,c.cn)("whitespace-nowrap px-3 py-3 align-middle",a),...d})},"TableFooter",0,function({className:a,...d}){return(0,b.jsx)("tfoot",{className:(0,c.cn)("border-t bg-muted/50 font-medium",a),...d})},"TableHead",0,function({className:a,...d}){return(0,b.jsx)("th",{className:(0,c.cn)("h-10 whitespace-nowrap px-3 text-left align-middle text-xs font-medium text-muted-foreground",a),...d})},"TableHeader",0,function({className:a,...d}){return(0,b.jsx)("thead",{className:(0,c.cn)("border-b",a),...d})},"TableRow",0,function({className:a,...d}){return(0,b.jsx)("tr",{className:(0,c.cn)("transition-colors hover:bg-muted/40",a),...d})}])},814574,a=>{"use strict";var b=a.i(187924),c=a.i(323251),d=a.i(933783),e=a.i(699570),f=a.i(368114);function g({...a}){return(0,b.jsx)(d.Dialog.Portal,{"data-slot":"dialog-portal",...a})}function h({className:a,...c}){return(0,b.jsx)(d.Dialog.Overlay,{className:(0,f.cn)("fixed inset-0 isolate 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",a),"data-slot":"dialog-overlay",...c})}a.s(["Dialog",0,function({...a}){return(0,b.jsx)(d.Dialog.Root,{"data-slot":"dialog",...a})},"DialogContent",0,function({className:a,children:i,showCloseButton:j=!0,...k}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(d.Dialog.Content,{className:(0,f.cn)("fixed top-1/2 left-1/2 z-50 grid max-h-[85dvh] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none 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",a),"data-slot":"dialog-content",...k,children:[i,j&&(0,b.jsx)(d.Dialog.Close,{asChild:!0,"data-slot":"dialog-close",children:(0,b.jsxs)(e.Button,{className:"absolute top-2 right-2",size:"icon-sm",variant:"ghost",children:[(0,b.jsx)(c.XIcon,{}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})},"DialogDescription",0,function({className:a,...c}){return(0,b.jsx)(d.Dialog.Description,{className:(0,f.cn)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",a),"data-slot":"dialog-description",...c})},"DialogFooter",0,function({className:a,showCloseButton:c=!1,children:g,...h}){return(0,b.jsxs)("div",{className:(0,f.cn)("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",a),"data-slot":"dialog-footer",...h,children:[g,c&&(0,b.jsx)(d.Dialog.Close,{asChild:!0,children:(0,b.jsx)(e.Button,{variant:"outline",children:"Close"})})]})},"DialogHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col gap-2",a),"data-slot":"dialog-header",...c})},"DialogTitle",0,function({className:a,...c}){return(0,b.jsx)(d.Dialog.Title,{className:(0,f.cn)("font-heading text-base leading-none font-medium",a),"data-slot":"dialog-title",...c})}])},589027,a=>{"use strict";var b=a.i(560790);a.s(["ChevronDown",()=>b.default])},46524,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(368114);let e=(0,c.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"}});a.s(["Empty",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty",className:(0,d.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",a),...c})},"EmptyDescription",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-description",className:(0,d.cn)("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",a),...c})},"EmptyHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-header",className:(0,d.cn)("flex max-w-sm flex-col items-center gap-2",a),...c})},"EmptyMedia",0,function({className:a,variant:c="default",...f}){return(0,b.jsx)("div",{"data-slot":"empty-icon","data-variant":c,className:(0,d.cn)(e({variant:c,className:a})),...f})},"EmptyTitle",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-title",className:(0,d.cn)("font-heading text-sm font-medium tracking-tight",a),...c})}])},873555,a=>{"use strict";async function b(a){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(a);return}catch{}let b=document.createElement("textarea");b.value=a,b.style.position="fixed",b.style.opacity="0",document.body.append(b),b.select();let c=document.execCommand("copy");if(b.remove(),!c)throw Error("Copy is not supported by this browser")}a.s(["copyText",0,b,"createClientId",0,function(){try{if(globalThis.crypto?.randomUUID)return globalThis.crypto.randomUUID()}catch{}if(globalThis.crypto?.getRandomValues)try{let a=globalThis.crypto.getRandomValues(new Uint8Array(16));return Array.from(a,a=>a.toString(16).padStart(2,"0")).join("")}catch{}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}])},199968,a=>{"use strict";let b=(0,a.i(164831).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},224050,a=>{"use strict";var b=a.i(572131);function c(a,b,{checkForDefaultPrevented:d=!0}={}){return function(c){if(a?.(c),!1===d||!c||!c.defaultPrevented)return b?.(c)}}var d=a.i(37738);function e(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function f(...a){return b.useCallback(function(...a){return b=>{let c=!1,d=a.map(a=>{let d=e(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():e(a[b],null)}}}}(...a),a)}var g=a.i(750104),h=a.i(392843);a.i(935112);var i=Symbol.for("radix.slottable"),j=Symbol.for("react.lazy");function k(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===j&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var l=b[" use ".trim().toString()],m=a.i(187924),n=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,c)=>{var d;let e,g=(d=`Primitive.${c}`,(e=b.forwardRef((a,c)=>{var e;let g,h,{children:j,...m}=a,n=null,o=!1,p=[];k(j)&&"function"==typeof l&&(j=l(j._payload)),b.Children.forEach(j,a=>{var c;if(c=a,b.isValidElement(c)&&"function"==typeof c.type&&"__radixId"in c.type&&c.type.__radixId===i){o=!0;let c="child"in a.props?a.props.child:a.props.children;k(c)&&"function"==typeof l&&(c=l(c._payload)),n=((a,c)=>{if("child"in a.props){let c=a.props.child;return b.isValidElement(c)?b.cloneElement(c,void 0,a.props.children(c.props.children)):null}return b.isValidElement(c)?c:null})(a,c),p.push(n?.props?.children)}else p.push(a)}),n?n=b.cloneElement(n,void 0,p):!o&&1===b.Children.count(j)&&b.isValidElement(j)&&(n=j);let q=n?(e=n,(h=(g=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in g&&g.isReactWarning)?e.ref:(h=(g=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in g&&g.isReactWarning)?e.props.ref:e.props.ref||e.ref):void 0,r=f(c,q);if(!n){if(j||0===j){let a,b;throw Error(o?(a=d,`${a} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(b=d,`${b} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return j}let s=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(m,n.props??{});return n.type!==b.Fragment&&(s.ref=c?r:q),b.cloneElement(n,s)})).displayName=`${d}.Slot`,e),h=b.forwardRef((a,b)=>{let{asChild:d,...e}=a;return(0,m.jsx)(d?g:c,{...e,ref:b})});return h.displayName=`Primitive.${c}`,{...a,[c]:h}},{}),o=a.i(746872),p=globalThis?.document?b.useLayoutEffect:()=>{};b[" useEffectEvent ".trim().toString()],b[" useInsertionEffect ".trim().toString()];var q=b[" useInsertionEffect ".trim().toString()]||p;Symbol("RADIX:SYNC_STATE");var r=a.i(507827),s=!1,t=b[" useSyncExternalStore ".trim().toString()];function u(){return()=>{}}var v="function"==typeof t?function(){return t(u,()=>!0,()=>!1)}:function(){let[a,c]=b.useState(s);return b.useEffect(()=>{s||(s=!0,c(!0))},[]),a},w="rovingFocusGroup.onEntryFocus",x={bubbles:!1,cancelable:!0},y="RovingFocusGroup",[z,A,B]=(0,d.createCollection)(y),[C,D]=(0,g.createContextScope)(y,[B]),[E,F]=C(y),G=b.forwardRef((a,b)=>(0,m.jsx)(z.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,m.jsx)(z.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,m.jsx)(H,{...a,ref:b})})}));G.displayName=y;var H=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,orientation:g,loop:h=!1,dir:i,currentTabStopId:j,defaultCurrentTabStopId:k,onCurrentTabStopIdChange:l,onEntryFocus:p,preventScrollOnEntryFocus:s=!1,...t}=a,u=b.useRef(null),v=f(d,u),z=(0,r.useDirection)(i),[B,C]=function({prop:a,defaultProp:c,onChange:d=()=>{},caller:e}){let[f,g,h]=function({defaultProp:a,onChange:c}){let[d,e]=b.useState(a),f=b.useRef(d),g=b.useRef(c);return q(()=>{g.current=c},[c]),b.useEffect(()=>{f.current!==d&&(g.current?.(d),f.current=d)},[d,f]),[d,e,g]}({defaultProp:c,onChange:d}),i=void 0!==a,j=i?a:f;{let c=b.useRef(void 0!==a);b.useEffect(()=>{let a=c.current;if(a!==i){let b=i?"controlled":"uncontrolled";console.warn(`${e} is changing from ${a?"controlled":"uncontrolled"} to ${b}. 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.`)}c.current=i},[i,e])}return[j,b.useCallback(b=>{if(i){let c="function"==typeof b?b(a):b;c!==a&&h.current?.(c)}else g(b)},[i,a,g,h])]}({prop:j,defaultProp:k??null,onChange:l,caller:y}),[D,F]=b.useState(!1),G=(0,o.useCallbackRef)(p),H=A(e),I=b.useRef(!1),[J,K]=b.useState(0);return b.useEffect(()=>{let a=u.current;if(a)return a.addEventListener(w,G),()=>a.removeEventListener(w,G)},[G]),(0,m.jsx)(E,{scope:e,orientation:g,dir:z,loop:h,currentTabStopId:B,onItemFocus:b.useCallback(a=>C(a),[C]),onItemShiftTab:b.useCallback(()=>F(!0),[]),onFocusableItemAdd:b.useCallback(()=>K(a=>a+1),[]),onFocusableItemRemove:b.useCallback(()=>K(a=>a-1),[]),children:(0,m.jsx)(n.div,{tabIndex:D||0===J?-1:0,"data-orientation":g,...t,ref:v,style:{outline:"none",...a.style},onMouseDown:c(a.onMouseDown,()=>{I.current=!0}),onFocus:c(a.onFocus,a=>{let b=!I.current;if(a.target===a.currentTarget&&b&&!D){let b=new CustomEvent(w,x);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=H().filter(a=>a.focusable);L([a.find(a=>a.active),a.find(a=>a.id===B),...a].filter(Boolean).map(a=>a.ref.current),s)}}I.current=!1}),onBlur:c(a.onBlur,()=>F(!1))})})}),I="RovingFocusGroupItem",J=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,focusable:f=!0,active:g=!1,tabStopId:i,children:j,...k}=a,l=(0,h.useId)(),o=i||l,q=F(I,e),r=q.currentTabStopId===o,s=A(e),{onFocusableItemAdd:t,onFocusableItemRemove:u,currentTabStopId:w}=q,x=v();return p(()=>{if(x&&f)return t(),()=>u()},[x,f,t,u]),b.useEffect(()=>{if(!x&&f)return t(),()=>u()},[x,f,t,u]),(0,m.jsx)(z.ItemSlot,{scope:e,id:o,focusable:f,active:g,children:(0,m.jsx)(n.span,{tabIndex:r?0:-1,"data-orientation":q.orientation,...k,ref:d,onMouseDown:c(a.onMouseDown,a=>{f?q.onItemFocus(o):a.preventDefault()}),onFocus:c(a.onFocus,()=>q.onItemFocus(o)),onKeyDown:c(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void q.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return K[e]}(a,q.orientation,q.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=s().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=q.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>L(e))}}),children:"function"==typeof j?j({isCurrentTabStop:r,hasTabStop:null!=w}):j})})});J.displayName=I;var K={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function L(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}a.s(["Item",0,J,"Root",0,G,"createRovingFocusGroupScope",0,D],224050)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_20ufqtr._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,776639,e=>{"use strict";var t=e.i(843476),r=e.i(560964),o=e.i(964053),n=e.i(519455),i=e.i(975157);function a({...e}){return(0,t.jsx)(o.Dialog.Portal,{"data-slot":"dialog-portal",...e})}function s({className:e,...r}){return(0,t.jsx)(o.Dialog.Overlay,{className:(0,i.cn)("fixed inset-0 isolate 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),"data-slot":"dialog-overlay",...r})}e.s(["Dialog",0,function({...e}){return(0,t.jsx)(o.Dialog.Root,{"data-slot":"dialog",...e})},"DialogContent",0,function({className:e,children:l,showCloseButton:c=!0,...d}){return(0,t.jsxs)(a,{children:[(0,t.jsx)(s,{}),(0,t.jsxs)(o.Dialog.Content,{className:(0,i.cn)("fixed top-1/2 left-1/2 z-50 grid max-h-[85dvh] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none 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),"data-slot":"dialog-content",...d,children:[l,c&&(0,t.jsx)(o.Dialog.Close,{asChild:!0,"data-slot":"dialog-close",children:(0,t.jsxs)(n.Button,{className:"absolute top-2 right-2",size:"icon-sm",variant:"ghost",children:[(0,t.jsx)(r.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})},"DialogDescription",0,function({className:e,...r}){return(0,t.jsx)(o.Dialog.Description,{className:(0,i.cn)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),"data-slot":"dialog-description",...r})},"DialogFooter",0,function({className:e,showCloseButton:r=!1,children:a,...s}){return(0,t.jsxs)("div",{className:(0,i.cn)("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",e),"data-slot":"dialog-footer",...s,children:[a,r&&(0,t.jsx)(o.Dialog.Close,{asChild:!0,children:(0,t.jsx)(n.Button,{variant:"outline",children:"Close"})})]})},"DialogHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col gap-2",e),"data-slot":"dialog-header",...r})},"DialogTitle",0,function({className:e,...r}){return(0,t.jsx)(o.Dialog.Title,{className:(0,i.cn)("font-heading text-base leading-none font-medium",e),"data-slot":"dialog-title",...r})}])},929592,e=>{"use strict";var t=e.i(843476),r=e.i(225913),o=e.i(975157);let n=(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,...i}){return(0,t.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,o.cn)(n({variant:r}),e),...i})},"AlertDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-description",className:(0,o.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:o="default",...n}){return(0,t.jsx)("div",{"data-slot":"card","data-size":o,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),...n})},"CardAction",0,function({className:e,...o}){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),...o})},"CardContent",0,function({className:e,...o}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-(--card-spacing)",e),...o})},"CardDescription",0,function({className:e,...o}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-sm text-muted-foreground",e),...o})},"CardFooter",0,function({className:e,...o}){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),...o})},"CardHeader",0,function({className:e,...o}){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),...o})},"CardTitle",0,function({className:e,...o}){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),...o})}])},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),o=e.i(758379),o=o;e.s(["Spinner",0,function({className:e,...n}){return(0,t.jsx)(o.default,{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,r.cn)("size-4 animate-spin",e),...n})}],987968)},637611,e=>{"use strict";var t,r,o=e.i(247167);function n(e){return null===e?"null":Array.isArray(e)?"array":typeof e}function i(e){return"object"===n(e)}function a(e,t){return e.length<124?e:t}var s=((t=s||{})[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(!i(e))throw Error(`Message is expected to be an object, but got ${n(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 ${n(e.type)}`);switch(e.type){case"connection_init":case"connection_ack":case"ping":case"pong":if(null!=e.payload&&!i(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 ${n(e.id)}`);if(!e.id)throw Error(`"${e.type}" message requires a non-empty 'id' property`);if(!i(e.payload))throw Error(`"${e.type}" message expects the 'payload' property to be an object, but got ${n(e.payload)}`);if("string"!=typeof e.payload.query)throw Error(`"${e.type}" message payload expects the 'query' property to be a string, but got ${n(e.payload.query)}`);if(null!=e.payload.variables&&!i(e.payload.variables))throw Error(`"${e.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${n(e.payload.variables)}`);if(null!=e.payload.operationName&&"string"!==n(e.payload.operationName))throw Error(`"${e.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${n(e.payload.operationName)}`);if(null!=e.payload.extensions&&!i(e.payload.extensions))throw Error(`"${e.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${n(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 ${n(e.id)}`);if(!e.id)throw Error(`"${e.type}" message requires a non-empty 'id' property`);if(!i(e.payload))throw Error(`"${e.type}" message expects the 'payload' property to be an object, but got ${n(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 ${n(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 ${n(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 i(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})}),o=await r.json();if(!r.ok||o.errors?.length||!o.data)throw Error(o.errors?.map(e=>e.message).join("; ")||`HTTP ${r.status}`);return o.data}let g=null;function y(){let e=o.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 g??=function(t){let r,o,n,i,{url:f,connectionParams:g,lazy:y=!0,onNonLazyError:h=console.error,lazyCloseTimeout:m=0,keepAlive:x=0,disablePong:b,connectionAckWaitTimeout:v=0,retryAttempts:w=5,retryWait:E=async function(e){let t=Math.pow(2,e);await new Promise(e=>setTimeout(e,1e3*t+Math.floor(2700*Math.random()+300)))},shouldRetry:C=p,on:k,webSocketImpl:S,generateID:j=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:N,jsonMessageReviver:R}=t;if(S){var $;if(!("function"==typeof($=S)&&"constructor"in $&&"CLOSED"in $&&"CLOSING"in $&&"CONNECTING"in $&&"OPEN"in $))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 A=r,O=(o={},n={on:(e,t)=>(o[e]=t,()=>{delete o[e]}),emit(e){"id"in e&&o[e.id]?.(e)}},i={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?[n.emit,k.message]:[n.emit],closed:k?.closed?[k.closed]:[],error:k?.error?[k.error]:[]},{onMessage:n.on,on(e,t){let r=i[e];return r.push(t),()=>{r.splice(r.indexOf(t),1)}},emit(e,...t){for(let r of[...i[e]])r(...t)}});function T(e){let t=[O.on("error",r=>{t.forEach(e=>e()),e(r)}),O.on("closed",r=>{t.forEach(e=>e()),e(r)})]}let z,P=0,I,_=!1,M=0,D=!1;async function q(){clearTimeout(I);let[e,t]=await (z??(z=new Promise((e,t)=>(async()=>{let r,o;if(_){if(await E(M),!P)return z=void 0,t({code:1e3,reason:"All Subscriptions Gone"});M++}O.emit("connecting",_);let n=new A("function"==typeof f?await f():f,"graphql-transport-ws");function i(){isFinite(x)&&x>0&&(clearTimeout(o),o=setTimeout(()=>{n.readyState===A.OPEN&&(n.send(d({type:l.Ping})),O.emit("ping",!1,void 0))},x))}T(e=>{z=void 0,clearTimeout(r),clearTimeout(o),t(e),e instanceof u&&(n.close(4499,"Terminated"),n.onerror=null,n.onclose=null)}),n.onerror=e=>O.emit("error",e),n.onclose=e=>O.emit("closed",e),n.onopen=async()=>{try{O.emit("opened",n);let e="function"==typeof g?await g():g;if(n.readyState!==A.OPEN)return;n.send(d(e?{type:l.ConnectionInit,payload:e}:{type:l.ConnectionInit},N)),isFinite(v)&&v>0&&(r=setTimeout(()=>{n.close(s.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},v)),i()}catch(e){O.emit("error",e),n.close(s.InternalClientError,a(e instanceof Error?e.message:String(e),"Internal client error"))}};let p=!1;n.onmessage=({data:t})=>{try{let o=c("string"==typeof t?JSON.parse(t,R):t);if(O.emit("message",o),"ping"===o.type||"pong"===o.type){O.emit(o.type,!0,o.payload),"pong"===o.type?i():b||(n.send(d(o.payload?{type:l.Pong,payload:o.payload}:{type:l.Pong})),O.emit("pong",!1,o.payload));return}if(p)return;if(o.type!==l.ConnectionAck)throw Error(`First message cannot be of type ${o.type}`);clearTimeout(r),p=!0,O.emit("connected",n,o.payload,_),_=!1,M=0,e([n,new Promise((e,t)=>T(t))])}catch(e){n.onmessage=null,O.emit("error",e),n.close(s.BadResponse,a(e instanceof Error?e.message:String(e),"Bad response"))}}})())));e.readyState===A.CLOSING&&await t;let r=()=>{},o=new Promise(e=>r=e);return[e,r,Promise.race([o.then(()=>{P||(isFinite(m)&&m>0?I=setTimeout(()=>{e.readyState===A.OPEN&&e.close(1e3,"Normal Closure")},m):e.close(1e3,"Normal Closure"))}),t])]}function W(e){var t;if(p(e)&&(![1e3,1001,1006,1005,1012,1013,1014].includes(t=e.code)&&t>=1e3&&t<=1999||[s.InternalServerError,s.InternalClientError,s.BadRequest,s.BadResponse,s.Unauthorized,s.SubprotocolNotAcceptable,s.SubscriberAlreadyExists,s.TooManyInitialisationRequests].includes(e.code)))throw e;if(D)return!1;if(p(e)&&1e3===e.code)return P>0;if(!w||M>=w||!C(e))throw e;return _=!0}function B(e,t){let r=j(e),o=!1,n=!1,i=()=>{P--,o=!0};return(async()=>{for(P++;;)try{let[a,s,c]=await q();if(o)return s();let u=O.onMessage(r,e=>{switch(e.type){case l.Next:return void t.next(e.payload);case l.Error:n=!0,o=!0,t.error(e.payload),i();return;case l.Complete:o=!0,i();return}});a.send(d({id:r,type:l.Subscribe,payload:e},N)),i=()=>{o||a.readyState!==A.OPEN||a.send(d({id:r,type:l.Complete},N)),P--,o=!0,s()},await c.finally(u);return}catch(e){if(!W(e))return}})().then(()=>{n||t.complete()}).catch(e=>{t.error(e)}),()=>{o||i()}}return y||(async()=>{for(P++;;)try{let[,,e]=await q();await e}catch(e){try{if(!W(e))return}catch(e){return h?.(e)}}})(),{on:O.on,subscribe:B,iterate(e){let t=[],r={done:!1,error:null,resolve:()=>{}},o=B(e,{next(e){t.push(e),r.resolve()},error(e){r.done=!0,r.error=e,r.resolve()},complete(){r.done=!0,r.resolve()}}),n=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 n.throw=async e=>(r.done||(r.done=!0,r.error=e,r.resolve()),{done:!0,value:void 0}),n.return=async()=>(o(),{done:!0,value:void 0}),n},async dispose(){if(D=!0,z){let[e]=await z;e.close(1e3,"Normal Closure")}},terminate(){z&&O.emit("closed",new u)}}}({url:y,lazy:!0,retryAttempts:1/0,shouldRetry:()=>!0})}],637611)},487486,e=>{"use strict";var t=e.i(843476),r=e.i(225913),o=e.i(709840),n=e.i(975157);let i=(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",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:a=!1,...s}){let l=a?o.Slot.Root:"span";return(0,t.jsx)(l,{className:(0,n.cn)(i({variant:r}),e),"data-slot":"badge","data-variant":r,...s})}])},75830,586318,e=>{"use strict";var t=e.i(271645),r=e.i(30030);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(...e){return t.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)}function i(e){let r=t.forwardRef((r,o)=>{var i;let l,f,{children:g,...y}=r,h=null,m=!1,x=[];c(g)&&"function"==typeof p&&(g=p(g._payload)),t.Children.forEach(g,e=>{var r;if(r=e,t.isValidElement(r)&&"function"==typeof r.type&&"__radixId"in r.type&&r.type.__radixId===a){m=!0;let t="child"in e.props?e.props.child:e.props.children;c(t)&&"function"==typeof p&&(t=p(t._payload)),h=s(e,t),x.push(h?.props?.children)}else x.push(e)}),h?h=t.cloneElement(h,void 0,x):!m&&1===t.Children.count(g)&&t.isValidElement(g)&&(h=g);let b=h?(i=h,(f=(l=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?i.ref:(f=(l=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?i.props.ref:i.props.ref||i.ref):void 0,v=n(o,b);if(!h){if(g||0===g)throw Error(m?u(e):d(e));return g}let w=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}}(y,h.props??{});return h.type!==t.Fragment&&(w.ref=o?v:b),t.cloneElement(h,w)});return r.displayName=`${e}.Slot`,r}var a=Symbol.for("radix.slottable"),s=(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),g=new WeakMap;function y(e,t){var r,o;let n,i,a;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let s=(r=e,o=t,n=r.length,(a=(i=h(o))>=0?i:n+i)<0||a>=n?-1:a);return -1===s?void 0:e[s]}function h(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],g.set(this,!0)}set(e,t){return g.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 o,n=this.has(t),i=this.#e.length,a=h(e),s=a>=0?a:i+a,l=s<0||s>=i?-1:s;if(l===this.size||n&&l===this.size-1||-1===l)return this.set(t,r),this;let c=this.size+ +!n;a<0&&s++;let d=[...this.#e],u=!1;for(let e=s;e<c;e++)if(s===e){let i=d[e];d[e]===t&&(i=d[e+1]),n&&this.delete(t),o=this.get(i),this.set(t,r)}else{u||d[e-1]!==t||(u=!0);let r=d[u?e:e-1],n=o;o=this.get(r),this.delete(r),this.set(r,n)}return this}with(t,r,o){let n=new e(this);return n.insert(t,r,o),n}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let o=this.#e.indexOf(e);return -1===o?this:this.insert(o,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 o=this.#e.indexOf(e);return -1===o?this:this.insert(o+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=y(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=y(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return y(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let o=r+t;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.at(o)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let o=r+t;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.keyAt(o)}find(e,t){let r=0;for(let o of this){if(Reflect.apply(e,t,[o,r,this]))return o;r++}}findIndex(e,t){let r=0;for(let o of this){if(Reflect.apply(e,t,[o,r,this]))return r;r++}return -1}filter(t,r){let o=[],n=0;for(let e of this)Reflect.apply(t,r,[e,n,this])&&o.push(e),n++;return new e(o)}map(t,r){let o=[],n=0;for(let e of this)o.push([e[0],Reflect.apply(t,r,[e,n,this])]),n++;return new e(o)}reduce(...e){let[t,r]=e,o=0,n=r??this.at(0);for(let r of this)n=0===o&&1===e.length?r:Reflect.apply(t,this,[n,r,o,this]),o++;return n}reduceRight(...e){let[t,r]=e,o=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let n=this.at(r);o=r===this.size-1&&1===e.length?n:Reflect.apply(t,this,[o,n,r,this])}return o}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),o=this.get(r);t.set(r,o)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let o=new e,n=this.size-1;if(void 0===t)return o;t<0&&(t+=this.size),void 0!==r&&r>0&&(n=r-1);for(let e=t;e<=n;e++){let t=this.keyAt(e),r=this.get(t);o.set(t,r)}return o}every(e,t){let r=0;for(let o of this){if(!Reflect.apply(e,t,[o,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let o of this){if(Reflect.apply(e,t,[o,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,function(e){let o=e+"CollectionProvider",[a,s]=(0,r.createContextScope)(o),[l,c]=a(o,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:o}=e,n=t.useRef(null),i=t.useRef(new Map).current;return(0,f.jsx)(l,{scope:r,itemMap:i,collectionRef:n,children:o})};d.displayName=o;let u=e+"CollectionSlot",p=i(u),g=t.forwardRef((e,t)=>{let{scope:r,children:o}=e,i=n(t,c(u,r).collectionRef);return(0,f.jsx)(p,{ref:i,children:o})});g.displayName=u;let y=e+"CollectionItemSlot",h="data-radix-collection-item",m=i(y),x=t.forwardRef((e,r)=>{let{scope:o,children:i,...a}=e,s=t.useRef(null),l=n(r,s),d=c(y,o);return t.useEffect(()=>(d.itemMap.set(s,{ref:s,...a}),()=>void d.itemMap.delete(s))),(0,f.jsx)(m,{...{[h]:""},ref:l,children:i})});return x.displayName=y,[{Provider:d,Slot:g,ItemSlot:x},function(r){let o=c(e+"CollectionConsumer",r);return t.useCallback(()=>{let e=o.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${h}]`));return Array.from(o.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[o.collectionRef,o.itemMap])},s]}],75830);var m=t.createContext(void 0);e.s(["useDirection",0,function(e){let r=t.useContext(m);return e||r||"ltr"}],586318)},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])},110204,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 a(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 s=r[" use ".trim().toString()],l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,i)=>{var l;let c,d=(l=`Primitive.${i}`,(c=r.forwardRef((e,t)=>{var i;let c,d,{children:u,...p}=e,f=null,g=!1,y=[];a(u)&&"function"==typeof s&&(u=s(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){g=!0;let t="child"in e.props?e.props.child:e.props.children;a(t)&&"function"==typeof s&&(t=s(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),y.push(f?.props?.children)}else y.push(e)}),f?f=r.cloneElement(f,void 0,y):!g&&1===r.Children.count(u)&&r.isValidElement(u)&&(f=u);let h=f?(i=f,(d=(c=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?i.ref:(d=(c=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?i.props.ref:i.props.ref||i.ref):void 0,m=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,h);if(!f){if(u||0===u){let e,t;throw Error(g?(e=l,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=l,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return u}let x=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&&(x.ref=t?m:h),r.cloneElement(f,x)})).displayName=`${l}.Slot`,c),u=r.forwardRef((e,r)=>{let{asChild:o,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(o?d:i,{...n,ref:r})});return u.displayName=`Primitive.${i}`,{...e,[i]:u}},{}),c=r.forwardRef((e,r)=>(0,t.jsx)(l.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));c.displayName="Label",e.s(["Label",0,c,"Root",0,c],973741);var d=e.i(973741),d=d,u=e.i(975157);e.s(["Label",0,function({className:e,...r}){return(0,t.jsx)(d.Root,{"data-slot":"label",className:(0,u.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}],110204)},624687,e=>{"use strict";var t=e.i(843476),r=e.i(975157);e.s(["Textarea",0,function({className:e,...o}){return(0,t.jsx)("textarea",{className:(0,r.cn)("min-h-24 w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",e),...o})}])}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
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),r=e.i(271645),a=e.i(30030);function n(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function i(...e){return r.useCallback(function(...e){return t=>{let r=!1,a=e.map(e=>{let a=n(e,t);return r||"function"!=typeof a||(r=!0),a});if(r)return()=>{for(let t=0;t<a.length;t++){let r=a[t];"function"==typeof r?r():n(e[t],null)}}}}(...e),e)}var s=e.i(326999);"u">typeof window&&window.document&&window.document.createElement;var l="AlertDialog",[o,c]=(0,a.createContextScope)(l,[s.createDialogScope]),d=(0,s.createDialogScope)(),u=e=>{let{__scopeAlertDialog:r,...a}=e,n=d(r);return(0,t.jsx)(s.Root,{...n,...a,modal:!0})};u.displayName=l;var m=r.forwardRef((e,r)=>{let{__scopeAlertDialog:a,...n}=e,i=d(a);return(0,t.jsx)(s.Trigger,{...i,...n,ref:r})});m.displayName="AlertDialogTrigger";var p=e=>{let{__scopeAlertDialog:r,...a}=e,n=d(r);return(0,t.jsx)(s.Portal,{...n,...a})};p.displayName="AlertDialogPortal";var h=r.forwardRef((e,r)=>{let{__scopeAlertDialog:a,...n}=e,i=d(a);return(0,t.jsx)(s.Overlay,{...i,...n,ref:r})});h.displayName="AlertDialogOverlay";var f="AlertDialogContent",[x,g]=o(f),j=r.forwardRef((e,a)=>{let{__scopeAlertDialog:n,children:l,...o}=e,c=d(n),u=i(a,r.useRef(null)),m=r.useRef(null);return(0,t.jsx)(x,{scope:n,cancelRef:m,children:(0,t.jsx)(s.Content,{role:"alertdialog",...c,...o,ref:u,onOpenAutoFocus:function(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e?.(a),!1===r||!a||!a.defaultPrevented)return t?.(a)}}(o.onOpenAutoFocus,e=>{e.preventDefault(),m.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:l})})});j.displayName=f;var v=r.forwardRef((e,r)=>{let{__scopeAlertDialog:a,...n}=e,i=d(a);return(0,t.jsx)(s.Title,{...i,...n,ref:r})});v.displayName="AlertDialogTitle";var y=r.forwardRef((e,r)=>{let{__scopeAlertDialog:a,...n}=e,i=d(a);return(0,t.jsx)(s.Description,{...i,...n,ref:r})});y.displayName="AlertDialogDescription";var b=r.forwardRef((e,r)=>{let{__scopeAlertDialog:a,...n}=e,i=d(a);return(0,t.jsx)(s.Close,{...i,...n,ref:r})});b.displayName="AlertDialogAction";var w="AlertDialogCancel",k=r.forwardRef((e,r)=>{let{__scopeAlertDialog:a,...n}=e,{cancelRef:l}=g(w,a),o=d(a),c=i(r,l);return(0,t.jsx)(s.Close,{...o,...n,ref:c})});k.displayName=w,e.s(["Action",0,b,"AlertDialog",0,u,"AlertDialogAction",0,b,"AlertDialogCancel",0,k,"AlertDialogContent",0,j,"AlertDialogDescription",0,y,"AlertDialogOverlay",0,h,"AlertDialogPortal",0,p,"AlertDialogTitle",0,v,"AlertDialogTrigger",0,m,"Cancel",0,k,"Content",0,j,"Description",0,y,"Overlay",0,h,"Portal",0,p,"Root",0,u,"Title",0,v,"Trigger",0,m,"createAlertDialogScope",0,c],691162);var N=e.i(691162),N=N,S=e.i(975157),C=e.i(519455);function T({...e}){return(0,t.jsx)(N.Root,{"data-slot":"alert-dialog",...e})}function D({...e}){return(0,t.jsx)(N.Trigger,{"data-slot":"alert-dialog-trigger",...e})}function I({...e}){return(0,t.jsx)(N.Portal,{"data-slot":"alert-dialog-portal",...e})}function E({className:e,...r}){return(0,t.jsx)(N.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,S.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),...r})}function A({className:e,size:r="default",...a}){return(0,t.jsxs)(I,{children:[(0,t.jsx)(E,{}),(0,t.jsx)(N.Content,{"data-slot":"alert-dialog-content","data-size":r,className:(0,S.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),...a})]})}function R({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,S.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),...r})}function P({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,S.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),...r})}function $({className:e,...r}){return(0,t.jsx)(N.Title,{"data-slot":"alert-dialog-title",className:(0,S.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),...r})}function B({className:e,...r}){return(0,t.jsx)(N.Description,{"data-slot":"alert-dialog-description",className:(0,S.cn)("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...r})}function J({className:e,variant:r="default",size:a="default",...n}){return(0,t.jsx)(C.Button,{variant:r,size:a,asChild:!0,children:(0,t.jsx)(N.Action,{"data-slot":"alert-dialog-action",className:(0,S.cn)(e),...n})})}function L({className:e,variant:r="outline",size:a="default",...n}){return(0,t.jsx)(C.Button,{variant:r,size:a,asChild:!0,children:(0,t.jsx)(N.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,S.cn)(e),...n})})}e.s(["ConfirmationDialog",0,function({actionLabel:e,cancelLabel:r,description:a,onConfirm:n,onOpenChange:i,open:s,title:l,trigger:o}){return(0,t.jsxs)(T,{onOpenChange:i,open:s,children:[o&&(0,t.jsx)(D,{asChild:!0,children:o}),(0,t.jsxs)(A,{children:[(0,t.jsxs)(R,{children:[(0,t.jsx)($,{children:l}),(0,t.jsx)(B,{children:a})]}),(0,t.jsxs)(P,{children:[(0,t.jsx)(L,{children:r}),(0,t.jsx)(J,{onClick:()=>void n(),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)},776639,e=>{"use strict";var t=e.i(843476),r=e.i(560964),a=e.i(964053),n=e.i(519455),i=e.i(975157);function s({...e}){return(0,t.jsx)(a.Dialog.Portal,{"data-slot":"dialog-portal",...e})}function l({className:e,...r}){return(0,t.jsx)(a.Dialog.Overlay,{className:(0,i.cn)("fixed inset-0 isolate 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),"data-slot":"dialog-overlay",...r})}e.s(["Dialog",0,function({...e}){return(0,t.jsx)(a.Dialog.Root,{"data-slot":"dialog",...e})},"DialogContent",0,function({className:e,children:o,showCloseButton:c=!0,...d}){return(0,t.jsxs)(s,{children:[(0,t.jsx)(l,{}),(0,t.jsxs)(a.Dialog.Content,{className:(0,i.cn)("fixed top-1/2 left-1/2 z-50 grid max-h-[85dvh] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none 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),"data-slot":"dialog-content",...d,children:[o,c&&(0,t.jsx)(a.Dialog.Close,{asChild:!0,"data-slot":"dialog-close",children:(0,t.jsxs)(n.Button,{className:"absolute top-2 right-2",size:"icon-sm",variant:"ghost",children:[(0,t.jsx)(r.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})},"DialogDescription",0,function({className:e,...r}){return(0,t.jsx)(a.Dialog.Description,{className:(0,i.cn)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),"data-slot":"dialog-description",...r})},"DialogFooter",0,function({className:e,showCloseButton:r=!1,children:s,...l}){return(0,t.jsxs)("div",{className:(0,i.cn)("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",e),"data-slot":"dialog-footer",...l,children:[s,r&&(0,t.jsx)(a.Dialog.Close,{asChild:!0,children:(0,t.jsx)(n.Button,{variant:"outline",children:"Close"})})]})},"DialogHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col gap-2",e),"data-slot":"dialog-header",...r})},"DialogTitle",0,function({className:e,...r}){return(0,t.jsx)(a.Dialog.Title,{className:(0,i.cn)("font-heading text-base leading-none font-medium",e),"data-slot":"dialog-title",...r})}])},59497,e=>{"use strict";var t=e.i(843476),r=e.i(271645);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(...e){return r.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=a(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():a(e[t],null)}}}}(...e),e)}var i=e.i(30030);function s(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e?.(a),!1===r||!a||!a.defaultPrevented)return t?.(a)}}"u">typeof window&&window.document&&window.document.createElement;var l=globalThis?.document?r.useLayoutEffect:()=>{};r[" useEffectEvent ".trim().toString()],r[" useInsertionEffect ".trim().toString()];var o=r[" useInsertionEffect ".trim().toString()]||l;Symbol("RADIX:SYNC_STATE");var c=e.i(999682),d=e.i(635804),u=e.i(296626);e.i(174080);var m=Symbol.for("radix.slottable"),p=Symbol.for("react.lazy");function h(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===p&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var f=r[" use ".trim().toString()],x=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{var i;let s,l=(i=`Primitive.${a}`,(s=r.forwardRef((e,t)=>{var a;let s,l,{children:o,...c}=e,d=null,u=!1,p=[];h(o)&&"function"==typeof f&&(o=f(o._payload)),r.Children.forEach(o,e=>{var t;if(t=e,r.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===m){u=!0;let t="child"in e.props?e.props.child:e.props.children;h(t)&&"function"==typeof f&&(t=f(t._payload)),d=((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),p.push(d?.props?.children)}else p.push(e)}),d?d=r.cloneElement(d,void 0,p):!u&&1===r.Children.count(o)&&r.isValidElement(o)&&(d=o);let x=d?(a=d,(l=(s=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?a.ref:(l=(s=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?a.props.ref:a.props.ref||a.ref):void 0,g=n(t,x);if(!d){if(o||0===o){let e,t;throw Error(u?(e=i,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=i,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return o}let j=function(e,t){let r={...t};for(let a in t){let n=e[a],i=t[a];/^on[A-Z]/.test(a)?n&&i?r[a]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[a]=n):"style"===a?r[a]={...n,...i}:"className"===a&&(r[a]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(c,d.props??{});return d.type!==r.Fragment&&(j.ref=t?g:x),r.cloneElement(d,j)})).displayName=`${i}.Slot`,s),o=r.forwardRef((e,r)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(n?l:a,{...i,ref:r})});return o.displayName=`Primitive.${a}`,{...e,[a]:o}},{}),g="Checkbox",[j,v]=(0,i.createContextScope)(g),[y,b]=j(g);function w(e){let{__scopeCheckbox:a,checked:n,children:i,defaultChecked:s,disabled:l,form:c,name:d,onCheckedChange:u,required:m,value:p="on",internal_do_not_use_render:h}=e,[f,x]=function({prop:e,defaultProp:t,onChange:a=()=>{},caller:n}){let[i,s,l]=function({defaultProp:e,onChange:t}){let[a,n]=r.useState(e),i=r.useRef(a),s=r.useRef(t);return o(()=>{s.current=t},[t]),r.useEffect(()=>{i.current!==a&&(s.current?.(a),i.current=a)},[a,i]),[a,n,s]}({defaultProp:t,onChange:a}),c=void 0!==e,d=c?e:i;{let t=r.useRef(void 0!==e);r.useEffect(()=>{let e=t.current;if(e!==c){let t=c?"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=c},[c,n])}return[d,r.useCallback(t=>{if(c){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else s(t)},[c,e,s,l])]}({prop:n,defaultProp:s??!1,onChange:u,caller:g}),[j,v]=r.useState(null),[b,w]=r.useState(null),k=r.useRef(!1),N=!j||!!c||!!j.closest("form"),S={checked:f,disabled:l,setChecked:x,control:j,setControl:v,name:d,form:c,value:p,hasConsumerStoppedPropagationRef:k,required:m,defaultChecked:!E(s)&&s,isFormControl:N,bubbleInput:b,setBubbleInput:w};return(0,t.jsx)(y,{scope:a,...S,children:"function"==typeof h?h(S):i})}var k="CheckboxTrigger",N=r.forwardRef(({__scopeCheckbox:e,onKeyDown:a,onClick:i,...l},o)=>{let{control:c,value:d,disabled:u,checked:m,required:p,setControl:h,setChecked:f,hasConsumerStoppedPropagationRef:g,isFormControl:j,bubbleInput:v}=b(k,e),y=n(o,h),w=r.useRef(m);return r.useEffect(()=>{let e=c?.form;if(e){let t=()=>f(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,f]),(0,t.jsx)(x.button,{type:"button",role:"checkbox","aria-checked":E(m)?"mixed":m,"aria-required":p,"data-state":A(m),"data-disabled":u?"":void 0,disabled:u,value:d,...l,ref:y,onKeyDown:s(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:s(i,e=>{f(e=>!!E(e)||!e),v&&j&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});N.displayName=k;var S=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,name:n,checked:i,defaultChecked:s,required:l,disabled:o,value:c,onCheckedChange:d,form:u,...m}=e;return(0,t.jsx)(w,{__scopeCheckbox:a,checked:i,defaultChecked:s,disabled:o,required:l,onCheckedChange:d,name:n,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(N,{...m,ref:r,__scopeCheckbox:a}),e&&(0,t.jsx)(I,{__scopeCheckbox:a})]})})});S.displayName=g;var C="CheckboxIndicator",T=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,forceMount:n,...i}=e,s=b(C,a);return(0,t.jsx)(u.Presence,{present:n||E(s.checked)||!0===s.checked,children:(0,t.jsx)(x.span,{"data-state":A(s.checked),"data-disabled":s.disabled?"":void 0,...i,ref:r,style:{pointerEvents:"none",...e.style}})})});T.displayName=C;var D="CheckboxBubbleInput",I=r.forwardRef(({__scopeCheckbox:e,...a},i)=>{let{control:s,hasConsumerStoppedPropagationRef:l,checked:o,defaultChecked:u,required:m,disabled:p,name:h,value:f,form:g,bubbleInput:j,setBubbleInput:v}=b(D,e),y=n(i,v),w=(0,c.usePrevious)(o),k=(0,d.useSize)(s);r.useEffect(()=>{if(!j)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(w!==o&&e){let r=new Event("click",{bubbles:t});j.indeterminate=E(o),e.call(j,!E(o)&&o),j.dispatchEvent(r)}},[j,w,o,l]);let N=r.useRef(!E(o)&&o);return(0,t.jsx)(x.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??N.current,required:m,disabled:p,name:h,value:f,form:g,...a,tabIndex:-1,ref:y,style:{...a.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function E(e){return"indeterminate"===e}function A(e){return E(e)?"indeterminate":e?"checked":"unchecked"}I.displayName=D,e.s(["Checkbox",0,S,"CheckboxIndicator",0,T,"Indicator",0,T,"Root",0,S,"createCheckboxScope",0,v,"unstable_BubbleInput",0,I,"unstable_CheckboxBubbleInput",0,I,"unstable_CheckboxProvider",0,w,"unstable_CheckboxTrigger",0,N,"unstable_Provider",0,w,"unstable_Trigger",0,N],388474);var R=e.i(388474),R=R,P=e.i(975157),$=e.i(593698);e.s(["Checkbox",0,function({className:e,...r}){return(0,t.jsx)(R.Root,{"data-slot":"checkbox",className:(0,P.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),...r,children:(0,t.jsx)(R.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,t.jsx)($.CheckIcon,{})})})}],59497)},482022,e=>{"use strict";let t=(0,e.i(456420).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],482022)},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),a=e.i(975157);let n=(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,a.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,a.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,a.cn)("flex max-w-sm flex-col items-center gap-2",e),...r})},"EmptyMedia",0,function({className:e,variant:r="default",...i}){return(0,t.jsx)("div",{"data-slot":"empty-icon","data-variant":r,className:(0,a.cn)(n({variant:r,className:e})),...i})},"EmptyTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty-title",className:(0,a.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)}`}])},842727,e=>{"use strict";var t=e.i(271645);function r(e,t,{checkForDefaultPrevented:a=!0}={}){return function(r){if(e?.(r),!1===a||!r||!r.defaultPrevented)return t?.(r)}}"u">typeof window&&window.document&&window.document.createElement;var a=e.i(75830);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,a=e.map(e=>{let a=n(e,t);return r||"function"!=typeof a||(r=!0),a});if(r)return()=>{for(let t=0;t<a.length;t++){let r=a[t];"function"==typeof r?r():n(e[t],null)}}}}(...e),e)}var s=e.i(30030),l=e.i(610772);e.i(174080);var o=Symbol.for("radix.slottable"),c=Symbol.for("react.lazy");function d(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===c&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var u=t[" use ".trim().toString()],m=e.i(843476),p=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{var a;let n,s=(a=`Primitive.${r}`,(n=t.forwardRef((e,r)=>{var n;let s,l,{children:c,...m}=e,p=null,h=!1,f=[];d(c)&&"function"==typeof u&&(c=u(c._payload)),t.Children.forEach(c,e=>{var r;if(r=e,t.isValidElement(r)&&"function"==typeof r.type&&"__radixId"in r.type&&r.type.__radixId===o){h=!0;let r="child"in e.props?e.props.child:e.props.children;d(r)&&"function"==typeof u&&(r=u(r._payload)),p=((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),f.push(p?.props?.children)}else f.push(e)}),p?p=t.cloneElement(p,void 0,f):!h&&1===t.Children.count(c)&&t.isValidElement(c)&&(p=c);let x=p?(n=p,(l=(s=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?n.props.ref:n.props.ref||n.ref):void 0,g=i(r,x);if(!p){if(c||0===c){let e,t;throw Error(h?(e=a,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=a,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return c}let j=function(e,t){let r={...t};for(let a in t){let n=e[a],i=t[a];/^on[A-Z]/.test(a)?n&&i?r[a]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[a]=n):"style"===a?r[a]={...n,...i}:"className"===a&&(r[a]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(m,p.props??{});return p.type!==t.Fragment&&(j.ref=r?g:x),t.cloneElement(p,j)})).displayName=`${a}.Slot`,n),l=t.forwardRef((e,t)=>{let{asChild:a,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,m.jsx)(a?s:r,{...n,ref:t})});return l.displayName=`Primitive.${r}`,{...e,[r]:l}},{}),h=e.i(30207),f=globalThis?.document?t.useLayoutEffect:()=>{};t[" useEffectEvent ".trim().toString()],t[" useInsertionEffect ".trim().toString()];var x=t[" useInsertionEffect ".trim().toString()]||f;Symbol("RADIX:SYNC_STATE");var g=e.i(586318),j=!1,v=t[" useSyncExternalStore ".trim().toString()];function y(){return()=>{}}var b="function"==typeof v?function(){return v(y,()=>!0,()=>!1)}:function(){let[e,r]=t.useState(j);return t.useEffect(()=>{j||(j=!0,r(!0))},[]),e},w="rovingFocusGroup.onEntryFocus",k={bubbles:!1,cancelable:!0},N="RovingFocusGroup",[S,C,T]=(0,a.createCollection)(N),[D,I]=(0,s.createContextScope)(N,[T]),[E,A]=D(N),R=t.forwardRef((e,t)=>(0,m.jsx)(S.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)(S.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)(P,{...e,ref:t})})}));R.displayName=N;var P=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:n,orientation:s,loop:l=!1,dir:o,currentTabStopId:c,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:u,onEntryFocus:f,preventScrollOnEntryFocus:j=!1,...v}=e,y=t.useRef(null),b=i(a,y),S=(0,g.useDirection)(o),[T,D]=function({prop:e,defaultProp:r,onChange:a=()=>{},caller:n}){let[i,s,l]=function({defaultProp:e,onChange:r}){let[a,n]=t.useState(e),i=t.useRef(a),s=t.useRef(r);return x(()=>{s.current=r},[r]),t.useEffect(()=>{i.current!==a&&(s.current?.(a),i.current=a)},[a,i]),[a,n,s]}({defaultProp:r,onChange:a}),o=void 0!==e,c=o?e:i;{let r=t.useRef(void 0!==e);t.useEffect(()=>{let e=r.current;if(e!==o){let t=o?"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.`)}r.current=o},[o,n])}return[c,t.useCallback(t=>{if(o){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else s(t)},[o,e,s,l])]}({prop:c,defaultProp:d??null,onChange:u,caller:N}),[I,A]=t.useState(!1),R=(0,h.useCallbackRef)(f),P=C(n),$=t.useRef(!1),[B,J]=t.useState(0);return t.useEffect(()=>{let e=y.current;if(e)return e.addEventListener(w,R),()=>e.removeEventListener(w,R)},[R]),(0,m.jsx)(E,{scope:n,orientation:s,dir:S,loop:l,currentTabStopId:T,onItemFocus:t.useCallback(e=>D(e),[D]),onItemShiftTab:t.useCallback(()=>A(!0),[]),onFocusableItemAdd:t.useCallback(()=>J(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>J(e=>e-1),[]),children:(0,m.jsx)(p.div,{tabIndex:I||0===B?-1:0,"data-orientation":s,...v,ref:b,style:{outline:"none",...e.style},onMouseDown:r(e.onMouseDown,()=>{$.current=!0}),onFocus:r(e.onFocus,e=>{let t=!$.current;if(e.target===e.currentTarget&&t&&!I){let t=new CustomEvent(w,k);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=P().filter(e=>e.focusable);L([e.find(e=>e.active),e.find(e=>e.id===T),...e].filter(Boolean).map(e=>e.ref.current),j)}}$.current=!1}),onBlur:r(e.onBlur,()=>A(!1))})})}),$="RovingFocusGroupItem",B=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:n,focusable:i=!0,active:s=!1,tabStopId:o,children:c,...d}=e,u=(0,l.useId)(),h=o||u,x=A($,n),g=x.currentTabStopId===h,j=C(n),{onFocusableItemAdd:v,onFocusableItemRemove:y,currentTabStopId:w}=x,k=b();return f(()=>{if(k&&i)return v(),()=>y()},[k,i,v,y]),t.useEffect(()=>{if(!k&&i)return v(),()=>y()},[k,i,v,y]),(0,m.jsx)(S.ItemSlot,{scope:n,id:h,focusable:i,active:s,children:(0,m.jsx)(p.span,{tabIndex:g?0:-1,"data-orientation":x.orientation,...d,ref:a,onMouseDown:r(e.onMouseDown,e=>{i?x.onItemFocus(h):e.preventDefault()}),onFocus:r(e.onFocus,()=>x.onItemFocus(h)),onKeyDown:r(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void x.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let n=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(n))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(n)))return J[n]}(e,x.orientation,x.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=j().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&n.reverse();let i=n.indexOf(e.currentTarget);n=x.loop?(r=n,a=i+1,r.map((e,t)=>r[(a+t)%r.length])):n.slice(i+1)}setTimeout(()=>L(n))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=w}):c})})});B.displayName=$;var J={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function L(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,B,"Root",0,R,"createRovingFocusGroupScope",0,I],842727)},560972,e=>{"use strict";let t=(0,e.i(456420).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["default",0,t])},356505,853138,e=>{"use strict";var t=e.i(843476),r=e.i(456420);let a=(0,r.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",0,a],853138);var n=e.i(482022),i=e.i(269846);let s=(0,r.default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);var l=e.i(948148),o=e.i(271645),c=e.i(653090),d=e.i(278015),u=e.i(762279),m=e.i(456743),p=e.i(929592),h=e.i(487486),f=e.i(519455),x=e.i(515288),g=e.i(906197),j=e.i(980376),v=e.i(987968),y=e.i(520133),b=e.i(637611),w=e.i(741725),k=e.i(467511);let N={highest:"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300",high:"border-orange-500/30 bg-orange-500/10 text-orange-700 dark:text-orange-300",medium:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",low:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",lowest:"border-slate-500/30 bg-slate-500/10 text-slate-700 dark:text-slate-300"};function S(e){return e?new Date(e).toLocaleString():"—"}function C({ticket:e}){let r=(0,l.useTranslations)("jiraTickets"),a=[[r("assignee"),(0,t.jsx)(c.JiraUser,{avatarUrl:e.assigneeAvatarUrl,name:e.assignee??r("unassigned")},"assignee")],[r("reporter"),e.reporter?(0,t.jsx)(c.JiraUser,{avatarUrl:e.reporter.avatarUrl,name:e.reporter.displayName},"reporter"):"—"],[r("created"),S(e.createdAt)],[r("updated"),S(e.updatedAt)],[r("due"),S(e.dueAt)],[r("resolved"),S(e.resolvedAt)]];return(0,t.jsx)("dl",{className:"grid gap-3 rounded-lg bg-muted/50 p-4 text-sm sm:grid-cols-2",children:a.map(([e,r])=>(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("dd",{className:"mt-0.5 font-medium",children:r})]},e))})}function T({label:e,values:r}){return(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-muted-foreground",children:e}),(0,t.jsx)("dd",{className:"mt-1",children:r.join(", ")})]})}e.s(["JiraTicketDrawer",0,function({issueKey:e,onClose:r,onTicketChange:c}){let S=(0,l.useTranslations)("jiraTickets"),[D,I]=(0,o.useState)(null),[E,A]=(0,o.useState)(null),[R,P]=(0,o.useState)(!1),[$,B]=(0,o.useState)(!1);(0,o.useEffect)(()=>{if(!e){let e=window.setTimeout(()=>I(null),0);return()=>window.clearTimeout(e)}let t=window.setTimeout(async()=>{P(!0);try{let t=await (0,b.controlPlaneRequest)(`query JiraTicket($issueKey: ID!) { jiraTicket(issueKey: $issueKey) { ${k.JIRA_TICKET_DETAIL_FIELDS} } }`,{issueKey:e});I(t.jiraTicket),A(null)}catch(e){A(e instanceof Error?e.message:String(e))}finally{P(!1)}},0);return()=>window.clearTimeout(t)},[e]);let J=e=>{I(e),c?.(e)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j.Sheet,{onOpenChange:e=>{e||r()},open:!!e,children:(0,t.jsxs)(j.SheetContent,{className:"w-[min(48rem,95vw)] overflow-y-auto sm:max-w-3xl",children:[(0,t.jsxs)(j.SheetHeader,{className:"border-b pr-12",children:[(0,t.jsx)(j.SheetTitle,{children:D?.key??e??S("ticket")}),(0,t.jsx)(j.SheetDescription,{children:D?.summary??S("loadingTicket")})]}),(0,t.jsxs)("div",{className:"space-y-6 px-4 pb-6",children:[R&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(v.Spinner,{}),S("loadingTicket")]}),E&&(0,t.jsx)(p.Alert,{variant:"destructive",children:(0,t.jsx)(p.AlertDescription,{children:E})}),D&&(0,t.jsxs)(t.Fragment,{children:[(D.cache.stale||D.commentsCache.stale)&&(0,t.jsxs)(p.Alert,{className:"border-amber-500/30 bg-amber-500/10",children:[(0,t.jsx)(a,{}),(0,t.jsx)(p.AlertDescription,{children:S("staleTicket")})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(h.Badge,{children:D.status}),D.issueType&&(0,t.jsx)(h.Badge,{children:D.issueType}),D.priority&&(0,t.jsx)(h.Badge,{className:N[D.priority.trim().toLowerCase()],children:D.priority})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxs)(f.Button,{onClick:()=>B(!0),size:"sm",variant:"outline",children:[(0,t.jsx)(i.GitBranch,{})," ",S("worktreeAction")]}),(0,t.jsx)(f.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)(y.Link,{href:`/jira/tickets/${encodeURIComponent(D.key)}`,children:[(0,t.jsx)(s,{})," ",S("openFullDetails")]})}),(0,t.jsx)(f.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)("a",{href:D.jiraUrl,rel:"noreferrer",target:"_blank",children:[(0,t.jsx)(n.ExternalLink,{})," ",S("openInJira")]})})]})]}),(0,t.jsx)(u.JiraTicketActions,{onTicketChange:J,ticket:D}),(0,t.jsx)(C,{ticket:D}),(0,t.jsx)("section",{children:(0,t.jsx)(x.Card,{size:"sm",children:(0,t.jsx)(x.CardContent,{children:(0,t.jsx)(d.JiraRichTextBlock,{content:D.descriptionContent,header:(0,t.jsx)("h3",{className:"font-semibold",children:S("descriptionTitle")}),headerClassName:"border-b pb-2",value:D.description})})})}),(D.labels.length>0||D.components.length>0||D.fixVersions.length>0||D.sprintNames.length>0)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-2 font-semibold",children:S("classification")}),(0,t.jsxs)("dl",{className:"grid gap-3 text-sm sm:grid-cols-2",children:[D.labels.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-muted-foreground",children:S("labels")}),(0,t.jsx)("dd",{className:"mt-1 flex flex-wrap gap-1",children:D.labels.map(e=>(0,t.jsx)(h.Badge,{children:e},e))})]}),D.components.length>0&&(0,t.jsx)(T,{label:S("components"),values:D.components.map(e=>e.name)}),D.fixVersions.length>0&&(0,t.jsx)(T,{label:S("fixVersions"),values:D.fixVersions.map(e=>e.name)}),D.sprintNames.length>0&&(0,t.jsx)(T,{label:S("sprints"),values:D.sprintNames})]})]}),(D.parent||D.subtasks.length>0||D.issueLinks.length>0)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-2 font-semibold",children:S("relatedIssues")}),(0,t.jsx)(g.ItemGroup,{className:"gap-2",children:[...D.parent?[D.parent]:[],...D.subtasks,...D.issueLinks].map((e,r)=>(0,t.jsx)(g.Item,{asChild:!0,size:"xs",variant:"outline",children:(0,t.jsxs)(y.Link,{href:`/jira/tickets/${encodeURIComponent(e.key)}`,children:[(0,t.jsxs)(g.ItemContent,{children:[(0,t.jsxs)(g.ItemTitle,{className:"leading-tight",children:[e.key," · ",e.summary]}),(0,t.jsx)(g.ItemDescription,{className:"leading-tight",children:e.relationship})]}),(0,t.jsx)(g.ItemActions,{children:e.status&&(0,t.jsx)(h.Badge,{children:e.status})})]})},`${e.key}-${r}`))})]}),D.attachments.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-2 font-semibold",children:S("attachments")}),(0,t.jsx)(g.ItemGroup,{className:"gap-2",children:D.attachments.map(e=>(0,t.jsx)(g.Item,{asChild:!0,variant:"outline",children:(0,t.jsxs)("a",{href:e.contentUrl??"#",rel:"noreferrer",target:"_blank",children:[(0,t.jsx)(g.ItemContent,{children:(0,t.jsx)(g.ItemTitle,{children:e.filename})}),(0,t.jsx)(g.ItemActions,{className:"text-xs text-muted-foreground",children:e.size?`${Math.round(e.size/1024)} KB`:""})]})},e.id))})]}),(0,t.jsx)(m.JiraTicketComments,{onTicketChange:J,ticket:D})]})]})]})}),D&&(0,t.jsx)(w.TicketWorktreeDialog,{issueKey:D.key,onOpenChange:B,open:$})]})}],356505)},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)},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)},784774,e=>{"use strict";var t=e.i(843476),r=e.i(975157);e.s(["Table",0,function({className:e,containerClassName:a,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("w-full overflow-x-auto",a),children:(0,t.jsx)("table",{className:(0,r.cn)("w-full caption-bottom text-sm",e),...n})})},"TableBody",0,function({className:e,...a}){return(0,t.jsx)("tbody",{className:(0,r.cn)("divide-y",e),...a})},"TableCell",0,function({className:e,...a}){return(0,t.jsx)("td",{className:(0,r.cn)("whitespace-nowrap px-3 py-3 align-middle",e),...a})},"TableFooter",0,function({className:e,...a}){return(0,t.jsx)("tfoot",{className:(0,r.cn)("border-t bg-muted/50 font-medium",e),...a})},"TableHead",0,function({className:e,...a}){return(0,t.jsx)("th",{className:(0,r.cn)("h-10 whitespace-nowrap px-3 text-left align-middle text-xs font-medium text-muted-foreground",e),...a})},"TableHeader",0,function({className:e,...a}){return(0,t.jsx)("thead",{className:(0,r.cn)("border-b",e),...a})},"TableRow",0,function({className:e,...a}){return(0,t.jsx)("tr",{className:(0,r.cn)("transition-colors hover:bg-muted/40",e),...a})}])},689664,e=>{"use strict";var t=e.i(643957);e.s(["Check",()=>t.default])},630299,e=>{"use strict";let t=(0,e.i(456420).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["default",0,t])},986253,e=>{"use strict";let t=(0,e.i(456420).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,t])},716327,e=>{"use strict";var t=e.i(26495);e.s(["ChevronDown",()=>t.default])},867927,e=>{"use strict";var t=e.i(986253);e.s(["ChevronRight",()=>t.default])},515281,e=>{"use strict";let t=(0,e.i(456420).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],515281)},960024,e=>{"use strict";var t=e.i(843476),r=e.i(853138),a=e.i(716327),n=e.i(867927),i=e.i(456420);let s=(0,i.default)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),l=(0,i.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var o=e.i(515281),c=e.i(77071),d=e.i(741120),u=e.i(250832);let m=(0,i.default)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);var p=e.i(573474),h=e.i(948148),f=e.i(618566),x=e.i(271645),g=e.i(340953),j=e.i(653090),v=e.i(356505),y=e.i(929592),b=e.i(487486),w=e.i(519455),k=e.i(515288),N=e.i(59497),S=e.i(776639),C=e.i(755146),T=e.i(82612),D=e.i(793479),I=e.i(906197),E=e.i(110204),A=e.i(967489),R=e.i(987968),P=e.i(784774),$=e.i(677572),B=e.i(624687),J=e.i(637611);let L="id projectId name kind value boardId position",z=`id jiraId key name avatarUrl position ticketAssignmentFilter hideCompletedTickets completedStatusIds branchNamingScript sources { ${L} }`,_=`source { ${L} } tickets { id key summary statusId status statusCategory issueType priority assignee assigneeAccountId assigneeAvatarUrl projectKey updatedAt } statusOrder cache { source stale fetchedAt } truncated warnings`,M={highest:"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300",high:"border-orange-500/30 bg-orange-500/10 text-orange-700 dark:text-orange-300",medium:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",low:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",lowest:"border-slate-500/30 bg-slate-500/10 text-slate-700 dark:text-slate-300"};function F(e){let t=new URLSearchParams(window.location.search);for(let[r,a]of Object.entries(e))a?t.set(r,a):t.delete(r);let r=t.toString();window.history.pushState(null,"",`${window.location.pathname}${r?`?${r}`:""}`)}function U(e){return M[e.trim().toLowerCase()]}function O({statuses:e,value:r,onChange:n,label:i,placeholder:s,disabled:l}){let o=new Set(r);return(0,t.jsxs)(C.DropdownMenu,{children:[(0,t.jsx)(C.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(w.Button,{"aria-label":i,className:"w-full justify-between font-normal",disabled:l,type:"button",variant:"outline",children:[(0,t.jsx)("span",{className:"truncate",children:r.length>0?`${r.length} ${i}`:s}),(0,t.jsx)(a.ChevronDown,{className:"shrink-0"})]})}),(0,t.jsx)(C.DropdownMenuContent,{align:"start",className:"z-60 max-h-64",children:e.map(e=>(0,t.jsxs)(C.DropdownMenuCheckboxItem,{checked:o.has(e.id),onCheckedChange:t=>n(t?[...o,e.id]:r.filter(t=>t!==e.id)),onSelect:e=>e.preventDefault(),children:[(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)("span",{className:"ml-auto mr-5 pl-2 text-xs text-muted-foreground",children:e.category})]},e.id))})]})}function V({open:e,setOpen:r,projects:a,selectedProjectId:n,onProjectsChanged:i}){let s=(0,h.useTranslations)("jiraTickets"),l=(0,h.useTranslations)("common"),[d,u]=(0,x.useState)([]),[m,f]=(0,x.useState)(""),[j,v]=(0,x.useState)(null),[b,k]=(0,x.useState)(""),[C,T]=(0,x.useState)("JQL"),[R,P]=(0,x.useState)(""),[$,L]=(0,x.useState)(null),[_,M]=(0,x.useState)([]),[U,q]=(0,x.useState)(!1),[H,K]=(0,x.useState)("ALL"),[G,W]=(0,x.useState)(!1),[Q,X]=(0,x.useState)([]),[Z,Y]=(0,x.useState)(""),[ee,et]=(0,x.useState)(!1),[er,ea]=(0,x.useState)(null);(0,x.useEffect)(()=>{if(!e)return;let t=window.setTimeout(async()=>{try{let e=await (0,J.controlPlaneRequest)("query { jiraAvailableProjects { jiraId key name avatarUrl } }");u(e.jiraAvailableProjects)}catch(e){ea(e instanceof Error?e.message:String(e))}},0);return()=>window.clearTimeout(t)},[e]);let en=a.find(e=>e.id===j)??a.find(e=>e.id===n)??a[0]??null,ei=d.filter(e=>!a.some(t=>t.jiraId===e.jiraId));(0,x.useEffect)(()=>{if(!e||!en)return;let t=!1,r=window.setTimeout(async()=>{K(en.ticketAssignmentFilter),W(en.hideCompletedTickets),X(en.completedStatusIds),Y(en.branchNamingScript??""),q(!0);try{let e=await (0,J.controlPlaneRequest)("query JiraProjectStatuses($projectId: ID!) { jiraProjectStatuses(projectId: $projectId) { id name category } }",{projectId:en.id});if(t)return;M(e.jiraProjectStatuses),ea(null)}catch(e){if(t)return;ea(e instanceof Error?e.message:String(e)),M([])}finally{t||q(!1)}},0);return()=>{t=!0,window.clearTimeout(r)}},[e,en]);let es=async()=>{if(m){et(!0);try{let e=await (0,J.controlPlaneRequest)(`mutation AddJiraProject($jiraId: ID!) { addJiraProject(jiraId: $jiraId) { ${z} } }`,{jiraId:m});i(e.addJiraProject);let t=e.addJiraProject.find(e=>e.jiraId===m);t&&v(t.id),f(""),ea(null)}catch(e){ea(e instanceof Error?e.message:String(e))}finally{et(!1)}}},el=async e=>{et(!0);try{let t=await (0,J.controlPlaneRequest)(`mutation RemoveJiraProject($projectId: ID!) { removeJiraProject(projectId: $projectId) { ${z} } }`,{projectId:e});i(t.removeJiraProject),e===en?.id&&v(t.removeJiraProject[0]?.id??null),F({project:t.removeJiraProject[0]?.id??null,source:t.removeJiraProject[0]?.sources[0]?.id??null,issue:null}),ea(null)}catch(e){ea(e instanceof Error?e.message:String(e))}finally{et(!1)}},eo=async e=>{if(e.preventDefault(),en){et(!0);try{let e=$?`mutation UpdateJiraSource($input: UpdateJiraSourceInput!) { updateJiraSource(input: $input) { ${z} } }`:`mutation CreateJiraSource($input: CreateJiraSourceInput!) { createJiraSource(input: $input) { ${z} } }`,t=$?{id:$.id,name:b,kind:C,value:R}:{projectId:en.id,name:b,kind:C,value:R},r=await (0,J.controlPlaneRequest)(e,{input:t});i($?r.updateJiraSource:r.createJiraSource),k(""),P(""),T("JQL"),L(null),ea(null)}catch(e){ea(e instanceof Error?e.message:String(e))}finally{et(!1)}}},ec=async e=>{et(!0);try{let t=await (0,J.controlPlaneRequest)(`mutation DeleteJiraSource($id: ID!) { deleteJiraSource(id: $id) { ${z} } }`,{id:e});i(t.deleteJiraSource);let r=t.deleteJiraSource.find(e=>e.id===en?.id);F({source:r?.sources[0]?.id??null,issue:null}),ea(null)}catch(e){ea(e instanceof Error?e.message:String(e))}finally{et(!1)}},ed=async()=>{if(en){et(!0);try{let e={projectId:en.id,ticketAssignmentFilter:H,hideCompletedTickets:G,completedStatusIds:Q},t=await (0,J.controlPlaneRequest)(`mutation UpdateJiraProjectDisplaySettings($input: UpdateJiraProjectDisplaySettingsInput!) { updateJiraProjectDisplaySettings(input: $input) { ${z} } }`,{input:e});i(t.updateJiraProjectDisplaySettings),ea(null)}catch(e){ea(e instanceof Error?e.message:String(e))}finally{et(!1)}}},eu=async()=>{if(en){et(!0);try{let e=await (0,J.controlPlaneRequest)(`mutation UpdateJiraProjectBranchNaming($projectId: ID!, $branchNamingScript: String!) {
|
|
2
|
-
updateJiraProjectBranchNaming(projectId: $projectId, branchNamingScript: $branchNamingScript) { ${z} }
|
|
3
|
-
}`,{projectId:en.id,branchNamingScript:Z});i(e.updateJiraProjectBranchNaming),ea(null)}catch(e){ea(e instanceof Error?e.message:String(e))}finally{et(!1)}}};return(0,t.jsx)(S.Dialog,{onOpenChange:e=>{e||v(null),r(e)},open:e,children:(0,t.jsxs)(S.DialogContent,{className:"overflow-x-hidden sm:max-w-4xl",children:[(0,t.jsxs)(S.DialogHeader,{children:[(0,t.jsx)(S.DialogTitle,{children:s("manageTitle")}),(0,t.jsx)(S.DialogDescription,{children:s("manageDescription")})]}),er&&(0,t.jsx)(y.Alert,{variant:"destructive",children:(0,t.jsx)(y.AlertDescription,{children:er})}),(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:s("projects")}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(A.Select,{onValueChange:f,value:m,children:[(0,t.jsx)(A.SelectTrigger,{"aria-label":s("availableProjects"),className:"w-full",children:(0,t.jsx)(A.SelectValue,{placeholder:s("selectProject")})}),(0,t.jsx)(A.SelectContent,{className:"z-60",children:ei.map(e=>(0,t.jsxs)(A.SelectItem,{value:e.jiraId,children:[e.key," · ",e.name]},e.jiraId))})]}),(0,t.jsxs)(w.Button,{disabled:!m||ee,onClick:()=>void es(),size:"icon",children:[(0,t.jsx)(c.Plus,{}),(0,t.jsx)("span",{className:"sr-only",children:s("addProject")})]})]}),(0,t.jsx)("div",{className:"space-y-2",children:a.map(e=>(0,t.jsxs)(I.Item,{className:`min-w-0 gap-2 p-1 ${e.id===en?.id?"border-primary bg-primary/5":""}`,variant:"outline",children:[(0,t.jsxs)(w.Button,{"aria-pressed":e.id===en?.id,className:"h-auto min-w-0 flex-1 flex-col items-start p-2 text-left whitespace-normal",onClick:()=>{v(e.id),L(null),k(""),P(""),T("JQL")},type:"button",variant:"ghost",children:[(0,t.jsxs)("p",{className:"truncate text-sm font-medium",children:[e.key," · ",e.name]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:s("sourceCount",{count:e.sources.length})})]}),(0,t.jsx)(g.ConfirmationDialog,{actionLabel:s("removeProject"),cancelLabel:l("cancel"),description:l("cannotBeUndone"),onConfirm:()=>el(e.id),title:s("confirmRemoveProject"),trigger:(0,t.jsxs)(w.Button,{disabled:ee,size:"icon-sm",variant:"ghost",children:[(0,t.jsx)(p.Trash2,{}),(0,t.jsx)("span",{className:"sr-only",children:s("removeProject")})]})})]},e.id))})]}),(0,t.jsxs)("section",{className:"min-w-0 space-y-3",children:[(0,t.jsx)("h3",{className:"font-medium",children:s("sourcesFor",{project:en?.key??"—"})}),en?.sources.map(e=>(0,t.jsxs)(I.Item,{className:"min-w-0 items-start gap-2 overflow-hidden",variant:"outline",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:e.name}),(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1 text-xs text-muted-foreground",children:[(0,t.jsxs)("span",{className:"shrink-0",children:[e.kind," ·"]}),(0,t.jsx)("span",{className:"min-w-0 overflow-hidden text-ellipsis whitespace-nowrap [direction:rtl] md:[direction:ltr]",children:(0,t.jsx)("bdi",{children:e.value})})]})]}),(0,t.jsxs)("div",{className:"flex shrink-0",children:[(0,t.jsxs)(w.Button,{onClick:()=>{L(e),k(e.name),T(e.kind),P(e.value)},size:"icon-sm",variant:"ghost",children:[(0,t.jsx)(o.Pencil,{}),(0,t.jsx)("span",{className:"sr-only",children:s("editSource")})]}),(0,t.jsx)(g.ConfirmationDialog,{actionLabel:s("deleteSource"),cancelLabel:l("cancel"),description:l("cannotBeUndone"),onConfirm:()=>ec(e.id),title:s("confirmDeleteSource"),trigger:(0,t.jsxs)(w.Button,{disabled:ee,size:"icon-sm",variant:"ghost",children:[(0,t.jsx)(p.Trash2,{}),(0,t.jsx)("span",{className:"sr-only",children:s("deleteSource")})]})})]})]},e.id)),en&&(0,t.jsxs)("form",{className:"min-w-0 space-y-3 rounded-lg border p-3",onSubmit:e=>void eo(e),children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(E.Label,{className:"mb-1 block text-xs font-medium",htmlFor:"source-name",children:s("sourceName")}),(0,t.jsx)(D.Input,{id:"source-name",maxLength:100,onChange:e=>k(e.target.value),required:!0,value:b})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(E.Label,{className:"mb-1 block text-xs font-medium",htmlFor:"source-kind",children:s("sourceType")}),(0,t.jsxs)(A.Select,{onValueChange:e=>T(e),value:C,children:[(0,t.jsx)(A.SelectTrigger,{className:"w-full",id:"source-kind",children:(0,t.jsx)(A.SelectValue,{})}),(0,t.jsxs)(A.SelectContent,{className:"z-60",children:[(0,t.jsx)(A.SelectItem,{value:"JQL",children:"JQL"}),(0,t.jsx)(A.SelectItem,{value:"BOARD",children:s("boardUrl")})]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(E.Label,{className:"mb-1 block text-xs font-medium",htmlFor:"source-value",children:"JQL"===C?"JQL":s("boardUrl")}),(0,t.jsx)(B.Textarea,{id:"source-value",onChange:e=>P(e.target.value),required:!0,value:R})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[$&&(0,t.jsx)(w.Button,{onClick:()=>{L(null),k(""),P("")},type:"button",variant:"ghost",children:s("cancel")}),(0,t.jsx)(w.Button,{disabled:ee,type:"submit",children:$?s("saveSource"):s("addSource")})]})]}),en&&(0,t.jsxs)("section",{className:"min-w-0 space-y-3 rounded-lg border p-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium",children:s("displaySettings")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:s("displaySettingsDescription")})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(E.Label,{className:"mb-1 block text-xs font-medium",htmlFor:"ticket-assignment-filter",children:s("ticketsToShow")}),(0,t.jsxs)(A.Select,{onValueChange:e=>K(e),value:H,children:[(0,t.jsx)(A.SelectTrigger,{className:"w-full",id:"ticket-assignment-filter",children:(0,t.jsx)(A.SelectValue,{})}),(0,t.jsxs)(A.SelectContent,{className:"z-60",children:[(0,t.jsx)(A.SelectItem,{value:"ALL",children:s("allTickets")}),(0,t.jsx)(A.SelectItem,{value:"UNASSIGNED_OR_SELF",children:s("unassignedOrSelfAssigned")}),(0,t.jsx)(A.SelectItem,{value:"SELF_IN_PROGRESS",children:s("selfAssignedInProgress")})]})]})]}),(0,t.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)(N.Checkbox,{checked:G,className:"mt-0.5",id:"hide-completed-tickets",onCheckedChange:e=>W(!0===e)}),(0,t.jsx)(E.Label,{className:"block leading-normal",htmlFor:"hide-completed-tickets",children:(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"block font-medium",children:s("hideCompletedTickets")}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:s("hideCompletedTicketsDescription")})]})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-xs font-medium",children:s("completedStatuses")}),(0,t.jsx)(O,{disabled:!G||U,label:s("completedStatuses"),onChange:X,placeholder:U?s("loadingStatuses"):s("selectCompletedStatuses"),statuses:_,value:Q})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(w.Button,{disabled:ee,onClick:()=>void ed(),type:"button",children:s("saveDisplaySettings")})})]}),en&&(0,t.jsxs)("section",{className:"min-w-0 space-y-3 rounded-lg border p-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-medium",children:s("branchNaming")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:s("branchNamingDescription")})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(E.Label,{className:"mb-1 block text-xs font-medium",htmlFor:"jira-branch-naming-script",children:s("branchNamingFunction")}),(0,t.jsx)(B.Textarea,{className:"min-h-48 font-mono text-xs",id:"jira-branch-naming-script",onChange:e=>Y(e.target.value),spellCheck:!1,value:Z}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:s("branchNamingFunctionHelp")})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(w.Button,{disabled:ee||!Z.trim(),onClick:()=>void eu(),type:"button",children:s("saveBranchNaming")})})]})]})]}),(0,t.jsx)(S.DialogFooter,{children:(0,t.jsx)(w.Button,{onClick:()=>r(!1),variant:"outline",children:s("done")})})]})})}e.s(["JiraTicketsPage",0,function(){let e=(0,h.useTranslations)("jiraTickets"),i=(0,f.useSearchParams)(),[o,p]=(0,x.useState)([]),[g,N]=(0,x.useState)(null),[S,C]=(0,x.useState)(!0),[D,I]=(0,x.useState)(!1),[E,A]=(0,x.useState)(null),[B,L]=(0,x.useState)(!1),[M,O]=(0,x.useState)("table"),[q,H]=(0,x.useState)(()=>new Set),K=i.get("project"),G=i.get("source"),W=i.get("issue"),Q=o.find(e=>e.id===K)??o[0]??null,X=Q?.sources.find(e=>e.id===G)??Q?.sources[0]??null,Z=(0,x.useRef)(0),Y=g?.source.id===X?.id?g:null,ee=(0,x.useCallback)(async()=>{try{let e=await (0,J.controlPlaneRequest)(`query JiraProjects { jiraProjects { ${z} } }`);p(e.jiraProjects),A(null)}catch(e){A(e instanceof Error?e.message:String(e))}finally{C(!1)}},[]);(0,x.useEffect)(()=>{let e=window.setTimeout(()=>void ee(),0);return()=>window.clearTimeout(e)},[ee]),(0,x.useEffect)(()=>{if(!Q)return;let e={};K!==Q.id&&(e.project=Q.id),X&&G!==X.id&&(e.source=X.id),Object.keys(e).length>0&&F(e)},[K,G,Q,X]);let et=(0,x.useCallback)(async(e,t=!1)=>{let r=++Z.current;I(!0),N(t=>t?.source.id===e?t:null);try{let a=t?`mutation RefreshJiraSource($sourceId: ID!) { refreshJiraSource(sourceId: $sourceId) { ${_} } }`:`query JiraTicketBoard($sourceId: ID!) { jiraTicketBoard(sourceId: $sourceId) { ${_} } }`,n=await (0,J.controlPlaneRequest)(a,{sourceId:e});if(r!==Z.current)return;N(t?n.refreshJiraSource:n.jiraTicketBoard),A(null)}catch(e){if(r!==Z.current)return;A(e instanceof Error?e.message:String(e)),N(null)}finally{r===Z.current&&I(!1)}},[]),er=(0,x.useCallback)(()=>{X&&et(X.id)},[et,X]);(0,x.useEffect)(()=>{if(!X){Z.current+=1;let e=window.setTimeout(()=>{N(null),I(!1)},0);return()=>window.clearTimeout(e)}let e=window.setTimeout(()=>void et(X.id),0);return()=>{window.clearTimeout(e),Z.current+=1}},[et,X]);let ea=(0,x.useMemo)(()=>{let e=new Map;for(let t of Y?.statusOrder??[])e.set(t,[]);for(let t of Y?.tickets??[]){let r=e.get(t.status)??[];r.push(t),e.set(t.status,r)}return[...e.entries()]},[Y]),en=e=>{H(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})};return(0,t.jsxs)("section",{className:"mx-auto flex w-full max-w-[1600px] 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)(w.Button,{onClick:()=>O(e=>"table"===e?"board":"table"),variant:"outline",children:["table"===M?(0,t.jsx)(s,{}):(0,t.jsx)(m,{}),"table"===M?e("showBoardLayout"):e("showTableLayout")]}),(0,t.jsxs)(w.Button,{disabled:!X||D,onClick:()=>X&&void et(X.id,!0),variant:"outline",children:[(0,t.jsx)(d.RefreshCw,{className:D?"animate-spin":void 0}),e("refresh")]}),(0,t.jsxs)(w.Button,{onClick:()=>L(!0),children:[(0,t.jsx)(u.Settings2,{}),e("manage")]})]})]}),E&&(0,t.jsx)(y.Alert,{variant:"destructive",children:(0,t.jsx)(y.AlertDescription,{children:E})}),S?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(R.Spinner,{}),e("loading")]}):0===o.length?(0,t.jsxs)(T.Empty,{className:"border py-10",children:[(0,t.jsxs)(T.EmptyHeader,{children:[(0,t.jsx)(T.EmptyMedia,{variant:"icon",children:(0,t.jsx)(l,{})}),(0,t.jsx)(T.EmptyTitle,{children:e("emptyProjects")}),(0,t.jsx)(T.EmptyDescription,{children:e("emptyProjectsDescription")})]}),(0,t.jsxs)(w.Button,{className:"mt-4",onClick:()=>L(!0),children:[(0,t.jsx)(c.Plus,{}),e("addProject")]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,t.jsx)($.Tabs,{value:Q?.id,onValueChange:e=>{let t=o.find(t=>t.id===e);F({project:e,source:t?.sources[0]?.id??null,issue:null})},children:(0,t.jsx)($.TabsList,{"aria-label":e("projectTabs"),children:o.map(e=>(0,t.jsx)($.TabsTrigger,{value:e.id,children:e.key},e.id))})})}),Q&&Q.sources.length>1?(0,t.jsx)("div",{className:"overflow-x-auto border-b pb-3",children:(0,t.jsx)($.Tabs,{value:X?.id,onValueChange:e=>F({source:e,issue:null}),children:(0,t.jsx)($.TabsList,{"aria-label":e("sourceTabs"),variant:"line",children:Q.sources.map(e=>(0,t.jsx)($.TabsTrigger,{value:e.id,children:e.name},e.id))})})}):Q?.sources.length===0?(0,t.jsxs)(T.Empty,{className:"border py-8",children:[(0,t.jsxs)(T.EmptyHeader,{children:[(0,t.jsx)(T.EmptyTitle,{children:e("emptySources")}),(0,t.jsx)(T.EmptyDescription,{children:e("emptySourcesDescription")})]}),(0,t.jsxs)(w.Button,{className:"mt-4",onClick:()=>L(!0),children:[(0,t.jsx)(c.Plus,{}),e("addSource")]})]}):null,Y?.cache.stale&&(0,t.jsxs)(y.Alert,{className:"border-amber-500/30 bg-amber-500/10 text-amber-800 dark:text-amber-300",children:[(0,t.jsx)(r.AlertTriangle,{}),(0,t.jsx)(y.AlertDescription,{className:"text-current",children:e("staleWarning")})]}),Y?.truncated&&(0,t.jsx)(y.Alert,{className:"bg-muted",children:(0,t.jsx)(y.AlertDescription,{children:e("truncatedWarning")})}),Y?.warnings.map(e=>(0,t.jsx)(y.Alert,{className:"bg-muted",children:(0,t.jsx)(y.AlertDescription,{children:e})},e)),X&&D&&!Y?(0,t.jsxs)("div",{className:"flex items-center gap-2 py-8 text-sm text-muted-foreground",children:[(0,t.jsx)(R.Spinner,{}),e("loadingTickets")]}):Y&&0===Y.tickets.length?(0,t.jsx)(T.Empty,{className:"border py-10",children:(0,t.jsx)(T.EmptyHeader,{children:(0,t.jsx)(T.EmptyDescription,{children:e("emptyTickets")})})}):Y?"table"===M?(0,t.jsx)("div",{className:"space-y-5 pb-4",children:ea.map(([r,i])=>(0,t.jsxs)(k.Card,{className:"gap-0 py-0",children:[(0,t.jsx)(k.CardHeader,{className:q.has(r)?"bg-muted/40 py-3":"border-b bg-muted/40 py-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)(w.Button,{"aria-expanded":!q.has(r),className:"-m-2 h-auto min-w-0 flex-1 justify-start p-2 text-left aria-expanded:bg-transparent aria-expanded:hover:bg-muted dark:aria-expanded:bg-transparent dark:aria-expanded:hover:bg-muted/50",onClick:()=>en(r),type:"button",variant:"ghost",children:(0,t.jsx)("span",{className:"truncate font-medium",children:r})}),(0,t.jsxs)("div",{className:"ml-auto flex items-center justify-end gap-2",children:[(0,t.jsx)(b.Badge,{children:i.length}),(0,t.jsx)(w.Button,{"aria-expanded":!q.has(r),"aria-label":e(q.has(r)?"expandStatus":"collapseStatus",{status:r}),className:"aria-expanded:bg-transparent aria-expanded:hover:bg-muted dark:aria-expanded:bg-transparent dark:aria-expanded:hover:bg-muted/50",onClick:()=>en(r),size:"icon-sm",title:e(q.has(r)?"expandStatus":"collapseStatus",{status:r}),type:"button",variant:"ghost",children:q.has(r)?(0,t.jsx)(n.ChevronRight,{className:"size-5"}):(0,t.jsx)(a.ChevronDown,{className:"size-5"})})]})]})}),!q.has(r)&&(0,t.jsx)(k.CardContent,{className:"px-0",children:(0,t.jsxs)(P.Table,{children:[(0,t.jsx)(P.TableHeader,{children:(0,t.jsxs)(P.TableRow,{className:"hover:bg-transparent",children:[(0,t.jsx)(P.TableHead,{children:e("ticket")}),(0,t.jsx)(P.TableHead,{children:e("issueType")}),(0,t.jsx)(P.TableHead,{children:e("priority")}),(0,t.jsx)(P.TableHead,{children:e("assignee")}),(0,t.jsx)(P.TableHead,{children:e("updated")})]})}),(0,t.jsx)(P.TableBody,{children:i.map(r=>{var a;return(0,t.jsxs)(P.TableRow,{children:[(0,t.jsx)(P.TableCell,{className:"min-w-80 whitespace-normal",children:(0,t.jsxs)(w.Button,{className:"group h-auto w-full flex-col items-start justify-start gap-0 px-1 py-0.5 text-left whitespace-normal",onClick:()=>F({issue:r.key}),type:"button",variant:"ghost",children:[(0,t.jsx)("span",{className:"block text-xs font-semibold text-primary group-hover:underline",children:r.key}),(0,t.jsx)("span",{className:"mt-1 block font-medium",children:r.summary})]})}),(0,t.jsx)(P.TableCell,{children:r.issueType??e("issue")}),(0,t.jsx)(P.TableCell,{children:r.priority?(0,t.jsx)(b.Badge,{className:U(r.priority),children:r.priority}):"—"}),(0,t.jsx)(P.TableCell,{children:(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(j.JiraPersonAvatar,{avatarUrl:r.assigneeAvatarUrl}),r.assignee??e("unassigned")]})}),(0,t.jsx)(P.TableCell,{className:"text-muted-foreground",children:(a=r.updatedAt)?new Date(a).toLocaleString():"—"})]},r.key)})})]})})]},r))}):(0,t.jsx)("div",{className:"overflow-x-auto pb-4",children:(0,t.jsx)("div",{className:"flex min-w-max items-start gap-4",children:ea.map(([r,a])=>(0,t.jsxs)("section",{className:"w-[19rem] rounded-xl bg-muted/50 p-3",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-2",children:[(0,t.jsx)("h2",{className:"font-medium",children:r}),(0,t.jsx)(b.Badge,{children:a.length})]}),(0,t.jsx)("div",{className:"space-y-2",children:a.map(r=>(0,t.jsxs)(w.Button,{className:"h-auto w-full flex-col items-stretch rounded-lg p-3 text-left whitespace-normal shadow-sm",onClick:()=>F({issue:r.key}),type:"button",variant:"outline",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-semibold text-primary",children:r.key}),r.priority&&(0,t.jsx)(b.Badge,{className:U(r.priority),children:r.priority})]}),(0,t.jsx)("p",{className:"mt-2 line-clamp-3 text-sm font-medium",children:r.summary}),(0,t.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{children:r.issueType??e("issue")}),(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[(0,t.jsx)(j.JiraPersonAvatar,{avatarUrl:r.assigneeAvatarUrl,compact:!0}),(0,t.jsx)("span",{className:"truncate",children:r.assignee??e("unassigned")})]})]})]},r.key))})]},r))})}):null]}),(0,t.jsx)(V,{onProjectsChanged:p,open:B,projects:o,selectedProjectId:Q?.id??null,setOpen:L}),(0,t.jsx)(v.JiraTicketDrawer,{issueKey:W,onClose:()=>F({issue:null}),onTicketChange:er})]})}],960024)}]);
|