@ai-development-environment/server 0.0.28 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/prisma-runtime/prisma/migrations/20260718220000_add_build_freshness/migration.sql +1 -0
- package/prisma-runtime/prisma/migrations/20260719010000_add_build_reports/migration.sql +29 -0
- package/prisma-runtime/prisma/schema.prisma +24 -0
- package/standalone/.next/BUILD_ID +1 -1
- package/standalone/.next/app-path-routes-manifest.json +2 -0
- package/standalone/.next/build-manifest.json +6 -6
- package/standalone/.next/prerender-manifest.json +3 -3
- package/standalone/.next/routes-manifest.json +17 -0
- package/standalone/.next/server/app/[locale]/actions/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/actions/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/agents/[id]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/agents/[id]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/agents/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/agents/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/build-data/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/build-data/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/app-paths-manifest.json +3 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/build-manifest.json +16 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/next-font-manifest.json +11 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/react-loadable-manifest.json +1 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/server-reference-manifest.json +4 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js +16 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.map +5 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.nft.json +1 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +3 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/builds/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/builds/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/comments/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/comments/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/cache/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/tickets/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/pull-requests/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/settings/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/settings/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/groups/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/tools/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/tools/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/usage/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/usage/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/worktrees/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/_global-error.html +1 -1
- package/standalone/.next/server/app/_global-error.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/_not-found.html +1 -1
- package/standalone/.next/server/app/_not-found.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +2 -2
- 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]/route.js +2 -2
- 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 +2 -2
- package/standalone/.next/server/app/api/codebases/by-path/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/codebases/route.js +2 -2
- package/standalone/.next/server/app/api/codebases/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/graphql/route.js +2 -2
- package/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/mcp/route.js +2 -2
- package/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/tools/call/route.js +2 -2
- package/standalone/.next/server/app/api/tools/call/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/tools/catalog/route.js +2 -2
- 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 +2 -0
- package/standalone/.next/server/chunks/1oeh_server_app_api_worktrees_[worktreeId]_diff-image_route_actions_0nie5n3.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__1iv83x0._.js → [root-of-the-server]__0-ypkf7._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__08w_8a-._.js → [root-of-the-server]__00ku6-v._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__0yfvw4a._.js → [root-of-the-server]__0138gz-._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__0r5s0h6._.js → [root-of-the-server]__02vqwey._.js} +2 -2
- package/standalone/.next/server/chunks/{[root-of-the-server]__098f8w4._.js → [root-of-the-server]__056cnsc._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__1l6ed2g._.js → [root-of-the-server]__08mfybr._.js} +2 -2
- package/standalone/.next/server/chunks/{[root-of-the-server]__0cs2bfc._.js → [root-of-the-server]__08u874i._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__01h2pl1._.js → [root-of-the-server]__09skp6r._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__1mgcft0._.js → [root-of-the-server]__09v6swg._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__0h0mvv8._.js → [root-of-the-server]__0aiyd05._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__14-aq4c._.js → [root-of-the-server]__0cyubup._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__0_l5rqe._.js → [root-of-the-server]__0da1wsf._.js} +1 -1
- package/standalone/.next/server/chunks/[root-of-the-server]__0e1fqyr._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__1frrx8s._.js → [root-of-the-server]__0f3ptor._.js} +2 -2
- package/standalone/.next/server/chunks/{[root-of-the-server]__0k01mi-._.js → [root-of-the-server]__0fih0li._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__02qjyhj._.js → [root-of-the-server]__0g0tnct._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__1ehdq4c._.js → [root-of-the-server]__0gbor-2._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__09lyzw2._.js → [root-of-the-server]__0mj6qcr._.js} +2 -2
- package/standalone/.next/server/chunks/{[root-of-the-server]__14uwobw._.js → [root-of-the-server]__0p_h088._.js} +1 -1
- package/standalone/.next/server/chunks/[root-of-the-server]__0rwpsai._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__0i4bd9d._.js → [root-of-the-server]__0vvjqp5._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__04rx7b9._.js → [root-of-the-server]__0w20bq-._.js} +2 -2
- package/standalone/.next/server/chunks/{[root-of-the-server]__0hmrx3m._.js → [root-of-the-server]__0wf0pka._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__0nxj1ky._.js → [root-of-the-server]__0wg2umj._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__17bgip6._.js → [root-of-the-server]__0xa_els._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__0wx4-1l._.js → [root-of-the-server]__0xukz2x._.js} +2 -2
- package/standalone/.next/server/chunks/[root-of-the-server]__0zyqmd4._.js +122 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1-z6lg_._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__0kxltc8._.js → [root-of-the-server]__15_clsj._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__020ggc3._.js → [root-of-the-server]__15aat79._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__00_-x1w._.js → [root-of-the-server]__15bbm2q._.js} +2 -2
- package/standalone/.next/server/chunks/{[root-of-the-server]__09c7zmy._.js → [root-of-the-server]__16l4wed._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__04hrhu3._.js → [root-of-the-server]__19zwwdv._.js} +1 -1
- package/standalone/.next/server/chunks/{[root-of-the-server]__0d4_f1e._.js → [root-of-the-server]__1a5_am-._.js} +1 -1
- package/standalone/.next/server/chunks/[root-of-the-server]__1ajaiy1._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1dtlzq1._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1kpqohm._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1l7234r._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__0c02fce._.js → [root-of-the-server]__1oa-sy6._.js} +2 -2
- package/standalone/.next/server/chunks/[root-of-the-server]__1vip3sa._.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]__0cryh-d._.js → [root-of-the-server]__1wtng3p._.js} +1 -1
- package/standalone/.next/server/chunks/[root-of-the-server]__1wu654b._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1x2nph5._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1xk-0be._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__210dhdj._.js +3 -0
- package/standalone/.next/server/chunks/_0exkna-._.js +164 -8
- package/standalone/.next/server/chunks/{_0bru086._.js → _0jurkow._.js} +26 -26
- package/standalone/.next/server/chunks/{_00mzn-u._.js → _0rx5rfm._.js} +27 -27
- package/standalone/.next/server/chunks/_0tufgj0._.js +234 -78
- package/standalone/.next/server/chunks/_0w2eghf._.js +164 -8
- package/standalone/.next/server/chunks/_152rnkf._.js +17 -17
- package/standalone/.next/server/chunks/{_1_g2i-t._.js → _16x77b_._.js} +27 -27
- package/standalone/.next/server/chunks/_1dbqy8c._.js +17 -17
- package/standalone/.next/server/chunks/_1vrixpc._.js +17 -17
- package/standalone/.next/server/chunks/_1yfz-9u._.js +17 -17
- package/standalone/.next/server/chunks/src_0o4-snj._.js +1 -1
- package/standalone/.next/server/chunks/ssr/1oeh_server_app_[locale]_builds_[buildId]_coverage_page_actions_20i_0zd.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__08bbv6z._.js +9 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ckj6wg._.js +13 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eit075._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tsac-e._.js +15 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0uo4dhz._.js +11 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__10-ftkj._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__15v1geo._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qm_j4s._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1s6_fta._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0-o77zz._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_00m30gw._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_03961l6._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_08q5hnx._.js +35 -0
- 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/{_0hoc_fd._.js → _0ddgabq._.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/_0id1774._.js +13 -0
- package/standalone/.next/server/chunks/ssr/_0j48up8._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_0nhtqty._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_0oh246z._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1r9ohdr._.js → _0q8sy0w._.js} +2 -2
- 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/{_13jl9nw._.js → _0ufkrvm._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/{_0sp1ojg._.js → _0vjihfb._.js} +26 -2
- package/standalone/.next/server/chunks/ssr/_0xh-lyy._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1-2qcpf._.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 +3 -0
- package/standalone/.next/server/chunks/ssr/_1bzibio._.js +109 -0
- package/standalone/.next/server/chunks/ssr/_1c2fde9._.js +11 -0
- package/standalone/.next/server/chunks/ssr/_1ekznx8._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1k1tyz4._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1dsdn7w._.js → _1n9rteq._.js} +8 -2
- package/standalone/.next/server/chunks/ssr/_1och_zk._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1tpguta._.js +3 -0
- 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_agents_agent-detail_tsx_0lfa4ui._.js +2 -2
- package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js +15 -13
- package/standalone/.next/server/chunks/ssr/src_components_builds_builds-page_tsx_17qzmsl._.js +8 -12
- 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_github_actions-page_tsx_18434xt._.js +5 -5
- package/standalone/.next/server/chunks/ssr/src_components_github_pull-requests-page_tsx_1il3ga-._.js +12 -12
- 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_tools_tools-page_tsx_0k1jqcz._.js +2 -2
- package/standalone/.next/server/chunks/ssr/src_components_worktrees_worktree-detail-page_tsx_1oexgu_._.js +21 -4
- package/standalone/.next/server/functions-config-manifest.json +3 -0
- package/standalone/.next/server/middleware-build-manifest.js +6 -6
- package/standalone/.next/server/next-font-manifest.js +1 -1
- package/standalone/.next/server/next-font-manifest.json +4 -0
- package/standalone/.next/server/pages/404.html +1 -1
- package/standalone/.next/server/pages/500.html +1 -1
- package/standalone/.next/server/server-reference-manifest.js +1 -1
- package/standalone/.next/server/server-reference-manifest.json +1 -1
- package/standalone/.next/static/chunks/041g9raf1naqv.js +48 -0
- package/standalone/.next/static/chunks/08ujwkhzkokhf.js +1 -0
- package/standalone/.next/static/chunks/0a82bgw37ev__.js +33 -0
- package/standalone/.next/static/chunks/0cw4z7_m01m5f.js +31 -0
- package/standalone/.next/static/chunks/0emxr8tr7kji0.js +33 -0
- package/standalone/.next/static/chunks/0h8zu6aywqh1-.js +27 -0
- package/standalone/.next/static/chunks/0ng892ycfzv2q.js +1 -0
- package/standalone/.next/static/chunks/0tgtji0dbbefa.js +107 -0
- package/standalone/.next/static/chunks/15_8kla24ff9f.js +1 -0
- package/standalone/.next/static/chunks/16-l4kp9o217d.js +1 -0
- package/standalone/.next/static/chunks/1c7ci5ai5qyfo.js +1 -0
- package/standalone/.next/static/chunks/1egccqmgk3kbi.js +1 -0
- package/standalone/.next/static/chunks/1gwvywh0e6i17.js +3 -0
- package/standalone/.next/static/chunks/1hehq94hslvbl.js +7 -0
- package/standalone/.next/static/chunks/1k5cw41bd4e5r.js +51 -0
- package/standalone/.next/static/chunks/{1rivge68m21sm.js → 1mprxk0uebv70.js} +10 -10
- package/standalone/.next/static/chunks/1rus13s58mkxy.js +1 -0
- package/standalone/.next/static/chunks/{2fzxwi39odugq.js → 1rwqeg_l_plzt.js} +1 -1
- package/standalone/.next/static/chunks/1u_jwc-bo10k3.js +1 -0
- package/standalone/.next/static/chunks/1ut0xkaqsykm4.js +7 -0
- package/standalone/.next/static/chunks/1w_zvfx_jdyv_.js +29 -0
- package/standalone/.next/static/chunks/2-wrd12dmwbo-.js +1 -0
- package/standalone/.next/static/chunks/23kut2_l2y2-w.js +9 -0
- package/standalone/.next/static/chunks/23xyv764-kx8z.js +38 -0
- package/standalone/.next/static/chunks/{1wihkuyju-wa-.js → 25haryfoj4x3h.js} +1 -1
- package/standalone/.next/static/chunks/{0fr0zp4cwlyrr.js → 28ljy-uz6n_g9.js} +2 -2
- package/standalone/.next/static/chunks/29zl8lgsa28tb.js +1 -0
- package/standalone/.next/static/chunks/{0w8rd_g6hnvmz.js → 2__bi79el56lb.js} +5 -5
- package/standalone/.next/static/chunks/2aq80hyo4l8a2.js +7 -0
- package/standalone/.next/static/chunks/{24a_ux27e8jj4.js → 2l_wayk-ioguc.js} +1 -1
- package/standalone/.next/static/chunks/2swvzbwm_dr9y.js +1 -0
- package/standalone/.next/static/chunks/{0m26h4h36cb_0.js → 3120xcqaqci82.js} +1 -1
- package/standalone/.next/static/chunks/315cis1es_5t3.js +41 -0
- 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/{1nqkxeuycfmrt.js → 36_1bjzx79v18.js} +5 -5
- package/standalone/.next/static/chunks/37mczlawlcx5l.js +1 -0
- package/standalone/.next/static/chunks/3ajj69p_sj615.js +1 -0
- package/standalone/.next/static/chunks/{1tcqtaedz7922.js → 3d4ijy7zglgv5.js} +1 -1
- package/standalone/.next/static/chunks/3ir4b8po439x7.js +40 -0
- package/standalone/.next/static/chunks/3p7wbgo7qd6_m.css +1 -0
- package/standalone/.next/static/chunks/3q0q6_ntq8aa5.js +51 -0
- package/standalone/.next/static/chunks/3r-6igcofcwxj.js +107 -0
- package/standalone/.next/static/chunks/{0m--47yk9j-ec.js → 3tycetq7o8g3h.js} +1 -1
- package/standalone/.next/static/chunks/3vg6y29m047x9.js +31 -0
- package/standalone/.next/static/chunks/{0biu8z1f8c42u.js → 40ovzayigkz_-.js} +1 -1
- package/standalone/.next/static/chunks/41wq-96yyl0uw.js +1 -0
- package/standalone/.next/static/chunks/44xu63hsh11xp.js +1 -0
- package/standalone/.next/static/chunks/{turbopack-1rw7om86c18dg.js → turbopack-1v9ogj_5hv56l.js} +1 -1
- package/standalone/src/services/builds/build-freshness.test.ts +107 -0
- package/standalone/src/services/builds/build-freshness.ts +73 -0
- package/standalone/src/services/builds/builds.service.test.ts +222 -8
- package/standalone/src/services/builds/builds.service.ts +514 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__0qjhcow._.js +0 -122
- package/standalone/.next/server/chunks/[root-of-the-server]__1878s0b._.js +0 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__18zrtty._.js +0 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__1_xz_m2._.js +0 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__1mx1hqe._.js +0 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__1sjjkyp._.js +0 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__1vk9266._.js +0 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__1yn6pds._.js +0 -3
- package/standalone/.next/server/chunks/[root-of-the-server]__1zwpjfo._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__03m5q8h._.js +0 -27
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__06bk7ik._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__06f05jg._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oj1os4._.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]__1osx7qy._.js +0 -27
- package/standalone/.next/server/chunks/ssr/_09l5w5d._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0_726fj._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0a1zku5._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0bvpmhm._.js +0 -97
- package/standalone/.next/server/chunks/ssr/_0ndnmkz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0pe56xv._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0pu14lm._.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/_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/_1eol9we._.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/_1h3t5g1._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1kemhyd._.js +0 -39
- package/standalone/.next/server/chunks/ssr/_1kmkrz5._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1lseili._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1oh35yj._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1vhf014._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1x13g5y._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1yzb5-u._.js +0 -11
- package/standalone/.next/server/chunks/ssr/_1za3z6k._.js +0 -97
- package/standalone/.next/server/chunks/ssr/src_components_0wvh73y._.js +0 -11
- package/standalone/.next/server/chunks/ssr/src_components_github_167_ydi._.js +0 -35
- package/standalone/.next/static/chunks/00dx8gu-2oyqe.js +0 -45
- package/standalone/.next/static/chunks/091l-ij_cv0b6.js +0 -41
- package/standalone/.next/static/chunks/0a3s519wuzjet.js +0 -1
- package/standalone/.next/static/chunks/0j5n6p9i-vyzo.js +0 -9
- package/standalone/.next/static/chunks/0sp_r-c6262te.js +0 -3
- package/standalone/.next/static/chunks/0weklluydd2mf.js +0 -23
- package/standalone/.next/static/chunks/1eehbcjby4go8.js +0 -95
- package/standalone/.next/static/chunks/1joeb4m-mmn69.js +0 -7
- package/standalone/.next/static/chunks/1xjd6ye7mxyf5.js +0 -7
- package/standalone/.next/static/chunks/23_75iur2dq8p.js +0 -1
- package/standalone/.next/static/chunks/24sd_kmnetibb.js +0 -1
- package/standalone/.next/static/chunks/278dxvyf095b_.js +0 -55
- 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/2dwchs_6y_o5f.js +0 -1
- package/standalone/.next/static/chunks/2hv6pkoloju0g.js +0 -33
- package/standalone/.next/static/chunks/2lgsgstcvc7uk.css +0 -1
- package/standalone/.next/static/chunks/2sqprazdqp7f7.js +0 -1
- package/standalone/.next/static/chunks/32agjzrkphjrl.js +0 -9
- package/standalone/.next/static/chunks/33y_b6dqfx3tk.js +0 -1
- package/standalone/.next/static/chunks/399uxexoo8x7f.js +0 -33
- package/standalone/.next/static/chunks/39ecics7n8z5m.js +0 -1
- package/standalone/.next/static/chunks/3_kaby2qep1pd.js +0 -34
- package/standalone/.next/static/chunks/3h1pxh5fd97ym.js +0 -27
- package/standalone/.next/static/chunks/3jbfibit05k5o.js +0 -29
- package/standalone/.next/static/chunks/3oyhf7rk2xr_g.js +0 -1
- package/standalone/.next/static/chunks/3q7vh58-5dkv2.js +0 -25
- package/standalone/.next/static/chunks/3td_-1s61zkpa.js +0 -38
- package/standalone/.next/static/chunks/3xkoiasuwi3ms.js +0 -95
- package/standalone/.next/static/chunks/41s57pssydrel.js +0 -43
- package/standalone/.next/static/chunks/42flok13o-l0b.js +0 -1
- package/standalone/.next/static/chunks/43gw6_6hbw18w.js +0 -51
- /package/standalone/.next/static/{_pMjurqsAcC478HIzIe-d → ePu377E66yy0icQx3ykQJ}/_buildManifest.js +0 -0
- /package/standalone/.next/static/{_pMjurqsAcC478HIzIe-d → ePu377E66yy0icQx3ykQJ}/_clientMiddlewareManifest.js +0 -0
- /package/standalone/.next/static/{_pMjurqsAcC478HIzIe-d → ePu377E66yy0icQx3ykQJ}/_ssgManifest.js +0 -0
package/standalone/.next/server/chunks/ssr/src_components_agents_agent-detail_tsx_0lfa4ui._.js
CHANGED
|
@@ -8,7 +8,7 @@ module.exports=[61302,a=>{"use strict";var b=a.i(187924),c=a.i(451262),d=a.i(219
|
|
|
8
8
|
requestAgentCodebaseReconcile(agentId: $agentId)
|
|
9
9
|
}`,{agentId:a});v({accepted:b.requestAgentCodebaseReconcile}),r(null);return}let b=JSON.parse(o);if(!b||"object"!=typeof b||Array.isArray(b))throw Error(l("invalidJsonObject"));let c=await (0,F.controlPlaneRequest)(`mutation InvokeAgentCapability($input: CreateAgentJobInput!) {
|
|
10
10
|
createAgentJob(input: $input) { ${H.JOB_FIELDS} }
|
|
11
|
-
}`,{input:{agentId:a,kind:d,payload:b,idempotencyKey:`manual:${d}:${(0,E.createClientId)()}`,timeoutSeconds:86400}});r(c.createAgentJob),v(void 0),i(c.createAgentJob,!0)}catch(a){x(a instanceof SyntaxError?l("invalidJsonObject"):a instanceof Error?a.message:String(a)),r(null),v(void 0)}finally{B(!1)}},N=q?{status:q.status,result:q.result,error:q.error}:t,O=void 0===N?"":JSON.stringify(N,null,2),P=async()=>{try{await (0,E.copyText)(O),G(!0)}catch{x(l("copyFailed"))}};return(0,b.jsxs)("form",{className:"grid gap-4 lg:grid-cols-2",onSubmit:M,children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("parameters")}),f?(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:j("eventCapabilityDescription")}):(0,b.jsxs)("div",{children:[(0,b.jsx)(y.Label,{className:"mb-1.5 block",htmlFor:`${d}-payload`,children:j("payload")}),(0,b.jsx)(C.Textarea,{className:"min-h-36 font-mono text-xs",id:`${d}-payload`,onChange:a=>p(a.target.value),spellCheck:!1,value:o})]}),(0,b.jsxs)(u.Button,{disabled:A||g,type:"submit",children:[A?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(k.Wrench,{}),A?l("running"):j("invoke")]}),g&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:j("invokeOffline")})]}),(0,b.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,b.jsxs)("div",{className:"flex min-h-7 items-center justify-between gap-2",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("response")}),void 0!==N&&(0,b.jsx)(u.Button,{"aria-label":D?l("copied"):l("copyResponse"),onClick:()=>void P(),size:"icon-sm",type:"button",variant:"ghost",children:D?(0,b.jsx)(e.Check,{}):(0,b.jsx)(h.Copy,{})})]}),w?(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:w})}):void 0===N?(0,b.jsx)("div",{className:"rounded-lg border border-dashed p-4 text-sm text-muted-foreground",children:j("noCapabilityResponse")}):(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded-lg bg-muted p-3 font-mono text-xs whitespace-pre-wrap",children:O})]})]})}function U({codebases:a,locale:c}){let d=(0,m.useTranslations)("agentDetail"),e=(0,m.useTranslations)("codebases");return(0,b.jsxs)(v.Card,{children:[(0,b.jsxs)(v.CardHeader,{children:[(0,b.jsx)(v.CardTitle,{children:d("codebases")}),(0,b.jsx)(v.CardDescription,{children:d("codebasesDescription")})]}),
|
|
11
|
+
}`,{input:{agentId:a,kind:d,payload:b,idempotencyKey:`manual:${d}:${(0,E.createClientId)()}`,timeoutSeconds:86400}});r(c.createAgentJob),v(void 0),i(c.createAgentJob,!0)}catch(a){x(a instanceof SyntaxError?l("invalidJsonObject"):a instanceof Error?a.message:String(a)),r(null),v(void 0)}finally{B(!1)}},N=q?{status:q.status,result:q.result,error:q.error}:t,O=void 0===N?"":JSON.stringify(N,null,2),P=async()=>{try{await (0,E.copyText)(O),G(!0)}catch{x(l("copyFailed"))}};return(0,b.jsxs)("form",{className:"grid gap-4 lg:grid-cols-2",onSubmit:M,children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("parameters")}),f?(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:j("eventCapabilityDescription")}):(0,b.jsxs)("div",{children:[(0,b.jsx)(y.Label,{className:"mb-1.5 block",htmlFor:`${d}-payload`,children:j("payload")}),(0,b.jsx)(C.Textarea,{className:"min-h-36 font-mono text-xs",id:`${d}-payload`,onChange:a=>p(a.target.value),spellCheck:!1,value:o})]}),(0,b.jsxs)(u.Button,{disabled:A||g,type:"submit",children:[A?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(k.Wrench,{}),A?l("running"):j("invoke")]}),g&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:j("invokeOffline")})]}),(0,b.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,b.jsxs)("div",{className:"flex min-h-7 items-center justify-between gap-2",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("response")}),void 0!==N&&(0,b.jsx)(u.Button,{"aria-label":D?l("copied"):l("copyResponse"),onClick:()=>void P(),size:"icon-sm",type:"button",variant:"ghost",children:D?(0,b.jsx)(e.Check,{}):(0,b.jsx)(h.Copy,{})})]}),w?(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:w})}):void 0===N?(0,b.jsx)("div",{className:"rounded-lg border border-dashed p-4 text-sm text-muted-foreground",children:j("noCapabilityResponse")}):(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded-lg bg-muted p-3 font-mono text-xs whitespace-pre-wrap",children:O})]})]})}function U({codebases:a,locale:c}){let d=(0,m.useTranslations)("agentDetail"),e=(0,m.useTranslations)("codebases");return(0,b.jsxs)(v.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(v.CardHeader,{className:"border-b py-4",children:[(0,b.jsx)(v.CardTitle,{children:d("codebases")}),(0,b.jsx)(v.CardDescription,{children:d("codebasesDescription")})]}),0===a.length?(0,b.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:d("noCodebases")}):(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{children:d("repository")}),(0,b.jsx)(B.TableHead,{children:e("folder")}),(0,b.jsx)(B.TableHead,{children:e("branch")}),(0,b.jsx)(B.TableHead,{children:d("status")}),(0,b.jsx)(B.TableHead,{children:e("lastChecked")}),(0,b.jsx)(B.TableHead,{className:"w-20"})]})}),(0,b.jsx)(B.TableBody,{children:a.map(a=>(0,b.jsxs)(B.TableRow,{children:[(0,b.jsxs)(B.TableCell,{children:[(0,b.jsx)("p",{className:"font-medium",children:a.repository.name}),(0,b.jsx)("p",{className:"max-w-sm truncate font-mono text-xs text-muted-foreground",children:a.repository.displayOrigin})]}),(0,b.jsx)(B.TableCell,{className:"max-w-sm truncate font-mono text-xs",children:a.folder}),(0,b.jsx)(B.TableCell,{className:"font-mono text-xs",children:a.branch??a.headSha?.slice(0,10)??e("unknown")}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(t.Badge,{className:(0,G.cn)("IN_SYNC"===a.syncState&&"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300"),variant:"outline",children:"AVAILABLE"===a.availability?e(`sync.${a.syncState}`):e(`availability.${a.availability}`)})}),(0,b.jsx)(B.TableCell,{children:a.lastCheckedAt?new Date(a.lastCheckedAt).toLocaleString(c):e("never")}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(u.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsx)(D.Link,{href:`/codebases/${a.id}`,children:e("view")})})})]},a.id))})]})]})}a.s(["AgentDetail",0,function({agentId:a}){let e=(0,m.useTranslations)("agentDetail"),f=(0,m.useTranslations)("common"),g=(0,l.useLocale)(),h=(0,D.useRouter)(),[k,t]=(0,n.useState)(null),[y,A]=(0,n.useState)([]),[C,E]=(0,n.useState)([]),[I,J]=(0,n.useState)(""),[K,Q]=(0,n.useState)(null),[T,V]=(0,n.useState)(!0),[W,X]=(0,n.useState)(null),[Y,Z]=(0,n.useState)(!1),[$,_]=(0,n.useState)(!1),[aa,ab]=(0,n.useState)(null),ac=(0,n.useRef)(0),ad=(0,n.useCallback)(async()=>{let b=++ac.current;try{let c=await (0,F.controlPlaneRequest)(`query AgentDetail($id: ID!) {
|
|
12
12
|
agent(id: $id) { ${H.AGENT_FIELDS} }
|
|
13
13
|
agentJobs(agentId: $id) { ${H.JOB_FIELDS} }
|
|
14
14
|
codebaseOverview {
|
|
@@ -26,6 +26,6 @@ module.exports=[61302,a=>{"use strict";var b=a.i(187924),c=a.i(451262),d=a.i(219
|
|
|
26
26
|
updateAgentBaseRepoDirectory(agentId: $agentId, baseRepoDirectory: $baseRepoDirectory) {
|
|
27
27
|
${H.AGENT_FIELDS}
|
|
28
28
|
}
|
|
29
|
-
}`,{agentId:a,baseRepoDirectory:b});t(c.updateAgentBaseRepoDirectory)}catch(a){ab(a instanceof Error?a.message:String(a))}finally{_(!1)}},ag=(0,n.useCallback)((a,b=!1)=>{A(b=>M(b,a)),b&&Q(a.id)},[]),ah=async()=>{Z(!0),X(null);try{await (0,F.controlPlaneRequest)("mutation DeleteAgent($agentId: ID!) { deleteAgent(agentId: $agentId) }",{agentId:a}),h.push("/agents")}catch(a){X(a instanceof Error?a.message:String(a)),Z(!1)}};if(T)return(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(z.Spinner,{}),e("loading")]});if(W&&!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-destructive",children:W});if(!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-muted-foreground",children:e("notFound")});let ai="ONLINE"===k.connectionStatus&&k.capabilities.includes(c.CODEBASE_BROWSE_JOB_KIND),aj=k.capabilities.filter(a=>a.toLocaleLowerCase().includes(I.toLocaleLowerCase()));return(0,b.jsxs)("div",{className:"mx-auto flex w-full max-w-[1500px] flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsx)(u.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsxs)(D.Link,{href:"/agents",children:[(0,b.jsx)(d.ArrowLeft,{}),e("back")]})}),(0,b.jsx)(r.ConfirmationDialog,{actionLabel:e("deleteAgent"),cancelLabel:f("cancel"),description:e("deleteAgentDescription",{name:k.name}),onConfirm:ah,title:e("deleteAgentTitle"),trigger:(0,b.jsxs)(u.Button,{disabled:Y,size:"sm",variant:"destructive",children:[Y?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(j.Trash2,{}),e("deleteAgent")]})})]}),W&&(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:W})}),(0,b.jsxs)(v.Card,{children:[(0,b.jsx)(v.CardHeader,{children:(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(v.CardTitle,{className:"text-2xl font-semibold tracking-tight",children:k.name}),(0,b.jsx)(q.StatusBadge,{status:k.connectionStatus})]}),(0,b.jsxs)(v.CardDescription,{className:"mt-1",children:[k.hostname," · ",k.osVersion," · ",k.architecture]})]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:k.id})]})}),(0,b.jsxs)(v.CardContent,{className:"space-y-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"font-medium",children:e("generalInformation")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e("generalInformationDescription")})]}),(0,b.jsxs)("dl",{className:"grid gap-4 text-sm sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(P,{label:e("version"),value:k.version}),(0,b.jsx)(P,{label:e("cpuModel"),value:k.cpuModel??e("unavailable")}),(0,b.jsx)(P,{label:e("operatingSystem"),value:k.osVersion}),(0,b.jsx)(P,{label:e("architecture"),value:k.architecture}),(0,b.jsx)(P,{label:e("lastSeen"),value:k.lastSeenAt?new Date(k.lastSeenAt).toLocaleString(g):e("never")}),(0,b.jsx)(P,{label:e("ipAddress"),value:k.ipAddress??e("unavailable"),mono:!0})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(R,{free:k.memoryFreeBytes,label:e("memory"),locale:g,total:k.memoryTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")}),(0,b.jsx)(R,{free:k.diskFreeBytes,label:e("disk"),locale:g,total:k.diskTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")})]})]})]}),(0,b.jsxs)(v.Card,{children:[(0,b.jsxs)(v.CardHeader,{children:[(0,b.jsx)(v.CardTitle,{children:e("capabilities")}),(0,b.jsx)(v.CardDescription,{children:e("capabilitiesDescription")})]}),(0,b.
|
|
29
|
+
}`,{agentId:a,baseRepoDirectory:b});t(c.updateAgentBaseRepoDirectory)}catch(a){ab(a instanceof Error?a.message:String(a))}finally{_(!1)}},ag=(0,n.useCallback)((a,b=!1)=>{A(b=>M(b,a)),b&&Q(a.id)},[]),ah=async()=>{Z(!0),X(null);try{await (0,F.controlPlaneRequest)("mutation DeleteAgent($agentId: ID!) { deleteAgent(agentId: $agentId) }",{agentId:a}),h.push("/agents")}catch(a){X(a instanceof Error?a.message:String(a)),Z(!1)}};if(T)return(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(z.Spinner,{}),e("loading")]});if(W&&!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-destructive",children:W});if(!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-muted-foreground",children:e("notFound")});let ai="ONLINE"===k.connectionStatus&&k.capabilities.includes(c.CODEBASE_BROWSE_JOB_KIND),aj=k.capabilities.filter(a=>a.toLocaleLowerCase().includes(I.toLocaleLowerCase()));return(0,b.jsxs)("div",{className:"mx-auto flex w-full max-w-[1500px] flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsx)(u.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsxs)(D.Link,{href:"/agents",children:[(0,b.jsx)(d.ArrowLeft,{}),e("back")]})}),(0,b.jsx)(r.ConfirmationDialog,{actionLabel:e("deleteAgent"),cancelLabel:f("cancel"),description:e("deleteAgentDescription",{name:k.name}),onConfirm:ah,title:e("deleteAgentTitle"),trigger:(0,b.jsxs)(u.Button,{disabled:Y,size:"sm",variant:"destructive",children:[Y?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(j.Trash2,{}),e("deleteAgent")]})})]}),W&&(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:W})}),(0,b.jsxs)(v.Card,{children:[(0,b.jsx)(v.CardHeader,{children:(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(v.CardTitle,{className:"text-2xl font-semibold tracking-tight",children:k.name}),(0,b.jsx)(q.StatusBadge,{status:k.connectionStatus})]}),(0,b.jsxs)(v.CardDescription,{className:"mt-1",children:[k.hostname," · ",k.osVersion," · ",k.architecture]})]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:k.id})]})}),(0,b.jsxs)(v.CardContent,{className:"space-y-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"font-medium",children:e("generalInformation")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e("generalInformationDescription")})]}),(0,b.jsxs)("dl",{className:"grid gap-4 text-sm sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(P,{label:e("version"),value:k.version}),(0,b.jsx)(P,{label:e("cpuModel"),value:k.cpuModel??e("unavailable")}),(0,b.jsx)(P,{label:e("operatingSystem"),value:k.osVersion}),(0,b.jsx)(P,{label:e("architecture"),value:k.architecture}),(0,b.jsx)(P,{label:e("lastSeen"),value:k.lastSeenAt?new Date(k.lastSeenAt).toLocaleString(g):e("never")}),(0,b.jsx)(P,{label:e("ipAddress"),value:k.ipAddress??e("unavailable"),mono:!0})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(R,{free:k.memoryFreeBytes,label:e("memory"),locale:g,total:k.memoryTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")}),(0,b.jsx)(R,{free:k.diskFreeBytes,label:e("disk"),locale:g,total:k.diskTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")})]})]})]}),(0,b.jsxs)(v.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(v.CardHeader,{className:"border-b py-4",children:[(0,b.jsx)(v.CardTitle,{children:e("capabilities")}),(0,b.jsx)(v.CardDescription,{children:e("capabilitiesDescription")})]}),(0,b.jsx)("div",{className:"border-b p-4",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(i.Search,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(x.Input,{"aria-label":e("searchCapabilities"),className:"pl-9",onChange:a=>J(a.target.value),placeholder:e("searchCapabilitiesPlaceholder"),type:"search",value:I})]})}),0===aj.length?(0,b.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:e("noMatchingCapabilities")}):(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{className:"w-10"}),(0,b.jsx)(B.TableHead,{children:e("capability")}),(0,b.jsx)(B.TableHead,{children:e("kind")})]})}),(0,b.jsx)(B.TableBody,{children:aj.map(a=>(0,b.jsx)(S,{agentId:k.id,capability:a,offline:"ONLINE"!==k.connectionStatus,onJobChanged:ag},a))})]})]}),(0,b.jsx)(U,{codebases:C,locale:g}),(0,b.jsxs)(v.Card,{children:[(0,b.jsxs)(v.CardHeader,{children:[(0,b.jsx)(v.CardTitle,{children:e("baseRepoDirectory")}),(0,b.jsx)(v.CardDescription,{children:e("baseRepoDirectoryDescription")})]}),(0,b.jsxs)(v.CardContent,{children:[(0,b.jsxs)("div",{className:"rounded-lg bg-muted p-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e("currentDirectory")}),(0,b.jsx)("p",{className:"mt-1 break-all font-mono text-xs",children:k.baseRepoDirectory??e("notConfigured")})]}),aa&&(0,b.jsx)(s.Alert,{className:"mt-4",variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:aa})}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-start gap-2",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:ai?(0,b.jsx)(o.AgentDirectoryBrowser,{agentId:k.id,disabled:$,onSelect:a=>af(a),selectLabel:e("useDirectory")},`${k.id}:${k.baseRepoDirectory??""}`):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:e("directoryBrowsingUnavailable")})}),k.baseRepoDirectory&&(0,b.jsxs)(u.Button,{disabled:$,onClick:()=>void af(null),type:"button",variant:"outline",children:[(0,b.jsx)(j.Trash2,{})," ",e("clearDirectory")]})]})]})]}),(0,b.jsx)(O,{agent:k,canBrowseDirectories:ai,onSaved:t},`${k.id}:${k.derivedDataLocationMode??"DEFAULT"}:${k.derivedDataPath??""}`),(0,b.jsx)(N,{agent:k,canBrowseDirectories:ai,onSaved:t},`${k.id}:${k.buildsDirectory??"default"}:${k.defaultBuildsDirectory??""}`),K&&(0,b.jsx)(p.JobMonitor,{compact:!0,jobId:K},K),(0,b.jsxs)("section",{children:[(0,b.jsx)("h2",{className:"mb-3 font-medium",children:e("history")}),0===y.length?(0,b.jsx)(w.Empty,{children:(0,b.jsx)(w.EmptyHeader,{children:(0,b.jsx)(w.EmptyDescription,{children:e("noJobs")})})}):(0,b.jsx)(v.Card,{className:"gap-0 py-0",children:(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{children:e("job")}),(0,b.jsx)(B.TableHead,{children:e("status")}),(0,b.jsx)(B.TableHead,{children:e("created")}),(0,b.jsx)(B.TableHead,{children:e("finished")})]})}),(0,b.jsx)(B.TableBody,{children:y.map(a=>(0,b.jsxs)(B.TableRow,{"aria-current":K===a.id?"true":void 0,"aria-label":e("selectJob",{kind:a.kind}),className:(0,G.cn)("cursor-pointer focus-visible:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",K===a.id&&"bg-muted/50"),onClick:()=>Q(a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),Q(a.id))},role:"button",tabIndex:0,children:[(0,b.jsx)(B.TableCell,{className:"font-mono text-xs font-medium",children:a.kind}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(q.StatusBadge,{status:a.status})}),(0,b.jsx)(B.TableCell,{children:new Date(a.createdAt).toLocaleString(g)}),(0,b.jsx)(B.TableCell,{children:a.finishedAt?new Date(a.finishedAt).toLocaleString(g):"—"})]},a.id))})]})})]})]})}],61302)}];
|
|
30
30
|
|
|
31
31
|
//# sourceMappingURL=src_components_agents_agent-detail_tsx_0lfa4ui._.js.map
|
package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
module.exports=[345962,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(219107),e=a.i(
|
|
2
|
-
id requestId jobId status action destinationType destination snapshot commandSummary artifactDirectory errorCode error
|
|
1
|
+
module.exports=[345962,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(219107),e=a.i(787037),f=a.i(164831);let g=(0,f.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 h=a.i(752562),i=a.i(585650),j=a.i(536670);let k=(0,f.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"}]]),l=(0,f.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=a.i(589027),n=a.i(141146),o=a.i(19895),p=a.i(980180),q=a.i(32886),r=a.i(415925),s=a.i(572131),t=a.i(844873),u=a.i(124348),v=a.i(786304),w=a.i(699570),x=a.i(591119),y=a.i(814574),z=a.i(46524),A=a.i(866718),B=a.i(870430),C=a.i(580701),D=a.i(668684),E=a.i(875083),F=a.i(206015),G=a.i(555027),H=a.i(873555),I=a.i(460280),J=a.i(710145),K=a.i(974135),L=a.i(657068);let M=`
|
|
2
|
+
id requestId jobId status action destinationType destination snapshot commandSummary artifactDirectory errorCode error outOfDate
|
|
3
3
|
createdAt startedAt finishedAt durationMs updatedAt
|
|
4
4
|
configuration {
|
|
5
5
|
id name iconKey scheme buildConfiguration defaultAction advancedSettings createdAt updatedAt
|
|
6
6
|
source { id kind relativePath }
|
|
7
7
|
}
|
|
8
8
|
artifacts { id kind relativePath sizeBytes checksum metadata createdAt }
|
|
9
|
+
reports {
|
|
10
|
+
id kind source status summary data error createdAt updatedAt finishedAt
|
|
11
|
+
artifact { id kind relativePath sizeBytes checksum metadata createdAt }
|
|
12
|
+
}
|
|
9
13
|
scriptExecutions { id phase position nameSnapshot status exitCode durationMs causedBuildFailure outputRelativePath error }
|
|
10
14
|
deployments { id batchId destination status commandSummary outputRelativePath error createdAt startedAt finishedAt }
|
|
11
15
|
exports { id status settings commandSummary outputRelativePath error createdAt startedAt finishedAt }
|
|
12
|
-
`,C="id scope scopeId sequence phase level stream message createdAt";function D({label:a,value:c,mono:d=!1}){return(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("dd",{className:d?"mt-0.5 break-all font-mono text-xs":"mt-0.5",children:c})]})}function E({buildId:a,open:c,onOpenChange:d,onSaved:e}){let f=(0,k.useTranslations)("builds"),[g,h]=(0,l.useState)("DEBUGGING"),[i,j]=(0,l.useState)("AUTOMATIC"),[m,o]=(0,l.useState)(""),[q,s]=(0,l.useState)(!1),[t,y]=(0,l.useState)(null),B=async()=>{s(!0);try{await (0,A.controlPlaneRequest)(`mutation ExportArchive($input: ExportBuildArchiveInput!) {
|
|
16
|
+
`,N="id scope scopeId sequence phase level stream message createdAt";function O(a){return a.toLocaleLowerCase().split("_").filter(Boolean).map(a=>`${a.charAt(0).toLocaleUpperCase()}${a.slice(1)}`).join(" ")}let P=["packageResolution","disablePackageRepositoryCache","signingStyle","developmentTeam","codeSignIdentity","provisioningProfileSpecifier","productBundleIdentifier","allowProvisioningUpdates","allowProvisioningDeviceRegistration","testPlan","codeCoverage","parseTestResults","parallelTesting","parallelTestingWorkers","onlyTesting","skipTesting","buildSettingOverrides","priorBuildForTestingId","priorTestProductsPath","priorXctestrunPath"],Q={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 R({settings:a}){let c=(0,r.useTranslations)("builds"),d={packageResolution:c("packageResolution"),disablePackageRepositoryCache:c("disablePackageRepositoryCache"),signingStyle:c("signingStyle"),developmentTeam:c("developmentTeam"),codeSignIdentity:c("codeSignIdentity"),provisioningProfileSpecifier:c("provisioningProfileSpecifier"),productBundleIdentifier:c("productBundleIdentifier"),allowProvisioningUpdates:c("allowProvisioningUpdates"),allowProvisioningDeviceRegistration:c("allowProvisioningDeviceRegistration"),testPlan:c("testPlan"),codeCoverage:c("codeCoverage"),parseTestResults:c("parseTestResults"),parallelTesting:c("parallelTesting"),parallelTestingWorkers:c("parallelTestingWorkers"),onlyTesting:c("onlyTesting"),skipTesting:c("skipTesting"),buildSettingOverrides:c("buildSettingOverrides"),priorBuildForTestingId:c("priorBuildForTesting"),priorTestProductsPath:c("priorTestProductsPath"),priorXctestrunPath:c("priorXctestrunPath")},e=new Set(P),f=a?[...P.filter(b=>Object.hasOwn(a,b)),...Object.keys(a).filter(a=>!e.has(a)).sort()].filter(b=>{var c;return c=a[b],Object.hasOwn(Q,b)?JSON.stringify(c)!==JSON.stringify(Q[b]):null!=c&&""!==c&&!1!==c&&(Array.isArray(c)?c.length>0:"object"!=typeof c||Object.keys(c).length>0)}):[];return a&&f.length?(0,b.jsxs)(x.Card,{children:[(0,b.jsx)(x.CardHeader,{children:(0,b.jsx)(x.CardTitle,{children:c("advancedSettings")})}),(0,b.jsx)(x.CardContent,{children:(0,b.jsx)("dl",{className:"space-y-3 text-sm",children:f.map(c=>(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{className:"text-xs text-muted-foreground",children:d[c]??O(c.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replaceAll("-","_"))}),(0,b.jsx)("dd",{className:"mt-0.5 min-w-0",children:(0,b.jsx)(S,{value:a[c]})})]},c))})})]}):null}function S({value:a}){let c=(0,r.useTranslations)("builds");if("boolean"==typeof a)return(0,b.jsx)(v.Badge,{variant:a?"default":"secondary",children:c(a?"settingsEnabled":"settingsDisabled")});if(null==a||""===a)return(0,b.jsx)(b.Fragment,{children:"—"});if(Array.isArray(a))return a.length?(0,b.jsx)("span",{className:"break-words font-mono text-xs",children:a.map(String).join(", ")}):(0,b.jsx)(b.Fragment,{children:"—"});if("object"==typeof a){let c=JSON.stringify(a);return c&&"{}"!==c?(0,b.jsx)("span",{className:"break-all font-mono text-xs",children:c}):(0,b.jsx)(b.Fragment,{children:"—"})}return"string"==typeof a&&/^[A-Z][A-Z0-9_]*$/.test(a)?(0,b.jsx)(b.Fragment,{children:O(a)}):(0,b.jsx)("span",{className:"break-words font-mono text-xs",children:String(a)})}function T(a){return"string"==typeof a&&a.trim()?a:null}function U(a,b){return"ALL"===b||String(a.result??"unknown").toLocaleUpperCase()===b}function V({report:a}){let c=(0,r.useTranslations)("builds"),[d,e]=(0,s.useState)("ALL"),f=Array.isArray(a.data.tests)?a.data.tests:[],g=Array.isArray(a.data.devices)?a.data.devices:[],h=b=>"number"==typeof a.summary[b]?Number(a.summary[b]):0,i=(function(a){let b=new Map;for(let c of a){let a=T(c.bundle),d=T(c.suite),e=T(c.plan),f=T(c.configuration),g=d??a,h=JSON.stringify([e,f,a,g]),i=b.get(h)??{key:h,name:g,bundle:a,plan:e,configuration:f,tests:[]};i.tests.push(c),b.set(h,i)}return[...b.values()].sort((a,b)=>(a.name??"").localeCompare(b.name??"",void 0,{numeric:!0,sensitivity:"base"}))})(f).filter(a=>a.tests.some(a=>U(a,d)));return(0,b.jsxs)(x.Card,{children:[(0,b.jsx)(x.CardHeader,{children:(0,b.jsx)(x.CardTitle,{children:c("testResults")})}),(0,b.jsx)(x.CardContent,{className:"space-y-4",children:"FAILED"===a.status?(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsx)(u.AlertDescription,{children:a.error??c("testResultsFailed")})}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(v.Badge,{variant:"outline",children:c("testTotal",{count:h("total")})}),(0,b.jsx)(v.Badge,{className:"bg-emerald-600 text-white dark:bg-emerald-700",children:c("testPassed",{count:h("passed")})}),(0,b.jsx)(v.Badge,{variant:h("failed")?"destructive":"outline",children:c("testFailed",{count:h("failed")})}),(0,b.jsx)(v.Badge,{className:"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:c("testSkipped",{count:h("skipped")})}),g.map((a,c)=>(0,b.jsxs)(v.Badge,{variant:"outline",children:[String(a.deviceName??a.modelName??"Device")," ·"," ",String(a.osVersion??"—")]},c))]}),(0,b.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,b.jsx)(E.Tabs,{onValueChange:a=>e(a),value:d,children:(0,b.jsxs)(E.TabsList,{"aria-label":c("testResultFilters"),children:[(0,b.jsx)(E.TabsTrigger,{value:"ALL",children:c("testFilterAll",{count:f.length})}),(0,b.jsx)(E.TabsTrigger,{value:"PASSED",children:c("testFilterPassed",{count:h("passed")})}),(0,b.jsx)(E.TabsTrigger,{value:"FAILED",children:c("testFilterFailed",{count:h("failed")})}),(0,b.jsx)(E.TabsTrigger,{value:"SKIPPED",children:c("testFilterSkipped",{count:h("skipped")})})]})})}),(0,b.jsx)("div",{className:"divide-y rounded-md border",children:i.map(a=>(0,b.jsx)(W,{filter:d,group:a},a.key))})]})})]})}function W({filter:a,group:c}){let d=(0,r.useTranslations)("builds"),e=(0,q.useLocale)(),[f,g]=(0,s.useState)(!1),h=c.name??d("testsWithoutSuite"),i=c.tests.filter(a=>"Passed"===a.result).length,j=c.tests.length?i/c.tests.length:0,k=new Intl.NumberFormat(e,{style:"percent",maximumFractionDigits:1}).format(j),l=c.tests.filter(b=>U(b,a)),o=new Map;for(let a of l){let b=function(a){let b=T(a.file);if(b)return b;let c=T(a.suite);return c||(T(a.identifier)?.split("/")[0]??null)}(a)??d("testsWithoutFile");o.set(b,[...o.get(b)??[],a])}let p=[c.bundle,c.configuration,c.plan].filter(Boolean).join(" · ");return(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{"aria-expanded":f,"aria-label":d(f?"collapseTestSuite":"expandTestSuite",{suite:h}),className:"flex min-h-8 w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-muted/40",onClick:()=>g(a=>!a),type:"button",children:[f?(0,b.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0"}):(0,b.jsx)(n.ChevronRight,{className:"size-3.5 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:h}),p&&(0,b.jsx)("span",{className:"hidden shrink-0 text-xs text-muted-foreground sm:inline",children:p}),(0,b.jsx)(v.Badge,{className:1===j?"border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":j>=.5?"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"",variant:j<.5?"destructive":"outline",children:d("testSuitePassed",{passed:i,total:c.tests.length,percent:k})})]}),f&&(0,b.jsx)("div",{className:"border-t bg-muted/10 p-2",children:(0,b.jsx)("div",{className:"divide-y rounded-md border bg-background",children:[...o.entries()].sort(([a],[b])=>a.localeCompare(b,e,{numeric:!0,sensitivity:"base"})).map(([a,c])=>(0,b.jsx)(X,{file:a,tests:c},a))})})]})}function X({file:a,tests:c}){let d=(0,r.useTranslations)("builds"),[e,f]=(0,s.useState)(!1);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{"aria-expanded":e,"aria-label":d(e?"collapseTestFile":"expandTestFile",{file:a}),className:"flex min-h-8 w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-muted/40",onClick:()=>f(a=>!a),type:"button",children:[e?(0,b.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0"}):(0,b.jsx)(n.ChevronRight,{className:"size-3.5 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",title:a,children:a}),(0,b.jsx)(v.Badge,{variant:"outline",children:d("testTotal",{count:c.length})})]}),e&&(0,b.jsx)("div",{className:"border-t overflow-auto",children:(0,b.jsxs)(F.Table,{"aria-label":a,className:"min-w-[38rem] text-xs",children:[(0,b.jsx)(F.TableHeader,{children:(0,b.jsxs)(F.TableRow,{children:[(0,b.jsx)(F.TableHead,{className:"h-8 px-2",children:d("testStatus")}),(0,b.jsx)(F.TableHead,{className:"h-8 px-2",children:d("testName")}),(0,b.jsx)(F.TableHead,{className:"h-8 px-2 text-right",children:d("testDuration")})]})}),(0,b.jsx)(F.TableBody,{children:c.map((a,c)=>{let d=Array.isArray(a.details)?a.details.filter(a=>"string"==typeof a):[],e=Array.isArray(a.tags)?a.tags.filter(a=>"string"==typeof a):[],f=String(a.name??"—"),g=T(a.identifier);return(0,b.jsxs)(F.TableRow,{children:[(0,b.jsx)(F.TableCell,{className:"px-2 py-1.5",children:(0,b.jsx)(Y,{result:String(a.result??"unknown")})}),(0,b.jsxs)(F.TableCell,{className:"max-w-xl px-2 py-1.5 whitespace-normal",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("span",{className:"font-mono font-medium",children:f}),e.map(a=>(0,b.jsx)(v.Badge,{variant:"outline",children:a},a))]}),g&&g!==f&&(0,b.jsx)("p",{className:"truncate font-mono text-muted-foreground",title:g,children:g}),d.map((a,c)=>(0,b.jsx)("p",{className:"mt-1 text-destructive",children:a},c))]}),(0,b.jsx)(F.TableCell,{className:"px-2 py-1.5 text-right tabular-nums",children:"number"==typeof a.durationSeconds?`${a.durationSeconds.toFixed(3)}s`:"—"})]},`${g??f}:${c}`)})})]})})]})}function Y({result:a}){let c=a.toLocaleLowerCase();return(0,b.jsx)(v.Badge,{className:"passed"===c?"border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"skipped"===c?"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"expected failure"===c?"border-violet-500/40 bg-violet-500/10 text-violet-700 dark:text-violet-300":"",variant:"failed"===c?"destructive":"outline",children:a})}function Z({label:a,value:c,mono:d=!1}){return(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("dd",{className:d?"mt-0.5 break-all font-mono text-xs":"mt-0.5",children:c})]})}function $({buildId:a,open:c,onOpenChange:d,onSaved:e}){let f=(0,r.useTranslations)("builds"),[g,h]=(0,s.useState)("DEBUGGING"),[i,j]=(0,s.useState)("AUTOMATIC"),[k,l]=(0,s.useState)(""),[m,n]=(0,s.useState)(!1),[o,p]=(0,s.useState)(null),q=async()=>{n(!0);try{await (0,I.controlPlaneRequest)(`mutation ExportArchive($input: ExportBuildArchiveInput!) {
|
|
13
17
|
exportBuildArchive(input: $input) { id status }
|
|
14
|
-
}`,{input:{buildId:a,requestId:(0,
|
|
15
|
-
build(id: $id) { ${
|
|
16
|
-
buildLogs(buildId: $id, first: 5000) { ${
|
|
17
|
-
}`,{id:a});
|
|
18
|
-
buildLogAdded(buildId: $buildId) { ${
|
|
19
|
-
}`,variables:{buildId:a}},{next:a=>{let b=a.data?.buildLogAdded;b&&
|
|
20
|
-
|
|
21
|
-
}`,{buildId:w.id,requestId:(0,z.createClientId)()})).inspectBuildRunDestinations.filter(a=>a.type===w.destinationType&&!a.generic);P(a),R(new Set)}catch(a){L(a instanceof Error?a.message:String(a))}finally{T(!1)}}},ac=async()=>{if(w){N(!0),L(null);try{await (0,A.controlPlaneRequest)(`mutation RunCompletedBuild($input: RunBuildInput!) {
|
|
22
|
-
runBuild(input: $input) { id status }
|
|
23
|
-
}`,{input:{buildId:w.id,destinations:O.filter(a=>Q.has(a.id)),requestId:(0,z.createClientId)()}}),R(new Set),await Z()}catch(a){L(a instanceof Error?a.message:String(a))}finally{N(!1)}}},ad=w?.artifacts.some(a=>"RUNNABLE_APP"===a.kind),ae=w?.artifacts.some(a=>"ARCHIVE"===a.kind),af=w?.snapshot??{},ag=af.repository,ah=af.worktree,ai=af.configuration,aj=(0,l.useMemo)(()=>O.filter(a=>Q.has(a.id)).map(a=>a.name),[O,Q]),ak=a=>a?new Date(a).toLocaleString(u):"—";return I?(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(x.Spinner,{})," ",r("loading")]}):w?(0,b.jsxs)("section",{className:"mx-auto flex w-full max-w-6xl flex-col gap-5",children:[(0,b.jsx)("div",{children:(0,b.jsx)(p.Button,{asChild:!0,className:"-ml-2",size:"sm",variant:"ghost",children:(0,b.jsxs)(y.Link,{href:"/builds",children:[(0,b.jsx)(d.ArrowLeft,{})," ",r("backToBuilds")]})})}),K&&(0,b.jsx)(n.Alert,{variant:"destructive",children:(0,b.jsx)(n.AlertDescription,{children:K})}),w.error&&(0,b.jsx)(n.Alert,{variant:"destructive",children:(0,b.jsxs)(n.AlertDescription,{children:[w.errorCode?`${w.errorCode}: `:"",w.error]})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:ag?.name??"—"}),(0,b.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:ai?.name??w.id}),(0,b.jsx)(o.Badge,{variant:"FAILED"===w.status?"destructive":"SUCCEEDED"===w.status?"default":"secondary",children:r(`statuses.${w.status}`)}),(0,b.jsx)(o.Badge,{variant:"outline",children:r(`actions.${w.action}`)})]}),(0,b.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[ah?.branch??ah?.folder??"—"," ·"," ",w.destination.name]}),(0,b.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[r("buildId"),": ",w.id]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[["QUEUED","PREPARING","RUNNING"].includes(w.status)&&(0,b.jsxs)(p.Button,{disabled:M,onClick:()=>void _(),variant:"destructive",children:[M?(0,b.jsx)(x.Spinner,{}):(0,b.jsx)(h.Square,{})," ",r("cancelBuild")]}),"SUCCEEDED"===w.status&&ad&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(s.DropdownMenu,{onOpenChange:a=>{a&&!O.length&&ab()},children:[(0,b.jsx)(s.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(p.Button,{disabled:S,variant:"outline",children:[S?(0,b.jsx)(x.Spinner,{}):(0,b.jsx)(g.Play,{}),aj.length?r("selectedDevices",{count:aj.length}):r("selectRunDevices"),(0,b.jsx)(e.ChevronDown,{})]})}),(0,b.jsxs)(s.DropdownMenuContent,{align:"end",className:"w-72",children:[O.map(a=>(0,b.jsxs)(s.DropdownMenuCheckboxItem,{checked:Q.has(a.id),onCheckedChange:b=>R(c=>{let d=new Set(c);return b?d.add(a.id):d.delete(a.id),d}),children:[a.name,a.osVersion?` \xb7 ${a.osVersion}`:""]},a.id)),!O.length&&(0,b.jsx)("p",{className:"p-2 text-xs text-muted-foreground",children:r("noCompatibleDevices")})]})]}),(0,b.jsxs)(p.Button,{disabled:M||0===Q.size,onClick:()=>void ac(),children:[M?(0,b.jsx)(x.Spinner,{}):(0,b.jsx)(g.Play,{})," ",r("run")]})]}),"SUCCEEDED"===w.status&&ae&&(0,b.jsxs)(p.Button,{onClick:()=>V(!0),variant:"outline",children:[(0,b.jsx)(c.Archive,{})," ",r("exportArchive")]}),(0,b.jsxs)(p.Button,{disabled:M||["QUEUED","PREPARING","RUNNING"].includes(w.status),onClick:()=>X(!0),variant:"destructive",children:[(0,b.jsx)(i.Trash2,{})," ",r("deleteBuild")]})]})]}),(0,b.jsxs)("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]",children:[(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:r("logs")})}),(0,b.jsx)(q.CardContent,{children:(0,b.jsx)("pre",{className:"max-h-[36rem] overflow-auto rounded-lg bg-neutral-950 p-3 text-xs whitespace-pre-wrap text-neutral-100",ref:Y,children:G.length?G.map(a=>`[${a.phase}] ${a.message}`).join("\n"):r("noLogs")})})]}),(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:r("commandSummary")})}),(0,b.jsx)(q.CardContent,{children:(0,b.jsx)("pre",{className:"overflow-x-auto rounded-lg bg-muted p-3 text-xs whitespace-pre-wrap",children:w.commandSummary})})]}),(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:r("scripts")})}),(0,b.jsx)(q.CardContent,{className:"space-y-2",children:w.scriptExecutions.length?w.scriptExecutions.map(a=>(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-lg border p-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("p",{className:"text-sm font-medium",children:[a.nameSnapshot," · ",a.phase]}),a.error&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:a.error})]}),(0,b.jsx)(o.Badge,{variant:"FAILED"===a.status?"destructive":"outline",children:a.status})]},a.id)):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:r("noScriptExecutions")})})]})]}),(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:r("overview")})}),(0,b.jsx)(q.CardContent,{children:(0,b.jsxs)("dl",{className:"space-y-3 text-sm",children:[(0,b.jsx)(D,{label:r("buildId"),value:w.id,mono:!0}),(0,b.jsx)(D,{label:r("scheme"),value:ai?.scheme??"—",mono:!0}),(0,b.jsx)(D,{label:r("configuration"),value:ai?.buildConfiguration??"—",mono:!0}),(0,b.jsx)(D,{label:r("head"),value:ah?.headSha??"—",mono:!0}),(0,b.jsx)(D,{label:r("startedAt"),value:ak(w.startedAt)}),(0,b.jsx)(D,{label:r("finishedAt"),value:ak(w.finishedAt)}),(0,b.jsx)(D,{label:r("artifactDirectory"),value:w.artifactDirectory,mono:!0})]})})]}),(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:r("artifacts")})}),(0,b.jsx)(q.CardContent,{className:"space-y-2",children:w.artifacts.length?w.artifacts.map(a=>(0,b.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)(o.Badge,{variant:"outline",children:a.kind}),(0,b.jsx)(p.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsxs)("a",{download:!0,href:`/api/builds/${encodeURIComponent(w.id)}/artifacts/${encodeURIComponent(a.id)}`,children:[(0,b.jsx)(f.Download,{})," ",r("downloadArtifact")]})})]}),(0,b.jsx)("p",{className:"mt-1 break-all font-mono text-xs text-muted-foreground",children:a.relativePath})]},a.id)):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:r("noArtifacts")})})]}),(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:r("runsAndExports")})}),(0,b.jsxs)(q.CardContent,{className:"space-y-2",children:[w.deployments.map(a=>(0,b.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:a.destination.name}),(0,b.jsx)(o.Badge,{variant:"FAILED"===a.status?"destructive":"outline",children:a.status}),a.error&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:a.error})]},a.id)),w.exports.map(a=>(0,b.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:r("archiveExport")}),(0,b.jsx)(o.Badge,{variant:"FAILED"===a.status?"destructive":"outline",children:a.status}),a.outputRelativePath&&(0,b.jsx)("p",{className:"mt-1 font-mono text-xs",children:a.outputRelativePath}),a.error&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:a.error})]},a.id)),!w.deployments.length&&!w.exports.length&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:r("noRunsOrExports")})]})]})]})]}),U&&(0,b.jsx)(E,{buildId:w.id,onOpenChange:V,onSaved:Z,open:U}),(0,b.jsx)(m.ConfirmationDialog,{actionLabel:r("deleteBuild"),cancelLabel:r("cancel"),description:r("deleteBuildDescription"),onConfirm:aa,onOpenChange:X,open:W,title:r("deleteBuildTitle")})]}):(0,b.jsxs)(t.Empty,{className:"mx-auto max-w-6xl border py-12",children:[(0,b.jsxs)(t.EmptyHeader,{children:[(0,b.jsx)(t.EmptyTitle,{children:r("buildNotFound")}),(0,b.jsx)(t.EmptyDescription,{children:r("buildNotFoundDescription")})]}),(0,b.jsx)(p.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(y.Link,{href:"/builds",children:[(0,b.jsx)(d.ArrowLeft,{})," ",r("backToBuilds")]})})]})}])}];
|
|
18
|
+
}`,{input:{buildId:a,requestId:(0,H.createClientId)(),settings:{method:g,signingStyle:i,teamId:k||null,signingCertificate:null,provisioningProfiles:{},uploadSymbols:!0,manageAppVersionAndBuildNumber:!0,testFlightInternalTestingOnly:!1}}}),await e(),d(!1)}catch(a){p(a instanceof Error?a.message:String(a))}finally{n(!1)}};return(0,b.jsx)(y.Dialog,{onOpenChange:d,open:c,children:(0,b.jsxs)(y.DialogContent,{children:[(0,b.jsxs)(y.DialogHeader,{children:[(0,b.jsx)(y.DialogTitle,{children:f("exportArchive")}),(0,b.jsx)(y.DialogDescription,{children:f("exportArchiveDescription")})]}),o&&(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsx)(u.AlertDescription,{children:o})}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(B.Label,{children:f("distributionMethod")}),(0,b.jsxs)(C.Select,{onValueChange:h,value:g,children:[(0,b.jsx)(C.SelectTrigger,{children:(0,b.jsx)(C.SelectValue,{})}),(0,b.jsx)(C.SelectContent,{children:["DEBUGGING","RELEASE_TESTING","ENTERPRISE","APP_STORE_CONNECT"].map(a=>(0,b.jsx)(C.SelectItem,{value:a,children:a},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(B.Label,{children:f("signingStyle")}),(0,b.jsxs)(C.Select,{onValueChange:j,value:i,children:[(0,b.jsx)(C.SelectTrigger,{children:(0,b.jsx)(C.SelectValue,{})}),(0,b.jsxs)(C.SelectContent,{children:[(0,b.jsx)(C.SelectItem,{value:"AUTOMATIC",children:f("automatic")}),(0,b.jsx)(C.SelectItem,{value:"MANUAL",children:f("manual")})]})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(B.Label,{htmlFor:"export-team-id",children:f("developmentTeam")}),(0,b.jsx)(A.Input,{id:"export-team-id",onChange:a=>l(a.target.value),value:k})]})]}),(0,b.jsxs)(y.DialogFooter,{children:[(0,b.jsx)(w.Button,{onClick:()=>d(!1),variant:"outline",children:f("cancel")}),(0,b.jsxs)(w.Button,{disabled:m,onClick:()=>void q(),children:[m&&(0,b.jsx)(D.Spinner,{})," ",f("exportArchive")]})]})]})})}a.s(["BuildDetailPage",0,function({buildId:a}){let f=(0,r.useTranslations)("builds"),y=(0,q.useLocale)(),A=(0,G.useRouter)(),[B,C]=(0,s.useState)(null),[E,F]=(0,s.useState)([]),[P,Q]=(0,s.useState)(!0),[S,T]=(0,s.useState)(null),[U,W]=(0,s.useState)(!1),[X,Y]=(0,s.useState)(null),[_,aa]=(0,s.useState)(!1),[ab,ac]=(0,s.useState)(!1),[ad,ae]=(0,s.useState)(!1),[af,ag]=(0,s.useState)(!0),ah=(0,s.useRef)(null),ai=(0,s.useCallback)(async()=>{try{let b=await (0,I.controlPlaneRequest)(`query BuildDetail($id: ID!) {
|
|
19
|
+
build(id: $id) { ${M} }
|
|
20
|
+
buildLogs(buildId: $id, first: 5000) { ${N} }
|
|
21
|
+
}`,{id:a});C(b.build),F(b.buildLogs),T(null)}catch(a){T(a instanceof Error?a.message:String(a))}finally{Q(!1)}},[a]);(0,s.useEffect)(()=>{let a=window.setTimeout(()=>void ai(),0);return()=>window.clearTimeout(a)},[ai]),(0,s.useEffect)(()=>{let b=(0,I.controlPlaneSubscriptions)().subscribe({query:"subscription BuildChanged($id: ID!) { buildChanged(id: $id) { id } }",variables:{id:a}},{next:()=>void ai(),error:()=>void 0,complete:()=>void 0}),c=(0,I.controlPlaneSubscriptions)().subscribe({query:`subscription BuildLogAdded($buildId: ID!) {
|
|
22
|
+
buildLogAdded(buildId: $buildId) { ${N} }
|
|
23
|
+
}`,variables:{buildId:a}},{next:a=>{let b=a.data?.buildLogAdded;b&&F(a=>a.some(a=>a.id===b.id)?a:[...a,b])},error:()=>void 0,complete:()=>void 0});return()=>{b(),c()}},[a,ai]);let aj=null!==B&&(["QUEUED","PREPARING","RUNNING"].includes(B.status)||B.deployments.some(a=>["QUEUED","RUNNING"].includes(a.status))||B.exports.some(a=>["QUEUED","RUNNING"].includes(a.status)));(0,s.useEffect)(()=>{if(!aj)return;let a=window.setInterval(()=>void ai(),2e3);return()=>window.clearInterval(a)},[aj,ai]),(0,s.useEffect)(()=>{aj&&ah.current&&(ah.current.scrollTop=ah.current.scrollHeight)},[aj,E]),(0,s.useEffect)(()=>{if(!ad)return;let a=window.setTimeout(()=>ae(!1),2e3);return()=>window.clearTimeout(a)},[ad]);let ak=async()=>{W(!0);try{await (0,I.controlPlaneRequest)("mutation CancelBuild($id: ID!) { cancelBuild(id: $id) { id status } }",{id:a}),await ai()}catch(a){T(a instanceof Error?a.message:String(a))}finally{W(!1)}},al=async()=>{W(!0),T(null);try{await (0,I.controlPlaneRequest)("mutation DeleteBuild($ids: [ID!]!) { deleteBuilds(ids: $ids) }",{ids:[a]}),A.replace("/builds")}catch(a){T(a instanceof Error?a.message:String(a)),ac(!1)}finally{W(!1)}},am=B?.artifacts.some(a=>"RUNNABLE_APP"===a.kind),an=B?.artifacts.some(a=>"ARCHIVE"===a.kind),ao=B?.reports?.find(a=>"TEST_RESULTS"===a.kind),ap=B?.reports?.find(a=>"CODE_COVERAGE"===a.kind),aq=B?.artifacts.find(a=>"RESULT_BUNDLE"===a.kind),ar=!!B&&["TEST","TEST_WITHOUT_BUILDING"].includes(B.action),as=B?.snapshot??{},at=as.repository,au=as.worktree,av=as.configuration,aw=aq?.metadata.coverageAvailable===!0||av?.advancedSettings?.codeCoverage===!0,ax=a=>a?new Date(a).toLocaleString(y):"—",ay=async a=>{try{await (0,H.copyText)(a),ae(!0)}catch{T(f("copyFailed"))}},az=async b=>{Y(b),T(null);try{let c="TEST_RESULTS"===b?"parseBuildTestResults":"generateBuildCoverageReport";await (0,I.controlPlaneRequest)(`mutation GenerateBuildReport($buildId: ID!, $requestId: ID!) {
|
|
24
|
+
${c}(buildId: $buildId, requestId: $requestId) { id status error }
|
|
25
|
+
}`,{buildId:a,requestId:(0,H.createClientId)()}),await ai()}catch(a){T(a instanceof Error?a.message:String(a))}finally{Y(null)}},aA=a=>{let b=ah.current;b&&b.scrollTo({behavior:"smooth",top:"top"===a?0:b.scrollHeight})};return P?(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(D.Spinner,{})," ",f("loading")]}):B?(0,b.jsxs)("section",{className:"mx-auto flex min-w-0 w-full max-w-6xl flex-col gap-5",children:[(0,b.jsx)("div",{children:(0,b.jsx)(w.Button,{asChild:!0,className:"-ml-2",size:"sm",variant:"ghost",children:(0,b.jsxs)(G.Link,{href:"/builds",children:[(0,b.jsx)(d.ArrowLeft,{})," ",f("backToBuilds")]})})}),S&&(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsx)(u.AlertDescription,{children:S})}),B.error&&(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsxs)(u.AlertDescription,{children:[B.errorCode?`${B.errorCode}: `:"",B.error]})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:at?.name??"—"}),(0,b.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:av?.name??B.id}),(0,b.jsx)(v.Badge,{variant:(0,J.buildStatusVariant)(B.status),children:f(`statuses.${B.status}`)}),(0,b.jsx)(v.Badge,{variant:"outline",children:f(`actions.${B.action}`)}),B.outOfDate&&(0,b.jsx)(v.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:f("outOfDate")})]}),(0,b.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[au?.branch??au?.folder??"—"," ·"," ",B.destination.name]}),(0,b.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[f("buildId"),": ",B.id]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(K.RebuildButton,{buildId:B.id,onCompleted:a=>A.push(`/builds/${a.id}`),onError:T}),["QUEUED","PREPARING","RUNNING"].includes(B.status)&&(0,b.jsxs)(w.Button,{disabled:U,onClick:()=>void ak(),variant:"destructive",children:[U?(0,b.jsx)(D.Spinner,{}):(0,b.jsx)(o.Square,{})," ",f("cancelBuild")]}),"SUCCEEDED"===B.status&&am&&(0,b.jsx)(L.RunBuildControls,{buildId:B.id,destinationType:B.destinationType,onCompleted:ai,onError:T,preferredDestination:B.destination}),"SUCCEEDED"===B.status&&an&&(0,b.jsxs)(w.Button,{onClick:()=>aa(!0),variant:"outline",children:[(0,b.jsx)(c.Archive,{})," ",f("exportArchive")]}),!aj&&ar&&aq&&ao?.status!=="READY"&&(0,b.jsxs)(w.Button,{disabled:null!==X,onClick:()=>void az("TEST_RESULTS"),variant:"outline",children:["TEST_RESULTS"===X?(0,b.jsx)(D.Spinner,{}):(0,b.jsx)(k,{}),ao?.status==="FAILED"?f("retryParseTestResults"):f("parseTestResultsAction")]}),!aj&&aq&&aw&&ap?.status!=="READY"&&(0,b.jsxs)(w.Button,{disabled:null!==X,onClick:()=>void az("CODE_COVERAGE"),variant:"outline",children:["CODE_COVERAGE"===X?(0,b.jsx)(D.Spinner,{}):(0,b.jsx)(l,{}),ap?.status==="FAILED"?f("retryCoverageReport"):f("generateCoverageReport")]}),ap?.status==="READY"&&(0,b.jsx)(w.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(G.Link,{href:`/builds/${B.id}/coverage`,children:[(0,b.jsx)(l,{})," ",f("viewCoverageReport")]})}),(0,b.jsxs)(w.Button,{disabled:U||["QUEUED","PREPARING","RUNNING"].includes(B.status),onClick:()=>ac(!0),variant:"destructive",children:[(0,b.jsx)(p.Trash2,{})," ",f("deleteBuild")]})]})]}),ao&&(0,b.jsx)(V,{report:ao}),(0,b.jsxs)("div",{className:"grid min-w-0 gap-5 lg:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]",children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,b.jsxs)(x.Card,{className:"gap-0 py-0",children:[(0,b.jsx)(x.CardHeader,{className:af?"border-b bg-muted/40 py-3":"bg-muted/40 py-3",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)(w.Button,{"aria-expanded":af,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:()=>ag(a=>!a),type:"button",variant:"ghost",children:(0,b.jsx)("span",{className:"truncate font-medium",children:f("logs")})}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[af&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w.Button,{"aria-label":f("scrollLogsToTop"),onClick:()=>aA("top"),size:"icon-xs",type:"button",variant:"outline",children:(0,b.jsx)(g,{})}),(0,b.jsx)(w.Button,{"aria-label":f("scrollLogsToBottom"),onClick:()=>aA("bottom"),size:"icon-xs",type:"button",variant:"outline",children:(0,b.jsx)(e.ArrowDownToLine,{})})]}),(0,b.jsx)(w.Button,{"aria-expanded":af,"aria-label":f(af?"collapseLogs":"expandLogs"),onClick:()=>ag(a=>!a),size:"icon-sm",title:f(af?"collapseLogs":"expandLogs"),type:"button",variant:"ghost",children:af?(0,b.jsx)(m.ChevronDown,{className:"size-5"}):(0,b.jsx)(n.ChevronRight,{className:"size-5"})})]})]})}),af&&(0,b.jsx)(x.CardContent,{className:"py-4",children:(0,b.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:ah,children:E.length?E.map(a=>`[${a.phase}] ${a.message}`).join("\n"):f("noLogs")})})]}),(0,b.jsxs)(x.Card,{children:[(0,b.jsxs)(x.CardHeader,{children:[(0,b.jsx)(x.CardTitle,{children:f("commandSummary")}),(0,b.jsx)(x.CardAction,{children:(0,b.jsx)(w.Button,{"aria-label":ad?f("commandCopied"):f("copyCommand"),onClick:()=>void ay(B.commandSummary),size:"icon-sm",type:"button",variant:"ghost",children:ad?(0,b.jsx)(h.Check,{}):(0,b.jsx)(i.Copy,{})})})]}),(0,b.jsx)(x.CardContent,{children:(0,b.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:B.commandSummary})})]}),(0,b.jsxs)(x.Card,{children:[(0,b.jsx)(x.CardHeader,{children:(0,b.jsx)(x.CardTitle,{children:f("scripts")})}),(0,b.jsx)(x.CardContent,{className:"space-y-2",children:B.scriptExecutions.length?B.scriptExecutions.map(a=>(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-lg border p-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("p",{className:"text-sm font-medium",children:[a.nameSnapshot," ·"," ",O(a.phase)]}),a.error&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:a.error})]}),(0,b.jsx)(v.Badge,{variant:"FAILED"===a.status?"destructive":"outline",children:O(a.status)})]},a.id)):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:f("noScriptExecutions")})})]})]}),(0,b.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,b.jsxs)(x.Card,{children:[(0,b.jsx)(x.CardHeader,{children:(0,b.jsx)(x.CardTitle,{children:f("overview")})}),(0,b.jsx)(x.CardContent,{children:(0,b.jsxs)("dl",{className:"space-y-3 text-sm",children:[(0,b.jsx)(Z,{label:f("buildId"),value:B.id,mono:!0}),(0,b.jsx)(Z,{label:f("scheme"),value:av?.scheme??"—",mono:!0}),(0,b.jsx)(Z,{label:f("configuration"),value:av?.buildConfiguration??"—",mono:!0}),(0,b.jsx)(Z,{label:f("head"),value:au?.headSha??"—",mono:!0}),(0,b.jsx)(Z,{label:f("startedAt"),value:ax(B.startedAt)}),(0,b.jsx)(Z,{label:f("finishedAt"),value:ax(B.finishedAt)}),(0,b.jsx)(Z,{label:f("artifactDirectory"),value:B.artifactDirectory,mono:!0})]})})]}),(0,b.jsx)(R,{settings:av?.advancedSettings}),(0,b.jsxs)(x.Card,{children:[(0,b.jsx)(x.CardHeader,{children:(0,b.jsx)(x.CardTitle,{children:f("artifacts")})}),(0,b.jsx)(x.CardContent,{className:"space-y-2",children:B.artifacts.length?B.artifacts.map(a=>(0,b.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)(v.Badge,{variant:"outline",children:O(a.kind)}),(0,b.jsx)(w.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsxs)("a",{download:!0,href:`/api/builds/${encodeURIComponent(B.id)}/artifacts/${encodeURIComponent(a.id)}`,children:[(0,b.jsx)(j.Download,{})," ",f("downloadArtifact")]})})]}),(0,b.jsx)("p",{className:"mt-1 break-all font-mono text-xs text-muted-foreground",children:a.relativePath})]},a.id)):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:f("noArtifacts")})})]}),(0,b.jsxs)(x.Card,{children:[(0,b.jsx)(x.CardHeader,{children:(0,b.jsx)(x.CardTitle,{children:f("runsAndExports")})}),(0,b.jsxs)(x.CardContent,{className:"space-y-2",children:[B.deployments.map(a=>(0,b.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:a.destination.name}),(0,b.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,b.jsx)(v.Badge,{variant:"FAILED"===a.status?"destructive":"outline",children:O(a.status)}),(0,b.jsx)("time",{className:"text-xs text-muted-foreground",children:ax(a.finishedAt??a.startedAt??a.createdAt)})]})]}),a.error&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:a.error})]},a.id)),B.exports.map(a=>(0,b.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:f("archiveExport")}),(0,b.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,b.jsx)(v.Badge,{variant:"FAILED"===a.status?"destructive":"outline",children:O(a.status)}),(0,b.jsx)("time",{className:"text-xs text-muted-foreground",children:ax(a.finishedAt??a.startedAt??a.createdAt)})]})]}),a.outputRelativePath&&(0,b.jsx)("p",{className:"mt-1 font-mono text-xs",children:a.outputRelativePath}),a.error&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:a.error})]},a.id)),!B.deployments.length&&!B.exports.length&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:f("noRunsOrExports")})]})]})]})]}),_&&(0,b.jsx)($,{buildId:B.id,onOpenChange:aa,onSaved:ai,open:_}),(0,b.jsx)(t.ConfirmationDialog,{actionLabel:f("deleteBuild"),cancelLabel:f("cancel"),description:f("deleteBuildDescription"),onConfirm:al,onOpenChange:ac,open:ab,title:f("deleteBuildTitle")})]}):(0,b.jsxs)(z.Empty,{className:"mx-auto max-w-6xl border py-12",children:[(0,b.jsxs)(z.EmptyHeader,{children:[(0,b.jsx)(z.EmptyTitle,{children:f("buildNotFound")}),(0,b.jsx)(z.EmptyDescription,{children:f("buildNotFoundDescription")})]}),(0,b.jsx)(w.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(G.Link,{href:"/builds",children:[(0,b.jsx)(d.ArrowLeft,{})," ",f("backToBuilds")]})})]})}],345962)}];
|
|
24
26
|
|
|
25
27
|
//# sourceMappingURL=src_components_builds_build-detail-page_tsx_0q1lvps._.js.map
|
package/standalone/.next/server/chunks/ssr/src_components_builds_builds-page_tsx_17qzmsl._.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
module.exports=[747763,a=>{"use strict";var b=a.i(187924),c=a.i(
|
|
2
|
-
id requestId jobId status action destinationType destination snapshot commandSummary artifactDirectory errorCode error
|
|
3
|
-
createdAt startedAt finishedAt durationMs updatedAt
|
|
4
|
-
artifacts { id kind relativePath sizeBytes checksum metadata createdAt }
|
|
5
|
-
`,C=`
|
|
1
|
+
module.exports=[747763,a=>{"use strict";var b=a.i(187924),c=a.i(933434),d=a.i(403512);let e=(0,a.i(164831).default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var f=a.i(980180),g=a.i(32886),h=a.i(415925),i=a.i(572131),j=a.i(844873),k=a.i(124348),l=a.i(786304),m=a.i(699570),n=a.i(591119),o=a.i(315055),p=a.i(814574),q=a.i(46524),r=a.i(866718),s=a.i(870430),t=a.i(580701),u=a.i(668684),v=a.i(206015),w=a.i(875083),x=a.i(429246),y=a.i(555027),z=a.i(460280),A=a.i(710145),B=a.i(1360),C=a.i(974135),D=a.i(657068),E=a.i(123031);let F=`
|
|
6
2
|
id name preBuildScript postBuildScript enabledByDefault timeoutSeconds failureBehavior createdAt updatedAt
|
|
7
|
-
`,
|
|
3
|
+
`,G=`export default async function preBuild({
|
|
8
4
|
buildId,
|
|
9
5
|
branch,
|
|
10
6
|
destination,
|
|
11
7
|
action,
|
|
12
8
|
}) {
|
|
13
9
|
// Runs before the build from the worktree root.
|
|
14
|
-
}`,
|
|
10
|
+
}`,H=`export default async function postBuild({
|
|
15
11
|
buildId,
|
|
16
12
|
branch,
|
|
17
13
|
destination,
|
|
@@ -23,14 +19,14 @@ module.exports=[747763,a=>{"use strict";var b=a.i(187924),c=a.i(818783),d=a.i(93
|
|
|
23
19
|
error,
|
|
24
20
|
}) {
|
|
25
21
|
// Runs after every build attempt from the worktree root.
|
|
26
|
-
}`,
|
|
22
|
+
}`,I=["ALL","QUEUED","PREPARING","RUNNING","SUCCEEDED","FAILED","CANCELLED"];function J({open:a,script:c,onOpenChange:d,onSaved:e}){let f=(0,h.useTranslations)("builds"),[g,j]=(0,i.useState)(c?.name??""),[l,n]=(0,i.useState)(c?c.preBuildScript??"":G),[q,v]=(0,i.useState)(c?c.postBuildScript??"":H),[w,y]=(0,i.useState)(c?.enabledByDefault??!1),[A,B]=(0,i.useState)(c?.timeoutSeconds??300),[C,D]=(0,i.useState)(c?.failureBehavior??"FAIL_BUILD"),[E,F]=(0,i.useState)(!1),[I,K]=(0,i.useState)(null),L=async()=>{F(!0),K(null);try{await (0,z.controlPlaneRequest)(`mutation SaveBuildScript($input: SaveBuildScriptInput!) {
|
|
27
23
|
saveBuildScript(input: $input) { id }
|
|
28
|
-
}`,{input:{id:c?.id??null,name:g,preBuildScript:
|
|
24
|
+
}`,{input:{id:c?.id??null,name:g,preBuildScript:l||null,postBuildScript:q||null,enabledByDefault:w,timeoutSeconds:A,failureBehavior:C}}),await e(),d(!1)}catch(a){K(a instanceof Error?a.message:String(a))}finally{F(!1)}};return(0,b.jsx)(p.Dialog,{onOpenChange:d,open:a,children:(0,b.jsxs)(p.DialogContent,{className:"sm:max-w-2xl",children:[(0,b.jsxs)(p.DialogHeader,{children:[(0,b.jsx)(p.DialogTitle,{children:f(c?"editScript":"newScript")}),(0,b.jsx)(p.DialogDescription,{children:f("scriptDescription")})]}),I&&(0,b.jsx)(k.Alert,{variant:"destructive",children:(0,b.jsx)(k.AlertDescription,{children:I})}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"build-script-name",children:f("name")}),(0,b.jsx)(r.Input,{id:"build-script-name",onChange:a=>j(a.target.value),value:g})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"pre-build-script",children:f("preBuildScript")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("preBuildScriptHelp")}),(0,b.jsx)(x.Textarea,{className:"font-mono text-xs",id:"pre-build-script",onChange:a=>n(a.target.value),rows:8,value:l})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"post-build-script",children:f("postBuildScript")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("postBuildScriptHelp")}),(0,b.jsx)(x.Textarea,{className:"font-mono text-xs",id:"post-build-script",onChange:a=>v(a.target.value),rows:8,value:q})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"script-timeout",children:f("timeout")}),(0,b.jsx)(r.Input,{id:"script-timeout",min:1,max:3600,onChange:a=>B(Number(a.target.value)),type:"number",value:A})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{children:f("failureBehavior")}),(0,b.jsxs)(t.Select,{onValueChange:a=>D(a),value:C,children:[(0,b.jsx)(t.SelectTrigger,{children:(0,b.jsx)(t.SelectValue,{})}),(0,b.jsxs)(t.SelectContent,{children:[(0,b.jsx)(t.SelectItem,{value:"FAIL_BUILD",children:f("failureBehaviors.FAIL_BUILD")}),(0,b.jsx)(t.SelectItem,{value:"CONTINUE",children:f("failureBehaviors.CONTINUE")})]})]})]})]}),(0,b.jsxs)("label",{className:"flex items-center gap-2",children:[(0,b.jsx)(o.Checkbox,{checked:w,onCheckedChange:a=>y(!!a)}),f("enabledByDefault")]})]}),(0,b.jsxs)(p.DialogFooter,{children:[(0,b.jsx)(m.Button,{onClick:()=>d(!1),type:"button",variant:"outline",children:f("cancel")}),(0,b.jsxs)(m.Button,{disabled:E||!g.trim()||!l.trim()&&!q.trim(),onClick:()=>void L(),type:"button",children:[E&&(0,b.jsx)(u.Spinner,{})," ",f("save")]})]})]})})}a.s(["BuildsPage",0,function(){let a=(0,h.useTranslations)("builds"),p=(0,g.useLocale)(),r=(0,y.useRouter)(),s=(0,E.useBuildTimeTicker)(),[x,G]=(0,i.useState)([]),[H,K]=(0,i.useState)([]),[L,M]=(0,i.useState)("ALL"),[N,O]=(0,i.useState)(null),[P,Q]=(0,i.useState)(!0),[R,S]=(0,i.useState)(!1),[T,U]=(0,i.useState)(null),[V,W]=(0,i.useState)(!1),[X,Y]=(0,i.useState)(null),[Z,$]=(0,i.useState)(new Set),[_,aa]=(0,i.useState)(!1),[ab,ac]=(0,i.useState)(!1),ad=(0,i.useCallback)(async a=>{a?S(!0):Q(!0);try{let b=await (0,z.controlPlaneRequest)(`query BuildsPage($after: ID, $status: BuildStatus) {
|
|
29
25
|
builds(first: 50, after: $after, status: $status) {
|
|
30
|
-
items { ${B} }
|
|
26
|
+
items { ${B.BUILD_LIST_FIELDS} }
|
|
31
27
|
nextCursor
|
|
32
28
|
}
|
|
33
|
-
buildScripts { ${
|
|
34
|
-
}`,{after:a??null,status:"ALL"===
|
|
29
|
+
buildScripts { ${F} }
|
|
30
|
+
}`,{after:a??null,status:"ALL"===L?null:L});G(c=>a?[...c,...b.builds.items]:b.builds.items),O(b.builds.nextCursor),K(b.buildScripts),U(null)}catch(a){U(a instanceof Error?a.message:String(a))}finally{Q(!1),S(!1)}},[L]);(0,i.useEffect)(()=>{let a=window.setTimeout(()=>void ad(),0);return()=>window.clearTimeout(a)},[ad]),(0,i.useEffect)(()=>(0,z.controlPlaneSubscriptions)().subscribe({query:"subscription BuildsChanged { buildsChanged { id } }"},{next:()=>void ad(),error:()=>void 0,complete:()=>void 0}),[ad]);let ae=async a=>{try{await (0,z.controlPlaneRequest)("mutation DeleteBuildScript($id: ID!) { deleteBuildScript(id: $id) }",{id:a}),await ad()}catch(a){U(a instanceof Error?a.message:String(a))}},af=(0,i.useMemo)(()=>{let a=[],b=new Intl.DateTimeFormat(p,{dateStyle:"full"});for(let c of x){let d=new Date(c.startedAt??c.createdAt),e=`${d.getFullYear()}-${d.getMonth()}-${d.getDate()}`,f=a.at(-1);f?.dateKey===e?f.items.push(c):a.push({key:`${e}-${c.id}`,dateKey:e,label:b.format(d),items:[c]})}return a},[x,p]),ag=async()=>{if(Z.size){ac(!0),U(null);try{await (0,z.controlPlaneRequest)("mutation DeleteBuilds($ids: [ID!]!) { deleteBuilds(ids: $ids) }",{ids:[...Z]}),$(new Set),aa(!1),await ad()}catch(a){U(a instanceof Error?a.message:String(a))}finally{ac(!1)}}};return(0,b.jsxs)("section",{className:"mx-auto flex w-full max-w-[1500px] flex-col gap-6",children:[(0,b.jsx)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:a("title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:a("description")})]})}),T&&(0,b.jsx)(k.Alert,{variant:"destructive",children:(0,b.jsx)(k.AlertDescription,{children:T})}),(0,b.jsxs)(w.Tabs,{defaultValue:"history",children:[(0,b.jsxs)(w.TabsList,{children:[(0,b.jsxs)(w.TabsTrigger,{value:"history",children:[(0,b.jsx)(c.Hammer,{})," ",a("history")]}),(0,b.jsxs)(w.TabsTrigger,{value:"scripts",children:[(0,b.jsx)(e,{})," ",a("buildScripts")]})]}),(0,b.jsxs)(w.TabsContent,{className:"space-y-4",value:"history",children:[(0,b.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[Z.size>0&&(0,b.jsxs)(m.Button,{disabled:ab,onClick:()=>aa(!0),variant:"destructive",children:[ab?(0,b.jsx)(u.Spinner,{}):(0,b.jsx)(f.Trash2,{}),a("deleteSelected",{count:Z.size})]}),(0,b.jsxs)(t.Select,{onValueChange:a=>{$(new Set),M(a)},value:L,children:[(0,b.jsx)(t.SelectTrigger,{className:"w-48","aria-label":a("filterStatus"),children:(0,b.jsx)(t.SelectValue,{})}),(0,b.jsx)(t.SelectContent,{children:I.map(c=>(0,b.jsx)(t.SelectItem,{value:c,children:"ALL"===c?a("allStatuses"):a(`statuses.${c}`)},c))})]})]}),P&&!x.length?(0,b.jsxs)("p",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(u.Spinner,{})," ",a("loading")]}):x.length?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(n.Card,{className:"gap-0 py-0",children:(0,b.jsxs)(v.Table,{children:[(0,b.jsx)(v.TableHeader,{children:(0,b.jsxs)(v.TableRow,{className:"hover:bg-transparent",children:[(0,b.jsx)(v.TableHead,{className:"w-12",children:(0,b.jsx)("span",{className:"sr-only",children:a("selectBuilds")})}),(0,b.jsx)(v.TableHead,{children:a("build")}),(0,b.jsx)(v.TableHead,{children:a("status")}),(0,b.jsx)(v.TableHead,{children:a("action")}),(0,b.jsx)(v.TableHead,{children:a("destination")}),(0,b.jsx)(v.TableHead,{children:a("startedAt")}),(0,b.jsx)(v.TableHead,{className:"text-right",children:a("actionsLabel")})]})}),(0,b.jsx)(v.TableBody,{children:af.map(c=>{let d=c.items.map(a=>a.id),e=d.filter(a=>Z.has(a)).length;return(0,b.jsxs)(i.Fragment,{children:[(0,b.jsxs)(v.TableRow,{className:"bg-muted/20 hover:bg-muted/20",children:[(0,b.jsx)(v.TableCell,{className:"py-1.5",children:(0,b.jsx)(o.Checkbox,{"aria-label":a("selectDate",{date:c.label}),checked:e===d.length||e>0&&"indeterminate",onCheckedChange:a=>$(b=>{let c=new Set(b);for(let b of d)!0===a?c.add(b):c.delete(b);return c})})}),(0,b.jsx)(v.TableCell,{className:"py-1.5 text-xs font-normal text-muted-foreground",colSpan:6,children:c.label})]}),c.items.map(c=>{let d=(0,A.buildSnapshotName)(c),e=c.startedAt??c.createdAt,f="SUCCEEDED"===c.status&&c.artifacts.some(a=>"RUNNABLE_APP"===a.kind);return(0,b.jsxs)(v.TableRow,{"aria-label":a("viewBuild"),className:"cursor-pointer focus-visible:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",onClick:()=>r.push(`/builds/${c.id}`),onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),r.push(`/builds/${c.id}`))},role:"link",tabIndex:0,children:[(0,b.jsx)(v.TableCell,{onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:(0,b.jsx)(o.Checkbox,{"aria-label":a("selectBuild",{id:c.id}),checked:Z.has(c.id),onCheckedChange:a=>$(b=>{let d=new Set(b);return!0===a?d.add(c.id):d.delete(c.id),d})})}),(0,b.jsxs)(v.TableCell,{className:"min-w-56 whitespace-normal",children:[(0,b.jsx)(y.Link,{className:"font-medium hover:underline",href:`/builds/${c.id}`,onClick:a=>a.stopPropagation(),children:d.repository}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:d.worktree})]}),(0,b.jsx)(v.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,b.jsx)(l.Badge,{variant:(0,A.buildStatusVariant)(c.status),children:a(`statuses.${c.status}`)}),c.outOfDate&&(0,b.jsx)(l.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:a("outOfDate")})]})}),(0,b.jsx)(v.TableCell,{children:(0,b.jsx)(l.Badge,{variant:"outline",children:a(`actions.${c.action}`)})}),(0,b.jsx)(v.TableCell,{children:c.destination.name}),(0,b.jsx)(v.TableCell,{className:"text-muted-foreground",children:(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("time",{dateTime:e,title:new Date(e).toLocaleString(p),children:(0,A.relativeBuildAge)(e,p,s)}),(0,b.jsx)("span",{className:"text-xs",children:a("durationValue",{duration:(0,A.buildDuration)(c,s)})})]})}),(0,b.jsx)(v.TableCell,{className:"text-right",children:(0,b.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,b.jsx)(C.RebuildButton,{buildId:c.id,onCompleted:()=>ad(),onError:U,size:"sm"}),f&&(0,b.jsx)(D.RunBuildControls,{buildId:c.id,destinationType:c.destinationType,onCompleted:ad,onError:U,preferredDestination:c.destination,size:"sm"})]})})]},c.id)})]},c.key)})})]})}),N&&(0,b.jsx)("div",{className:"flex justify-center",children:(0,b.jsxs)(m.Button,{disabled:R,onClick:()=>void ad(N),variant:"outline",children:[R&&(0,b.jsx)(u.Spinner,{})," ",a("loadMore")]})})]}):(0,b.jsx)(q.Empty,{className:"border py-12",children:(0,b.jsxs)(q.EmptyHeader,{children:[(0,b.jsx)(q.EmptyMedia,{variant:"icon",children:(0,b.jsx)(c.Hammer,{})}),(0,b.jsx)(q.EmptyTitle,{children:a("emptyTitle")}),(0,b.jsx)(q.EmptyDescription,{children:a("emptyDescription")})]})})]}),(0,b.jsxs)(w.TabsContent,{className:"space-y-4",value:"scripts",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsxs)(m.Button,{onClick:()=>{Y(null),W(!0)},children:[(0,b.jsx)(d.Plus,{})," ",a("newScript")]})}),H.length?(0,b.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:H.map(c=>(0,b.jsxs)(n.Card,{children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsxs)(n.CardTitle,{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{children:c.name}),c.enabledByDefault&&(0,b.jsx)(l.Badge,{children:a("defaultEnabled")})]})}),(0,b.jsxs)(n.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[c.preBuildScript&&(0,b.jsx)(l.Badge,{variant:"outline",children:a("preBuild")}),c.postBuildScript&&(0,b.jsx)(l.Badge,{variant:"outline",children:a("postBuild")}),(0,b.jsx)("span",{children:a("timeoutSeconds",{count:c.timeoutSeconds})}),(0,b.jsx)("span",{children:a(`failureBehaviors.${c.failureBehavior}`)})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(m.Button,{onClick:()=>{Y(c),W(!0)},size:"sm",variant:"outline",children:a("edit")}),(0,b.jsx)(m.Button,{"aria-label":a("deleteScript"),onClick:()=>void ae(c.id),size:"icon-sm",variant:"destructive",children:(0,b.jsx)(f.Trash2,{})})]})]})]},c.id))}):(0,b.jsx)(q.Empty,{className:"border py-12",children:(0,b.jsxs)(q.EmptyHeader,{children:[(0,b.jsx)(q.EmptyMedia,{variant:"icon",children:(0,b.jsx)(e,{})}),(0,b.jsx)(q.EmptyTitle,{children:a("noScripts")}),(0,b.jsx)(q.EmptyDescription,{children:a("noScriptsDescription")})]})})]})]}),V&&(0,b.jsx)(J,{onOpenChange:W,onSaved:ad,open:V,script:X}),(0,b.jsx)(j.ConfirmationDialog,{actionLabel:a("deleteBuilds"),cancelLabel:a("cancel"),description:a("deleteBuildsDescription",{count:Z.size}),onConfirm:ag,onOpenChange:aa,open:_,title:a("deleteBuildsTitle",{count:Z.size})})]})}],747763)}];
|
|
35
31
|
|
|
36
32
|
//# sourceMappingURL=src_components_builds_builds-page_tsx_17qzmsl._.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
module.exports=[208309,a=>{"use strict";var b=a.i(187924),c=a.i(347929),d=a.i(219107),e=a.i(327598);let f=(0,a.i(164831).default)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var g=a.i(589027),h=a.i(141146),i=a.i(233540),j=a.i(32886),k=a.i(415925),l=a.i(572131),m=a.i(124348),n=a.i(786304),o=a.i(699570),p=a.i(591119),q=a.i(46524),r=a.i(866718),s=a.i(668684),t=a.i(206015),u=a.i(555027),v=a.i(460280);function w(a){return Math.max(0,a.executableLines-a.coveredLines)}function x(a,b){let c=a.replaceAll("\\","/"),d=b?.replaceAll("\\","/").replace(/\/$/,"");return d?c===d?".":c.startsWith(`${d}/`)?c.slice(d.length+1):c:c}function y({activeSort:a,align:c="left",ariaLabel:d,label:e,onSort:f,sortKey:g}){let h=a.key===g;return(0,b.jsx)(z,{active:h,align:c,ariaLabel:d,direction:a.direction,label:e,onSort:()=>f(g)})}function z({active:a,align:d,ariaLabel:g,direction:h,label:i,onSort:j}){return(0,b.jsx)(t.TableHead,{"aria-sort":a?"asc"===h?"ascending":"descending":"none",className:"h-8 px-2",children:(0,b.jsxs)(o.Button,{"aria-label":g,className:`-mx-2 h-7 px-2 text-xs ${"right"===d?"w-[calc(100%+1rem)] justify-end":"justify-start"}`,onClick:j,size:"sm",title:g,type:"button",variant:"ghost",children:[i,a?"asc"===h?(0,b.jsx)(e.ArrowUp,{}):(0,b.jsx)(c.ArrowDown,{}):(0,b.jsx)(f,{})]})})}function A({value:a,percent:c,size:d="compact"}){if("number"!=typeof a)return(0,b.jsx)(b.Fragment,{children:"—"});let e=Math.max(0,Math.min(1,a));return(0,b.jsxs)("span",{className:`inline-flex items-center justify-end tabular-nums ${"metric"===d?"gap-2 text-2xl font-semibold":"gap-1.5"}`,children:[c(a),(0,b.jsx)("span",{"aria-hidden":"true",className:`${"metric"===d?"size-7":"size-3.5"} shrink-0 rounded-full ring-1 ring-foreground/10 ${e>=.8?"text-emerald-500":e>=.5?"text-amber-500":"text-red-500"}`,"data-coverage-indicator":!0,style:{background:`conic-gradient(currentColor ${360*e}deg, var(--muted) 0deg)`}})]})}function B({label:a,percentage:c,value:d}){return(0,b.jsx)(p.Card,{children:(0,b.jsxs)(p.CardContent,{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"mt-1",children:"number"==typeof c?(0,b.jsx)(A,{percent:()=>d,size:"metric",value:c}):(0,b.jsx)("p",{className:"text-2xl font-semibold tabular-nums",children:d})})]})})}function C({coverageFiles:a,files:c,percent:d,worktreeFolder:e}){let f=(0,k.useTranslations)("builds"),g=(0,j.useLocale)(),[h,m]=(0,l.useState)(""),[n,o]=(0,l.useState)({key:"filename",direction:"asc"}),p=c.map(b=>{var c;let d=x(b.path,e),f=a.filter(a=>x(a.path,e)===d);return{...b,displayName:f[0]?.name??(c=d).replaceAll("\\","/").split("/").filter(Boolean).at(-1)??c,displayPath:d}}).filter(a=>`${a.displayName} ${a.displayPath} ${a.changeType??""}`.toLocaleLowerCase().includes(h.trim().toLocaleLowerCase())).toSorted((a,b)=>{let c=(a,b)=>a.localeCompare(b,g,{numeric:!0,sensitivity:"base"}),d=0;return 0!==(d="filename"===n.key?c(a.displayName,b.displayName)||c(a.displayPath,b.displayPath):"changeType"===n.key?c(a.changeType??"",b.changeType??""):"coveredLines"===n.key?a.changedCoveredLines-b.changedCoveredLines:(a.changedLineCoverage??-1)-(b.changedLineCoverage??-1))?"asc"===n.direction?d:-d:c(a.displayPath,b.displayPath)}),q=a=>{o(b=>b.key===a?{key:a,direction:"asc"===b.direction?"desc":"asc"}:{key:a,direction:"coveredLines"===a||"lineCoverage"===a?"desc":"asc"})};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"relative max-w-xl",children:[(0,b.jsx)(i.Search,{className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(r.Input,{"aria-label":f("searchChangedCoverageFiles"),className:"pl-9",onChange:a=>m(a.target.value),placeholder:f("searchChangedCoverageFiles"),value:h})]}),(0,b.jsx)("div",{className:"overflow-auto rounded-md border",children:(0,b.jsxs)(t.Table,{"aria-label":f("changedFilesCoverage"),className:"text-xs",children:[(0,b.jsx)(t.TableHeader,{children:(0,b.jsxs)(t.TableRow,{children:[(0,b.jsx)(D,{activeSort:n,ariaLabel:f("sortCoverageFiles",{column:f("coverageFile")}),label:f("coverageFile"),onSort:q,sortKey:"filename"}),(0,b.jsx)(D,{activeSort:n,ariaLabel:f("sortCoverageFiles",{column:f("changeType")}),label:f("changeType"),onSort:q,sortKey:"changeType"}),(0,b.jsx)(D,{activeSort:n,align:"right",ariaLabel:f("sortCoverageFiles",{column:f("coveredLines")}),label:f("coveredLines"),onSort:q,sortKey:"coveredLines"}),(0,b.jsx)(D,{activeSort:n,align:"right",ariaLabel:f("sortCoverageFiles",{column:f("coverage")}),label:f("coverage"),onSort:q,sortKey:"lineCoverage"})]})}),(0,b.jsx)(t.TableBody,{children:p.map(a=>(0,b.jsxs)(t.TableRow,{children:[(0,b.jsx)(t.TableCell,{className:"max-w-xl px-2 py-1.5",children:(0,b.jsxs)("div",{className:"flex min-w-0 items-baseline gap-2",children:[(0,b.jsx)("span",{className:"shrink-0 font-medium",children:a.displayName}),(0,b.jsx)("span",{className:"min-w-0 truncate font-mono text-muted-foreground",title:a.path,children:a.displayPath})]})}),(0,b.jsx)(t.TableCell,{className:"px-2 py-1.5",children:a.changeType??"—"}),(0,b.jsxs)(t.TableCell,{className:"px-2 py-1.5 text-right",children:[a.changedCoveredLines," / ",a.changedExecutableLines]}),(0,b.jsx)(t.TableCell,{className:"px-2 py-1.5 text-right",children:(0,b.jsx)(A,{percent:d,value:a.changedLineCoverage})})]},a.path))})]})})]})}function D({activeSort:a,align:c="left",ariaLabel:d,label:e,onSort:f,sortKey:g}){let h=a.key===g;return(0,b.jsx)(z,{active:h,align:c,ariaLabel:d,direction:a.direction,label:e,onSort:()=>f(g)})}a.s(["CoverageReportPage",0,function({buildId:a}){let c=(0,k.useTranslations)("builds"),e=(0,j.useLocale)(),[f,z]=(0,l.useState)(null),[D,E]=(0,l.useState)(a),[F,G]=(0,l.useState)(null),[H,I]=(0,l.useState)(!0),[J,K]=(0,l.useState)(null),[L,M]=(0,l.useState)(""),[N,O]=(0,l.useState)(!1),[P,Q]=(0,l.useState)({key:"filename",direction:"asc"}),R=(0,l.useCallback)(async()=>{try{let b=await (0,v.controlPlaneRequest)(`query CoverageReport($id: ID!) {
|
|
2
|
+
build(id: $id) {
|
|
3
|
+
id snapshot
|
|
4
|
+
reports {
|
|
5
|
+
id kind source status summary data error createdAt updatedAt finishedAt
|
|
6
|
+
artifact { id kind relativePath sizeBytes checksum metadata createdAt }
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}`,{id:a}),c=b.build?.reports.find(a=>"CODE_COVERAGE"===a.kind);z(c??null);let d=b.build?.snapshot.configuration,e=b.build?.snapshot.worktree;E(d?.name??a),G(e?.folder??null),K(null)}catch(a){K(a instanceof Error?a.message:String(a))}finally{I(!1)}},[a]);(0,l.useEffect)(()=>{let a=window.setTimeout(()=>void R(),0);return()=>window.clearTimeout(a)},[R]);let S=(0,l.useMemo)(()=>Array.isArray(f?.data.files)?f.data.files:[],[f]),T=(0,l.useMemo)(()=>{let a=S.filter(a=>`${a.target} ${a.name} ${x(a.path,F)}`.toLocaleLowerCase().includes(L.trim().toLocaleLowerCase())),b=(a,b)=>a.localeCompare(b,e,{numeric:!0,sensitivity:"base"});return a.toSorted((a,c)=>{let d=0;return 0!==(d="filename"===P.key?b(a.name,c.name):"target"===P.key?b(a.target,c.target):"lineCoverage"===P.key?a.lineCoverage-c.lineCoverage:w(a)-w(c))?"asc"===P.direction?d:-d:b(a.name,c.name)||b(a.target,c.target)||b(a.path,c.path)})},[e,S,L,P,F]),U=Array.isArray(f?.data.changedFiles)?f.data.changedFiles:[],V=a=>"number"==typeof a?new Intl.NumberFormat(e,{style:"percent",maximumFractionDigits:1}).format(a):"—",W=a=>{Q(b=>b.key===a?{key:a,direction:"asc"===b.direction?"desc":"asc"}:{key:a,direction:"lineCoverage"===a||"uncoveredLines"===a?"desc":"asc"})};return H?(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(s.Spinner,{})," ",c("loadingCoverageReport")]}):f?(0,b.jsxs)("section",{className:"mx-auto flex w-full max-w-7xl flex-col gap-5",children:[(0,b.jsx)("div",{children:(0,b.jsx)(o.Button,{asChild:!0,className:"-ml-2",size:"sm",variant:"ghost",children:(0,b.jsxs)(u.Link,{href:`/builds/${a}`,children:[(0,b.jsx)(d.ArrowLeft,{})," ",c("backToBuild")]})})}),J&&(0,b.jsx)(m.Alert,{variant:"destructive",children:(0,b.jsx)(m.AlertDescription,{children:J})}),f.error&&(0,b.jsx)(m.Alert,{variant:"destructive",children:(0,b.jsx)(m.AlertDescription,{children:f.error})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:c("coverageReport")}),(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:D})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(B,{label:c("overallCoverage"),percentage:f.summary.lineCoverage,value:V(f.summary.lineCoverage)}),(0,b.jsx)(B,{label:c("coveredLines"),value:String(f.summary.coveredLines??0)}),(0,b.jsx)(B,{label:c("executableLines"),value:String(f.summary.executableLines??0)}),(0,b.jsx)(B,{label:c("changedCoverage"),percentage:f.summary.changedLineCoverage,value:V(f.summary.changedLineCoverage)})]}),U.length>0&&(0,b.jsxs)(p.Card,{children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{children:c("changedFilesCoverage")})}),(0,b.jsx)(p.CardContent,{children:(0,b.jsx)(C,{coverageFiles:S,files:U,percent:V,worktreeFolder:F})})]}),(0,b.jsxs)(p.Card,{className:"gap-0 py-0",children:[(0,b.jsx)(p.CardHeader,{className:N?"border-b bg-muted/40 py-3":"bg-muted/40 py-3",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)(o.Button,{"aria-expanded":N,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:()=>O(a=>!a),type:"button",variant:"ghost",children:(0,b.jsx)("span",{className:"truncate font-medium",children:c("allCoverageFiles")})}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsx)(n.Badge,{children:S.length}),(0,b.jsx)(o.Button,{"aria-expanded":N,"aria-label":c(N?"collapseCoverageFiles":"expandCoverageFiles"),onClick:()=>O(a=>!a),size:"icon-sm",title:c(N?"collapseCoverageFiles":"expandCoverageFiles"),type:"button",variant:"ghost",children:N?(0,b.jsx)(g.ChevronDown,{className:"size-5"}):(0,b.jsx)(h.ChevronRight,{className:"size-5"})})]})]})}),N&&(0,b.jsxs)(p.CardContent,{className:"space-y-4 py-4",children:[(0,b.jsxs)("div",{className:"relative max-w-xl",children:[(0,b.jsx)(i.Search,{className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(r.Input,{"aria-label":c("searchCoverageFiles"),className:"pl-9",onChange:a=>M(a.target.value),placeholder:c("searchCoverageFiles"),value:L})]}),(0,b.jsx)("div",{className:"overflow-auto rounded-md border",children:(0,b.jsxs)(t.Table,{"aria-label":c("allCoverageFiles"),className:"min-w-[60rem] text-xs",children:[(0,b.jsx)(t.TableHeader,{children:(0,b.jsxs)(t.TableRow,{children:[(0,b.jsx)(y,{activeSort:P,ariaLabel:c("sortCoverageFiles",{column:c("coverageTarget")}),label:c("coverageTarget"),onSort:W,sortKey:"target"}),(0,b.jsx)(y,{activeSort:P,ariaLabel:c("sortCoverageFiles",{column:c("coverageFile")}),label:c("coverageFile"),onSort:W,sortKey:"filename"}),(0,b.jsx)(t.TableHead,{className:"h-8 px-2 text-right",children:c("coveredLines")}),(0,b.jsx)(y,{activeSort:P,align:"right",ariaLabel:c("sortCoverageFiles",{column:c("uncoveredLines")}),label:c("uncoveredLines"),onSort:W,sortKey:"uncoveredLines"}),(0,b.jsx)(y,{activeSort:P,align:"right",ariaLabel:c("sortCoverageFiles",{column:c("coverage")}),label:c("coverage"),onSort:W,sortKey:"lineCoverage"})]})}),(0,b.jsx)(t.TableBody,{children:T.map((a,c)=>(0,b.jsxs)(t.TableRow,{children:[(0,b.jsx)(t.TableCell,{className:"px-2 py-1.5",children:(0,b.jsx)(n.Badge,{variant:"outline",children:a.target})}),(0,b.jsx)(t.TableCell,{className:"max-w-xl px-2 py-1.5",children:(0,b.jsxs)("div",{className:"flex min-w-0 items-baseline gap-2",children:[(0,b.jsx)("span",{className:"shrink-0 font-medium",children:a.name}),(0,b.jsx)("span",{className:"min-w-0 truncate font-mono text-muted-foreground",title:a.path,children:x(a.path,F)})]})}),(0,b.jsxs)(t.TableCell,{className:"px-2 py-1.5 text-right tabular-nums",children:[a.coveredLines," / ",a.executableLines]}),(0,b.jsx)(t.TableCell,{className:"px-2 py-1.5 text-right tabular-nums",children:w(a)}),(0,b.jsx)(t.TableCell,{className:"px-2 py-1.5 text-right font-medium",children:(0,b.jsx)(A,{percent:V,value:a.lineCoverage})})]},`${a.target}:${a.path}:${c}`))})]})})]})]})]}):(0,b.jsxs)(q.Empty,{className:"mx-auto max-w-6xl border py-12",children:[(0,b.jsxs)(q.EmptyHeader,{children:[(0,b.jsx)(q.EmptyTitle,{children:c("coverageReportNotFound")}),(0,b.jsx)(q.EmptyDescription,{children:c("coverageReportNotFoundDescription")})]}),(0,b.jsx)(o.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(u.Link,{href:`/builds/${a}`,children:[(0,b.jsx)(d.ArrowLeft,{})," ",c("backToBuild")]})})]})}],208309)}];
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=src_components_builds_coverage-report-page_tsx_1nhwba1._.js.map
|
|
@@ -21,18 +21,18 @@ module.exports=[413651,a=>{"use strict";var b=a.i(187924),c=a.i(219107),d=a.i(31
|
|
|
21
21
|
reparseBuildConfiguration(configurationId: $configurationId, worktreeId: $worktreeId, requestId: $requestId) { id status }
|
|
22
22
|
}`,{configurationId:a.id,worktreeId:F,requestId:(0,z.createClientId)()}),await R()}catch(a){M(a instanceof Error?a.message:String(a))}finally{K(!1)}}},U=async a=>{K(!0);try{await (0,A.controlPlaneRequest)("mutation DeleteBuildConfiguration($id: ID!) { deleteBuildConfiguration(id: $id) }",{id:a}),await R()}catch(a){M(a instanceof Error?a.message:String(a))}finally{K(!1)}},V=async(a,b)=>{let c=s?.allowedScripts.map(a=>a.script.id)??[],d=b?[...c,a]:c.filter(b=>b!==a);try{await (0,A.controlPlaneRequest)(`mutation SetAllowedBuildScripts($codebaseId: ID!, $scriptIds: [ID!]!) {
|
|
23
23
|
setCodebaseBuildScripts(codebaseId: $codebaseId, scriptIds: $scriptIds) { id }
|
|
24
|
-
}`,{codebaseId:e,scriptIds:d}),await R()}catch(a){M(a instanceof Error?a.message:String(a))}};return H?(0,b.jsxs)("p",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(x.Spinner,{})," ",d("loading")]}):(0,b.jsxs)("div",{className:"space-y-5",children:[L&&(0,b.jsx)(n.Alert,{variant:"destructive",children:(0,b.jsx)(n.AlertDescription,{children:L})}),c&&c.length>0&&(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:d("parseCheckout")})}),(0,b.jsxs)(q.CardContent,{className:"space-y-2",children:[(0,b.jsxs)(w.Select,{disabled:J,onValueChange:a=>{I(!0),h(a)},value:e,children:[(0,b.jsx)(w.SelectTrigger,{"aria-label":d("parseCheckout"),children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:c.map(a=>(0,b.jsxs)(w.SelectItem,{disabled:!a.available,value:a.codebaseId,children:[a.label,a.available?"":` \xb7 ${d("checkoutUnavailable")}`]},a.codebaseId))})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:d("parseCheckoutDescription")})]})]}),s?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Alert,{children:(0,b.jsx)(n.AlertDescription,{children:d("sharedProjectDescription")})}),(0,b.jsxs)(q.Card,{children:[(0,b.jsxs)(q.CardHeader,{className:"flex-row items-center justify-between",children:[(0,b.jsx)(q.CardTitle,{children:d("buildConfigurations")}),(0,b.jsxs)(p.Button,{disabled:!F,onClick:()=>{O(null),Q(!0)},size:"sm",children:[(0,b.jsx)(j.Plus,{})," ",d("newConfiguration")]})]}),(0,b.jsx)(q.CardContent,{children:s.configurations.length?(0,b.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:s.configurations.map(a=>(0,b.jsx)(q.Card,{children:(0,b.jsxs)(q.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"flex items-center gap-2 font-medium",children:[(0,b.jsx)(B.ConfigurationIcon,{iconKey:a.iconKey}),a.name]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:a.source.relativePath})]}),(0,b.jsx)(o.Badge,{variant:a.observation?.status==="ERROR"||a.observation?.status==="INVALID"?"destructive":"outline",children:a.observation?.status??"UNPARSED"})]}),(0,b.jsxs)("div",{className:"rounded-lg border bg-muted/20 p-3 text-sm",children:[(0,b.jsxs)("p",{children:[a.scheme," ·"," ",a.buildConfiguration]}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[a.observation?.lastParsedAt?d("lastParsed",{value:new Date(a.observation.lastParsedAt).toLocaleString()}):d("neverParsed"),a.observation?.stale?` \xb7 ${d("stale")}`:""]}),a.observation?.error&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:a.observation.error})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsxs)(p.Button,{disabled:J||!F,onClick:()=>void T(a),size:"sm",variant:"outline",children:[(0,b.jsx)(k.RefreshCw,{})," ",d("reparse")]}),(0,b.jsxs)(p.Button,{onClick:()=>{O(a),Q(!0)},size:"sm",variant:"outline",children:[(0,b.jsx)(l.Settings2,{})," ",d("edit")]}),(0,b.jsx)(p.Button,{"aria-label":d("deleteConfiguration"),disabled:J,onClick:()=>void U(a.id),size:"icon-sm",variant:"destructive",children:(0,b.jsx)(m.Trash2,{})})]})]})},a.id))}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:d("noConfigurations")})})]}),(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:d("allowedScripts")})}),(0,b.jsx)(q.CardContent,{className:"space-y-2",children:v.length?v.map(a=>{let c=s.allowedScripts.some(b=>b.script.id===a.id);return(0,b.jsxs)("label",{className:"flex items-center gap-2 rounded-lg border p-2",children:[(0,b.jsx)(r.Checkbox,{checked:c,onCheckedChange:b=>void V(a.id,!!b)}),(0,b.jsx)("span",{className:"text-sm",children:a.name}),a.enabledByDefault&&(0,b.jsx)(o.Badge,{variant:"outline",children:d("defaultEnabled")})]},a.id)}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:d("createScriptsOnBuildsPage")})})]})]}):(0,b.jsxs)(t.Empty,{className:"border py-12",children:[(0,b.jsxs)(t.EmptyHeader,{children:[(0,b.jsx)(t.EmptyMedia,{variant:"icon",children:(0,b.jsx)(i.Hammer,{})}),(0,b.jsx)(t.EmptyTitle,{children:d("addIosProject")}),(0,b.jsx)(t.EmptyDescription,{children:d("addIosProjectDescription")})]}),(0,b.jsxs)(p.Button,{disabled:J,onClick:()=>void S(),children:[J?(0,b.jsx)(x.Spinner,{}):(0,b.jsx)(j.Plus,{})," ",d("addIosProject")]})]}),P&&F&&(0,b.jsx)(E,{codebaseId:e,configuration:N,onOpenChange:Q,onSaved:R,open:P,worktreeId:F})]})}function E({codebaseId:a,worktreeId:c,configuration:d,open:e,onOpenChange:h,onSaved:i}){let j=(0,f.useTranslations)("builds"),[l,m]=(0,g.useState)(d?.name??""),[
|
|
24
|
+
}`,{codebaseId:e,scriptIds:d}),await R()}catch(a){M(a instanceof Error?a.message:String(a))}};return H?(0,b.jsxs)("p",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(x.Spinner,{})," ",d("loading")]}):(0,b.jsxs)("div",{className:"space-y-5",children:[L&&(0,b.jsx)(n.Alert,{variant:"destructive",children:(0,b.jsx)(n.AlertDescription,{children:L})}),c&&c.length>0&&(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:d("parseCheckout")})}),(0,b.jsxs)(q.CardContent,{className:"space-y-2",children:[(0,b.jsxs)(w.Select,{disabled:J,onValueChange:a=>{I(!0),h(a)},value:e,children:[(0,b.jsx)(w.SelectTrigger,{"aria-label":d("parseCheckout"),children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:c.map(a=>(0,b.jsxs)(w.SelectItem,{disabled:!a.available,value:a.codebaseId,children:[a.label,a.available?"":` \xb7 ${d("checkoutUnavailable")}`]},a.codebaseId))})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:d("parseCheckoutDescription")})]})]}),s?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Alert,{children:(0,b.jsx)(n.AlertDescription,{children:d("sharedProjectDescription")})}),(0,b.jsxs)(q.Card,{children:[(0,b.jsxs)(q.CardHeader,{className:"flex-row items-center justify-between",children:[(0,b.jsx)(q.CardTitle,{children:d("buildConfigurations")}),(0,b.jsxs)(p.Button,{disabled:!F,onClick:()=>{O(null),Q(!0)},size:"sm",children:[(0,b.jsx)(j.Plus,{})," ",d("newConfiguration")]})]}),(0,b.jsx)(q.CardContent,{children:s.configurations.length?(0,b.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:s.configurations.map(a=>(0,b.jsx)(q.Card,{children:(0,b.jsxs)(q.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"flex items-center gap-2 font-medium",children:[(0,b.jsx)(B.ConfigurationIcon,{iconKey:a.iconKey}),a.name]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:a.source.relativePath})]}),(0,b.jsx)(o.Badge,{variant:a.observation?.status==="ERROR"||a.observation?.status==="INVALID"?"destructive":"outline",children:a.observation?.status??"UNPARSED"})]}),(0,b.jsxs)("div",{className:"rounded-lg border bg-muted/20 p-3 text-sm",children:[(0,b.jsxs)("p",{children:[a.scheme," ·"," ",a.buildConfiguration]}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[a.observation?.lastParsedAt?d("lastParsed",{value:new Date(a.observation.lastParsedAt).toLocaleString()}):d("neverParsed"),a.observation?.stale?` \xb7 ${d("stale")}`:""]}),a.observation?.error&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:a.observation.error})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsxs)(p.Button,{disabled:J||!F,onClick:()=>void T(a),size:"sm",variant:"outline",children:[(0,b.jsx)(k.RefreshCw,{})," ",d("reparse")]}),(0,b.jsxs)(p.Button,{onClick:()=>{O(a),Q(!0)},size:"sm",variant:"outline",children:[(0,b.jsx)(l.Settings2,{})," ",d("edit")]}),(0,b.jsx)(p.Button,{"aria-label":d("deleteConfiguration"),disabled:J,onClick:()=>void U(a.id),size:"icon-sm",variant:"destructive",children:(0,b.jsx)(m.Trash2,{})})]})]})},a.id))}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:d("noConfigurations")})})]}),(0,b.jsxs)(q.Card,{children:[(0,b.jsx)(q.CardHeader,{children:(0,b.jsx)(q.CardTitle,{children:d("allowedScripts")})}),(0,b.jsx)(q.CardContent,{className:"space-y-2",children:v.length?v.map(a=>{let c=s.allowedScripts.some(b=>b.script.id===a.id);return(0,b.jsxs)("label",{className:"flex items-center gap-2 rounded-lg border p-2",children:[(0,b.jsx)(r.Checkbox,{checked:c,onCheckedChange:b=>void V(a.id,!!b)}),(0,b.jsx)("span",{className:"text-sm",children:a.name}),a.enabledByDefault&&(0,b.jsx)(o.Badge,{variant:"outline",children:d("defaultEnabled")})]},a.id)}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:d("createScriptsOnBuildsPage")})})]})]}):(0,b.jsxs)(t.Empty,{className:"border py-12",children:[(0,b.jsxs)(t.EmptyHeader,{children:[(0,b.jsx)(t.EmptyMedia,{variant:"icon",children:(0,b.jsx)(i.Hammer,{})}),(0,b.jsx)(t.EmptyTitle,{children:d("addIosProject")}),(0,b.jsx)(t.EmptyDescription,{children:d("addIosProjectDescription")})]}),(0,b.jsxs)(p.Button,{disabled:J,onClick:()=>void S(),children:[J?(0,b.jsx)(x.Spinner,{}):(0,b.jsx)(j.Plus,{})," ",d("addIosProject")]})]}),P&&F&&(0,b.jsx)(E,{codebaseId:e,configuration:N,onOpenChange:Q,onSaved:R,open:P,worktreeId:F})]})}function E({codebaseId:a,worktreeId:c,configuration:d,open:e,onOpenChange:h,onSaved:i}){let j=(0,f.useTranslations)("builds"),[l,m]=(0,g.useState)(d?.name??""),[t,B]=(0,g.useState)(d?.iconKey??"none"),[C,D]=(0,g.useState)([]),[F,G]=(0,g.useState)(d?.source.relativePath??""),[H,I]=(0,g.useState)(d?.source.kind??"PROJECT"),[J,K]=(0,g.useState)(d?.observation?{source:d.source,schemes:d.observation.schemes,configurations:d.observation.configurations,testPlans:d.observation.testPlans,headSha:d.observation.headSha,xcodeVersion:d.observation.xcodeVersion}:null),[L,M]=(0,g.useState)(d?.observation?.status??"UNPARSED"),[N,O]=(0,g.useState)(d?.observation?.stale??!1),[P,Q]=(0,g.useState)(d?.scheme??""),[R,S]=(0,g.useState)(d?.buildConfiguration??""),[T,U]=(0,g.useState)(d?.defaultAction??"BUILD"),[V,W]=(0,g.useState)(JSON.stringify(d?.advancedSettings??{},null,2)),[X,Y]=(0,g.useState)(d?.advancedSettings?.parseTestResults!==!1),[Z,$]=(0,g.useState)("string"==typeof d?.advancedSettings?.testPlan?d.advancedSettings.testPlan:"__SCHEME_DEFAULT__"),[_,aa]=(0,g.useState)(!1),[ab,ac]=(0,g.useState)(!1),[ad,ae]=(0,g.useState)(!1),[af,ag]=(0,g.useState)(null),ah=(0,g.useCallback)(async()=>{aa(!0);try{let a=await (0,A.controlPlaneRequest)(`mutation DiscoverBuildSources($worktreeId: ID!, $requestId: ID!) {
|
|
25
25
|
discoverBuildSources(worktreeId: $worktreeId, requestId: $requestId) { kind relativePath }
|
|
26
|
-
}`,{worktreeId:c,requestId:(0,z.createClientId)()});
|
|
26
|
+
}`,{worktreeId:c,requestId:(0,z.createClientId)()});D(a.discoverBuildSources)}catch(a){ag(a instanceof Error?a.message:String(a))}finally{aa(!1)}},[c]);(0,g.useEffect)(()=>{let a=window.setTimeout(()=>void ah(),0);return()=>window.clearTimeout(a)},[ah]);let ai=async(a,b)=>{ac(!0),ag(null);try{let d=await (0,A.controlPlaneRequest)(`mutation InspectBuildSource($input: InspectBuildSourceInput!) {
|
|
27
27
|
inspectBuildSource(input: $input) {
|
|
28
28
|
source { kind relativePath }
|
|
29
29
|
schemes configurations testPlans headSha xcodeVersion
|
|
30
30
|
}
|
|
31
|
-
}`,{input:{worktreeId:c,sourceKind:a.kind,sourcePath:a.relativePath,scheme:b||null,requestId:(0,z.createClientId)()}});
|
|
31
|
+
}`,{input:{worktreeId:c,sourceKind:a.kind,sourcePath:a.relativePath,scheme:b||null,requestId:(0,z.createClientId)()}});K(d.inspectBuildSource),M("VALID"),O(!1),G(a.relativePath),I(a.kind),b||(Q(d.inspectBuildSource.schemes[0]??P),S(d.inspectBuildSource.configurations[0]??R))}catch(a){M("ERROR"),O(!!J),ag(a instanceof Error?a.message:String(a))}finally{ac(!1)}},aj=async()=>{ae(!0),ag(null);try{let b;try{if(!(b=JSON.parse(V))||"object"!=typeof b||Array.isArray(b))throw Error()}catch{throw Error(j("advancedJsonInvalid"))}b={...b,testPlan:"__SCHEME_DEFAULT__"===Z?null:Z,parseTestResults:X};let e=await (0,A.controlPlaneRequest)(`mutation SaveBuildConfiguration($input: SaveBuildConfigurationInput!) {
|
|
32
32
|
saveBuildConfiguration(input: $input) { id }
|
|
33
|
-
}`,{input:{id:d?.id??null,codebaseId:a,name:l,iconKey:"none"===
|
|
33
|
+
}`,{input:{id:d?.id??null,codebaseId:a,name:l,iconKey:"none"===t?null:t,sourceKind:H,sourcePath:F,scheme:P,buildConfiguration:R,defaultAction:T,advancedSettings:b}});await (0,A.controlPlaneRequest)(`mutation ReparseSavedBuildConfiguration($configurationId: ID!, $worktreeId: ID!, $requestId: ID!) {
|
|
34
34
|
reparseBuildConfiguration(configurationId: $configurationId, worktreeId: $worktreeId, requestId: $requestId) { id status }
|
|
35
|
-
}`,{configurationId:e.saveBuildConfiguration.id,worktreeId:c,requestId:(0,z.createClientId)()}),await i(),h(!1)}catch(a){
|
|
35
|
+
}`,{configurationId:e.saveBuildConfiguration.id,worktreeId:c,requestId:(0,z.createClientId)()}),await i(),h(!1)}catch(a){ag(a instanceof Error?a.message:String(a))}finally{ae(!1)}};return(0,b.jsx)(s.Dialog,{onOpenChange:h,open:e,children:(0,b.jsxs)(s.DialogContent,{className:"sm:max-w-3xl",children:[(0,b.jsxs)(s.DialogHeader,{children:[(0,b.jsx)(s.DialogTitle,{children:d?j("editConfiguration"):j("newConfiguration")}),(0,b.jsx)(s.DialogDescription,{children:j("configurationDescription")})]}),af&&(0,b.jsx)(n.Alert,{variant:"destructive",children:(0,b.jsx)(n.AlertDescription,{children:af})}),(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"configuration-name",children:j("name")}),(0,b.jsx)(u.Input,{id:"configuration-name",onChange:a=>m(a.target.value),value:l})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{children:j("icon")}),(0,b.jsxs)(w.Select,{onValueChange:B,value:t,children:[(0,b.jsx)(w.SelectTrigger,{children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:["none","smartphone","hammer","play","test-tube","archive","rocket"].map(a=>(0,b.jsx)(w.SelectItem,{value:a,children:a},a))})]})]})]}),(0,b.jsx)(q.Card,{children:(0,b.jsxs)(q.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium",children:j("source")}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:F||j("selectSource")})]}),J&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[N&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:j("stale")}),(0,b.jsx)(o.Badge,{variant:"VALID"===L?"outline":"destructive",children:L})]})]}),(0,b.jsxs)(w.Select,{disabled:_||ab,onValueChange:a=>{let b=C.find(b=>b.relativePath===a);b&&ai(b)},value:C.some(a=>a.relativePath===F)?F:"",children:[(0,b.jsx)(w.SelectTrigger,{children:(0,b.jsx)(w.SelectValue,{placeholder:_?j("loadingSources"):j("selectSource")})}),(0,b.jsx)(w.SelectContent,{children:C.map(a=>(0,b.jsx)(w.SelectItem,{value:a.relativePath,children:a.relativePath},a.relativePath))})]}),J&&(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{children:j("scheme")}),(0,b.jsxs)(w.Select,{onValueChange:a=>{Q(a),ai(J.source,a)},value:P,children:[(0,b.jsx)(w.SelectTrigger,{children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsxs)(w.SelectContent,{children:[P&&!J.schemes.includes(P)&&(0,b.jsxs)(w.SelectItem,{value:P,children:[P," · ",j("savedValueUnavailable")]}),J.schemes.map(a=>(0,b.jsx)(w.SelectItem,{value:a,children:a},a))]})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{children:j("configuration")}),(0,b.jsxs)(w.Select,{onValueChange:S,value:R,children:[(0,b.jsx)(w.SelectTrigger,{children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsxs)(w.SelectContent,{children:[R&&!J.configurations.includes(R)&&(0,b.jsxs)(w.SelectItem,{value:R,children:[R," ·"," ",j("savedValueUnavailable")]}),J.configurations.map(a=>(0,b.jsx)(w.SelectItem,{value:a,children:a},a))]})]})]})]}),(0,b.jsxs)(p.Button,{disabled:!F||ab,onClick:()=>void ai({kind:H,relativePath:F},P),size:"sm",variant:"outline",children:[ab?(0,b.jsx)(x.Spinner,{}):(0,b.jsx)(k.RefreshCw,{})," ",j("reparse")]})]})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{children:j("defaultAction")}),(0,b.jsxs)(w.Select,{onValueChange:a=>U(a),value:T,children:[(0,b.jsx)(w.SelectTrigger,{children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:["BUILD","TEST","ANALYZE","ARCHIVE","BUILD_FOR_TESTING","TEST_WITHOUT_BUILDING"].map(a=>(0,b.jsx)(w.SelectItem,{value:a,children:j(`actions.${a}`)},a))})]})]}),["TEST","BUILD_FOR_TESTING","TEST_WITHOUT_BUILDING"].includes(T)&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{children:j("testPlan")}),(0,b.jsxs)(w.Select,{onValueChange:$,value:Z,children:[(0,b.jsx)(w.SelectTrigger,{children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsxs)(w.SelectContent,{children:[(0,b.jsx)(w.SelectItem,{value:"__SCHEME_DEFAULT__",children:j("schemeDefaultTestPlan")}),"__SCHEME_DEFAULT__"!==Z&&!J?.testPlans.includes(Z)&&(0,b.jsxs)(w.SelectItem,{value:Z,children:[Z," · ",j("savedValueUnavailable")]}),J?.testPlans.map(a=>(0,b.jsx)(w.SelectItem,{value:a,children:a},a))]})]})]}),(0,b.jsxs)("details",{className:"rounded-xl border p-3",children:[(0,b.jsx)("summary",{className:"cursor-pointer font-medium",children:j("advancedSettings")}),(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 pb-2",children:[(0,b.jsx)(r.Checkbox,{checked:X,onCheckedChange:a=>Y(!!a)}),j("parseTestResults")]}),(0,b.jsx)(v.Label,{htmlFor:"configuration-advanced-json",children:j("advancedJson")}),(0,b.jsx)(y.Textarea,{className:"font-mono text-xs",id:"configuration-advanced-json",onChange:a=>W(a.target.value),rows:10,value:V})]})]})]}),(0,b.jsxs)(s.DialogFooter,{children:[(0,b.jsx)(p.Button,{onClick:()=>h(!1),variant:"outline",children:j("cancel")}),(0,b.jsxs)(p.Button,{disabled:ad||ab||!l.trim()||!F||!P||!R,onClick:()=>void aj(),children:[ad&&(0,b.jsx)(x.Spinner,{})," ",j("save")]})]})]})})}var F=a.i(875083),G=a.i(555027);let H=`
|
|
36
36
|
id canonicalOrigin displayOrigin name description jiraBranchRegex keepBaseBranchUpToDate createdAt updatedAt
|
|
37
37
|
skillGroups { id name }
|
|
38
38
|
codebases {
|