@ai-development-environment/server 0.0.29 → 0.0.31
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 +3 -0
- package/standalone/.next/build-manifest.json +6 -6
- package/standalone/.next/prerender-manifest.json +3 -3
- package/standalone/.next/routes-manifest.json +26 -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/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/app-paths-manifest.json +3 -0
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/build-manifest.json +9 -0
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/server-reference-manifest.json +4 -0
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js +11 -0
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.map +5 -0
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.nft.json +1 -0
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route_client-reference-manifest.js +3 -0
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js +4 -3
- package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/codebases/by-path/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/codebases/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/tools/call/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/tools/catalog/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 +3 -0
- package/standalone/.next/server/chunks/07_e_builds_[buildId]_artifacts_[artifactId]_manifest_plist_route_actions_18mzaf3.js +3 -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]__08mnmfs._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__0906ea6._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__0-ypkf7._.js → [root-of-the-server]__09v6swg._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__1wtng3p._.js → [root-of-the-server]__0aiyd05._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__09skp6r._.js → [root-of-the-server]__0cz4ap5._.js} +1 -1
- package/standalone/.next/server/chunks/[root-of-the-server]__0nvcazp._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__12807ia._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__15_clsj._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1csx222._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1ix62p0._.js +122 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1j-hk6b._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__15aat79._.js → [root-of-the-server]__1j0u03u._.js} +1 -1
- 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]__1qmvsu_._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1vxtcsq._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1w59u6o._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1z-3x8k._.js +3 -0
- package/standalone/.next/server/chunks/_0exkna-._.js +193 -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 +263 -78
- package/standalone/.next/server/chunks/_0w2eghf._.js +193 -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/node_modules_next_dist_esm_build_templates_app-route_08x37wy.js +6 -0
- package/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0eghv0a.js +3 -0
- 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]__0qy28ku._.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]__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/{_1h3p6oi._.js → _0cw_tqx._.js} +2 -2
- 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/{_1_1j9nd._.js → _0id1774._.js} +3 -3
- 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/{_1r2rmfp._.js → _1f5k6bj._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_1k1tyz4._.js +3 -0
- 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 +25 -9
- 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 +7 -1
- 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/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/0hwbkceik59kx.js +35 -0
- package/standalone/.next/static/chunks/0mq066ue0yufb.js +7 -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/175269y15-grc.js +48 -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/1w_zvfx_jdyv_.js +29 -0
- package/standalone/.next/static/chunks/2-wrd12dmwbo-.js +1 -0
- package/standalone/.next/static/chunks/208k3moxxd_53.js +51 -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/{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/2zwijj9t6y7gn.js +7 -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/398uw5_4-ciaz.css +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/3l2g83119oyl0.js +1 -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/{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/artifact-cache.test.ts +241 -0
- package/standalone/src/services/builds/artifact-cache.ts +235 -0
- package/standalone/src/services/builds/artifact-transfer.ts +2 -1
- package/standalone/src/services/builds/builds.service.test.ts +55 -0
- package/standalone/src/services/builds/builds.service.ts +499 -17
- package/standalone/.next/server/chunks/[root-of-the-server]__02vqwey._.js +0 -3
- 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/_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 → sJ09NBDjsLncJEkHNWbdR}/_buildManifest.js +0 -0
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → sJ09NBDjsLncJEkHNWbdR}/_clientMiddlewareManifest.js +0 -0
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → sJ09NBDjsLncJEkHNWbdR}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,711241,e=>{"use strict";let s=(0,e.i(456420).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,s],711241)},986253,e=>{"use strict";let s=(0,e.i(456420).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,s])},716327,e=>{"use strict";var s=e.i(26495);e.s(["ChevronDown",()=>s.default])},867927,e=>{"use strict";var s=e.i(986253);e.s(["ChevronRight",()=>s.default])},142833,e=>{"use strict";var s=e.i(843476),t=e.i(159888),r=e.i(689664),a=e.i(508734),i=e.i(772382),l=e.i(948148),n=e.i(271645),d=e.i(519455),o=e.i(462777),c=e.i(975157);function u({bodyHtml:e,className:t}){return(0,s.jsx)("div",{className:(0,c.cn)("prose prose-sm max-w-none break-words dark:prose-invert prose-a:text-primary prose-pre:overflow-x-auto [&_details>summary]:cursor-pointer",t),dangerouslySetInnerHTML:{__html:e}})}e.s(["GitHubMarkdownBlock",0,function({body:e,bodyHtml:m,emptyLabel:x,header:h,headerActions:p,headerClassName:j}){let b=(0,l.useTranslations)("githubComments"),[v,y]=(0,n.useState)("RENDERED"),[g,f]=(0,n.useState)("IDLE");(0,n.useEffect)(()=>{if("COPIED"!==g)return;let e=window.setTimeout(()=>f("IDLE"),2e3);return()=>window.clearTimeout(e)},[g]);let w=async()=>{try{await (0,o.copyText)(e),f("COPIED")}catch{f("FAILED")}};return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:(0,c.cn)("flex flex-wrap items-center justify-between gap-2",j),children:[(0,s.jsx)("div",{className:"min-w-0",children:h}),(e||p)&&(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[p,e&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(d.Button,{onClick:()=>y(e=>"RENDERED"===e?"MARKDOWN":"RENDERED"),size:"xs",type:"button",variant:"outline",children:["RENDERED"===v?(0,s.jsx)(t.Braces,{}):(0,s.jsx)(i.Eye,{}),b("RENDERED"===v?"viewRaw":"viewRendered")]}),(0,s.jsxs)(d.Button,{"aria-label":b("copy"),onClick:()=>void w(),size:"xs",type:"button",variant:"outline",children:["COPIED"===g?(0,s.jsx)(r.Check,{}):(0,s.jsx)(a.Copy,{}),b("COPIED"===g?"copied":"copy")]})]})]})]}),"FAILED"===g&&(0,s.jsx)("p",{className:"text-xs text-destructive",children:b("copyFailed")}),e?"MARKDOWN"===v?(0,s.jsx)("pre",{className:"rounded-lg bg-muted p-3 text-xs whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:e}):(0,s.jsx)(u,{bodyHtml:m}):(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:x})]})}])},730274,e=>{"use strict";let s=(0,e.i(456420).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",0,s],730274)},16781,e=>{"use strict";var s=e.i(843476),t=e.i(482022),r=e.i(730274),a=e.i(948148),i=e.i(271645),l=e.i(142833),n=e.i(948812),d=e.i(929592),o=e.i(799676),c=e.i(487486),u=e.i(519455),m=e.i(515288),x=e.i(987968),h=e.i(624687),p=e.i(520133),j=e.i(637611);function b(e,s){let t=Math.round((Date.parse(e)-Date.now())/1e3),r=new Intl.RelativeTimeFormat(s,{numeric:"auto"});for(let[e,s]of[["year",31536e3],["month",2592e3],["week",604800],["day",86400],["hour",3600],["minute",60]])if(Math.abs(t)>=s)return r.format(Math.round(t/s),e);return r.format(t,"second")}function v({actor:e,compact:t=!1}){let r=(0,a.useTranslations)("githubComments");return e?(0,s.jsxs)("a",{className:"inline-flex min-w-0 items-center gap-2 hover:underline",href:e.url,rel:"noreferrer",target:"_blank",children:[(0,s.jsxs)(o.Avatar,{className:t?"size-5":"size-7",children:[(0,s.jsx)(o.AvatarImage,{alt:"",src:e.avatarUrl}),(0,s.jsx)(o.AvatarFallback,{children:e.login.slice(0,1).toUpperCase()})]}),(0,s.jsxs)("span",{className:"truncate",children:["@",e.login]})]}):(0,s.jsx)("span",{children:r("unknownAuthor")})}function y(e,s){if("FILE"===e.subjectType)return`${e.path} \xb7 ${s}`;let t=e.line??e.originalLine,r=e.startLine??e.originalStartLine;return null===t?e.path:`${e.path} \xb7 L${r&&r!==t?`${r}–`:""}${t}`}function g({label:e,url:r}){return(0,s.jsx)(u.Button,{asChild:!0,size:"icon-xs",title:e,variant:"outline",children:(0,s.jsx)("a",{"aria-label":e,href:r,rel:"noreferrer",target:"_blank",children:(0,s.jsx)(t.ExternalLink,{})})})}e.s(["ReviewAuthor",0,v,"ReviewThreadCard",0,function({locale:e,onReplyAdded:t,onStateChanged:o,thread:f}){let w=(0,a.useTranslations)("githubComments"),[N,R]=(0,i.useState)(""),[C,k]=(0,i.useState)(!1),[T,E]=(0,i.useState)(!1),[S,D]=(0,i.useState)(null),I=async e=>{if(e.preventDefault(),N.trim()&&f.viewerCanReply){k(!0);try{let e=await (0,j.controlPlaneRequest)(`mutation ReplyToGitHubReviewThread($threadId: ID!, $body: String!) {
|
|
2
|
+
replyToGitHubReviewThread(threadId: $threadId, body: $body) {
|
|
3
|
+
id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt
|
|
4
|
+
}
|
|
5
|
+
}`,{threadId:f.id,body:N});t(f.id,e.replyToGitHubReviewThread),R(""),D(null)}catch(e){D(e instanceof Error?e.message:String(e))}finally{k(!1)}}},A=async()=>{let e=!f.isResolved;if((!e||f.viewerCanResolve)&&(e||f.viewerCanUnresolve)){E(!0);try{let s=await (0,j.controlPlaneRequest)(`mutation SetGitHubReviewThreadResolved(
|
|
6
|
+
$threadId: ID!
|
|
7
|
+
$resolved: Boolean!
|
|
8
|
+
) {
|
|
9
|
+
setGitHubReviewThreadResolved(
|
|
10
|
+
threadId: $threadId
|
|
11
|
+
resolved: $resolved
|
|
12
|
+
) { id isResolved viewerCanResolve viewerCanUnresolve resolvedBy { login avatarUrl url } }
|
|
13
|
+
}`,{threadId:f.id,resolved:e});o(s.setGitHubReviewThreadResolved),D(null)}catch(e){D(e instanceof Error?e.message:String(e))}finally{E(!1)}}},H=f.isResolved?f.viewerCanUnresolve:f.viewerCanResolve;return(0,s.jsx)(m.Card,{children:(0,s.jsxs)(m.CardContent,{className:"space-y-5",children:[(0,s.jsx)(l.GitHubMarkdownBlock,{body:f.rootComment.body,bodyHtml:f.rootComment.bodyHtml,emptyLabel:"—",header:(0,s.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,s.jsx)(v,{actor:f.rootComment.author}),(0,s.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,s.jsx)("time",{className:"text-muted-foreground",dateTime:f.rootComment.createdAt,title:new Date(f.rootComment.createdAt).toLocaleString(e),children:b(f.rootComment.createdAt,e)})]}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,s.jsx)(c.Badge,{className:"max-w-full",title:y(f,w("fileComment")),variant:"outline",children:y(f,w("fileComment"))}),f.isOutdated&&(0,s.jsx)(c.Badge,{variant:"secondary",children:w("outdated")}),(0,s.jsx)(c.Badge,{variant:f.isResolved?"secondary":"outline",children:f.isResolved?w("resolved"):w("unresolved")}),(0,s.jsxs)(p.Link,{className:"font-medium text-primary hover:underline",href:(0,n.pullRequestDetailHref)(f.pullRequest),children:[f.pullRequest.repositoryNameWithOwner," #",f.pullRequest.number]})]})]}),headerActions:(0,s.jsx)(g,{label:w("openInGitHub"),url:f.rootComment.url}),headerClassName:"border-b pb-4"}),f.replies.length>0&&(0,s.jsx)("div",{className:"space-y-3",children:f.replies.map(t=>(0,s.jsx)(m.Card,{size:"sm",children:(0,s.jsx)(m.CardContent,{children:(0,s.jsx)(l.GitHubMarkdownBlock,{body:t.body,bodyHtml:t.bodyHtml,emptyLabel:"—",header:(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,s.jsx)(v,{actor:t.author,compact:!0}),(0,s.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,s.jsx)("time",{className:"text-muted-foreground",dateTime:t.createdAt,children:b(t.createdAt,e)})]}),headerActions:(0,s.jsx)(g,{label:w("openReplyInGitHub"),url:t.url}),headerClassName:"border-b pb-3"})})},t.id))}),S&&(0,s.jsx)(d.Alert,{variant:"destructive",children:(0,s.jsx)(d.AlertDescription,{children:S})}),(0,s.jsxs)("form",{className:"space-y-3",onSubmit:I,children:[(0,s.jsx)(h.Textarea,{"aria-label":w("reply"),disabled:!f.viewerCanReply||C,onChange:e=>R(e.target.value),placeholder:f.viewerCanReply?w("replyPlaceholder"):w("replyUnavailable"),value:N}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,s.jsxs)(u.Button,{disabled:!H||T,onClick:()=>void A(),type:"button",variant:"outline",children:[T&&(0,s.jsx)(x.Spinner,{}),f.isResolved?w("reopen"):w("resolve")]}),(0,s.jsxs)(u.Button,{disabled:!f.viewerCanReply||C||!N.trim(),type:"submit",children:[C?(0,s.jsx)(x.Spinner,{}):(0,s.jsx)(r.Send,{}),C?w("replying"):w("sendReply")]})]})]})]})})},"relativeAge",0,b])},337868,e=>{"use strict";var s=e.i(843476),t=e.i(711241),r=e.i(716327),a=e.i(867927),i=e.i(482022);let l=(0,e.i(456420).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);var n=e.i(634398),d=e.i(269846),o=e.i(741120),c=e.i(395925),u=e.i(861745),m=e.i(948148),x=e.i(618566),h=e.i(271645),p=e.i(647776),j=e.i(142833),b=e.i(346194),v=e.i(16781),y=e.i(356505),g=e.i(929592),f=e.i(799676),w=e.i(487486),N=e.i(519455),R=e.i(515288),C=e.i(82612),k=e.i(987968),T=e.i(784774),E=e.i(520133),S=e.i(637611),D=e.i(940276);function I(e){let s=new URLSearchParams(window.location.search);e?s.set("issue",e):s.delete("issue");let t=s.toString();window.history.pushState(null,"",`${window.location.pathname}${t?`?${t}`:""}`)}function A({job:e,repositoryId:t,checkSuiteId:l,onRetried:n,onError:d}){let o=(0,m.useTranslations)("pullRequestDetail"),c=(0,m.useTranslations)("pullRequests"),[u,x]=(0,h.useState)(!1);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5",children:[(0,s.jsxs)("button",{"aria-expanded":u,"aria-label":o(u?"hideJobSteps":"showJobSteps",{job:e.name}),className:"flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-2 text-left hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:()=>x(e=>!e),type:"button",children:[u?(0,s.jsx)(r.ChevronDown,{className:"size-4 shrink-0"}):(0,s.jsx)(a.ChevronRight,{className:"size-4 shrink-0"}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:e.name}),(0,s.jsx)(w.Badge,{className:(0,p.pipelineStateClass)(e.status),children:c(`pipelineStates.${e.status}`)})]}),e.url&&(0,s.jsx)(N.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,s.jsxs)("a",{"aria-label":o("viewJob",{job:e.name}),href:e.url,rel:"noreferrer",target:"_blank",children:[o("viewPipeline"),(0,s.jsx)(i.ExternalLink,{})]})}),(0,s.jsx)(H,{checkSuiteId:l,job:e,onError:d,onRetried:n,repositoryId:t})]}),u&&(0,s.jsxs)("div",{className:"mb-3 w-full rounded-md border bg-background p-3",children:[(0,s.jsx)("p",{className:"mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:o("steps")}),0===e.steps.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:o("noSteps")}):(0,s.jsx)("ol",{className:"space-y-2",children:e.steps.map(e=>(0,s.jsxs)("li",{className:"flex items-center gap-3 text-sm",children:[(0,s.jsx)("span",{className:"flex size-5 shrink-0 items-center justify-center rounded-full bg-muted text-[11px] text-muted-foreground",children:e.number}),(0,s.jsx)("span",{className:"min-w-0 flex-1",children:e.name}),(0,s.jsx)(w.Badge,{className:(0,p.pipelineStateClass)(e.status),children:c(`pipelineStates.${e.status}`)})]},e.number))})]})]})}function H({job:e,repositoryId:t,checkSuiteId:r,onRetried:a,onError:i}){let l=(0,m.useTranslations)("pullRequestDetail"),n=(0,m.useTranslations)("pullRequests"),[d,o]=(0,h.useState)(!1),u=async s=>{if(s.stopPropagation(),e.canRetry&&r){o(!0);try{await (0,S.controlPlaneRequest)(`mutation RetryGitHubWorkflowJob(
|
|
14
|
+
$repositoryId: ID!
|
|
15
|
+
$checkSuiteId: ID!
|
|
16
|
+
$jobId: ID!
|
|
17
|
+
) {
|
|
18
|
+
retryGitHubWorkflowJob(
|
|
19
|
+
repositoryId: $repositoryId
|
|
20
|
+
checkSuiteId: $checkSuiteId
|
|
21
|
+
jobId: $jobId
|
|
22
|
+
)
|
|
23
|
+
}`,{repositoryId:t,checkSuiteId:r,jobId:e.id}),a(),i(null)}catch(e){i(e instanceof Error?e.message:String(e))}finally{o(!1)}}},x=e.retryUnavailableReason?n(`retryUnavailable.${e.retryUnavailableReason}`):void 0;return(0,s.jsxs)(N.Button,{"aria-label":l("retryJob",{job:e.name}),disabled:d||!e.canRetry||!r,onClick:e=>void u(e),size:"sm",title:x,variant:"outline",children:[d?(0,s.jsx)(k.Spinner,{}):(0,s.jsx)(c.RotateCcw,{}),n(d?"retrying":"retry")]})}function B({label:e,children:t}){return(0,s.jsxs)("div",{className:"grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-start gap-4",children:[(0,s.jsx)("dt",{className:"text-muted-foreground",children:e}),(0,s.jsx)("dd",{className:"min-w-0 text-right font-medium break-words [overflow-wrap:anywhere]",children:t})]})}function P({label:e,person:t,unknownLabel:r}){return(0,s.jsxs)("div",{children:[e&&(0,s.jsx)("p",{className:"mb-2 text-xs text-muted-foreground",children:e}),t?(0,s.jsxs)("a",{className:"flex items-center gap-2 text-sm hover:underline",href:t.url,rel:"noreferrer",target:"_blank",children:[(0,s.jsxs)(f.Avatar,{className:"size-6",children:[(0,s.jsx)(f.AvatarImage,{alt:"",src:t.avatarUrl}),(0,s.jsx)(f.AvatarFallback,{children:t.login.slice(0,1).toUpperCase()})]}),"@",t.login]}):(0,s.jsx)("p",{className:"text-sm",children:r})]})}e.s(["PullRequestDetailPage",0,function({owner:e,repository:r,number:a}){var c;let f=(0,m.useTranslations)("pullRequestDetail"),H=(0,m.useTranslations)("pullRequests"),$=(0,u.useLocale)(),L=(0,x.useSearchParams)().get("issue"),[U,q]=(0,h.useState)(null),[G,O]=(0,h.useState)(!0),[z,M]=(0,h.useState)(null),_=(0,h.useCallback)(async()=>{O(!0);try{let s=await (0,S.controlPlaneRequest)(`query GitHubPullRequestDetail(
|
|
24
|
+
$owner: String!
|
|
25
|
+
$name: String!
|
|
26
|
+
$number: Int!
|
|
27
|
+
) {
|
|
28
|
+
githubPullRequest(owner: $owner, name: $name, number: $number) {
|
|
29
|
+
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 headRefName createdAt body bodyHtml author { login avatarUrl url } assignees { login avatarUrl url } reviewThreads { id isResolved isOutdated subjectType path line startLine originalLine originalStartLine viewerCanReply viewerCanResolve viewerCanUnresolve resolvedBy { login avatarUrl url } pullRequest { id number title url repositoryNameWithOwner } rootComment { id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt } replies { id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt } } baseRefName state isDraft mergeable additions deletions changedFiles commitCount updatedAt mergedAt worktreeId
|
|
30
|
+
}
|
|
31
|
+
}`,{owner:e,name:r,number:a});q(s.githubPullRequest),M(null)}catch(e){M(e instanceof Error?e.message:String(e))}finally{O(!1)}},[a,e,r]);(0,h.useEffect)(()=>{let e=window.setTimeout(()=>void _(),0);return()=>window.clearTimeout(e)},[_]);let F=e=>{q(s=>s?{...s,pipelineStatus:"PENDING",pipelines:s.pipelines.map(s=>s.id===e.id?{...e,jobs:e.jobs??s.jobs}:s)}:s)},W=(e,s)=>{q(t=>t?{...t,reviewThreads:t.reviewThreads.map(t=>t.id===e?{...t,replies:[...t.replies,s]}:t)}:t)},K=e=>{q(s=>{if(!s)return s;let t=s.reviewThreads.find(s=>s.id===e.id),r=t&&t.isResolved!==e.isResolved?e.isResolved?-1:1:0;return{...s,unresolvedReviewThreadCount:Math.max(0,s.unresolvedReviewThreadCount+r),reviewThreads:s.reviewThreads.map(s=>s.id===e.id?{...s,...e}:s)}})};if(G&&!U)return(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(k.Spinner,{}),f("loading")]});if(!U)return(0,s.jsxs)("section",{className:"mx-auto w-full max-w-5xl space-y-5",children:[z&&(0,s.jsx)(g.Alert,{variant:"destructive",children:(0,s.jsx)(g.AlertDescription,{children:z})}),(0,s.jsxs)(C.Empty,{className:"border py-12",children:[(0,s.jsxs)(C.EmptyHeader,{children:[(0,s.jsx)(C.EmptyMedia,{variant:"icon",children:(0,s.jsx)(n.GitPullRequest,{})}),(0,s.jsx)(C.EmptyTitle,{children:f("notFound")}),(0,s.jsx)(C.EmptyDescription,{children:f("notFoundDescription")})]}),(0,s.jsx)(N.Button,{asChild:!0,className:"mt-4",variant:"outline",children:(0,s.jsx)(E.Link,{href:"/pull-requests",children:f("back")})})]})]});let J=new Intl.DateTimeFormat($,{dateStyle:"medium",timeStyle:"short"}),Q=e=>e?J.format(new Date(e)):"—";return(0,s.jsxs)("section",{className:"mx-auto flex min-w-0 w-full max-w-6xl flex-col gap-5",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)(N.Button,{asChild:!0,className:"mb-3 -ml-2",variant:"ghost",children:(0,s.jsxs)(E.Link,{href:"/pull-requests",children:[(0,s.jsx)(t.ArrowLeft,{}),f("back")]})}),(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:[U.repositoryNameWithOwner," #",U.number]}),(0,s.jsx)("h1",{className:"mt-1 text-2xl font-semibold break-words tracking-tight [overflow-wrap:anywhere]",children:U.title}),(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,s.jsx)(w.Badge,{children:H(`pullRequestStates.${U.state}`)}),U.isDraft&&(0,s.jsx)(w.Badge,{children:f("draft")}),(0,s.jsx)(w.Badge,{className:"APPROVED"===(c=U.reviewDecision)?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"CHANGES_REQUESTED"===c?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"REVIEW_REQUIRED"===c?"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300":"border-slate-500/30 bg-slate-500/10 text-slate-700 dark:text-slate-300",children:H(`reviewStates.${U.reviewDecision}`)}),U.jiraKey&&(0,s.jsx)(w.Badge,{asChild:!0,className:"cursor-pointer hover:bg-muted/80",children:(0,s.jsx)("button",{onClick:()=>I(U.jiraKey),type:"button",children:U.jiraKey})})]})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[U.worktreeId&&(0,s.jsx)(N.Button,{asChild:!0,variant:"outline",children:(0,s.jsxs)(E.Link,{href:(0,D.worktreeDetailHref)(U.worktreeId),children:[(0,s.jsx)(d.GitBranch,{}),f("viewWorktree")]})}),"OPEN"===U.state&&(0,s.jsx)(b.MergePullRequestButton,{onMerged:_,pullRequest:U,size:"default"}),(0,s.jsxs)(N.Button,{disabled:G,onClick:()=>void _(),variant:"outline",children:[(0,s.jsx)(o.RefreshCw,{className:G?"animate-spin":void 0}),f("refresh")]}),(0,s.jsx)(N.Button,{asChild:!0,children:(0,s.jsxs)("a",{href:U.url,rel:"noreferrer",target:"_blank",children:[f("openInGitHub"),(0,s.jsx)(i.ExternalLink,{})]})})]})]}),z&&(0,s.jsx)(g.Alert,{variant:"destructive",children:(0,s.jsx)(g.AlertDescription,{children:z})}),(0,s.jsxs)("div",{className:"grid min-w-0 gap-5 lg:grid-cols-2",children:[(0,s.jsxs)("div",{className:"contents",children:[(0,s.jsx)(R.Card,{className:"min-w-0 order-2 lg:col-span-2",children:(0,s.jsx)(R.CardContent,{children:(0,s.jsx)(j.GitHubMarkdownBlock,{body:U.body,bodyHtml:U.bodyHtml,emptyLabel:f("noDescription"),header:(0,s.jsx)(R.CardTitle,{children:f("description")}),headerClassName:"border-b pb-4"})})}),(0,s.jsxs)("div",{className:"min-w-0 order-3 space-y-4 lg:col-span-2",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:f("comments")}),(0,s.jsx)(w.Badge,{variant:"secondary",children:U.reviewThreads.length})]}),0===U.reviewThreads.length?(0,s.jsx)(C.Empty,{className:"border py-8",children:(0,s.jsxs)(C.EmptyHeader,{children:[(0,s.jsx)(C.EmptyTitle,{children:f("noComments")}),(0,s.jsx)(C.EmptyDescription,{children:f("noCommentsDescription")})]})}):(0,s.jsx)("div",{className:"space-y-5",children:U.reviewThreads.map(e=>(0,s.jsx)(v.ReviewThreadCard,{locale:$,onReplyAdded:W,onStateChanged:K,thread:e},e.id))})]}),(0,s.jsxs)(R.Card,{className:"min-w-0 order-4 gap-0 py-0 lg:col-span-2",children:[(0,s.jsxs)(R.CardHeader,{className:"flex grid-cols-none flex-row items-center justify-between gap-3 border-b py-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(R.CardTitle,{children:f("pipelines")}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:f("pipelineCount",{count:U.pipelines.length})})]}),(0,s.jsx)(p.PipelineMenu,{onPipelineRetried:F,pipelineStatus:U.pipelineStatus,pipelines:U.pipelines,repositoryId:U.repositoryGithubId})]}),(0,s.jsx)(R.CardContent,{className:"px-0",children:0===U.pipelines.length?(0,s.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:H("noPipelines")}):(0,s.jsxs)(T.Table,{children:[(0,s.jsx)(T.TableHeader,{children:(0,s.jsxs)(T.TableRow,{className:"hover:bg-transparent",children:[(0,s.jsx)(T.TableHead,{children:f("pipelineName")}),(0,s.jsx)(T.TableHead,{children:f("pipelineStatus")}),(0,s.jsx)(T.TableHead,{className:"text-right",children:f("pipelineDetails")})]})}),(0,s.jsx)(T.TableBody,{children:U.pipelines.map(e=>(0,s.jsxs)(h.Fragment,{children:[(0,s.jsxs)(T.TableRow,{children:[(0,s.jsx)(T.TableCell,{className:"font-medium",children:e.name}),(0,s.jsx)(T.TableCell,{children:(0,s.jsx)(w.Badge,{className:(0,p.pipelineStateClass)(e.status),children:H(`pipelineStates.${e.status}`)})}),(0,s.jsx)(T.TableCell,{children:(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[e.url?(0,s.jsx)(N.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,s.jsxs)("a",{href:e.url,rel:"noreferrer",target:"_blank",children:[f("viewPipeline"),(0,s.jsx)(i.ExternalLink,{})]})}):(0,s.jsxs)(N.Button,{disabled:!0,size:"sm",variant:"outline",children:[f("viewPipeline"),(0,s.jsx)(i.ExternalLink,{})]}),(0,s.jsx)(p.RetryPipelineButton,{onError:M,onPipelineRetried:F,pipeline:e,repositoryId:U.repositoryGithubId})]})})]}),(0,s.jsx)(T.TableRow,{className:"bg-muted/20 hover:bg-muted/20",children:(0,s.jsx)(T.TableCell,{className:"p-0",colSpan:3,children:(0,s.jsxs)("div",{className:"border-l-2 border-muted-foreground/20 px-4 py-1",children:[(0,s.jsx)("p",{className:"px-3 py-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:f("jobCount",{count:e.jobs.length})}),0===e.jobs.length?(0,s.jsx)("p",{className:"px-3 pb-3 text-sm text-muted-foreground",children:f("noJobs")}):(0,s.jsx)("div",{className:"divide-y",children:e.jobs.map(t=>(0,s.jsx)(A,{checkSuiteId:e.checkSuiteId,job:t,onError:M,onRetried:()=>{var s,r;return s=e.id,r=t.id,void q(e=>e?{...e,pipelineStatus:"PENDING",pipelines:e.pipelines.map(e=>e.id===s?{...e,status:"QUEUED",canRetry:!1,retryUnavailableReason:"NOT_COMPLETED",jobs:e.jobs.map(e=>e.id===r?{...e,status:"QUEUED",canRetry:!1,retryUnavailableReason:"NOT_COMPLETED",steps:[]}:{...e,canRetry:!1,retryUnavailableReason:"NOT_COMPLETED"})}:e)}:e)},repositoryId:U.repositoryGithubId},t.id))})]})})})]},e.id))})]})})]})]}),(0,s.jsxs)("div",{className:"contents",children:[(0,s.jsxs)(R.Card,{className:"min-w-0 order-1",children:[(0,s.jsx)(R.CardHeader,{className:"border-b",children:(0,s.jsx)(R.CardTitle,{children:f("details")})}),(0,s.jsx)(R.CardContent,{children:(0,s.jsxs)("dl",{className:"grid gap-4 text-sm",children:[(0,s.jsx)(B,{label:f("branches"),children:(0,s.jsxs)("span",{className:"font-mono text-xs break-all",children:[U.headRefName," → ",U.baseRefName]})}),(0,s.jsxs)(B,{label:f("changes"),children:[(0,s.jsxs)("span",{className:"text-emerald-600",children:["+",U.additions]})," ",(0,s.jsxs)("span",{className:"text-red-600",children:["−",U.deletions]})]}),(0,s.jsx)(B,{label:f("files"),children:U.changedFiles??"—"}),(0,s.jsx)(B,{label:f("commits"),children:(0,s.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,s.jsx)(l,{className:"size-4"}),U.commitCount]})}),(0,s.jsx)(B,{label:f("mergeable"),children:H(`mergeableStates.${U.mergeable}`)}),(0,s.jsx)(B,{label:f("openComments"),children:U.unresolvedReviewThreadCount}),(0,s.jsx)(B,{label:f("created"),children:Q(U.createdAt)}),(0,s.jsx)(B,{label:f("updated"),children:Q(U.updatedAt)}),U.mergedAt&&(0,s.jsx)(B,{label:f("merged"),children:Q(U.mergedAt)})]})})]}),(0,s.jsxs)(R.Card,{className:"min-w-0 order-1",children:[(0,s.jsx)(R.CardHeader,{className:"border-b",children:(0,s.jsx)(R.CardTitle,{children:f("people")})}),(0,s.jsxs)(R.CardContent,{className:"space-y-4",children:[(0,s.jsx)(P,{label:f("author"),person:U.author,unknownLabel:f("unknown")}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-2 text-xs text-muted-foreground",children:f("assignees")}),0===U.assignees.length?(0,s.jsx)("p",{className:"text-sm",children:f("unassigned")}):(0,s.jsx)("div",{className:"space-y-2",children:U.assignees.map(e=>(0,s.jsx)(P,{person:e,unknownLabel:f("unknown")},e.login))})]})]})]})]})]}),(0,s.jsx)(y.JiraTicketDrawer,{issueKey:L,onClose:()=>I(null)})]})}],337868)}]);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,346194,113030,e=>{"use strict";var t=e.i(843476);let r=(0,e.i(456420).default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);e.s(["GitMerge",0,r],113030);var n=e.i(948148),i=e.i(271645),s=e.i(929592),l=e.i(519455),a=e.i(776639),o=e.i(793479),c=e.i(110204),u=e.i(967489),d=e.i(987968),m=e.i(624687),p=e.i(637611);let h="__github_account_default__";e.s(["MergePullRequestButton",0,function({pullRequest:e,onMerged:f,size:x="sm",variant:g="outline",open:b,onOpenChange:y,showTrigger:j=!0}){let v=(0,n.useTranslations)("pullRequests"),[w,k]=(0,i.useState)(!1),[S,T]=(0,i.useState)(null),[R,C]=(0,i.useState)(""),[N,E]=(0,i.useState)(""),[I,D]=(0,i.useState)(""),[M,$]=(0,i.useState)(h),[A,P]=(0,i.useState)(!1),[U,q]=(0,i.useState)(!1),[_,F]=(0,i.useState)(null),[L="",B=""]=e.repositoryNameWithOwner.split("/",2),O=b??w,H=e=>{e||(P(!1),T(null),F(null)),void 0===b&&k(e),y?.(e)};(0,i.useEffect)(()=>{if(!O)return;let t=!0,r=window.setTimeout(()=>{P(!0),T(null),F(null),(0,p.controlPlaneRequest)(`query GitHubPullRequestMergeOptions(
|
|
2
|
+
$owner: String!
|
|
3
|
+
$name: String!
|
|
4
|
+
$number: Int!
|
|
5
|
+
) {
|
|
6
|
+
githubPullRequestMergeOptions(
|
|
7
|
+
owner: $owner
|
|
8
|
+
name: $name
|
|
9
|
+
number: $number
|
|
10
|
+
) {
|
|
11
|
+
availableMethods
|
|
12
|
+
commitEmails
|
|
13
|
+
defaultCommitEmail
|
|
14
|
+
defaultCommitHeadline
|
|
15
|
+
defaultCommitBody
|
|
16
|
+
canMerge
|
|
17
|
+
blockedReason
|
|
18
|
+
}
|
|
19
|
+
}`,{owner:L,name:B,number:e.number}).then(e=>{if(!t)return;let r=e.githubPullRequestMergeOptions;T(r),C(r.availableMethods[0]??""),E(r.defaultCommitHeadline),D(r.defaultCommitBody),$(r.defaultCommitEmail??h)}).catch(e=>{t&&F(e instanceof Error?e.message:String(e))}).finally(()=>{t&&P(!1)})},0);return()=>{t=!1,window.clearTimeout(r)}},[B,O,L,e.number]);let z=async()=>{if(R&&S?.canMerge&&N.trim()){q(!0),F(null);try{let t=await (0,p.controlPlaneRequest)(`mutation MergeGitHubPullRequest(
|
|
20
|
+
$input: MergeGitHubPullRequestInput!
|
|
21
|
+
) {
|
|
22
|
+
mergeGitHubPullRequest(input: $input) {
|
|
23
|
+
id state url mergedAt
|
|
24
|
+
}
|
|
25
|
+
}`,{input:{owner:L,name:B,number:e.number,method:R,commitHeadline:N,commitBody:I,authorEmail:M===h?null:M}});H(!1),await f?.(t.mergeGitHubPullRequest)}catch(e){F(e instanceof Error?e.message:String(e))}finally{q(!1)}}},G=S?.blockedReason??null;return(0,t.jsxs)(t.Fragment,{children:[j&&(0,t.jsxs)(l.Button,{onClick:e=>{e.stopPropagation(),H(!0)},size:x,type:"button",variant:g,children:[(0,t.jsx)(r,{}),v("merge")]}),(0,t.jsx)(a.Dialog,{onOpenChange:e=>{U||H(e)},open:O,children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-xl",children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsx)(a.DialogTitle,{children:v("mergePullRequest")}),(0,t.jsx)(a.DialogDescription,{children:v("mergePullRequestDescription",{repository:e.repositoryNameWithOwner,number:e.number})})]}),!A&&(S||_)?(0,t.jsxs)("div",{className:"space-y-4",children:[(_||G)&&(0,t.jsx)(s.Alert,{variant:"destructive",children:(0,t.jsx)(s.AlertDescription,{children:_||G})}),S&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.Label,{className:"mb-1.5 block",htmlFor:"merge-method",children:v("mergeType")}),(0,t.jsxs)(u.Select,{disabled:U||0===S.availableMethods.length,onValueChange:e=>C(e),value:R,children:[(0,t.jsx)(u.SelectTrigger,{id:"merge-method",children:(0,t.jsx)(u.SelectValue,{placeholder:v("selectMergeType")})}),(0,t.jsx)(u.SelectContent,{children:S.availableMethods.map(e=>(0,t.jsx)(u.SelectItem,{value:e,children:v(`mergeTypes.${e}`)},e))})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.Label,{className:"mb-1.5 block",htmlFor:"merge-commit-headline",children:v("commitMessage")}),(0,t.jsx)(o.Input,{disabled:U,id:"merge-commit-headline",onChange:e=>E(e.target.value),value:N})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.Label,{className:"mb-1.5 block",htmlFor:"merge-commit-body",children:v("commitDescription")}),(0,t.jsx)(m.Textarea,{className:"min-h-28",disabled:U,id:"merge-commit-body",onChange:e=>D(e.target.value),value:I})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(c.Label,{className:"mb-1.5 block",htmlFor:"merge-email",children:v("commitEmail")}),(0,t.jsxs)(u.Select,{disabled:U,onValueChange:$,value:M,children:[(0,t.jsx)(u.SelectTrigger,{id:"merge-email",children:(0,t.jsx)(u.SelectValue,{})}),(0,t.jsxs)(u.SelectContent,{children:[(0,t.jsx)(u.SelectItem,{value:h,children:v("githubDefaultEmail")}),S.commitEmails.map(e=>(0,t.jsx)(u.SelectItem,{value:e,children:e},e))]})]})]})]})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,t.jsx)(d.Spinner,{})," ",v("loadingMergeOptions")]}),(0,t.jsxs)(a.DialogFooter,{children:[(0,t.jsx)(l.Button,{disabled:U,onClick:()=>H(!1),type:"button",variant:"outline",children:v("cancelMerge")}),(0,t.jsxs)(l.Button,{disabled:A||U||!S?.canMerge||!R||!N.trim(),onClick:()=>void z(),type:"button",children:[U?(0,t.jsx)(d.Spinner,{}):(0,t.jsx)(r,{}),U?v("merging"):v("mergePullRequest")]})]})]})})]})}],346194)},395925,e=>{"use strict";let t=(0,e.i(456420).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],395925)},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)},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])},784774,e=>{"use strict";var t=e.i(843476),r=e.i(975157);e.s(["Table",0,function({className:e,containerClassName:n,...i}){return(0,t.jsx)("div",{className:(0,r.cn)("w-full overflow-x-auto",n),children:(0,t.jsx)("table",{className:(0,r.cn)("w-full caption-bottom text-sm",e),...i})})},"TableBody",0,function({className:e,...n}){return(0,t.jsx)("tbody",{className:(0,r.cn)("divide-y",e),...n})},"TableCell",0,function({className:e,...n}){return(0,t.jsx)("td",{className:(0,r.cn)("whitespace-nowrap px-3 py-3 align-middle",e),...n})},"TableFooter",0,function({className:e,...n}){return(0,t.jsx)("tfoot",{className:(0,r.cn)("border-t bg-muted/50 font-medium",e),...n})},"TableHead",0,function({className:e,...n}){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),...n})},"TableHeader",0,function({className:e,...n}){return(0,t.jsx)("thead",{className:(0,r.cn)("border-b",e),...n})},"TableRow",0,function({className:e,...n}){return(0,t.jsx)("tr",{className:(0,r.cn)("transition-colors hover:bg-muted/40",e),...n})}])},689664,e=>{"use strict";var t=e.i(643957);e.s(["Check",()=>t.default])},508734,e=>{"use strict";let t=(0,e.i(456420).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],508734)},741120,e=>{"use strict";let t=(0,e.i(456420).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],741120)},82612,e=>{"use strict";var t=e.i(843476),r=e.i(225913),n=e.i(975157);let i=(0,r.cva)("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"}},defaultVariants:{variant:"default"}});e.s(["Empty",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty",className:(0,n.cn)("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance",e),...r})},"EmptyDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty-description",className:(0,n.cn)("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e),...r})},"EmptyHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty-header",className:(0,n.cn)("flex max-w-sm flex-col items-center gap-2",e),...r})},"EmptyMedia",0,function({className:e,variant:r="default",...s}){return(0,t.jsx)("div",{"data-slot":"empty-icon","data-variant":r,className:(0,n.cn)(i({variant:r,className:e})),...s})},"EmptyTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"empty-title",className:(0,n.cn)("font-heading text-sm font-medium tracking-tight",e),...r})}])},462777,e=>{"use strict";async function t(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.append(t),t.select();let r=document.execCommand("copy");if(t.remove(),!r)throw Error("Copy is not supported by this browser")}e.s(["copyText",0,t,"createClientId",0,function(){try{if(globalThis.crypto?.randomUUID)return globalThis.crypto.randomUUID()}catch{}if(globalThis.crypto?.getRandomValues)try{let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return Array.from(e,e=>e.toString(16).padStart(2,"0")).join("")}catch{}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}])},842727,e=>{"use strict";var t=e.i(271645);function r(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r||!r.defaultPrevented)return t?.(r)}}"u">typeof window&&window.document&&window.document.createElement;var n=e.i(75830);function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function s(...e){return t.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=i(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():i(e[t],null)}}}}(...e),e)}var l=e.i(30030),a=e.i(610772);e.i(174080);var o=Symbol.for("radix.slottable"),c=Symbol.for("react.lazy");function u(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 d=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 n;let i,l=(n=`Primitive.${r}`,(i=t.forwardRef((e,r)=>{var i;let l,a,{children:c,...m}=e,p=null,h=!1,f=[];u(c)&&"function"==typeof d&&(c=d(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;u(r)&&"function"==typeof d&&(r=d(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?(i=p,(a=(l=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?i.ref:(a=(l=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in l&&l.isReactWarning)?i.props.ref:i.props.ref||i.ref):void 0,g=s(r,x);if(!p){if(c||0===c){let e,t;throw Error(h?(e=n,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=n,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return c}let b=function(e,t){let r={...t};for(let n in t){let i=e[n],s=t[n];/^on[A-Z]/.test(n)?i&&s?r[n]=(...e)=>{let t=s(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...s}:"className"===n&&(r[n]=[i,s].filter(Boolean).join(" "))}return{...e,...r}}(m,p.props??{});return p.type!==t.Fragment&&(b.ref=r?g:x),t.cloneElement(p,b)})).displayName=`${n}.Slot`,i),a=t.forwardRef((e,t)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,m.jsx)(n?l:r,{...i,ref:t})});return a.displayName=`Primitive.${r}`,{...e,[r]:a}},{}),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),b=!1,y=t[" useSyncExternalStore ".trim().toString()];function j(){return()=>{}}var v="function"==typeof y?function(){return y(j,()=>!0,()=>!1)}:function(){let[e,r]=t.useState(b);return t.useEffect(()=>{b||(b=!0,r(!0))},[]),e},w="rovingFocusGroup.onEntryFocus",k={bubbles:!1,cancelable:!0},S="RovingFocusGroup",[T,R,C]=(0,n.createCollection)(S),[N,E]=(0,l.createContextScope)(S,[C]),[I,D]=N(S),M=t.forwardRef((e,t)=>(0,m.jsx)(T.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)(T.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)($,{...e,ref:t})})}));M.displayName=S;var $=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:i,orientation:l,loop:a=!1,dir:o,currentTabStopId:c,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:b=!1,...y}=e,j=t.useRef(null),v=s(n,j),T=(0,g.useDirection)(o),[C,N]=function({prop:e,defaultProp:r,onChange:n=()=>{},caller:i}){let[s,l,a]=function({defaultProp:e,onChange:r}){let[n,i]=t.useState(e),s=t.useRef(n),l=t.useRef(r);return x(()=>{l.current=r},[r]),t.useEffect(()=>{s.current!==n&&(l.current?.(n),s.current=n)},[n,s]),[n,i,l]}({defaultProp:r,onChange:n}),o=void 0!==e,c=o?e:s;{let r=t.useRef(void 0!==e);t.useEffect(()=>{let e=r.current;if(e!==o){let t=o?"controlled":"uncontrolled";console.warn(`${i} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}r.current=o},[o,i])}return[c,t.useCallback(t=>{if(o){let r="function"==typeof t?t(e):t;r!==e&&a.current?.(r)}else l(t)},[o,e,l,a])]}({prop:c,defaultProp:u??null,onChange:d,caller:S}),[E,D]=t.useState(!1),M=(0,h.useCallbackRef)(f),$=R(i),A=t.useRef(!1),[P,U]=t.useState(0);return t.useEffect(()=>{let e=j.current;if(e)return e.addEventListener(w,M),()=>e.removeEventListener(w,M)},[M]),(0,m.jsx)(I,{scope:i,orientation:l,dir:T,loop:a,currentTabStopId:C,onItemFocus:t.useCallback(e=>N(e),[N]),onItemShiftTab:t.useCallback(()=>D(!0),[]),onFocusableItemAdd:t.useCallback(()=>U(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>U(e=>e-1),[]),children:(0,m.jsx)(p.div,{tabIndex:E||0===P?-1:0,"data-orientation":l,...y,ref:v,style:{outline:"none",...e.style},onMouseDown:r(e.onMouseDown,()=>{A.current=!0}),onFocus:r(e.onFocus,e=>{let t=!A.current;if(e.target===e.currentTarget&&t&&!E){let t=new CustomEvent(w,k);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=$().filter(e=>e.focusable);q([e.find(e=>e.active),e.find(e=>e.id===C),...e].filter(Boolean).map(e=>e.ref.current),b)}}A.current=!1}),onBlur:r(e.onBlur,()=>D(!1))})})}),A="RovingFocusGroupItem",P=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:i,focusable:s=!0,active:l=!1,tabStopId:o,children:c,...u}=e,d=(0,a.useId)(),h=o||d,x=D(A,i),g=x.currentTabStopId===h,b=R(i),{onFocusableItemAdd:y,onFocusableItemRemove:j,currentTabStopId:w}=x,k=v();return f(()=>{if(k&&s)return y(),()=>j()},[k,s,y,j]),t.useEffect(()=>{if(!k&&s)return y(),()=>j()},[k,s,y,j]),(0,m.jsx)(T.ItemSlot,{scope:i,id:h,focusable:s,active:l,children:(0,m.jsx)(p.span,{tabIndex:g?0:-1,"data-orientation":x.orientation,...u,ref:n,onMouseDown:r(e.onMouseDown,e=>{s?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 n;let i=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return U[i]}(e,x.orientation,x.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&i.reverse();let s=i.indexOf(e.currentTarget);i=x.loop?(r=i,n=s+1,r.map((e,t)=>r[(n+t)%r.length])):i.slice(s+1)}setTimeout(()=>q(i))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=w}):c})})});P.displayName=A;var U={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function q(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,P,"Root",0,M,"createRovingFocusGroupScope",0,E],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 n=(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,n],853138);var i=e.i(482022),s=e.i(269846);let l=(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 a=e.i(948148),o=e.i(271645),c=e.i(653090),u=e.i(278015),d=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),b=e.i(980376),y=e.i(987968),j=e.i(520133),v=e.i(637611),w=e.i(741725),k=e.i(467511);let S={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 T(e){return e?new Date(e).toLocaleString():"—"}function R({ticket:e}){let r=(0,a.useTranslations)("jiraTickets"),n=[[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"),T(e.createdAt)],[r("updated"),T(e.updatedAt)],[r("due"),T(e.dueAt)],[r("resolved"),T(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:n.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 C({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 T=(0,a.useTranslations)("jiraTickets"),[N,E]=(0,o.useState)(null),[I,D]=(0,o.useState)(null),[M,$]=(0,o.useState)(!1),[A,P]=(0,o.useState)(!1);(0,o.useEffect)(()=>{if(!e){let e=window.setTimeout(()=>E(null),0);return()=>window.clearTimeout(e)}let t=window.setTimeout(async()=>{$(!0);try{let t=await (0,v.controlPlaneRequest)(`query JiraTicket($issueKey: ID!) { jiraTicket(issueKey: $issueKey) { ${k.JIRA_TICKET_DETAIL_FIELDS} } }`,{issueKey:e});E(t.jiraTicket),D(null)}catch(e){D(e instanceof Error?e.message:String(e))}finally{$(!1)}},0);return()=>window.clearTimeout(t)},[e]);let U=e=>{E(e),c?.(e)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Sheet,{onOpenChange:e=>{e||r()},open:!!e,children:(0,t.jsxs)(b.SheetContent,{className:"w-[min(48rem,95vw)] overflow-y-auto sm:max-w-3xl",children:[(0,t.jsxs)(b.SheetHeader,{className:"border-b pr-12",children:[(0,t.jsx)(b.SheetTitle,{children:N?.key??e??T("ticket")}),(0,t.jsx)(b.SheetDescription,{children:N?.summary??T("loadingTicket")})]}),(0,t.jsxs)("div",{className:"space-y-6 px-4 pb-6",children:[M&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(y.Spinner,{}),T("loadingTicket")]}),I&&(0,t.jsx)(p.Alert,{variant:"destructive",children:(0,t.jsx)(p.AlertDescription,{children:I})}),N&&(0,t.jsxs)(t.Fragment,{children:[(N.cache.stale||N.commentsCache.stale)&&(0,t.jsxs)(p.Alert,{className:"border-amber-500/30 bg-amber-500/10",children:[(0,t.jsx)(n,{}),(0,t.jsx)(p.AlertDescription,{children:T("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:N.status}),N.issueType&&(0,t.jsx)(h.Badge,{children:N.issueType}),N.priority&&(0,t.jsx)(h.Badge,{className:S[N.priority.trim().toLowerCase()],children:N.priority})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxs)(f.Button,{onClick:()=>P(!0),size:"sm",variant:"outline",children:[(0,t.jsx)(s.GitBranch,{})," ",T("worktreeAction")]}),(0,t.jsx)(f.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)(j.Link,{href:`/jira/tickets/${encodeURIComponent(N.key)}`,children:[(0,t.jsx)(l,{})," ",T("openFullDetails")]})}),(0,t.jsx)(f.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)("a",{href:N.jiraUrl,rel:"noreferrer",target:"_blank",children:[(0,t.jsx)(i.ExternalLink,{})," ",T("openInJira")]})})]})]}),(0,t.jsx)(d.JiraTicketActions,{onTicketChange:U,ticket:N}),(0,t.jsx)(R,{ticket:N}),(0,t.jsx)("section",{children:(0,t.jsx)(x.Card,{size:"sm",children:(0,t.jsx)(x.CardContent,{children:(0,t.jsx)(u.JiraRichTextBlock,{content:N.descriptionContent,header:(0,t.jsx)("h3",{className:"font-semibold",children:T("descriptionTitle")}),headerClassName:"border-b pb-2",value:N.description})})})}),(N.labels.length>0||N.components.length>0||N.fixVersions.length>0||N.sprintNames.length>0)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-2 font-semibold",children:T("classification")}),(0,t.jsxs)("dl",{className:"grid gap-3 text-sm sm:grid-cols-2",children:[N.labels.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-muted-foreground",children:T("labels")}),(0,t.jsx)("dd",{className:"mt-1 flex flex-wrap gap-1",children:N.labels.map(e=>(0,t.jsx)(h.Badge,{children:e},e))})]}),N.components.length>0&&(0,t.jsx)(C,{label:T("components"),values:N.components.map(e=>e.name)}),N.fixVersions.length>0&&(0,t.jsx)(C,{label:T("fixVersions"),values:N.fixVersions.map(e=>e.name)}),N.sprintNames.length>0&&(0,t.jsx)(C,{label:T("sprints"),values:N.sprintNames})]})]}),(N.parent||N.subtasks.length>0||N.issueLinks.length>0)&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-2 font-semibold",children:T("relatedIssues")}),(0,t.jsx)(g.ItemGroup,{className:"gap-2",children:[...N.parent?[N.parent]:[],...N.subtasks,...N.issueLinks].map((e,r)=>(0,t.jsx)(g.Item,{asChild:!0,size:"xs",variant:"outline",children:(0,t.jsxs)(j.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}`))})]}),N.attachments.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-2 font-semibold",children:T("attachments")}),(0,t.jsx)(g.ItemGroup,{className:"gap-2",children:N.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:U,ticket:N})]})]})]})}),N&&(0,t.jsx)(w.TicketWorktreeDialog,{issueKey:N.key,onOpenChange:P,open:A})]})}],356505)},948812,e=>{"use strict";function t(e){return`${e.repositoryNameWithOwner}#${e.number}`}e.s(["pullRequestCommentsHref",0,function(e){return`/comments?pullRequest=${encodeURIComponent(t(e))}`},"pullRequestDetailHref",0,function(e){let[t="",r=""]=e.repositoryNameWithOwner.split("/");return`/pull-requests/${encodeURIComponent(t)}/${encodeURIComponent(r)}/${e.number}`},"pullRequestKey",0,t])},647776,e=>{"use strict";var t=e.i(843476),r=e.i(716327),n=e.i(482022),i=e.i(395925),s=e.i(948148),l=e.i(271645),a=e.i(487486),o=e.i(519455),c=e.i(755146),u=e.i(987968),d=e.i(746798),m=e.i(637611);function p({pipeline:e,repositoryId:r,onPipelineRetried:n,onError:a}){let c=(0,s.useTranslations)("pullRequests"),[h,f]=(0,l.useState)(!1),x=async t=>{if(t.stopPropagation(),e.canRetry&&e.checkSuiteId){f(!0);try{let t=await (0,m.controlPlaneRequest)(`mutation RetryGitHubPipeline(
|
|
26
|
+
$repositoryId: ID!
|
|
27
|
+
$checkSuiteId: ID!
|
|
28
|
+
) {
|
|
29
|
+
retryGitHubPipeline(
|
|
30
|
+
repositoryId: $repositoryId
|
|
31
|
+
checkSuiteId: $checkSuiteId
|
|
32
|
+
) { id name status url checkSuiteId canRetry retryUnavailableReason jobs { id name status url canRetry retryUnavailableReason steps { number name status } } }
|
|
33
|
+
}`,{repositoryId:r,checkSuiteId:e.checkSuiteId});n?.(t.retryGitHubPipeline),a?.(null)}catch(e){a?.(e instanceof Error?e.message:String(e))}finally{f(!1)}}},g=(0,t.jsxs)(o.Button,{disabled:h||!e.canRetry||!e.checkSuiteId,onClick:e=>void x(e),size:"sm",variant:"outline",children:[h?(0,t.jsx)(u.Spinner,{}):(0,t.jsx)(i.RotateCcw,{}),c(h?"retrying":"retry")]});if(!e.retryUnavailableReason||h)return g;let b=c(`retryUnavailable.${e.retryUnavailableReason}`);return(0,t.jsx)(d.TooltipProvider,{children:(0,t.jsxs)(d.Tooltip,{children:[(0,t.jsx)(d.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{"aria-label":b,className:"inline-flex",tabIndex:0,children:g})}),(0,t.jsx)(d.TooltipContent,{children:b})]})})}function h(e){return"SUCCESS"===e?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"PENDING"===e||"EXPECTED"===e||"QUEUED"===e||"IN_PROGRESS"===e||"ACTION_REQUIRED"===e?"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300":"FAILURE"===e||"ERROR"===e||"CANCELLED"===e||"STALE"===e||"STARTUP_FAILURE"===e||"TIMED_OUT"===e?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-slate-500/30 bg-slate-500/10 text-slate-700 dark:text-slate-300"}e.s(["PipelineMenu",0,function({pipelineStatus:e,pipelines:i,repositoryId:u,onPipelineRetried:d}){let m=(0,s.useTranslations)("pullRequests"),[f,x]=(0,l.useState)(null),g=e=>e.stopPropagation();return(0,t.jsxs)(c.DropdownMenu,{children:[(0,t.jsx)(c.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(o.Button,{className:`h-5 rounded-full px-2 py-0.5 text-xs ${h(e)}`,onClick:g,variant:"outline",children:[m(`pipelineStates.${e}`),(0,t.jsx)(r.ChevronDown,{className:"size-3"})]})}),(0,t.jsxs)(c.DropdownMenuContent,{align:"end",className:"w-80",onClick:g,children:[(0,t.jsx)(c.DropdownMenuLabel,{children:m("pipelineMenuTitle")}),(0,t.jsx)(c.DropdownMenuSeparator,{}),f&&(0,t.jsx)("p",{className:"px-2 py-1.5 text-xs text-destructive",children:f}),0===i.length?(0,t.jsx)("p",{className:"px-2 py-3 text-sm text-muted-foreground",children:m("noPipelines")}):(0,t.jsx)("div",{className:"space-y-1 p-1",children:i.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-2 hover:bg-muted",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[e.url?(0,t.jsxs)("a",{className:"flex min-w-0 items-center gap-1 text-sm font-medium hover:underline",href:e.url,rel:"noreferrer",target:"_blank",children:[(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)(n.ExternalLink,{className:"size-3 shrink-0"})]}):(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:e.name}),(0,t.jsx)(a.Badge,{className:`mt-1 ${h(e.status)}`,children:m(`pipelineStates.${e.status}`)})]}),e.checkSuiteId&&(0,t.jsx)(p,{onError:x,onPipelineRetried:d,pipeline:e,repositoryId:u})]},e.id))})]})]})},"RetryPipelineButton",0,p,"pipelineStateClass",0,h])},940276,e=>{"use strict";e.s(["findWorktreeOverviewEntry",0,function(e,t){for(let r of e.agents)for(let e of r.codebases){let n=e.worktrees.find(e=>e.id===t);if(n)return{agentGroup:r,group:e,worktree:n}}return null},"shouldNavigateWorktreeSurface",0,function(e){if(e.defaultPrevented||0!==e.button)return!1;let t=e.target;return t instanceof Element&&!!e.currentTarget.contains(t)&&!t.closest("a,button,input,select,textarea,[role='button'],[role='link'],[role='menuitem'],[data-worktree-navigation-ignore]")},"worktreeDetailHref",0,function(e){return`/worktrees/${encodeURIComponent(e)}`}])}]);
|
|
@@ -0,0 +1,27 @@
|
|
|
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),a=e.i(964053),l=e.i(519455),n=e.i(975157);function i({...e}){return(0,t.jsx)(a.Dialog.Portal,{"data-slot":"dialog-portal",...e})}function s({className:e,...r}){return(0,t.jsx)(a.Dialog.Overlay,{className:(0,n.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:d=!0,...c}){return(0,t.jsxs)(i,{children:[(0,t.jsx)(s,{}),(0,t.jsxs)(a.Dialog.Content,{className:(0,n.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",...c,children:[o,d&&(0,t.jsx)(a.Dialog.Close,{asChild:!0,"data-slot":"dialog-close",children:(0,t.jsxs)(l.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,n.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:i,...s}){return(0,t.jsxs)("div",{className:(0,n.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:[i,r&&(0,t.jsx)(a.Dialog.Close,{asChild:!0,children:(0,t.jsx)(l.Button,{variant:"outline",children:"Close"})})]})},"DialogHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,n.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,n.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 l(...e){return r.useCallback(function(...e){return t=>{let r=!1,l=e.map(e=>{let l=a(e,t);return r||"function"!=typeof l||(r=!0),l});if(r)return()=>{for(let t=0;t<l.length;t++){let r=l[t];"function"==typeof r?r():a(e[t],null)}}}}(...e),e)}var n=e.i(30030);function i(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 s=globalThis?.document?r.useLayoutEffect:()=>{};r[" useEffectEvent ".trim().toString()],r[" useInsertionEffect ".trim().toString()];var o=r[" useInsertionEffect ".trim().toString()]||s;Symbol("RADIX:SYNC_STATE");var d=e.i(999682),c=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 x=r[" use ".trim().toString()],f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{var n;let i,s=(n=`Primitive.${a}`,(i=r.forwardRef((e,t)=>{var a;let i,s,{children:o,...d}=e,c=null,u=!1,p=[];h(o)&&"function"==typeof x&&(o=x(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 x&&(t=x(t._payload)),c=((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(c?.props?.children)}else p.push(e)}),c?c=r.cloneElement(c,void 0,p):!u&&1===r.Children.count(o)&&r.isValidElement(o)&&(c=o);let f=c?(a=c,(s=(i=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?a.ref:(s=(i=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?a.props.ref:a.props.ref||a.ref):void 0,b=l(t,f);if(!c){if(o||0===o){let e,t;throw Error(u?(e=n,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=n,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return o}let v=function(e,t){let r={...t};for(let a in t){let l=e[a],n=t[a];/^on[A-Z]/.test(a)?l&&n?r[a]=(...e)=>{let t=n(...e);return l(...e),t}:l&&(r[a]=l):"style"===a?r[a]={...l,...n}:"className"===a&&(r[a]=[l,n].filter(Boolean).join(" "))}return{...e,...r}}(d,c.props??{});return c.type!==r.Fragment&&(v.ref=t?b:f),r.cloneElement(c,v)})).displayName=`${n}.Slot`,i),o=r.forwardRef((e,r)=>{let{asChild:l,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(l?s:a,{...n,ref:r})});return o.displayName=`Primitive.${a}`,{...e,[a]:o}},{}),b="Checkbox",[v,g]=(0,n.createContextScope)(b),[y,j]=v(b);function w(e){let{__scopeCheckbox:a,checked:l,children:n,defaultChecked:i,disabled:s,form:d,name:c,onCheckedChange:u,required:m,value:p="on",internal_do_not_use_render:h}=e,[x,f]=function({prop:e,defaultProp:t,onChange:a=()=>{},caller:l}){let[n,i,s]=function({defaultProp:e,onChange:t}){let[a,l]=r.useState(e),n=r.useRef(a),i=r.useRef(t);return o(()=>{i.current=t},[t]),r.useEffect(()=>{n.current!==a&&(i.current?.(a),n.current=a)},[a,n]),[a,l,i]}({defaultProp:t,onChange:a}),d=void 0!==e,c=d?e:n;{let t=r.useRef(void 0!==e);r.useEffect(()=>{let e=t.current;if(e!==d){let t=d?"controlled":"uncontrolled";console.warn(`${l} 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=d},[d,l])}return[c,r.useCallback(t=>{if(d){let r="function"==typeof t?t(e):t;r!==e&&s.current?.(r)}else i(t)},[d,e,i,s])]}({prop:l,defaultProp:i??!1,onChange:u,caller:b}),[v,g]=r.useState(null),[j,w]=r.useState(null),C=r.useRef(!1),R=!v||!!d||!!v.closest("form"),k={checked:x,disabled:s,setChecked:f,control:v,setControl:g,name:c,form:d,value:p,hasConsumerStoppedPropagationRef:C,required:m,defaultChecked:!D(i)&&i,isFormControl:R,bubbleInput:j,setBubbleInput:w};return(0,t.jsx)(y,{scope:a,...k,children:"function"==typeof h?h(k):n})}var C="CheckboxTrigger",R=r.forwardRef(({__scopeCheckbox:e,onKeyDown:a,onClick:n,...s},o)=>{let{control:d,value:c,disabled:u,checked:m,required:p,setControl:h,setChecked:x,hasConsumerStoppedPropagationRef:b,isFormControl:v,bubbleInput:g}=j(C,e),y=l(o,h),w=r.useRef(m);return r.useEffect(()=>{let e=d?.form;if(e){let t=()=>x(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[d,x]),(0,t.jsx)(f.button,{type:"button",role:"checkbox","aria-checked":D(m)?"mixed":m,"aria-required":p,"data-state":I(m),"data-disabled":u?"":void 0,disabled:u,value:c,...s,ref:y,onKeyDown:i(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:i(n,e=>{x(e=>!!D(e)||!e),g&&v&&(b.current=e.isPropagationStopped(),b.current||e.stopPropagation())})})});R.displayName=C;var k=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,name:l,checked:n,defaultChecked:i,required:s,disabled:o,value:d,onCheckedChange:c,form:u,...m}=e;return(0,t.jsx)(w,{__scopeCheckbox:a,checked:n,defaultChecked:i,disabled:o,required:s,onCheckedChange:c,name:l,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(R,{...m,ref:r,__scopeCheckbox:a}),e&&(0,t.jsx)(S,{__scopeCheckbox:a})]})})});k.displayName=b;var N="CheckboxIndicator",E=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,forceMount:l,...n}=e,i=j(N,a);return(0,t.jsx)(u.Presence,{present:l||D(i.checked)||!0===i.checked,children:(0,t.jsx)(f.span,{"data-state":I(i.checked),"data-disabled":i.disabled?"":void 0,...n,ref:r,style:{pointerEvents:"none",...e.style}})})});E.displayName=N;var T="CheckboxBubbleInput",S=r.forwardRef(({__scopeCheckbox:e,...a},n)=>{let{control:i,hasConsumerStoppedPropagationRef:s,checked:o,defaultChecked:u,required:m,disabled:p,name:h,value:x,form:b,bubbleInput:v,setBubbleInput:g}=j(T,e),y=l(n,g),w=(0,d.usePrevious)(o),C=(0,c.useSize)(i);r.useEffect(()=>{if(!v)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!s.current;if(w!==o&&e){let r=new Event("click",{bubbles:t});v.indeterminate=D(o),e.call(v,!D(o)&&o),v.dispatchEvent(r)}},[v,w,o,s]);let R=r.useRef(!D(o)&&o);return(0,t.jsx)(f.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??R.current,required:m,disabled:p,name:h,value:x,form:b,...a,tabIndex:-1,ref:y,style:{...a.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function D(e){return"indeterminate"===e}function I(e){return D(e)?"indeterminate":e?"checked":"unchecked"}S.displayName=T,e.s(["Checkbox",0,k,"CheckboxIndicator",0,E,"Indicator",0,E,"Root",0,k,"createCheckboxScope",0,g,"unstable_BubbleInput",0,S,"unstable_CheckboxBubbleInput",0,S,"unstable_CheckboxProvider",0,w,"unstable_CheckboxTrigger",0,R,"unstable_Provider",0,w,"unstable_Trigger",0,R],388474);var q=e.i(388474),q=q,A=e.i(975157),L=e.i(593698);e.s(["Checkbox",0,function({className:e,...r}){return(0,t.jsx)(q.Root,{"data-slot":"checkbox",className:(0,A.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)(q.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,t.jsx)(L.CheckIcon,{})})})}],59497)},730274,e=>{"use strict";let t=(0,e.i(456420).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",0,t],730274)},142833,e=>{"use strict";var t=e.i(843476),r=e.i(159888),a=e.i(689664),l=e.i(508734),n=e.i(772382),i=e.i(948148),s=e.i(271645),o=e.i(519455),d=e.i(462777),c=e.i(975157);function u({bodyHtml:e,className:r}){return(0,t.jsx)("div",{className:(0,c.cn)("prose prose-sm max-w-none break-words dark:prose-invert prose-a:text-primary prose-pre:overflow-x-auto [&_details>summary]:cursor-pointer",r),dangerouslySetInnerHTML:{__html:e}})}e.s(["GitHubMarkdownBlock",0,function({body:e,bodyHtml:m,emptyLabel:p,header:h,headerActions:x,headerClassName:f}){let b=(0,i.useTranslations)("githubComments"),[v,g]=(0,s.useState)("RENDERED"),[y,j]=(0,s.useState)("IDLE");(0,s.useEffect)(()=>{if("COPIED"!==y)return;let e=window.setTimeout(()=>j("IDLE"),2e3);return()=>window.clearTimeout(e)},[y]);let w=async()=>{try{await (0,d.copyText)(e),j("COPIED")}catch{j("FAILED")}};return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:(0,c.cn)("flex flex-wrap items-center justify-between gap-2",f),children:[(0,t.jsx)("div",{className:"min-w-0",children:h}),(e||x)&&(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[x,e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.Button,{onClick:()=>g(e=>"RENDERED"===e?"MARKDOWN":"RENDERED"),size:"xs",type:"button",variant:"outline",children:["RENDERED"===v?(0,t.jsx)(r.Braces,{}):(0,t.jsx)(n.Eye,{}),b("RENDERED"===v?"viewRaw":"viewRendered")]}),(0,t.jsxs)(o.Button,{"aria-label":b("copy"),onClick:()=>void w(),size:"xs",type:"button",variant:"outline",children:["COPIED"===y?(0,t.jsx)(a.Check,{}):(0,t.jsx)(l.Copy,{}),b("COPIED"===y?"copied":"copy")]})]})]})]}),"FAILED"===y&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:b("copyFailed")}),e?"MARKDOWN"===v?(0,t.jsx)("pre",{className:"rounded-lg bg-muted p-3 text-xs whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:e}):(0,t.jsx)(u,{bodyHtml:m}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:p})]})}])},16781,e=>{"use strict";var t=e.i(843476),r=e.i(482022),a=e.i(730274),l=e.i(948148),n=e.i(271645),i=e.i(142833),s=e.i(948812),o=e.i(929592),d=e.i(799676),c=e.i(487486),u=e.i(519455),m=e.i(515288),p=e.i(987968),h=e.i(624687),x=e.i(520133),f=e.i(637611);function b(e,t){let r=Math.round((Date.parse(e)-Date.now())/1e3),a=new Intl.RelativeTimeFormat(t,{numeric:"auto"});for(let[e,t]of[["year",31536e3],["month",2592e3],["week",604800],["day",86400],["hour",3600],["minute",60]])if(Math.abs(r)>=t)return a.format(Math.round(r/t),e);return a.format(r,"second")}function v({actor:e,compact:r=!1}){let a=(0,l.useTranslations)("githubComments");return e?(0,t.jsxs)("a",{className:"inline-flex min-w-0 items-center gap-2 hover:underline",href:e.url,rel:"noreferrer",target:"_blank",children:[(0,t.jsxs)(d.Avatar,{className:r?"size-5":"size-7",children:[(0,t.jsx)(d.AvatarImage,{alt:"",src:e.avatarUrl}),(0,t.jsx)(d.AvatarFallback,{children:e.login.slice(0,1).toUpperCase()})]}),(0,t.jsxs)("span",{className:"truncate",children:["@",e.login]})]}):(0,t.jsx)("span",{children:a("unknownAuthor")})}function g(e,t){if("FILE"===e.subjectType)return`${e.path} \xb7 ${t}`;let r=e.line??e.originalLine,a=e.startLine??e.originalStartLine;return null===r?e.path:`${e.path} \xb7 L${a&&a!==r?`${a}–`:""}${r}`}function y({label:e,url:a}){return(0,t.jsx)(u.Button,{asChild:!0,size:"icon-xs",title:e,variant:"outline",children:(0,t.jsx)("a",{"aria-label":e,href:a,rel:"noreferrer",target:"_blank",children:(0,t.jsx)(r.ExternalLink,{})})})}e.s(["ReviewAuthor",0,v,"ReviewThreadCard",0,function({locale:e,onReplyAdded:r,onStateChanged:d,thread:j}){let w=(0,l.useTranslations)("githubComments"),[C,R]=(0,n.useState)(""),[k,N]=(0,n.useState)(!1),[E,T]=(0,n.useState)(!1),[S,D]=(0,n.useState)(null),I=async e=>{if(e.preventDefault(),C.trim()&&j.viewerCanReply){N(!0);try{let e=await (0,f.controlPlaneRequest)(`mutation ReplyToGitHubReviewThread($threadId: ID!, $body: String!) {
|
|
2
|
+
replyToGitHubReviewThread(threadId: $threadId, body: $body) {
|
|
3
|
+
id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt
|
|
4
|
+
}
|
|
5
|
+
}`,{threadId:j.id,body:C});r(j.id,e.replyToGitHubReviewThread),R(""),D(null)}catch(e){D(e instanceof Error?e.message:String(e))}finally{N(!1)}}},q=async()=>{let e=!j.isResolved;if((!e||j.viewerCanResolve)&&(e||j.viewerCanUnresolve)){T(!0);try{let t=await (0,f.controlPlaneRequest)(`mutation SetGitHubReviewThreadResolved(
|
|
6
|
+
$threadId: ID!
|
|
7
|
+
$resolved: Boolean!
|
|
8
|
+
) {
|
|
9
|
+
setGitHubReviewThreadResolved(
|
|
10
|
+
threadId: $threadId
|
|
11
|
+
resolved: $resolved
|
|
12
|
+
) { id isResolved viewerCanResolve viewerCanUnresolve resolvedBy { login avatarUrl url } }
|
|
13
|
+
}`,{threadId:j.id,resolved:e});d(t.setGitHubReviewThreadResolved),D(null)}catch(e){D(e instanceof Error?e.message:String(e))}finally{T(!1)}}},A=j.isResolved?j.viewerCanUnresolve:j.viewerCanResolve;return(0,t.jsx)(m.Card,{children:(0,t.jsxs)(m.CardContent,{className:"space-y-5",children:[(0,t.jsx)(i.GitHubMarkdownBlock,{body:j.rootComment.body,bodyHtml:j.rootComment.bodyHtml,emptyLabel:"—",header:(0,t.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,t.jsx)(v,{actor:j.rootComment.author}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,t.jsx)("time",{className:"text-muted-foreground",dateTime:j.rootComment.createdAt,title:new Date(j.rootComment.createdAt).toLocaleString(e),children:b(j.rootComment.createdAt,e)})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsx)(c.Badge,{className:"max-w-full",title:g(j,w("fileComment")),variant:"outline",children:g(j,w("fileComment"))}),j.isOutdated&&(0,t.jsx)(c.Badge,{variant:"secondary",children:w("outdated")}),(0,t.jsx)(c.Badge,{variant:j.isResolved?"secondary":"outline",children:j.isResolved?w("resolved"):w("unresolved")}),(0,t.jsxs)(x.Link,{className:"font-medium text-primary hover:underline",href:(0,s.pullRequestDetailHref)(j.pullRequest),children:[j.pullRequest.repositoryNameWithOwner," #",j.pullRequest.number]})]})]}),headerActions:(0,t.jsx)(y,{label:w("openInGitHub"),url:j.rootComment.url}),headerClassName:"border-b pb-4"}),j.replies.length>0&&(0,t.jsx)("div",{className:"space-y-3",children:j.replies.map(r=>(0,t.jsx)(m.Card,{size:"sm",children:(0,t.jsx)(m.CardContent,{children:(0,t.jsx)(i.GitHubMarkdownBlock,{body:r.body,bodyHtml:r.bodyHtml,emptyLabel:"—",header:(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsx)(v,{actor:r.author,compact:!0}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,t.jsx)("time",{className:"text-muted-foreground",dateTime:r.createdAt,children:b(r.createdAt,e)})]}),headerActions:(0,t.jsx)(y,{label:w("openReplyInGitHub"),url:r.url}),headerClassName:"border-b pb-3"})})},r.id))}),S&&(0,t.jsx)(o.Alert,{variant:"destructive",children:(0,t.jsx)(o.AlertDescription,{children:S})}),(0,t.jsxs)("form",{className:"space-y-3",onSubmit:I,children:[(0,t.jsx)(h.Textarea,{"aria-label":w("reply"),disabled:!j.viewerCanReply||k,onChange:e=>R(e.target.value),placeholder:j.viewerCanReply?w("replyPlaceholder"):w("replyUnavailable"),value:C}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,t.jsxs)(u.Button,{disabled:!A||E,onClick:()=>void q(),type:"button",variant:"outline",children:[E&&(0,t.jsx)(p.Spinner,{}),j.isResolved?w("reopen"):w("resolve")]}),(0,t.jsxs)(u.Button,{disabled:!j.viewerCanReply||k||!C.trim(),type:"submit",children:[k?(0,t.jsx)(p.Spinner,{}):(0,t.jsx)(a.Send,{}),k?w("replying"):w("sendReply")]})]})]})]})})},"relativeAge",0,b])},360107,e=>{"use strict";var t=e.i(843476),r=e.i(482022),a=e.i(851817),l=e.i(882505),n=e.i(927735),i=e.i(741120),s=e.i(861745),o=e.i(948148),d=e.i(271645),c=e.i(948812),u=e.i(16781),m=e.i(929592),p=e.i(519455),h=e.i(59497),x=e.i(82612),f=e.i(110204),b=e.i(337355),v=e.i(987968),g=e.i(784774),y=e.i(808562),j=e.i(520133),w=e.i(637611);let C="github-comments-layout",R="__all_pull_requests__",k=`
|
|
14
|
+
id isResolved isOutdated subjectType path line startLine originalLine originalStartLine
|
|
15
|
+
viewerCanReply viewerCanResolve viewerCanUnresolve
|
|
16
|
+
resolvedBy { login avatarUrl url }
|
|
17
|
+
pullRequest { id number title url repositoryNameWithOwner }
|
|
18
|
+
rootComment { id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt }
|
|
19
|
+
replies { id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt }
|
|
20
|
+
`;function N(e,t=!0){let r=new URLSearchParams(window.location.search);e?r.set("pullRequest",e):r.delete("pullRequest");let a=r.toString(),l=`${window.location.pathname}${a?`?${a}`:""}`;t?window.history.pushState(null,"",l):window.history.replaceState(null,"",l)}function E({checked:e,id:r,label:a,onCheckedChange:l}){return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Checkbox,{checked:e,id:r,onCheckedChange:e=>l(!!e)}),(0,t.jsx)(f.Label,{htmlFor:r,children:a})]})}function T({locale:e,threads:a}){let l=(0,o.useTranslations)("githubComments");return(0,t.jsx)("div",{className:"overflow-x-auto rounded-lg border",children:(0,t.jsxs)(g.Table,{children:[(0,t.jsx)(g.TableHeader,{children:(0,t.jsxs)(g.TableRow,{className:"hover:bg-transparent",children:[(0,t.jsx)(g.TableHead,{children:l("author")}),(0,t.jsx)(g.TableHead,{children:l("pullRequest")}),(0,t.jsx)(g.TableHead,{children:l("comment")}),(0,t.jsx)(g.TableHead,{children:l("date")}),(0,t.jsx)(g.TableHead,{children:l("replies")}),(0,t.jsx)(g.TableHead,{className:"text-right",children:l("github")})]})}),(0,t.jsx)(g.TableBody,{children:a.map(a=>(0,t.jsxs)(g.TableRow,{children:[(0,t.jsx)(g.TableCell,{className:"min-w-40",children:(0,t.jsx)(u.ReviewAuthor,{actor:a.rootComment.author,compact:!0})}),(0,t.jsx)(g.TableCell,{className:"min-w-64 whitespace-normal",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)(j.Link,{className:"font-semibold text-primary hover:underline",href:(0,c.pullRequestDetailHref)(a.pullRequest),children:[a.pullRequest.repositoryNameWithOwner," #",a.pullRequest.number]}),(0,t.jsx)(j.Link,{className:"text-sm hover:underline",href:(0,c.pullRequestDetailHref)(a.pullRequest),children:a.pullRequest.title})]})}),(0,t.jsx)(g.TableCell,{className:"min-w-80 whitespace-pre-wrap",children:a.rootComment.bodyText}),(0,t.jsx)(g.TableCell,{className:"whitespace-nowrap text-muted-foreground",children:(0,t.jsx)("time",{dateTime:a.rootComment.createdAt,children:(0,u.relativeAge)(a.rootComment.createdAt,e)})}),(0,t.jsx)(g.TableCell,{children:a.replies.length}),(0,t.jsx)(g.TableCell,{className:"text-right",children:(0,t.jsx)(p.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,t.jsx)("a",{"aria-label":l("openInGitHub"),href:a.rootComment.url,rel:"noreferrer",target:"_blank",children:(0,t.jsx)(r.ExternalLink,{})})})})]},a.id))})]})})}e.s(["CommentsPage",0,function({initialPullRequest:e=null}){let r=(0,o.useTranslations)("githubComments"),h=(0,s.useLocale)(),[g,S]=(0,d.useState)(null),[D,I]=(0,d.useState)(null),[q,A]=(0,d.useState)(!0),[L,H]=(0,d.useState)(!1),[$,P]=(0,d.useState)(null),[_,B]=(0,d.useState)(e??""),[O,M]=(0,d.useState)(!0),[z,G]=(0,d.useState)(!0),[U,F]=(0,d.useState)(!0),[W,K]=(0,d.useState)("cards"),V=(0,d.useCallback)(async()=>{try{let e=await (0,w.controlPlaneRequest)("query GitHubCommentsConfiguration { githubSettings { tokenConfigured updatedAt } }");S(e.githubSettings),P(null)}catch(e){P(e instanceof Error?e.message:String(e))}finally{A(!1)}},[]),X=(0,d.useCallback)(async()=>{H(!0);try{let e=await (0,w.controlPlaneRequest)(`query GitHubReviewThreads {
|
|
21
|
+
githubReviewThreads {
|
|
22
|
+
viewerLogin
|
|
23
|
+
truncated
|
|
24
|
+
pullRequests { id number title url repositoryNameWithOwner }
|
|
25
|
+
threads { ${k} }
|
|
26
|
+
}
|
|
27
|
+
}`);I(e.githubReviewThreads),P(null)}catch(e){P(e instanceof Error?e.message:String(e))}finally{H(!1)}},[]);(0,d.useEffect)(()=>{let e=window.setTimeout(()=>void V(),0);return()=>window.clearTimeout(e)},[V]),(0,d.useEffect)(()=>{let e=window.localStorage.getItem(C);if("cards"!==e&&"table"!==e)return;let t=window.setTimeout(()=>K(e),0);return()=>window.clearTimeout(t)},[]),(0,d.useEffect)(()=>{if(!g?.tokenConfigured||D||L)return;let e=window.setTimeout(()=>void X(),0);return()=>window.clearTimeout(e)},[X,L,D,g?.tokenConfigured]),(0,d.useEffect)(()=>{let e=()=>B(new URLSearchParams(window.location.search).get("pullRequest")??"");return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),(0,d.useEffect)(()=>{!D||!_||D.pullRequests.some(e=>(0,c.pullRequestKey)(e)===_)||N(null,!1)},[D,_]);let Y=_&&D?.pullRequests.some(e=>(0,c.pullRequestKey)(e)===_)?_:"",Z=(0,d.useMemo)(()=>[{value:R,label:r("allPullRequests")},...D?.pullRequests.map(e=>({value:(0,c.pullRequestKey)(e),label:`#${e.number} ${e.title}`,description:e.repositoryNameWithOwner,keywords:`${e.repositoryNameWithOwner} ${e.number} ${e.title}`}))??[]],[D?.pullRequests,r]),J=(0,d.useMemo)(()=>{if(!D||!O&&!z)return[];let e=D.viewerLogin.toLowerCase();return D.threads.filter(t=>(!Y||(0,c.pullRequestKey)(t.pullRequest)===Y)&&(t.rootComment.author?.login.toLowerCase()===e?!!O:!!z)&&(!U||!t.isResolved))},[O,z,D,U,Y]),Q=(e,t)=>{I(r=>r?{...r,threads:r.threads.map(r=>r.id===e?{...r,replies:[...r.replies,t]}:r)}:r)},ee=e=>{I(t=>t?{...t,threads:t.threads.map(t=>t.id===e.id?{...t,...e}:t)}:t)};return(0,t.jsxs)("section",{className:"mx-auto flex w-full max-w-[1800px] flex-col gap-5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:r("title")}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:r("description")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(p.Button,{disabled:!g?.tokenConfigured||L,onClick:()=>void X(),variant:"outline",children:[(0,t.jsx)(i.RefreshCw,{className:L?"animate-spin":void 0}),r("refresh")]}),(0,t.jsxs)(y.ToggleGroup,{"aria-label":r("layout"),onValueChange:e=>{("cards"===e||"table"===e)&&(K(e),window.localStorage.setItem(C,e))},size:"sm",spacing:0,type:"single",value:W,variant:"outline",children:[(0,t.jsx)(y.ToggleGroupItem,{"aria-label":r("cards"),value:"cards",children:(0,t.jsx)(a.Grid2X2,{})}),(0,t.jsx)(y.ToggleGroupItem,{"aria-label":r("table"),value:"table",children:(0,t.jsx)(l.List,{})})]})]})]}),$&&(0,t.jsx)(m.Alert,{variant:"destructive",children:(0,t.jsx)(m.AlertDescription,{children:$})}),q?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(v.Spinner,{})," ",r("loadingConfiguration")]}):g?.tokenConfigured?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-5 rounded-lg border p-4",children:[(0,t.jsxs)("div",{className:"min-w-64 flex-1",children:[(0,t.jsx)(f.Label,{className:"mb-2 block",children:r("pullRequestFilter")}),(0,t.jsx)(b.SearchableSelect,{ariaLabel:r("pullRequestFilter"),emptyMessage:r("noPullRequestMatches"),onValueChange:e=>{let t=e===R?"":e;B(t),N(t||null)},options:Z,placeholder:r("allPullRequests"),searchPlaceholder:r("searchPullRequests"),value:Y||R})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-5 pb-2",children:[(0,t.jsx)(E,{checked:O,id:"comments-current-user",label:r("currentUser"),onCheckedChange:M}),(0,t.jsx)(E,{checked:z,id:"comments-other-users",label:r("otherUsers"),onCheckedChange:G}),(0,t.jsx)(E,{checked:U,id:"comments-unresolved",label:r("unresolved"),onCheckedChange:F})]})]}),D?.truncated&&(0,t.jsx)(m.Alert,{children:(0,t.jsx)(m.AlertDescription,{children:r("truncated")})}),L&&!D?(0,t.jsxs)("div",{className:"flex items-center gap-2 py-10 text-sm text-muted-foreground",children:[(0,t.jsx)(v.Spinner,{})," ",r("loading")]}):0===J.length?(0,t.jsx)(x.Empty,{className:"border py-12",children:(0,t.jsxs)(x.EmptyHeader,{children:[(0,t.jsx)(x.EmptyMedia,{variant:"icon",children:(0,t.jsx)(n.MessageSquareText,{})}),(0,t.jsx)(x.EmptyTitle,{children:r("empty")}),(0,t.jsx)(x.EmptyDescription,{children:r("emptyDescription")})]})}):"cards"===W?(0,t.jsx)("div",{className:"space-y-5",children:J.map(e=>(0,t.jsx)(u.ReviewThreadCard,{locale:h,onReplyAdded:Q,onStateChanged:ee,thread:e},e.id))}):(0,t.jsx)(T,{locale:h,threads:J})]}):(0,t.jsxs)(x.Empty,{className:"border py-12",children:[(0,t.jsxs)(x.EmptyHeader,{children:[(0,t.jsx)(x.EmptyMedia,{variant:"icon",children:(0,t.jsx)(n.MessageSquareText,{})}),(0,t.jsx)(x.EmptyTitle,{children:r("credentialsRequired")}),(0,t.jsx)(x.EmptyDescription,{children:r("credentialsDescription")})]}),(0,t.jsx)(p.Button,{asChild:!0,className:"mt-4",children:(0,t.jsx)(j.Link,{href:"/settings",children:r("openSettings")})})]})]})}])}]);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,885325,e=>{"use strict";var t=e.i(843476),s=e.i(876561),i=e.i(711241),a=e.i(131460),n=e.i(456420);let l=(0,n.default)("arrow-up-to-line",[["path",{d:"M5 3h14",key:"7usisc"}],["path",{d:"m18 13-6-6-6 6",key:"1kf1n9"}],["path",{d:"M12 7v14",key:"1akyts"}]]);var r=e.i(689664),d=e.i(508734),o=e.i(762368);let c=(0,n.default)("file-braces",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),u=(0,n.default)("chart-no-axes-column",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V3",key:"1lcnhd"}],["path",{d:"M19 21V9",key:"unv183"}]]);var m=e.i(716327),x=e.i(867927),p=e.i(929272),h=e.i(573474),g=e.i(861745),f=e.i(948148),j=e.i(271645),v=e.i(340953),b=e.i(929592),y=e.i(487486),S=e.i(519455),N=e.i(515288),C=e.i(82612),T=e.i(987968),w=e.i(677572),A=e.i(784774),I=e.i(520133),E=e.i(462777),k=e.i(637611),P=e.i(90969);let R=["DEBUGGING","RELEASE_TESTING","ENTERPRISE","APP_STORE_CONNECT"],B={DEBUGGING:"DEVELOPMENT",RELEASE_TESTING:"AD_HOC",ENTERPRISE:"ENTERPRISE",APP_STORE_CONNECT:"APP_STORE"};function D(e,t){return"*"===e||(e.endsWith(".*")?t.startsWith(e.slice(0,-1)):e===t)}var L=e.i(776639),O=e.i(110204),U=e.i(967489);let $=`query BuildSigningOptions($buildId: ID!) {
|
|
2
|
+
buildSigningOptions(buildId: $buildId) {
|
|
3
|
+
teams { id name }
|
|
4
|
+
identities { sha1 name teamId }
|
|
5
|
+
profiles {
|
|
6
|
+
uuid name teamId teamName bundleId type platforms expiresAt expired xcodeManaged
|
|
7
|
+
certificateSha1s
|
|
8
|
+
}
|
|
9
|
+
bundles { bundleId name relativePath embeddedProfileUuid embeddedProfileName }
|
|
10
|
+
}
|
|
11
|
+
}`;function F(e,t,s,i){let a=B[s];return e.filter(e=>e.type===a&&!e.expired&&(0===e.platforms.length||e.platforms.includes("iOS"))&&D(e.bundleId,t)&&(!i||!e.teamId||e.teamId===i))}function M({buildId:e,open:s,onOpenChange:i,onSaved:a}){let n=(0,f.useTranslations)("builds"),[l,r]=(0,j.useState)("DEBUGGING"),[d,o]=(0,j.useState)("AUTOMATIC"),[c,u]=(0,j.useState)(""),[m,x]=(0,j.useState)(""),[p,h]=(0,j.useState)({}),[g,v]=(0,j.useState)(!1),[y,N]=(0,j.useState)(null),[C,w]=(0,j.useState)(!1),[A,I]=(0,j.useState)(!1),[P,B]=(0,j.useState)(null),[_,V]=(0,j.useState)(null),G=(0,j.useCallback)(async()=>{w(!0),V(null);try{let t=await (0,k.controlPlaneRequest)($,{buildId:e});N(t.buildSigningOptions);let s=t.buildSigningOptions.bundles.map(e=>t.buildSigningOptions.profiles.find(t=>t.uuid===e.embeddedProfileUuid)).find(e=>e?.teamId);s?.teamId?u(s.teamId):1===t.buildSigningOptions.teams.length&&u(t.buildSigningOptions.teams[0].id)}catch(e){V(e instanceof Error?e.message:String(e))}finally{w(!1)}},[e]);(0,j.useEffect)(()=>{if(!s)return;let e=window.setTimeout(()=>void G(),0);return()=>window.clearTimeout(e)},[s,G]);let q=`${l}:${c}`,[z,H]=(0,j.useState)(q);q!==z&&(H(q),h({}),x(""));let W="MANUAL"===d,J=Object.fromEntries((y?.bundles??[]).flatMap(e=>{let t=F(y?.profiles??[],e.bundleId,l,c),s=p[e.bundleId]??function(e,t){if(!e.length)return null;let s=e.find(e=>e.uuid===t.embeddedProfileUuid);return s||[...e].sort((e,t)=>(t.expiresAt??"").localeCompare(e.expiresAt??""))[0]}(t,e)?.uuid;return s?[[e.bundleId,s]]:[]})),Q=Object.values(J).flatMap(e=>{let t=y?.profiles.find(t=>t.uuid===e);return t?[t]:[]}),K=Q.length>0&&Q.every(e=>e.certificateSha1s?.length),X=(y?.identities??[]).filter(e=>K?Q.every(t=>t.certificateSha1s.includes(e.sha1.toUpperCase())):!c||!e.teamId||e.teamId===c),Y=X.some(e=>e.sha1===m)?m:"",Z=async()=>{I(!0);try{await (0,k.controlPlaneRequest)(`mutation ExportArchive($input: ExportBuildArchiveInput!) {
|
|
12
|
+
exportBuildArchive(input: $input) { id status }
|
|
13
|
+
}`,{input:{buildId:e,requestId:(0,E.createClientId)(),settings:{method:l,signingStyle:d,teamId:c||null,signingCertificate:Y?X.find(e=>e.sha1===Y)?.name??null:null,provisioningProfiles:W?J:{},uploadSymbols:!0,manageAppVersionAndBuildNumber:!0,testFlightInternalTestingOnly:!1}}}),await a(),i(!1)}catch(e){B(e instanceof Error?e.message:String(e))}finally{I(!1)}},ee=W&&(y?.bundles??[]).some(e=>!J[e.bundleId]);return(0,t.jsx)(L.Dialog,{onOpenChange:i,open:s,children:(0,t.jsxs)(L.DialogContent,{className:"max-h-[85vh] grid-cols-[minmax(0,1fr)] overflow-y-auto sm:max-w-2xl",children:[(0,t.jsxs)(L.DialogHeader,{children:[(0,t.jsx)(L.DialogTitle,{children:n("exportArchive")}),(0,t.jsx)(L.DialogDescription,{children:n("exportArchiveDescription")})]}),P&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsx)(b.AlertDescription,{children:P})}),_&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsxs)(b.AlertDescription,{children:[n("signingOptionsFailed")," ",_]})}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("distributionMethod")}),(0,t.jsxs)(U.Select,{onValueChange:e=>r(e),value:l,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{})}),(0,t.jsx)(U.SelectContent,{children:R.map(e=>(0,t.jsx)(U.SelectItem,{value:e,children:n(`exportMethod.${e}`)},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("developmentTeam")}),(0,t.jsxs)(U.Select,{disabled:C||!y?.teams.length,onValueChange:u,value:c,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:C?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(U.SelectValue,{placeholder:n("selectTeam")})}),(0,t.jsx)(U.SelectContent,{children:(y?.teams??[]).map(e=>(0,t.jsxs)(U.SelectItem,{value:e.id,children:[e.name," (",e.id,")"]},e.id))})]}),!C&&y&&!y.teams.length&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:n("noTeams")})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("signingStyle")}),(0,t.jsxs)(U.Select,{onValueChange:o,value:d,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{})}),(0,t.jsxs)(U.SelectContent,{children:[(0,t.jsx)(U.SelectItem,{value:"AUTOMATIC",children:n("automatic")}),(0,t.jsx)(U.SelectItem,{value:"MANUAL",children:n("manual")})]})]})]}),W&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("signingCertificate")}),(0,t.jsxs)(U.Select,{disabled:C||!X.length,onValueChange:x,value:Y,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{placeholder:n("certificateAutomatic")})}),(0,t.jsx)(U.SelectContent,{children:X.map(e=>(0,t.jsx)(U.SelectItem,{value:e.sha1,children:e.name},e.sha1))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(O.Label,{children:n("provisioningProfiles")}),(0,t.jsx)(S.Button,{onClick:()=>v(e=>!e),size:"sm",type:"button",variant:"ghost",children:g?n("showMatching"):n("showAllProfiles")})]}),C&&(0,t.jsx)(T.Spinner,{}),!C&&!y?.bundles.length&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:n("noArchiveBundles")}),(y?.bundles??[]).map(e=>{let s=F(y?.profiles??[],e.bundleId,l,c),i=g?(y?.profiles??[]).filter(t=>D(t.bundleId,e.bundleId)):s;return(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,t.jsx)("p",{className:"mb-2 break-all font-mono text-xs text-muted-foreground",children:e.bundleId}),(0,t.jsxs)(U.Select,{onValueChange:t=>h(s=>({...s,[e.bundleId]:t})),value:J[e.bundleId]??"",children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{placeholder:n("selectProfile")})}),(0,t.jsx)(U.SelectContent,{children:i.map(e=>{let s;return(0,t.jsxs)(U.SelectItem,{value:e.uuid,children:[(s=e.expiresAt?new Date(e.expiresAt).toLocaleDateString():null)?`${e.name} — ${s}`:e.name,e.expired?` (${n("profileExpired")})`:""]},e.uuid)})})]}),!s.length&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:n("noMatchingProfiles")})]},e.bundleId)})]})]})]}),(0,t.jsxs)(L.DialogFooter,{children:[(0,t.jsx)(S.Button,{onClick:()=>i(!1),variant:"outline",children:n("cancel")}),(0,t.jsxs)(S.Button,{disabled:A||ee,onClick:()=>void Z(),children:[A&&(0,t.jsx)(T.Spinner,{})," ",n("exportArchive")]})]})]})})}let _=(0,n.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var V=e.i(986206);let G=null;function q(){return G??={origin:window.location.origin,secure:"https:"===window.location.protocol,apple:/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&(navigator.maxTouchPoints??0)>1}}let z=()=>()=>{};function H({buildId:e,artifactId:s,metadata:i}){let a=(0,f.useTranslations)("builds"),n=(0,j.useSyncExternalStore)(z,q,()=>null),[l,r]=(0,j.useState)(!1),[d,o]=(0,j.useState)(!1),c=`/api/builds/${encodeURIComponent(e)}/artifacts/${encodeURIComponent(s)}`,u=n?`${n.origin}${c}/manifest.plist`:null,m=n?n.secure?"APP_STORE_CONNECT"===i.exportMethod?a("installNotSupportedForAppStore"):"string"!=typeof i.bundleIdentifier?a("installMissingBundleIdentifier"):null:a("installRequiresHttps"):null,x=!n||null!==m||l,p=async()=>{if(u){r(!0);try{await fetch(c,{method:"HEAD"}).catch(()=>{}),window.location.href=`itms-services://?action=download-manifest&url=${encodeURIComponent(u)}`}finally{r(!1)}}},h=async()=>{await (0,E.copyText)(window.location.href),o(!0),setTimeout(()=>o(!1),2e3)};return(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&!n.apple&&!m&&(0,t.jsxs)(S.Button,{onClick:()=>void h(),size:"sm",type:"button",variant:"ghost",children:[(0,t.jsx)(_,{})," ",a(d?"installLinkCopied":"copyInstallLink")]}),(0,t.jsxs)(S.Button,{disabled:x,onClick:()=>void p(),size:"sm",type:"button",variant:"outline",children:[l?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(V.Smartphone,{}),a(l?"installPreparing":"installOnDevice")]})]}),m&&(0,t.jsx)("p",{className:"text-right text-xs text-muted-foreground",children:m}),!m&&n&&!n.apple&&(0,t.jsx)("p",{className:"text-right text-xs text-muted-foreground",children:a("installOpenOnDevice")})]})}var W=e.i(771777),J=e.i(866026);let Q=`
|
|
14
|
+
id requestId jobId status action destinationType destination snapshot commandSummary artifactDirectory errorCode error outOfDate
|
|
15
|
+
createdAt startedAt finishedAt durationMs updatedAt
|
|
16
|
+
configuration {
|
|
17
|
+
id name iconKey scheme buildConfiguration defaultAction advancedSettings createdAt updatedAt
|
|
18
|
+
source { id kind relativePath }
|
|
19
|
+
}
|
|
20
|
+
artifacts { id kind relativePath sizeBytes checksum metadata createdAt }
|
|
21
|
+
reports {
|
|
22
|
+
id kind source status summary data error createdAt updatedAt finishedAt
|
|
23
|
+
artifact { id kind relativePath sizeBytes checksum metadata createdAt }
|
|
24
|
+
}
|
|
25
|
+
scriptExecutions { id phase position nameSnapshot status exitCode durationMs causedBuildFailure outputRelativePath error }
|
|
26
|
+
deployments { id batchId destination status commandSummary outputRelativePath error createdAt startedAt finishedAt }
|
|
27
|
+
exports { id status settings commandSummary outputRelativePath error createdAt startedAt finishedAt }
|
|
28
|
+
`,K="id scope scopeId sequence phase level stream message createdAt",X=new Set(["IPA"]);function Y(e){return e.split("_").filter(Boolean).map(e=>X.has(e)?e:`${e.charAt(0).toLocaleUpperCase()}${e.slice(1).toLocaleLowerCase()}`).join(" ")}let Z=["packageResolution","disablePackageRepositoryCache","signingStyle","developmentTeam","codeSignIdentity","provisioningProfileSpecifier","productBundleIdentifier","allowProvisioningUpdates","allowProvisioningDeviceRegistration","testPlan","codeCoverage","parseTestResults","parallelTesting","parallelTestingWorkers","onlyTesting","skipTesting","buildSettingOverrides","priorBuildForTestingId","priorTestProductsPath","priorXctestrunPath"],ee={packageResolution:"DEFAULT",disablePackageRepositoryCache:!1,signingStyle:"PROJECT_DEFAULT",developmentTeam:null,codeSignIdentity:null,provisioningProfileSpecifier:null,productBundleIdentifier:null,allowProvisioningUpdates:!1,allowProvisioningDeviceRegistration:!1,testPlan:null,codeCoverage:!1,parseTestResults:!0,parallelTesting:null,parallelTestingWorkers:null,onlyTesting:[],skipTesting:[],buildSettingOverrides:{},priorBuildForTestingId:null,priorTestProductsPath:null,priorXctestrunPath:null};function et({settings:e}){let s=(0,f.useTranslations)("builds"),i={packageResolution:s("packageResolution"),disablePackageRepositoryCache:s("disablePackageRepositoryCache"),signingStyle:s("signingStyle"),developmentTeam:s("developmentTeam"),codeSignIdentity:s("codeSignIdentity"),provisioningProfileSpecifier:s("provisioningProfileSpecifier"),productBundleIdentifier:s("productBundleIdentifier"),allowProvisioningUpdates:s("allowProvisioningUpdates"),allowProvisioningDeviceRegistration:s("allowProvisioningDeviceRegistration"),testPlan:s("testPlan"),codeCoverage:s("codeCoverage"),parseTestResults:s("parseTestResults"),parallelTesting:s("parallelTesting"),parallelTestingWorkers:s("parallelTestingWorkers"),onlyTesting:s("onlyTesting"),skipTesting:s("skipTesting"),buildSettingOverrides:s("buildSettingOverrides"),priorBuildForTestingId:s("priorBuildForTesting"),priorTestProductsPath:s("priorTestProductsPath"),priorXctestrunPath:s("priorXctestrunPath")},a=new Set(Z),n=e?[...Z.filter(t=>Object.hasOwn(e,t)),...Object.keys(e).filter(e=>!a.has(e)).sort()].filter(t=>{var s;return s=e[t],Object.hasOwn(ee,t)?JSON.stringify(s)!==JSON.stringify(ee[t]):null!=s&&""!==s&&!1!==s&&(Array.isArray(s)?s.length>0:"object"!=typeof s||Object.keys(s).length>0)}):[];return e&&n.length?(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:s("advancedSettings")})}),(0,t.jsx)(N.CardContent,{children:(0,t.jsx)("dl",{className:"space-y-3 text-sm",children:n.map(s=>(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-xs text-muted-foreground",children:i[s]??Y(s.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replaceAll("-","_"))}),(0,t.jsx)("dd",{className:"mt-0.5 min-w-0",children:(0,t.jsx)(es,{value:e[s]})})]},s))})})]}):null}function es({value:e}){let s=(0,f.useTranslations)("builds");if("boolean"==typeof e)return(0,t.jsx)(y.Badge,{variant:e?"default":"secondary",children:s(e?"settingsEnabled":"settingsDisabled")});if(null==e||""===e)return(0,t.jsx)(t.Fragment,{children:"—"});if(Array.isArray(e))return e.length?(0,t.jsx)("span",{className:"break-words font-mono text-xs",children:e.map(String).join(", ")}):(0,t.jsx)(t.Fragment,{children:"—"});if("object"==typeof e){let s=JSON.stringify(e);return s&&"{}"!==s?(0,t.jsx)("span",{className:"break-all font-mono text-xs",children:s}):(0,t.jsx)(t.Fragment,{children:"—"})}return"string"==typeof e&&/^[A-Z][A-Z0-9_]*$/.test(e)?(0,t.jsx)(t.Fragment,{children:Y(e)}):(0,t.jsx)("span",{className:"break-words font-mono text-xs",children:String(e)})}function ei(e){return"string"==typeof e&&e.trim()?e:null}function ea(e,t){return"ALL"===t||String(e.result??"unknown").toLocaleUpperCase()===t}function en({report:e}){let s=(0,f.useTranslations)("builds"),[i,a]=(0,j.useState)("ALL"),n=Array.isArray(e.data.tests)?e.data.tests:[],l=Array.isArray(e.data.devices)?e.data.devices:[],r=t=>"number"==typeof e.summary[t]?Number(e.summary[t]):0,d=(function(e){let t=new Map;for(let s of e){let e=ei(s.bundle),i=ei(s.suite),a=ei(s.plan),n=ei(s.configuration),l=i??e,r=JSON.stringify([a,n,e,l]),d=t.get(r)??{key:r,name:l,bundle:e,plan:a,configuration:n,tests:[]};d.tests.push(s),t.set(r,d)}return[...t.values()].sort((e,t)=>(e.name??"").localeCompare(t.name??"",void 0,{numeric:!0,sensitivity:"base"}))})(n).filter(e=>e.tests.some(e=>ea(e,i)));return(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:s("testResults")})}),(0,t.jsx)(N.CardContent,{className:"space-y-4",children:"FAILED"===e.status?(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsx)(b.AlertDescription,{children:e.error??s("testResultsFailed")})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(y.Badge,{variant:"outline",children:s("testTotal",{count:r("total")})}),(0,t.jsx)(y.Badge,{className:"bg-emerald-600 text-white dark:bg-emerald-700",children:s("testPassed",{count:r("passed")})}),(0,t.jsx)(y.Badge,{variant:r("failed")?"destructive":"outline",children:s("testFailed",{count:r("failed")})}),(0,t.jsx)(y.Badge,{className:"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:s("testSkipped",{count:r("skipped")})}),l.map((e,s)=>(0,t.jsxs)(y.Badge,{variant:"outline",children:[String(e.deviceName??e.modelName??"Device")," ·"," ",String(e.osVersion??"—")]},s))]}),(0,t.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,t.jsx)(w.Tabs,{onValueChange:e=>a(e),value:i,children:(0,t.jsxs)(w.TabsList,{"aria-label":s("testResultFilters"),children:[(0,t.jsx)(w.TabsTrigger,{value:"ALL",children:s("testFilterAll",{count:n.length})}),(0,t.jsx)(w.TabsTrigger,{value:"PASSED",children:s("testFilterPassed",{count:r("passed")})}),(0,t.jsx)(w.TabsTrigger,{value:"FAILED",children:s("testFilterFailed",{count:r("failed")})}),(0,t.jsx)(w.TabsTrigger,{value:"SKIPPED",children:s("testFilterSkipped",{count:r("skipped")})})]})})}),(0,t.jsx)("div",{className:"divide-y rounded-md border",children:d.map(e=>(0,t.jsx)(el,{filter:i,group:e},e.key))})]})})]})}function el({filter:e,group:s}){let i=(0,f.useTranslations)("builds"),a=(0,g.useLocale)(),[n,l]=(0,j.useState)(!1),r=s.name??i("testsWithoutSuite"),d=s.tests.filter(e=>"Passed"===e.result).length,o=s.tests.length?d/s.tests.length:0,c=new Intl.NumberFormat(a,{style:"percent",maximumFractionDigits:1}).format(o),u=s.tests.filter(t=>ea(t,e)),p=new Map;for(let e of u){let t=function(e){let t=ei(e.file);if(t)return t;let s=ei(e.suite);return s||(ei(e.identifier)?.split("/")[0]??null)}(e)??i("testsWithoutFile");p.set(t,[...p.get(t)??[],e])}let h=[s.bundle,s.configuration,s.plan].filter(Boolean).join(" · ");return(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{"aria-expanded":n,"aria-label":i(n?"collapseTestSuite":"expandTestSuite",{suite:r}),className:"flex min-h-8 w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-muted/40",onClick:()=>l(e=>!e),type:"button",children:[n?(0,t.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0"}):(0,t.jsx)(x.ChevronRight,{className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:r}),h&&(0,t.jsx)("span",{className:"hidden shrink-0 text-xs text-muted-foreground sm:inline",children:h}),(0,t.jsx)(y.Badge,{className:1===o?"border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":o>=.5?"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"",variant:o<.5?"destructive":"outline",children:i("testSuitePassed",{passed:d,total:s.tests.length,percent:c})})]}),n&&(0,t.jsx)("div",{className:"border-t bg-muted/10 p-2",children:(0,t.jsx)("div",{className:"divide-y rounded-md border bg-background",children:[...p.entries()].sort(([e],[t])=>e.localeCompare(t,a,{numeric:!0,sensitivity:"base"})).map(([e,s])=>(0,t.jsx)(er,{file:e,tests:s},e))})})]})}function er({file:e,tests:s}){let i=(0,f.useTranslations)("builds"),[a,n]=(0,j.useState)(!1);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{"aria-expanded":a,"aria-label":i(a?"collapseTestFile":"expandTestFile",{file:e}),className:"flex min-h-8 w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-muted/40",onClick:()=>n(e=>!e),type:"button",children:[a?(0,t.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0"}):(0,t.jsx)(x.ChevronRight,{className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",title:e,children:e}),(0,t.jsx)(y.Badge,{variant:"outline",children:i("testTotal",{count:s.length})})]}),a&&(0,t.jsx)("div",{className:"border-t overflow-auto",children:(0,t.jsxs)(A.Table,{"aria-label":e,className:"min-w-[38rem] text-xs",children:[(0,t.jsx)(A.TableHeader,{children:(0,t.jsxs)(A.TableRow,{children:[(0,t.jsx)(A.TableHead,{className:"h-8 px-2",children:i("testStatus")}),(0,t.jsx)(A.TableHead,{className:"h-8 px-2",children:i("testName")}),(0,t.jsx)(A.TableHead,{className:"h-8 px-2 text-right",children:i("testDuration")})]})}),(0,t.jsx)(A.TableBody,{children:s.map((e,s)=>{let i=Array.isArray(e.details)?e.details.filter(e=>"string"==typeof e):[],a=Array.isArray(e.tags)?e.tags.filter(e=>"string"==typeof e):[],n=String(e.name??"—"),l=ei(e.identifier);return(0,t.jsxs)(A.TableRow,{children:[(0,t.jsx)(A.TableCell,{className:"px-2 py-1.5",children:(0,t.jsx)(ed,{result:String(e.result??"unknown")})}),(0,t.jsxs)(A.TableCell,{className:"max-w-xl px-2 py-1.5 whitespace-normal",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)("span",{className:"font-mono font-medium",children:n}),a.map(e=>(0,t.jsx)(y.Badge,{variant:"outline",children:e},e))]}),l&&l!==n&&(0,t.jsx)("p",{className:"truncate font-mono text-muted-foreground",title:l,children:l}),i.map((e,s)=>(0,t.jsx)("p",{className:"mt-1 text-destructive",children:e},s))]}),(0,t.jsx)(A.TableCell,{className:"px-2 py-1.5 text-right tabular-nums",children:"number"==typeof e.durationSeconds?`${e.durationSeconds.toFixed(3)}s`:"—"})]},`${l??n}:${s}`)})})]})})]})}function ed({result:e}){let s=e.toLocaleLowerCase();return(0,t.jsx)(y.Badge,{className:"passed"===s?"border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"skipped"===s?"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"expected failure"===s?"border-violet-500/40 bg-violet-500/10 text-violet-700 dark:text-violet-300":"",variant:"failed"===s?"destructive":"outline",children:e})}function eo({label:e,value:s,mono:i=!1}){return(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("dd",{className:i?"mt-0.5 break-all font-mono text-xs":"mt-0.5",children:s})]})}e.s(["BuildDetailPage",0,function({buildId:e}){let n=(0,f.useTranslations)("builds"),w=(0,g.useLocale)(),A=(0,I.useRouter)(),[R,B]=(0,j.useState)(null),[D,L]=(0,j.useState)([]),[O,U]=(0,j.useState)(!0),[$,F]=(0,j.useState)(null),[_,V]=(0,j.useState)(!1),[G,q]=(0,j.useState)(null),[z,X]=(0,j.useState)(!1),[Z,ee]=(0,j.useState)(!1),[es,ei]=(0,j.useState)(!1),[ea,el]=(0,j.useState)(!0),er=(0,j.useRef)(null),ed=(0,j.useCallback)(async()=>{try{let t=await (0,k.controlPlaneRequest)(`query BuildDetail($id: ID!) {
|
|
29
|
+
build(id: $id) { ${Q} }
|
|
30
|
+
buildLogs(buildId: $id, first: 5000) { ${K} }
|
|
31
|
+
}`,{id:e});B(t.build),L(t.buildLogs),F(null)}catch(e){F(e instanceof Error?e.message:String(e))}finally{U(!1)}},[e]);(0,j.useEffect)(()=>{let e=window.setTimeout(()=>void ed(),0);return()=>window.clearTimeout(e)},[ed]),(0,j.useEffect)(()=>{let t=(0,k.controlPlaneSubscriptions)().subscribe({query:"subscription BuildChanged($id: ID!) { buildChanged(id: $id) { id } }",variables:{id:e}},{next:()=>void ed(),error:()=>void 0,complete:()=>void 0}),s=(0,k.controlPlaneSubscriptions)().subscribe({query:`subscription BuildLogAdded($buildId: ID!) {
|
|
32
|
+
buildLogAdded(buildId: $buildId) { ${K} }
|
|
33
|
+
}`,variables:{buildId:e}},{next:e=>{let t=e.data?.buildLogAdded;t&&L(e=>e.some(e=>e.id===t.id)?e:[...e,t])},error:()=>void 0,complete:()=>void 0});return()=>{t(),s()}},[e,ed]);let ec=null!==R&&(["QUEUED","PREPARING","RUNNING"].includes(R.status)||R.deployments.some(e=>["QUEUED","RUNNING"].includes(e.status))||R.exports.some(e=>["QUEUED","RUNNING"].includes(e.status)));(0,j.useEffect)(()=>{if(!ec)return;let e=window.setInterval(()=>void ed(),2e3);return()=>window.clearInterval(e)},[ec,ed]),(0,j.useEffect)(()=>{ec&&er.current&&(er.current.scrollTop=er.current.scrollHeight)},[ec,D]),(0,j.useEffect)(()=>{if(!es)return;let e=window.setTimeout(()=>ei(!1),2e3);return()=>window.clearTimeout(e)},[es]);let eu=async()=>{V(!0);try{await (0,k.controlPlaneRequest)("mutation CancelBuild($id: ID!) { cancelBuild(id: $id) { id status } }",{id:e}),await ed()}catch(e){F(e instanceof Error?e.message:String(e))}finally{V(!1)}},em=async()=>{V(!0),F(null);try{await (0,k.controlPlaneRequest)("mutation DeleteBuild($ids: [ID!]!) { deleteBuilds(ids: $ids) }",{ids:[e]}),A.replace("/builds")}catch(e){F(e instanceof Error?e.message:String(e)),ee(!1)}finally{V(!1)}},ex=R?.artifacts.some(e=>"RUNNABLE_APP"===e.kind),ep=R?.artifacts.some(e=>"ARCHIVE"===e.kind),eh=R?.reports?.find(e=>"TEST_RESULTS"===e.kind),eg=R?.reports?.find(e=>"CODE_COVERAGE"===e.kind),ef=R?.artifacts.find(e=>"RESULT_BUNDLE"===e.kind),ej=!!R&&["TEST","TEST_WITHOUT_BUILDING"].includes(R.action),ev=R?.snapshot??{},eb=ev.repository,ey=ev.worktree,eS=ev.configuration,eN=ef?.metadata.coverageAvailable===!0||eS?.advancedSettings?.codeCoverage===!0,eC=e=>e?new Date(e).toLocaleString(w):"—",eT=async e=>{try{await (0,E.copyText)(e),ei(!0)}catch{F(n("copyFailed"))}},ew=async t=>{q(t),F(null);try{let s="TEST_RESULTS"===t?"parseBuildTestResults":"generateBuildCoverageReport";await (0,k.controlPlaneRequest)(`mutation GenerateBuildReport($buildId: ID!, $requestId: ID!) {
|
|
34
|
+
${s}(buildId: $buildId, requestId: $requestId) { id status error }
|
|
35
|
+
}`,{buildId:e,requestId:(0,E.createClientId)()}),await ed()}catch(e){F(e instanceof Error?e.message:String(e))}finally{q(null)}},eA=e=>{let t=er.current;t&&t.scrollTo({behavior:"smooth",top:"top"===e?0:t.scrollHeight})};return O?(0,t.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-muted-foreground",children:[(0,t.jsx)(T.Spinner,{})," ",n("loading")]}):R?(0,t.jsxs)("section",{className:"mx-auto flex min-w-0 w-full max-w-6xl flex-col gap-5",children:[(0,t.jsx)("div",{children:(0,t.jsx)(S.Button,{asChild:!0,className:"-ml-2",size:"sm",variant:"ghost",children:(0,t.jsxs)(I.Link,{href:"/builds",children:[(0,t.jsx)(i.ArrowLeft,{})," ",n("backToBuilds")]})})}),$&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsx)(b.AlertDescription,{children:$})}),R.error&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsxs)(b.AlertDescription,{children:[R.errorCode?`${R.errorCode}: `:"",R.error]})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:eb?.name??"—"}),(0,t.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold",children:eS?.name??R.id}),(0,t.jsx)(y.Badge,{variant:(0,P.buildStatusVariant)(R.status),children:n(`statuses.${R.status}`)}),(0,t.jsx)(y.Badge,{variant:"outline",children:n(`actions.${R.action}`)}),R.outOfDate&&(0,t.jsx)(y.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:n("outOfDate")})]}),(0,t.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[ey?.branch??ey?.folder??"—"," ·"," ",R.destination.name]}),(0,t.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[n("buildId"),": ",R.id]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(W.RebuildButton,{buildId:R.id,onCompleted:e=>A.push(`/builds/${e.id}`),onError:F}),["QUEUED","PREPARING","RUNNING"].includes(R.status)&&(0,t.jsxs)(S.Button,{disabled:_,onClick:()=>void eu(),variant:"destructive",children:[_?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(p.Square,{})," ",n("cancelBuild")]}),"SUCCEEDED"===R.status&&ex&&(0,t.jsx)(J.RunBuildControls,{buildId:R.id,destinationType:R.destinationType,onCompleted:ed,onError:F,preferredDestination:R.destination}),"SUCCEEDED"===R.status&&ep&&(0,t.jsxs)(S.Button,{onClick:()=>X(!0),variant:"outline",children:[(0,t.jsx)(s.Archive,{})," ",n("exportArchive")]}),!ec&&ej&&ef&&eh?.status!=="READY"&&(0,t.jsxs)(S.Button,{disabled:null!==G,onClick:()=>void ew("TEST_RESULTS"),variant:"outline",children:["TEST_RESULTS"===G?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(c,{}),eh?.status==="FAILED"?n("retryParseTestResults"):n("parseTestResultsAction")]}),!ec&&ef&&eN&&eg?.status!=="READY"&&(0,t.jsxs)(S.Button,{disabled:null!==G,onClick:()=>void ew("CODE_COVERAGE"),variant:"outline",children:["CODE_COVERAGE"===G?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(u,{}),eg?.status==="FAILED"?n("retryCoverageReport"):n("generateCoverageReport")]}),eg?.status==="READY"&&(0,t.jsx)(S.Button,{asChild:!0,variant:"outline",children:(0,t.jsxs)(I.Link,{href:`/builds/${R.id}/coverage`,children:[(0,t.jsx)(u,{})," ",n("viewCoverageReport")]})}),(0,t.jsxs)(S.Button,{disabled:_||["QUEUED","PREPARING","RUNNING"].includes(R.status),onClick:()=>ee(!0),variant:"destructive",children:[(0,t.jsx)(h.Trash2,{})," ",n("deleteBuild")]})]})]}),eh&&(0,t.jsx)(en,{report:eh}),(0,t.jsxs)("div",{className:"grid min-w-0 gap-5 lg:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,t.jsxs)(N.Card,{className:"gap-0 py-0",children:[(0,t.jsx)(N.CardHeader,{className:ea?"border-b bg-muted/40 py-3":"bg-muted/40 py-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)(S.Button,{"aria-expanded":ea,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:()=>el(e=>!e),type:"button",variant:"ghost",children:(0,t.jsx)("span",{className:"truncate font-medium",children:n("logs")})}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[ea&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.Button,{"aria-label":n("scrollLogsToTop"),onClick:()=>eA("top"),size:"icon-xs",type:"button",variant:"outline",children:(0,t.jsx)(l,{})}),(0,t.jsx)(S.Button,{"aria-label":n("scrollLogsToBottom"),onClick:()=>eA("bottom"),size:"icon-xs",type:"button",variant:"outline",children:(0,t.jsx)(a.ArrowDownToLine,{})})]}),(0,t.jsx)(S.Button,{"aria-expanded":ea,"aria-label":n(ea?"collapseLogs":"expandLogs"),onClick:()=>el(e=>!e),size:"icon-sm",title:n(ea?"collapseLogs":"expandLogs"),type:"button",variant:"ghost",children:ea?(0,t.jsx)(m.ChevronDown,{className:"size-5"}):(0,t.jsx)(x.ChevronRight,{className:"size-5"})})]})]})}),ea&&(0,t.jsx)(N.CardContent,{className:"py-4",children:(0,t.jsx)("pre",{className:"max-h-[calc(100svh-8rem)] w-full min-w-0 max-w-full overflow-auto rounded-lg bg-neutral-950 p-3 text-xs whitespace-pre-wrap text-neutral-100 [overflow-wrap:anywhere] sm:max-h-[48rem]",ref:er,children:D.length?D.map(e=>`[${e.phase}] ${e.message}`).join("\n"):n("noLogs")})})]}),(0,t.jsxs)(N.Card,{children:[(0,t.jsxs)(N.CardHeader,{children:[(0,t.jsx)(N.CardTitle,{children:n("commandSummary")}),(0,t.jsx)(N.CardAction,{children:(0,t.jsx)(S.Button,{"aria-label":es?n("commandCopied"):n("copyCommand"),onClick:()=>void eT(R.commandSummary),size:"icon-sm",type:"button",variant:"ghost",children:es?(0,t.jsx)(r.Check,{}):(0,t.jsx)(d.Copy,{})})})]}),(0,t.jsx)(N.CardContent,{children:(0,t.jsx)("pre",{className:"w-full min-w-0 max-w-full overflow-x-auto rounded-lg bg-muted p-3 text-xs whitespace-pre-wrap [overflow-wrap:anywhere]",children:R.commandSummary})})]}),(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("scripts")})}),(0,t.jsx)(N.CardContent,{className:"space-y-2",children:R.scriptExecutions.length?R.scriptExecutions.map(e=>(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-lg border p-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm font-medium",children:[e.nameSnapshot," ·"," ",Y(e.phase)]}),e.error&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:e.error})]}),(0,t.jsx)(y.Badge,{variant:"FAILED"===e.status?"destructive":"outline",children:Y(e.status)})]},e.id)):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n("noScriptExecutions")})})]})]}),(0,t.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("overview")})}),(0,t.jsx)(N.CardContent,{children:(0,t.jsxs)("dl",{className:"space-y-3 text-sm",children:[(0,t.jsx)(eo,{label:n("buildId"),value:R.id,mono:!0}),(0,t.jsx)(eo,{label:n("scheme"),value:eS?.scheme??"—",mono:!0}),(0,t.jsx)(eo,{label:n("configuration"),value:eS?.buildConfiguration??"—",mono:!0}),(0,t.jsx)(eo,{label:n("head"),value:ey?.headSha??"—",mono:!0}),(0,t.jsx)(eo,{label:n("startedAt"),value:eC(R.startedAt)}),(0,t.jsx)(eo,{label:n("finishedAt"),value:eC(R.finishedAt)}),(0,t.jsx)(eo,{label:n("artifactDirectory"),value:R.artifactDirectory,mono:!0})]})})]}),(0,t.jsx)(et,{settings:eS?.advancedSettings}),(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("artifacts")})}),(0,t.jsx)(N.CardContent,{className:"space-y-2",children:R.artifacts.length?R.artifacts.map(e=>{let s="IPA"===e.kind,i=e.metadata??{};return(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(y.Badge,{variant:"outline",children:Y(e.kind)}),(0,t.jsx)(S.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)("a",{download:!0,href:`/api/builds/${encodeURIComponent(R.id)}/artifacts/${encodeURIComponent(e.id)}`,children:[(0,t.jsx)(o.Download,{})," ",s?n("downloadIpa"):n("downloadArtifact")]})})]}),(0,t.jsx)("p",{className:"mt-1 break-all font-mono text-xs text-muted-foreground",children:e.relativePath}),s&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("dl",{className:"mt-2 space-y-1 text-xs text-muted-foreground",children:["string"==typeof i.bundleIdentifier&&(0,t.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,t.jsx)("dt",{children:n("ipaBundleIdentifier")}),(0,t.jsx)("dd",{className:"break-all font-mono",children:i.bundleIdentifier})]}),"string"==typeof i.bundleShortVersion&&(0,t.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,t.jsx)("dt",{children:n("ipaBundleVersion")}),(0,t.jsx)("dd",{className:"font-mono",children:i.bundleShortVersion})]})]}),(0,t.jsx)("div",{className:"mt-2 flex justify-end",children:(0,t.jsx)(H,{artifactId:e.id,buildId:R.id,metadata:i})})]})]},e.id)}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n("noArtifacts")})})]}),(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("runsAndExports")})}),(0,t.jsxs)(N.CardContent,{className:"space-y-2",children:[R.deployments.map(e=>(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e.destination.name}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsx)(y.Badge,{variant:"FAILED"===e.status?"destructive":"outline",children:Y(e.status)}),(0,t.jsx)("time",{className:"text-xs text-muted-foreground",children:eC(e.finishedAt??e.startedAt??e.createdAt)})]})]}),e.error&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:e.error})]},e.id)),R.exports.map(e=>(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:n("archiveExport")}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsx)(y.Badge,{variant:"FAILED"===e.status?"destructive":"outline",children:Y(e.status)}),(0,t.jsx)("time",{className:"text-xs text-muted-foreground",children:eC(e.finishedAt??e.startedAt??e.createdAt)})]})]}),e.outputRelativePath&&(0,t.jsx)("p",{className:"mt-1 font-mono text-xs",children:e.outputRelativePath}),e.error&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:e.error})]},e.id)),!R.deployments.length&&!R.exports.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n("noRunsOrExports")})]})]})]})]}),z&&(0,t.jsx)(M,{buildId:R.id,onOpenChange:X,onSaved:ed,open:z}),(0,t.jsx)(v.ConfirmationDialog,{actionLabel:n("deleteBuild"),cancelLabel:n("cancel"),description:n("deleteBuildDescription"),onConfirm:em,onOpenChange:ee,open:Z,title:n("deleteBuildTitle")})]}):(0,t.jsxs)(C.Empty,{className:"mx-auto max-w-6xl border py-12",children:[(0,t.jsxs)(C.EmptyHeader,{children:[(0,t.jsx)(C.EmptyTitle,{children:n("buildNotFound")}),(0,t.jsx)(C.EmptyDescription,{children:n("buildNotFoundDescription")})]}),(0,t.jsx)(S.Button,{asChild:!0,variant:"outline",children:(0,t.jsxs)(I.Link,{href:"/builds",children:[(0,t.jsx)(i.ArrowLeft,{})," ",n("backToBuilds")]})})]})}],885325)}]);
|
|
@@ -0,0 +1,7 @@
|
|
|
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)},59497,e=>{"use strict";var t=e.i(843476),r=e.i(271645);function n(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function a(...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 i=e.i(30030);function o(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n||!n.defaultPrevented)return t?.(n)}}"u">typeof window&&window.document&&window.document.createElement;var l=globalThis?.document?r.useLayoutEffect:()=>{};r[" useEffectEvent ".trim().toString()],r[" useInsertionEffect ".trim().toString()];var s=r[" useInsertionEffect ".trim().toString()]||l;Symbol("RADIX:SYNC_STATE");var d=e.i(999682),u=e.i(635804),c=e.i(296626);e.i(174080);var p=Symbol.for("radix.slottable"),f=Symbol.for("react.lazy");function h(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===f&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var g=r[" use ".trim().toString()],v=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{var i;let o,l=(i=`Primitive.${n}`,(o=r.forwardRef((e,t)=>{var n;let o,l,{children:s,...d}=e,u=null,c=!1,f=[];h(s)&&"function"==typeof g&&(s=g(s._payload)),r.Children.forEach(s,e=>{var t;if(t=e,r.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===p){c=!0;let t="child"in e.props?e.props.child:e.props.children;h(t)&&"function"==typeof g&&(t=g(t._payload)),u=((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),f.push(u?.props?.children)}else f.push(e)}),u?u=r.cloneElement(u,void 0,f):!c&&1===r.Children.count(s)&&r.isValidElement(s)&&(u=s);let v=u?(n=u,(l=(o=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in o&&o.isReactWarning)?n.ref:(l=(o=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in o&&o.isReactWarning)?n.props.ref:n.props.ref||n.ref):void 0,m=a(t,v);if(!u){if(s||0===s){let e,t;throw Error(c?(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 s}let y=function(e,t){let r={...t};for(let n in t){let a=e[n],i=t[n];/^on[A-Z]/.test(n)?a&&i?r[n]=(...e)=>{let t=i(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...i}:"className"===n&&(r[n]=[a,i].filter(Boolean).join(" "))}return{...e,...r}}(d,u.props??{});return u.type!==r.Fragment&&(y.ref=t?m:v),r.cloneElement(u,y)})).displayName=`${i}.Slot`,o),s=r.forwardRef((e,r)=>{let{asChild:a,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(a?l:n,{...i,ref:r})});return s.displayName=`Primitive.${n}`,{...e,[n]:s}},{}),m="Checkbox",[y,b]=(0,i.createContextScope)(m),[x,k]=y(m);function w(e){let{__scopeCheckbox:n,checked:a,children:i,defaultChecked:o,disabled:l,form:d,name:u,onCheckedChange:c,required:p,value:f="on",internal_do_not_use_render:h}=e,[g,v]=function({prop:e,defaultProp:t,onChange:n=()=>{},caller:a}){let[i,o,l]=function({defaultProp:e,onChange:t}){let[n,a]=r.useState(e),i=r.useRef(n),o=r.useRef(t);return s(()=>{o.current=t},[t]),r.useEffect(()=>{i.current!==n&&(o.current?.(n),i.current=n)},[n,i]),[n,a,o]}({defaultProp:t,onChange:n}),d=void 0!==e,u=d?e:i;{let t=r.useRef(void 0!==e);r.useEffect(()=>{let e=t.current;if(e!==d){let t=d?"controlled":"uncontrolled";console.warn(`${a} 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=d},[d,a])}return[u,r.useCallback(t=>{if(d){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else o(t)},[d,e,o,l])]}({prop:a,defaultProp:o??!1,onChange:c,caller:m}),[y,b]=r.useState(null),[k,w]=r.useState(null),S=r.useRef(!1),R=!y||!!d||!!y.closest("form"),j={checked:g,disabled:l,setChecked:v,control:y,setControl:b,name:u,form:d,value:f,hasConsumerStoppedPropagationRef:S,required:p,defaultChecked:!M(o)&&o,isFormControl:R,bubbleInput:k,setBubbleInput:w};return(0,t.jsx)(x,{scope:n,...j,children:"function"==typeof h?h(j):i})}var S="CheckboxTrigger",R=r.forwardRef(({__scopeCheckbox:e,onKeyDown:n,onClick:i,...l},s)=>{let{control:d,value:u,disabled:c,checked:p,required:f,setControl:h,setChecked:g,hasConsumerStoppedPropagationRef:m,isFormControl:y,bubbleInput:b}=k(S,e),x=a(s,h),w=r.useRef(p);return r.useEffect(()=>{let e=d?.form;if(e){let t=()=>g(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[d,g]),(0,t.jsx)(v.button,{type:"button",role:"checkbox","aria-checked":M(p)?"mixed":p,"aria-required":f,"data-state":$(p),"data-disabled":c?"":void 0,disabled:c,value:u,...l,ref:x,onKeyDown:o(n,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:o(i,e=>{g(e=>!!M(e)||!e),b&&y&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});R.displayName=S;var j=r.forwardRef((e,r)=>{let{__scopeCheckbox:n,name:a,checked:i,defaultChecked:o,required:l,disabled:s,value:d,onCheckedChange:u,form:c,...p}=e;return(0,t.jsx)(w,{__scopeCheckbox:n,checked:i,defaultChecked:o,disabled:s,required:l,onCheckedChange:u,name:a,form:c,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(R,{...p,ref:r,__scopeCheckbox:n}),e&&(0,t.jsx)(D,{__scopeCheckbox:n})]})})});j.displayName=m;var C="CheckboxIndicator",E=r.forwardRef((e,r)=>{let{__scopeCheckbox:n,forceMount:a,...i}=e,o=k(C,n);return(0,t.jsx)(c.Presence,{present:a||M(o.checked)||!0===o.checked,children:(0,t.jsx)(v.span,{"data-state":$(o.checked),"data-disabled":o.disabled?"":void 0,...i,ref:r,style:{pointerEvents:"none",...e.style}})})});E.displayName=C;var I="CheckboxBubbleInput",D=r.forwardRef(({__scopeCheckbox:e,...n},i)=>{let{control:o,hasConsumerStoppedPropagationRef:l,checked:s,defaultChecked:c,required:p,disabled:f,name:h,value:g,form:m,bubbleInput:y,setBubbleInput:b}=k(I,e),x=a(i,b),w=(0,d.usePrevious)(s),S=(0,u.useSize)(o);r.useEffect(()=>{if(!y)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(w!==s&&e){let r=new Event("click",{bubbles:t});y.indeterminate=M(s),e.call(y,!M(s)&&s),y.dispatchEvent(r)}},[y,w,s,l]);let R=r.useRef(!M(s)&&s);return(0,t.jsx)(v.input,{type:"checkbox","aria-hidden":!0,defaultChecked:c??R.current,required:p,disabled:f,name:h,value:g,form:m,...n,tabIndex:-1,ref:x,style:{...n.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function M(e){return"indeterminate"===e}function $(e){return M(e)?"indeterminate":e?"checked":"unchecked"}D.displayName=I,e.s(["Checkbox",0,j,"CheckboxIndicator",0,E,"Indicator",0,E,"Root",0,j,"createCheckboxScope",0,b,"unstable_BubbleInput",0,D,"unstable_CheckboxBubbleInput",0,D,"unstable_CheckboxProvider",0,w,"unstable_CheckboxTrigger",0,R,"unstable_Provider",0,w,"unstable_Trigger",0,R],388474);var _=e.i(388474),_=_,P=e.i(975157),z=e.i(593698);e.s(["Checkbox",0,function({className:e,...r}){return(0,t.jsx)(_.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)(_.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,t.jsx)(z.CheckIcon,{})})})}],59497)},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)},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])},778434,e=>{"use strict";e.s(["AGENT_FIELDS",0,"id name hostname version osVersion architecture cpuModel memoryTotalBytes memoryFreeBytes diskTotalBytes diskFreeBytes capabilities baseRepoDirectory derivedDataLocationMode derivedDataPath buildsDirectory defaultBuildsDirectory effectiveBuildsDirectory connectionStatus ipAddress lastSeenAt disconnectedAt createdAt","JOB_FIELDS",0,"id agentId kind payload status error result timeoutSeconds createdAt startedAt finishedAt updatedAt","JOB_LOG_FIELDS",0,"id jobId sequence stream message createdAt"])},566595,e=>{"use strict";var t=e.i(630299);e.s(["Search",()=>t.default])},856522,e=>{"use strict";let t=(0,e.i(456420).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],856522)},648119,e=>{"use strict";var t=e.i(560972);e.s(["MoreHorizontal",()=>t.default])},90969,771777,866026,e=>{"use strict";e.s(["buildDuration",0,function(e,t=Date.now()){let r=e.durationMs??(e.startedAt&&null!==t&&["QUEUED","PREPARING","RUNNING"].includes(e.status)?t-Date.parse(e.startedAt):null);if(null===r||!Number.isFinite(r))return"—";let n=Math.max(0,Math.floor(r/1e3)),a=Math.floor(n/3600),i=Math.floor(n%3600/60),o=n%60;return a>0?`${a}h${i>0?` ${i}m`:""}`:i>0?`${i}m${o>0?` ${o}s`:""}`:`${o}s`},"buildSnapshotName",0,function(e){let t=e.snapshot.repository,r=e.snapshot.worktree;return{repository:t?.name??"—",worktree:r?.branch??r?.folder??"—"}},"buildStatusVariant",0,function(e){return"FAILED"===e?"destructive":"SUCCEEDED"===e?"success":"secondary"},"relativeBuildAge",0,function(e,t,r=Date.now()){if(null===r)return"—";let n=Math.round((Date.parse(e)-r)/1e3),a=new Intl.RelativeTimeFormat(t,{numeric:"auto"});for(let[e,t]of[["year",31536e3],["month",2592e3],["week",604800],["day",86400],["hour",3600],["minute",60]])if(Math.abs(n)>=t)return a.format(Math.round(n/t),e);return a.format(n,"second")}],90969);var t=e.i(843476),r=e.i(395925),n=e.i(948148),a=e.i(271645),i=e.i(519455),o=e.i(987968),l=e.i(462777),s=e.i(637611);e.s(["RebuildButton",0,function({buildId:e,onCompleted:d,onError:u,size:c="default"}){let p=(0,n.useTranslations)("builds"),[f,h]=(0,a.useState)(!1),g=async()=>{h(!0),u(null);try{let t=await (0,s.controlPlaneRequest)(`mutation RebuildBuild($id: ID!, $requestId: ID!) {
|
|
2
|
+
rebuildBuild(id: $id, requestId: $requestId) { id status }
|
|
3
|
+
}`,{id:e,requestId:(0,l.createClientId)()});await d?.(t.rebuildBuild)}catch(e){u(e instanceof Error?e.message:String(e))}finally{h(!1)}};return(0,t.jsxs)(i.Button,{disabled:f,onClick:e=>{e.stopPropagation(),g()},onKeyDown:e=>e.stopPropagation(),size:c,type:"button",variant:"outline",children:[f?(0,t.jsx)(o.Spinner,{}):(0,t.jsx)(r.RotateCcw,{})," ",p("rebuild")]})}],771777);var d=e.i(716327),u=e.i(21357),c=e.i(755146);e.s(["RunBuildControls",0,function({buildId:e,destinationType:r,preferredDestination:p,onCompleted:f,onError:h,size:g="default"}){let v=(0,n.useTranslations)("builds"),m=p?.generic?null:p??null,[y,b]=(0,a.useState)(m?[m]:[]),[x,k]=(0,a.useState)(m?new Set([m.id]):new Set),[w,S]=(0,a.useState)(!1),[R,j]=(0,a.useState)(!1),[C,E]=(0,a.useState)(!1),I=(0,a.useMemo)(()=>y.filter(e=>x.has(e.id)).map(e=>e.name),[y,x]),D=async()=>{j(!0),h(null);try{let t=(await (0,s.controlPlaneRequest)(`mutation BuildRunDestinations($buildId: ID!, $requestId: ID!) {
|
|
4
|
+
inspectBuildRunDestinations(buildId: $buildId, requestId: $requestId)
|
|
5
|
+
}`,{buildId:e,requestId:(0,l.createClientId)()})).inspectBuildRunDestinations.filter(e=>e.type===r&&!e.generic);b(t),k(e=>{let r=new Set(t.map(e=>e.id));return new Set([...e].filter(e=>r.has(e)))}),S(!0)}catch(e){h(e instanceof Error?e.message:String(e))}finally{j(!1)}},M=async()=>{E(!0),h(null);try{await (0,s.controlPlaneRequest)(`mutation RunCompletedBuild($input: RunBuildInput!) {
|
|
6
|
+
runBuild(input: $input) { id status }
|
|
7
|
+
}`,{input:{buildId:e,destinations:y.filter(e=>x.has(e.id)),requestId:(0,l.createClientId)()}}),k(new Set),await f?.()}catch(e){h(e instanceof Error?e.message:String(e))}finally{E(!1)}};return(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:[(0,t.jsxs)(c.DropdownMenu,{onOpenChange:e=>{e&&!w&&D()},children:[(0,t.jsx)(c.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(i.Button,{disabled:R,size:g,type:"button",variant:"outline",children:[R?(0,t.jsx)(o.Spinner,{}):(0,t.jsx)(u.Play,{}),I.length?v("selectedDevices",{count:I.length}):v("selectRunDevices"),(0,t.jsx)(d.ChevronDown,{})]})}),(0,t.jsxs)(c.DropdownMenuContent,{align:"end",className:"w-72",children:[y.map(e=>(0,t.jsxs)(c.DropdownMenuCheckboxItem,{checked:x.has(e.id),onCheckedChange:t=>k(r=>{let n=new Set(r);return t?n.add(e.id):n.delete(e.id),n}),children:[e.name,e.osVersion?` \xb7 ${e.osVersion}`:""]},e.id)),w&&!y.length&&(0,t.jsx)("p",{className:"p-2 text-xs text-muted-foreground",children:v("noCompatibleDevices")})]})]}),(0,t.jsxs)(i.Button,{disabled:C||0===x.size,onClick:()=>void M(),size:g,type:"button",children:[C?(0,t.jsx)(o.Spinner,{}):(0,t.jsx)(u.Play,{})," ",v("run")]})]})}],866026)},635416,96892,e=>{"use strict";var t=e.i(456420);let r=(0,t.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",0,r],635416);let n=(0,t.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);e.s(["ArrowUp",0,n],96892)},452330,e=>{"use strict";let t=(0,e.i(456420).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",0,t],452330)},725981,e=>{"use strict";let t=(0,e.i(456420).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);e.s(["Upload",0,t],725981)},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)},768877,e=>{"use strict";let t=(0,e.i(456420).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],768877)},21357,e=>{"use strict";let t=(0,e.i(456420).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,t],21357)},876561,986206,e=>{"use strict";var t=e.i(456420);let r=(0,t.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",0,r],876561);let n=(0,t.default)("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);e.s(["Smartphone",0,n],986206)},920950,e=>{"use strict";var t=e.i(843476),r=e.i(876561),n=e.i(93384),a=e.i(21357),i=e.i(456420);let o=(0,i.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var l=e.i(986206);let s=(0,i.default)("test-tube",[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]]),d={archive:r.Archive,hammer:n.Hammer,play:a.Play,rocket:o,smartphone:l.Smartphone,"test-tube":s};e.s(["ConfigurationIcon",0,function({iconKey:e}){if(!e)return null;let r=d[e];return r?(0,t.jsx)(r,{"aria-hidden":!0,className:"size-4"}):null}],920950)},851817,882505,808562,e=>{"use strict";var t=e.i(456420);let r=(0,t.default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]);e.s(["Grid2X2",0,r],851817);let n=(0,t.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",0,n],882505);var a=e.i(843476),i=e.i(271645),o=e.i(30030);function l(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}e.i(174080);var s=Symbol.for("radix.slottable"),d=Symbol.for("react.lazy");function u(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===d&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var c=i[" use ".trim().toString()],p=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var r;let n,o=(r=`Primitive.${t}`,(n=i.forwardRef((e,t)=>{var n;let a,o,{children:d,...p}=e,f=null,h=!1,g=[];u(d)&&"function"==typeof c&&(d=c(d._payload)),i.Children.forEach(d,e=>{var t;if(t=e,i.isValidElement(t)&&"function"==typeof t.type&&"__radixId"in t.type&&t.type.__radixId===s){h=!0;let t="child"in e.props?e.props.child:e.props.children;u(t)&&"function"==typeof c&&(t=c(t._payload)),f=((e,t)=>{if("child"in e.props){let t=e.props.child;return i.isValidElement(t)?i.cloneElement(t,void 0,e.props.children(t.props.children)):null}return i.isValidElement(t)?t:null})(e,t),g.push(f?.props?.children)}else g.push(e)}),f?f=i.cloneElement(f,void 0,g):!h&&1===i.Children.count(d)&&i.isValidElement(d)&&(f=d);let v=f?(n=f,(o=(a=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?n.ref:(o=(a=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?n.props.ref:n.props.ref||n.ref):void 0,m=function(...e){return i.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=l(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():l(e[t],null)}}}}(...e),e)}(t,v);if(!f){if(d||0===d){let e,t;throw Error(h?(e=r,`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`):(t=r,`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`))}return d}let y=function(e,t){let r={...t};for(let n in t){let a=e[n],i=t[n];/^on[A-Z]/.test(n)?a&&i?r[n]=(...e)=>{let t=i(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...i}:"className"===n&&(r[n]=[a,i].filter(Boolean).join(" "))}return{...e,...r}}(p,f.props??{});return f.type!==i.Fragment&&(y.ref=t?m:v),i.cloneElement(f,y)})).displayName=`${r}.Slot`,n),d=i.forwardRef((e,r)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(n?o:t,{...i,ref:r})});return d.displayName=`Primitive.${t}`,{...e,[t]:d}},{}),f=e.i(842727);"u">typeof window&&window.document&&window.document.createElement;var h=globalThis?.document?i.useLayoutEffect:()=>{};i[" useEffectEvent ".trim().toString()],i[" useInsertionEffect ".trim().toString()];var g=i[" useInsertionEffect ".trim().toString()]||h;function v({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[a,o,l]=function({defaultProp:e,onChange:t}){let[r,n]=i.useState(e),a=i.useRef(r),o=i.useRef(t);return g(()=>{o.current=t},[t]),i.useEffect(()=>{a.current!==r&&(o.current?.(r),a.current=r)},[r,a]),[r,n,o]}({defaultProp:t,onChange:r}),s=void 0!==e,d=s?e:a;{let t=i.useRef(void 0!==e);i.useEffect(()=>{let e=t.current;if(e!==s){let t=s?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,n])}return[d,i.useCallback(t=>{if(s){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else o(t)},[s,e,o,l])]}Symbol("RADIX:SYNC_STATE");var m="Toggle",y=i.forwardRef((e,t)=>{let{pressed:r,defaultPressed:n,onPressedChange:i,...o}=e,[l,s]=v({prop:r,onChange:i,defaultProp:n??!1,caller:m});return(0,a.jsx)(p.button,{type:"button","aria-pressed":l,"data-state":l?"on":"off","data-disabled":e.disabled?"":void 0,...o,ref:t,onClick:function(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n||!n.defaultPrevented)return t?.(n)}}(e.onClick,()=>{e.disabled||s(!l)})})});y.displayName=m;var b=e.i(586318),x="ToggleGroup",[k,w]=(0,o.createContextScope)(x,[f.createRovingFocusGroupScope]),S=(0,f.createRovingFocusGroupScope)(),R=i.forwardRef((e,t)=>{let{type:r,...n}=e;if("single"===r)return(0,a.jsx)(E,{role:"radiogroup",...n,ref:t});if("multiple"===r)return(0,a.jsx)(I,{role:"toolbar",...n,ref:t});throw Error(`Missing prop \`type\` expected on \`${x}\``)});R.displayName=x;var[j,C]=k(x),E=i.forwardRef((e,t)=>{let{value:r,defaultValue:n,onValueChange:o=()=>{},...l}=e,[s,d]=v({prop:r,defaultProp:n??"",onChange:o,caller:x});return(0,a.jsx)(j,{scope:e.__scopeToggleGroup,type:"single",value:i.useMemo(()=>s?[s]:[],[s]),onItemActivate:d,onItemDeactivate:i.useCallback(()=>d(""),[d]),children:(0,a.jsx)($,{...l,ref:t})})}),I=i.forwardRef((e,t)=>{let{value:r,defaultValue:n,onValueChange:o=()=>{},...l}=e,[s,d]=v({prop:r,defaultProp:n??[],onChange:o,caller:x}),u=i.useCallback(e=>d((t=[])=>[...t,e]),[d]),c=i.useCallback(e=>d((t=[])=>t.filter(t=>t!==e)),[d]);return(0,a.jsx)(j,{scope:e.__scopeToggleGroup,type:"multiple",value:s,onItemActivate:u,onItemDeactivate:c,children:(0,a.jsx)($,{...l,ref:t})})});R.displayName=x;var[D,M]=k(x),$=i.forwardRef((e,t)=>{let{__scopeToggleGroup:r,disabled:n=!1,rovingFocus:i=!0,orientation:o,dir:l,loop:s=!0,...d}=e,u=S(r),c=(0,b.useDirection)(l),h={dir:c,...d};return(0,a.jsx)(D,{scope:r,rovingFocus:i,disabled:n,children:i?(0,a.jsx)(f.Root,{asChild:!0,...u,orientation:o,dir:c,loop:s,children:(0,a.jsx)(p.div,{...h,ref:t})}):(0,a.jsx)(p.div,{...h,ref:t})})}),_="ToggleGroupItem",P=i.forwardRef((e,t)=>{let r=C(_,e.__scopeToggleGroup),n=M(_,e.__scopeToggleGroup),o=S(e.__scopeToggleGroup),l=r.value.includes(e.value),s=n.disabled||e.disabled,d={...e,pressed:l,disabled:s},u=i.useRef(null);return n.rovingFocus?(0,a.jsx)(f.Item,{asChild:!0,...o,focusable:!s,active:l,ref:u,children:(0,a.jsx)(z,{...d,ref:t})}):(0,a.jsx)(z,{...d,ref:t})});P.displayName=_;var z=i.forwardRef((e,t)=>{let{__scopeToggleGroup:r,value:n,...i}=e,o=C(_,r),l={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},s="single"===o.type?l:void 0;return(0,a.jsx)(y,{...s,...i,ref:t,onPressedChange:e=>{e?o.onItemActivate(n):o.onItemDeactivate(n)}})});e.s(["Item",0,P,"Root",0,R,"ToggleGroup",0,R,"ToggleGroupItem",0,P,"createToggleGroupScope",0,w],459881);var T=e.i(459881),T=T,A=e.i(975157),N=e.i(225913);"u">typeof window&&window.document&&window.document.createElement;var B=globalThis?.document?i.useLayoutEffect:()=>{};i[" useEffectEvent ".trim().toString()],i[" useInsertionEffect ".trim().toString()];var q=i[" useInsertionEffect ".trim().toString()]||B;Symbol("RADIX:SYNC_STATE");var V=e.i(743556),G=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,V.createSlot)(`Primitive.${t}`),n=i.forwardRef((e,n)=>{let{asChild:i,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(i?r:t,{...o,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),O="Toggle",F=i.forwardRef((e,t)=>{let{pressed:r,defaultPressed:n,onPressedChange:o,...l}=e,[s,d]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[a,o,l]=function({defaultProp:e,onChange:t}){let[r,n]=i.useState(e),a=i.useRef(r),o=i.useRef(t);return q(()=>{o.current=t},[t]),i.useEffect(()=>{a.current!==r&&(o.current?.(r),a.current=r)},[r,a]),[r,n,o]}({defaultProp:t,onChange:r}),s=void 0!==e,d=s?e:a;{let t=i.useRef(void 0!==e);i.useEffect(()=>{let e=t.current;if(e!==s){let t=s?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,n])}return[d,i.useCallback(t=>{if(s){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else o(t)},[s,e,o,l])]}({prop:r,onChange:o,defaultProp:n??!1,caller:O});return(0,a.jsx)(G.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...l,ref:t,onClick:function(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n||!n.defaultPrevented)return t?.(n)}}(e.onClick,()=>{e.disabled||d(!s)})})});F.displayName=O,e.s(["Root",0,F,"Toggle",0,F],864225),e.i(864225);let L=(0,N.cva)("group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-muted"},size:{default:"h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",sm:"h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2"}},defaultVariants:{variant:"default",size:"default"}}),H=i.createContext({size:"default",variant:"default",spacing:2,orientation:"horizontal"});e.s(["ToggleGroup",0,function({className:e,variant:t,size:r,spacing:n=2,orientation:i="horizontal",children:o,...l}){return(0,a.jsx)(T.Root,{"data-slot":"toggle-group","data-variant":t,"data-size":r,"data-spacing":n,"data-orientation":i,style:{"--gap":n},className:(0,A.cn)("group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch",e),...l,children:(0,a.jsx)(H.Provider,{value:{variant:t,size:r,spacing:n,orientation:i},children:o})})},"ToggleGroupItem",0,function({className:e,children:t,variant:r="default",size:n="default",...o}){let l=i.useContext(H);return(0,a.jsx)(T.Item,{"data-slot":"toggle-group-item","data-variant":l.variant||r,"data-size":l.size||n,"data-spacing":l.spacing,className:(0,A.cn)("shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t",L({variant:l.variant||r,size:l.size||n}),e),...o,children:t})}],808562)}]);
|