@ai-development-environment/server 0.0.29 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/prisma-runtime/prisma/migrations/20260719010000_add_build_reports/migration.sql +29 -0
- package/prisma-runtime/prisma/schema.prisma +23 -0
- package/standalone/.next/BUILD_ID +1 -1
- package/standalone/.next/app-path-routes-manifest.json +2 -0
- package/standalone/.next/build-manifest.json +6 -6
- package/standalone/.next/prerender-manifest.json +3 -3
- package/standalone/.next/routes-manifest.json +17 -0
- package/standalone/.next/server/app/[locale]/actions/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/actions/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/agents/[id]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/agents/[id]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/agents/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/agents/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/build-data/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/build-data/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/app-paths-manifest.json +3 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/build-manifest.json +16 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/next-font-manifest.json +11 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/react-loadable-manifest.json +1 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page/server-reference-manifest.json +4 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js +16 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.map +5 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.nft.json +1 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +3 -0
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/builds/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/builds/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/comments/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/comments/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/cache/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jira/tickets/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/pull-requests/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/settings/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/settings/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/groups/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/tools/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/tools/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/usage/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/usage/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/[locale]/worktrees/page.js.nft.json +1 -1
- package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
- package/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/_global-error.html +1 -1
- package/standalone/.next/server/app/_global-error.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/standalone/.next/server/app/_not-found.html +1 -1
- package/standalone/.next/server/app/_not-found.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +1 -1
- package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js.nft.json +1 -1
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/app-paths-manifest.json +3 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/build-manifest.json +9 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route/server-reference-manifest.json +4 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js +10 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.map +5 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.nft.json +1 -0
- package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route_client-reference-manifest.js +3 -0
- package/standalone/.next/server/app-paths-manifest.json +2 -0
- package/standalone/.next/server/chunks/1oeh_server_app_api_worktrees_[worktreeId]_diff-image_route_actions_0nie5n3.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__09v6swg._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__0aiyd05._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__0rwpsai._.js +3 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__0zyqmd4._.js +122 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__15_clsj._.js +3 -0
- package/standalone/.next/server/chunks/{[root-of-the-server]__0c02fce._.js → [root-of-the-server]__1oa-sy6._.js} +2 -2
- package/standalone/.next/server/chunks/[root-of-the-server]__1vxtcsq._.js +3 -0
- package/standalone/.next/server/chunks/_0exkna-._.js +143 -8
- package/standalone/.next/server/chunks/_0jurkow._.js +1 -1
- package/standalone/.next/server/chunks/_0rx5rfm._.js +1 -1
- package/standalone/.next/server/chunks/_0tufgj0._.js +213 -78
- package/standalone/.next/server/chunks/_0w2eghf._.js +143 -8
- package/standalone/.next/server/chunks/_152rnkf._.js +17 -17
- package/standalone/.next/server/chunks/_16x77b_._.js +1 -1
- package/standalone/.next/server/chunks/_1dbqy8c._.js +17 -17
- package/standalone/.next/server/chunks/_1vrixpc._.js +17 -17
- package/standalone/.next/server/chunks/_1yfz-9u._.js +17 -17
- package/standalone/.next/server/chunks/src_0o4-snj._.js +1 -1
- package/standalone/.next/server/chunks/ssr/1oeh_server_app_[locale]_builds_[buildId]_coverage_page_actions_20i_0zd.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__08bbv6z._.js +9 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ckj6wg._.js +13 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eit075._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tsac-e._.js +15 -0
- package/standalone/.next/server/chunks/ssr/{_19fwji0._.js → [root-of-the-server]__0uo4dhz._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__10-ftkj._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__15v1geo._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qm_j4s._.js +3 -0
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1s6_fta._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0-o77zz._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_00m30gw._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_03961l6._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_00ye62k._.js → _08q5hnx._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_093--4s._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1kaz2gq._.js → _09lh67h._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_0a1ligo._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1r2rmfp._.js → _0cw_tqx._.js} +2 -8
- package/standalone/.next/server/chunks/ssr/_0dq-84j._.js +22 -0
- package/standalone/.next/server/chunks/ssr/_0dy1ovj._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0ezo890._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0id1774._.js +13 -0
- package/standalone/.next/server/chunks/ssr/_0j48up8._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_0nhtqty._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_0oh246z._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0q8sy0w._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0qra30j._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_0t2jwg3._.js +109 -0
- package/standalone/.next/server/chunks/ssr/{_1zyjq9y._.js → _0ufkrvm._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/{_07tglcd._.js → _0vjihfb._.js} +2 -10
- package/standalone/.next/server/chunks/ssr/_0xh-lyy._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_15erjna._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_17a3xuq._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_17p59oz._.js +1 -1
- package/standalone/.next/server/chunks/ssr/_1bzibio._.js +109 -0
- package/standalone/.next/server/chunks/ssr/{_12ws_f2._.js → _1c2fde9._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/{_0mr9u9p._.js → _1dnm1d4._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_1ekznx8._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1k1tyz4._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_1_1j9nd._.js → _1n9rteq._.js} +3 -7
- package/standalone/.next/server/chunks/ssr/_1och_zk._.js +3 -0
- package/standalone/.next/server/chunks/ssr/{_0xrpdyy._.js → _1tpguta._.js} +2 -2
- package/standalone/.next/server/chunks/ssr/_1v1lo7c._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1vv-dg-._.js +3 -0
- package/standalone/.next/server/chunks/ssr/_1zgu74l._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd._.js +1 -1
- package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0i._.js +1 -1
- package/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uzalot.js +4 -0
- package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js +14 -8
- package/standalone/.next/server/chunks/ssr/src_components_builds_coverage-report-page_tsx_1nhwba1._.js +11 -0
- package/standalone/.next/server/chunks/ssr/src_components_codebases_repository-detail-page_tsx_20_7wk_._.js +5 -5
- package/standalone/.next/server/chunks/ssr/src_components_jira_cache-page_tsx_1znt1yl._.js +1 -1
- package/standalone/.next/server/chunks/ssr/src_components_skills_skill-sync-page_tsx_15sidhb._.js +1 -1
- package/standalone/.next/server/chunks/ssr/src_components_skills_skills-page_tsx_0o1nlbg._.js +3 -3
- package/standalone/.next/server/chunks/ssr/src_components_worktrees_worktree-detail-page_tsx_1oexgu_._.js +13 -5
- package/standalone/.next/server/functions-config-manifest.json +3 -0
- package/standalone/.next/server/middleware-build-manifest.js +6 -6
- package/standalone/.next/server/next-font-manifest.js +1 -1
- package/standalone/.next/server/next-font-manifest.json +4 -0
- package/standalone/.next/server/pages/404.html +1 -1
- package/standalone/.next/server/pages/500.html +1 -1
- package/standalone/.next/server/server-reference-manifest.js +1 -1
- package/standalone/.next/server/server-reference-manifest.json +1 -1
- package/standalone/.next/static/chunks/041g9raf1naqv.js +48 -0
- package/standalone/.next/static/chunks/08ujwkhzkokhf.js +1 -0
- package/standalone/.next/static/chunks/{16tfdsma_h0r5.js → 0a82bgw37ev__.js} +1 -1
- package/standalone/.next/static/chunks/0cw4z7_m01m5f.js +31 -0
- package/standalone/.next/static/chunks/0emxr8tr7kji0.js +33 -0
- package/standalone/.next/static/chunks/0h8zu6aywqh1-.js +27 -0
- package/standalone/.next/static/chunks/0ng892ycfzv2q.js +1 -0
- package/standalone/.next/static/chunks/0tgtji0dbbefa.js +107 -0
- package/standalone/.next/static/chunks/15_8kla24ff9f.js +1 -0
- package/standalone/.next/static/chunks/16-l4kp9o217d.js +1 -0
- package/standalone/.next/static/chunks/1c7ci5ai5qyfo.js +1 -0
- package/standalone/.next/static/chunks/1egccqmgk3kbi.js +1 -0
- package/standalone/.next/static/chunks/1gwvywh0e6i17.js +3 -0
- package/standalone/.next/static/chunks/1hehq94hslvbl.js +7 -0
- package/standalone/.next/static/chunks/1k5cw41bd4e5r.js +51 -0
- package/standalone/.next/static/chunks/{2rjf8o4g23no8.js → 1mprxk0uebv70.js} +1 -1
- package/standalone/.next/static/chunks/1rus13s58mkxy.js +1 -0
- package/standalone/.next/static/chunks/{2fzxwi39odugq.js → 1rwqeg_l_plzt.js} +1 -1
- package/standalone/.next/static/chunks/1u_jwc-bo10k3.js +1 -0
- package/standalone/.next/static/chunks/1ut0xkaqsykm4.js +7 -0
- package/standalone/.next/static/chunks/1w_zvfx_jdyv_.js +29 -0
- package/standalone/.next/static/chunks/2-wrd12dmwbo-.js +1 -0
- package/standalone/.next/static/chunks/23kut2_l2y2-w.js +9 -0
- package/standalone/.next/static/chunks/{1nnp0crt0mi_-.js → 23xyv764-kx8z.js} +12 -12
- package/standalone/.next/static/chunks/{1wihkuyju-wa-.js → 25haryfoj4x3h.js} +1 -1
- package/standalone/.next/static/chunks/{0fr0zp4cwlyrr.js → 28ljy-uz6n_g9.js} +2 -2
- package/standalone/.next/static/chunks/29zl8lgsa28tb.js +1 -0
- package/standalone/.next/static/chunks/{4013cp3x6bvuw.js → 2__bi79el56lb.js} +5 -5
- package/standalone/.next/static/chunks/2aq80hyo4l8a2.js +7 -0
- package/standalone/.next/static/chunks/{24a_ux27e8jj4.js → 2l_wayk-ioguc.js} +1 -1
- package/standalone/.next/static/chunks/2swvzbwm_dr9y.js +1 -0
- package/standalone/.next/static/chunks/{0m26h4h36cb_0.js → 3120xcqaqci82.js} +1 -1
- package/standalone/.next/static/chunks/{3-u7pvogc5_bx.js → 315cis1es_5t3.js} +12 -12
- package/standalone/.next/static/chunks/321feys_9vp2v.js +33 -0
- package/standalone/.next/static/chunks/{0d-e51sawr2y8.js → 34oyci46fsc5w.js} +1 -1
- package/standalone/.next/static/chunks/37mczlawlcx5l.js +1 -0
- package/standalone/.next/static/chunks/{1tcqtaedz7922.js → 3d4ijy7zglgv5.js} +1 -1
- package/standalone/.next/static/chunks/3ir4b8po439x7.js +40 -0
- package/standalone/.next/static/chunks/3p7wbgo7qd6_m.css +1 -0
- package/standalone/.next/static/chunks/3q0q6_ntq8aa5.js +51 -0
- package/standalone/.next/static/chunks/3r-6igcofcwxj.js +107 -0
- package/standalone/.next/static/chunks/{0m--47yk9j-ec.js → 3tycetq7o8g3h.js} +1 -1
- package/standalone/.next/static/chunks/3vg6y29m047x9.js +31 -0
- package/standalone/.next/static/chunks/{0biu8z1f8c42u.js → 40ovzayigkz_-.js} +1 -1
- package/standalone/.next/static/chunks/41wq-96yyl0uw.js +1 -0
- package/standalone/.next/static/chunks/44xu63hsh11xp.js +1 -0
- package/standalone/.next/static/chunks/{turbopack-1rw7om86c18dg.js → turbopack-1v9ogj_5hv56l.js} +1 -1
- package/standalone/src/services/builds/builds.service.test.ts +55 -0
- package/standalone/src/services/builds/builds.service.ts +399 -0
- package/standalone/.next/server/chunks/[root-of-the-server]__1oahp4o._.js +0 -122
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0361lgt._.js +0 -33
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__06f05jg._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ay4_3d._.js +0 -37
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dm8osz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1349-us._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1xv798-._.js +0 -3
- package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1z955gh._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0bvpmhm._.js +0 -101
- package/standalone/.next/server/chunks/ssr/_0eb36qa._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0ndnmkz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0nm6upn._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0pe56xv._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0quhjav._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0w05v7m._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_0xozjkz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1-1mnp6._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1-7r8vu._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1-grolz._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_10evhql._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_142x9wn._.js +0 -22
- package/standalone/.next/server/chunks/ssr/_1_ta7g1._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1ey5mmy._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1fdyu2w._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1g3i459._.js +0 -15
- package/standalone/.next/server/chunks/ssr/_1g_aflc._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1h3p6oi._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1lcwubl._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1lseili._.js +0 -3
- package/standalone/.next/server/chunks/ssr/_1za3z6k._.js +0 -101
- package/standalone/.next/server/chunks/ssr/_20ufqtr._.js +0 -3
- package/standalone/.next/static/chunks/0a3s519wuzjet.js +0 -1
- package/standalone/.next/static/chunks/0newuocvg03xy.js +0 -3
- package/standalone/.next/static/chunks/0rlomhlt6030e.js +0 -1
- package/standalone/.next/static/chunks/1802j8gq2g47d.js +0 -7
- package/standalone/.next/static/chunks/1_tnhhn4f122y.js +0 -9
- package/standalone/.next/static/chunks/1eny65xy2ho48.js +0 -1
- package/standalone/.next/static/chunks/1joeb4m-mmn69.js +0 -7
- package/standalone/.next/static/chunks/1l4bkigul15i3.js +0 -25
- package/standalone/.next/static/chunks/1qd6cse_d9ae1.js +0 -99
- package/standalone/.next/static/chunks/2-mxmazwsh-wz.js +0 -1
- package/standalone/.next/static/chunks/24sd_kmnetibb.js +0 -1
- package/standalone/.next/static/chunks/27k7_zc-iuppd.js +0 -1
- package/standalone/.next/static/chunks/2baaj4mpr6i-i.js +0 -1
- package/standalone/.next/static/chunks/2cj2ndz_e0hbz.js +0 -1
- package/standalone/.next/static/chunks/2fzwgr2iq_783.css +0 -1
- package/standalone/.next/static/chunks/2hv6pkoloju0g.js +0 -33
- package/standalone/.next/static/chunks/2jbygfc0lzu0t.js +0 -55
- package/standalone/.next/static/chunks/2n7u72nxziv_5.js +0 -7
- package/standalone/.next/static/chunks/2sqprazdqp7f7.js +0 -1
- package/standalone/.next/static/chunks/2x8qovg070057.js +0 -1
- package/standalone/.next/static/chunks/3-zh9b0tcttiw.js +0 -33
- package/standalone/.next/static/chunks/31wyih3wwkeid.js +0 -1
- package/standalone/.next/static/chunks/33y_b6dqfx3tk.js +0 -1
- package/standalone/.next/static/chunks/3h1pxh5fd97ym.js +0 -27
- package/standalone/.next/static/chunks/3jbfibit05k5o.js +0 -29
- package/standalone/.next/static/chunks/3jd8_7lna-j_x.js +0 -40
- package/standalone/.next/static/chunks/3jv2gnnn4vx-j.js +0 -43
- package/standalone/.next/static/chunks/3k0oakdayt9yt.js +0 -40
- package/standalone/.next/static/chunks/3pgngh8lg3be3.js +0 -99
- package/standalone/.next/static/chunks/43gw6_6hbw18w.js +0 -51
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → ePu377E66yy0icQx3ykQJ}/_buildManifest.js +0 -0
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → ePu377E66yy0icQx3ykQJ}/_clientMiddlewareManifest.js +0 -0
- /package/standalone/.next/static/{8uBWJ8MOV-OEPe88M3PhU → ePu377E66yy0icQx3ykQJ}/_ssgManifest.js +0 -0
|
@@ -13,6 +13,8 @@ import {
|
|
|
13
13
|
IOS_DEPLOY_JOB_KIND,
|
|
14
14
|
IOS_DESTINATIONS_JOB_KIND,
|
|
15
15
|
IOS_EXPORT_JOB_KIND,
|
|
16
|
+
IOS_TEST_RESULTS_JOB_KIND,
|
|
17
|
+
IOS_COVERAGE_REPORT_JOB_KIND,
|
|
16
18
|
IOS_RUN_DESTINATIONS_JOB_KIND,
|
|
17
19
|
IOS_SOURCE_DISCOVER_JOB_KIND,
|
|
18
20
|
IOS_SOURCE_PARSE_JOB_KIND,
|
|
@@ -23,6 +25,7 @@ import {
|
|
|
23
25
|
type BuildAction,
|
|
24
26
|
type BuildAdvancedSettings,
|
|
25
27
|
type BuildDestination,
|
|
28
|
+
type BuildReportKind,
|
|
26
29
|
type BuildSourceKind,
|
|
27
30
|
} from "@ai-development-environment/agent-contract/builds";
|
|
28
31
|
|
|
@@ -372,6 +375,14 @@ export class BuildsService {
|
|
|
372
375
|
this.agentControl.registerCompletionHandler(IOS_EXPORT_JOB_KIND, (job) =>
|
|
373
376
|
this.projectExportCompletion(job),
|
|
374
377
|
);
|
|
378
|
+
this.agentControl.registerCompletionHandler(
|
|
379
|
+
IOS_TEST_RESULTS_JOB_KIND,
|
|
380
|
+
(job) => this.projectGeneratedReportCompletion(job),
|
|
381
|
+
);
|
|
382
|
+
this.agentControl.registerCompletionHandler(
|
|
383
|
+
IOS_COVERAGE_REPORT_JOB_KIND,
|
|
384
|
+
(job) => this.projectGeneratedReportCompletion(job),
|
|
385
|
+
);
|
|
375
386
|
}
|
|
376
387
|
|
|
377
388
|
private publish(buildId: string): void {
|
|
@@ -416,6 +427,8 @@ export class BuildsService {
|
|
|
416
427
|
gitDirectory: worktree.gitDirectory,
|
|
417
428
|
expectedOrigin: worktree.codebase.repository.canonicalOrigin,
|
|
418
429
|
headSha: worktree.headSha,
|
|
430
|
+
baseBranch:
|
|
431
|
+
worktree.baseBranchOverride ?? worktree.codebase.defaultBranch ?? null,
|
|
419
432
|
};
|
|
420
433
|
}
|
|
421
434
|
|
|
@@ -1009,6 +1022,7 @@ export class BuildsService {
|
|
|
1009
1022
|
scriptIds?: string[] | null;
|
|
1010
1023
|
action?: BuildAction | null;
|
|
1011
1024
|
advancedSettings?: unknown;
|
|
1025
|
+
worktreeCoverage?: boolean;
|
|
1012
1026
|
requestId: string;
|
|
1013
1027
|
}) {
|
|
1014
1028
|
const requestId = cleanName(input.requestId, "Request ID", 200);
|
|
@@ -1023,6 +1037,14 @@ export class BuildsService {
|
|
|
1023
1037
|
input.worktreeId,
|
|
1024
1038
|
IOS_BUILD_JOB_KIND,
|
|
1025
1039
|
);
|
|
1040
|
+
if (
|
|
1041
|
+
input.worktreeCoverage &&
|
|
1042
|
+
!capabilities(worktree.codebase.agent).includes(
|
|
1043
|
+
IOS_COVERAGE_REPORT_JOB_KIND,
|
|
1044
|
+
)
|
|
1045
|
+
) {
|
|
1046
|
+
throw new Error("Build agent must be updated for worktree coverage");
|
|
1047
|
+
}
|
|
1026
1048
|
const configuration = await prisma.buildConfiguration.findUnique({
|
|
1027
1049
|
where: { id: input.configurationId },
|
|
1028
1050
|
include: { source: { include: { project: true } } },
|
|
@@ -1302,6 +1324,7 @@ export class BuildsService {
|
|
|
1302
1324
|
},
|
|
1303
1325
|
destination,
|
|
1304
1326
|
scripts,
|
|
1327
|
+
worktreeCoverage: input.worktreeCoverage === true,
|
|
1305
1328
|
};
|
|
1306
1329
|
await prisma.build.create({
|
|
1307
1330
|
data: {
|
|
@@ -1370,6 +1393,7 @@ export class BuildsService {
|
|
|
1370
1393
|
destination,
|
|
1371
1394
|
advancedSettings,
|
|
1372
1395
|
scripts,
|
|
1396
|
+
worktreeCoverage: input.worktreeCoverage === true,
|
|
1373
1397
|
},
|
|
1374
1398
|
idempotencyKey: `ios:build:${requestId}:${worktree.id}`,
|
|
1375
1399
|
timeoutSeconds: 7 * 24 * 60 * 60,
|
|
@@ -1455,6 +1479,210 @@ export class BuildsService {
|
|
|
1455
1479
|
});
|
|
1456
1480
|
}
|
|
1457
1481
|
|
|
1482
|
+
async startWorktreeCoverage(input: {
|
|
1483
|
+
worktreeId: string;
|
|
1484
|
+
configurationId: string;
|
|
1485
|
+
destination: unknown;
|
|
1486
|
+
scriptIds?: string[] | null;
|
|
1487
|
+
advancedSettings?: unknown;
|
|
1488
|
+
requestId: string;
|
|
1489
|
+
}) {
|
|
1490
|
+
const prisma = await getPrismaClient();
|
|
1491
|
+
const coverageWorktree = await prisma.worktree.findUnique({
|
|
1492
|
+
where: { id: input.worktreeId },
|
|
1493
|
+
select: {
|
|
1494
|
+
baseBranchOverride: true,
|
|
1495
|
+
codebase: { select: { defaultBranch: true } },
|
|
1496
|
+
},
|
|
1497
|
+
});
|
|
1498
|
+
if (
|
|
1499
|
+
!coverageWorktree ||
|
|
1500
|
+
!(
|
|
1501
|
+
coverageWorktree.baseBranchOverride ??
|
|
1502
|
+
coverageWorktree.codebase.defaultBranch
|
|
1503
|
+
)
|
|
1504
|
+
) {
|
|
1505
|
+
throw new Error("A base branch is required for worktree coverage");
|
|
1506
|
+
}
|
|
1507
|
+
const advanced = objectValue(
|
|
1508
|
+
input.advancedSettings ?? {},
|
|
1509
|
+
"coverage advanced settings",
|
|
1510
|
+
);
|
|
1511
|
+
return this.startBuild({
|
|
1512
|
+
...input,
|
|
1513
|
+
action: "TEST",
|
|
1514
|
+
advancedSettings: {
|
|
1515
|
+
...advanced,
|
|
1516
|
+
codeCoverage: true,
|
|
1517
|
+
parseTestResults: true,
|
|
1518
|
+
},
|
|
1519
|
+
worktreeCoverage: true,
|
|
1520
|
+
});
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
async generateReport(
|
|
1524
|
+
buildId: string,
|
|
1525
|
+
kind: BuildReportKind,
|
|
1526
|
+
requestId: string,
|
|
1527
|
+
) {
|
|
1528
|
+
const prisma = await getPrismaClient();
|
|
1529
|
+
const existing = await prisma.buildReport.findUnique({
|
|
1530
|
+
where: { buildId_kind: { buildId, kind } },
|
|
1531
|
+
include: { artifact: true },
|
|
1532
|
+
});
|
|
1533
|
+
if (existing?.status === "READY") return existing;
|
|
1534
|
+
const build = await prisma.build.findUnique({
|
|
1535
|
+
where: { id: buildId },
|
|
1536
|
+
include: { agent: true, artifacts: true },
|
|
1537
|
+
});
|
|
1538
|
+
if (!build) throw new Error("Build not found");
|
|
1539
|
+
if (ACTIVE_BUILD_STATUSES.includes(build.status)) {
|
|
1540
|
+
throw new Error("Wait for the build to finish before generating reports");
|
|
1541
|
+
}
|
|
1542
|
+
if (!build.agentId || !build.agent || !online(build.agent)) {
|
|
1543
|
+
throw new Error("Build agent is offline");
|
|
1544
|
+
}
|
|
1545
|
+
const capability =
|
|
1546
|
+
kind === "TEST_RESULTS"
|
|
1547
|
+
? IOS_TEST_RESULTS_JOB_KIND
|
|
1548
|
+
: IOS_COVERAGE_REPORT_JOB_KIND;
|
|
1549
|
+
if (!capabilities(build.agent).includes(capability)) {
|
|
1550
|
+
throw new Error("Build agent must be updated to generate reports");
|
|
1551
|
+
}
|
|
1552
|
+
if (
|
|
1553
|
+
!build.artifacts.some((artifact) => artifact.kind === "RESULT_BUNDLE")
|
|
1554
|
+
) {
|
|
1555
|
+
throw new Error("The build result bundle is unavailable");
|
|
1556
|
+
}
|
|
1557
|
+
if (
|
|
1558
|
+
kind === "TEST_RESULTS" &&
|
|
1559
|
+
!["TEST", "TEST_WITHOUT_BUILDING"].includes(build.action)
|
|
1560
|
+
) {
|
|
1561
|
+
throw new Error("This build did not run tests");
|
|
1562
|
+
}
|
|
1563
|
+
const report = await prisma.buildReport.upsert({
|
|
1564
|
+
where: { buildId_kind: { buildId, kind } },
|
|
1565
|
+
create: {
|
|
1566
|
+
id: randomUUID(),
|
|
1567
|
+
buildId,
|
|
1568
|
+
kind,
|
|
1569
|
+
source: "MANUAL",
|
|
1570
|
+
status: "PENDING",
|
|
1571
|
+
},
|
|
1572
|
+
update: {
|
|
1573
|
+
source: "MANUAL",
|
|
1574
|
+
status: "PENDING",
|
|
1575
|
+
error: null,
|
|
1576
|
+
finishedAt: null,
|
|
1577
|
+
},
|
|
1578
|
+
});
|
|
1579
|
+
this.publish(buildId);
|
|
1580
|
+
const codebaseId = coordinationCodebaseId(build);
|
|
1581
|
+
const job = await this.agentControl.createJob({
|
|
1582
|
+
agentId: build.agentId,
|
|
1583
|
+
codebaseId,
|
|
1584
|
+
worktreeId: build.worktreeId,
|
|
1585
|
+
kind: capability,
|
|
1586
|
+
payload: {
|
|
1587
|
+
buildId,
|
|
1588
|
+
artifactDirectory: build.artifactDirectory,
|
|
1589
|
+
codebaseId,
|
|
1590
|
+
reportKind: kind,
|
|
1591
|
+
source: "MANUAL",
|
|
1592
|
+
},
|
|
1593
|
+
idempotencyKey: `ios:report:${kind}:${cleanName(requestId, "Request ID", 200)}:${buildId}`,
|
|
1594
|
+
timeoutSeconds: 180,
|
|
1595
|
+
visibility: "SYSTEM",
|
|
1596
|
+
});
|
|
1597
|
+
try {
|
|
1598
|
+
await this.waitForJob(job.id, 170_000);
|
|
1599
|
+
return prisma.buildReport.findUniqueOrThrow({
|
|
1600
|
+
where: { id: report.id },
|
|
1601
|
+
include: { artifact: true },
|
|
1602
|
+
});
|
|
1603
|
+
} finally {
|
|
1604
|
+
await prisma.agentJob.deleteMany({
|
|
1605
|
+
where: { id: job.id, visibility: "SYSTEM" },
|
|
1606
|
+
});
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
async coverageHistory(worktreeId: string) {
|
|
1611
|
+
const prisma = await getPrismaClient();
|
|
1612
|
+
return prisma.buildReport.findMany({
|
|
1613
|
+
where: {
|
|
1614
|
+
kind: "CODE_COVERAGE",
|
|
1615
|
+
source: "WORKTREE",
|
|
1616
|
+
build: { worktreeId },
|
|
1617
|
+
},
|
|
1618
|
+
orderBy: { createdAt: "desc" },
|
|
1619
|
+
take: 50,
|
|
1620
|
+
select: {
|
|
1621
|
+
id: true,
|
|
1622
|
+
buildId: true,
|
|
1623
|
+
artifactId: true,
|
|
1624
|
+
kind: true,
|
|
1625
|
+
source: true,
|
|
1626
|
+
status: true,
|
|
1627
|
+
summaryJson: true,
|
|
1628
|
+
error: true,
|
|
1629
|
+
createdAt: true,
|
|
1630
|
+
updatedAt: true,
|
|
1631
|
+
finishedAt: true,
|
|
1632
|
+
artifact: true,
|
|
1633
|
+
build: {
|
|
1634
|
+
select: {
|
|
1635
|
+
id: true,
|
|
1636
|
+
status: true,
|
|
1637
|
+
action: true,
|
|
1638
|
+
destinationType: true,
|
|
1639
|
+
destinationJson: true,
|
|
1640
|
+
snapshotJson: true,
|
|
1641
|
+
createdAt: true,
|
|
1642
|
+
startedAt: true,
|
|
1643
|
+
finishedAt: true,
|
|
1644
|
+
updatedAt: true,
|
|
1645
|
+
worktree: {
|
|
1646
|
+
select: {
|
|
1647
|
+
headSha: true,
|
|
1648
|
+
codeStateHash: true,
|
|
1649
|
+
hasStagedChanges: true,
|
|
1650
|
+
hasUnstagedChanges: true,
|
|
1651
|
+
lastCheckedAt: true,
|
|
1652
|
+
_count: {
|
|
1653
|
+
select: {
|
|
1654
|
+
builds: {
|
|
1655
|
+
where: { status: { in: ACTIVE_BUILD_STATUSES } },
|
|
1656
|
+
},
|
|
1657
|
+
},
|
|
1658
|
+
},
|
|
1659
|
+
},
|
|
1660
|
+
},
|
|
1661
|
+
artifacts: { orderBy: { createdAt: "asc" } },
|
|
1662
|
+
},
|
|
1663
|
+
},
|
|
1664
|
+
},
|
|
1665
|
+
});
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
async reportsForBuild(buildId: string) {
|
|
1669
|
+
const prisma = await getPrismaClient();
|
|
1670
|
+
return prisma.buildReport.findMany({
|
|
1671
|
+
where: { buildId },
|
|
1672
|
+
orderBy: { createdAt: "asc" },
|
|
1673
|
+
include: { artifact: true },
|
|
1674
|
+
});
|
|
1675
|
+
}
|
|
1676
|
+
|
|
1677
|
+
async reportData(id: string): Promise<string> {
|
|
1678
|
+
const prisma = await getPrismaClient();
|
|
1679
|
+
const report = await prisma.buildReport.findUnique({
|
|
1680
|
+
where: { id },
|
|
1681
|
+
select: { dataJson: true },
|
|
1682
|
+
});
|
|
1683
|
+
return report?.dataJson ?? "{}";
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1458
1686
|
async builds(
|
|
1459
1687
|
input: {
|
|
1460
1688
|
first?: number | null;
|
|
@@ -1937,6 +2165,71 @@ export class BuildsService {
|
|
|
1937
2165
|
return updated;
|
|
1938
2166
|
}
|
|
1939
2167
|
|
|
2168
|
+
private async upsertReportProjection(
|
|
2169
|
+
transaction: Prisma.TransactionClient,
|
|
2170
|
+
buildId: string,
|
|
2171
|
+
raw: unknown,
|
|
2172
|
+
source: "AUTOMATIC" | "MANUAL" | "WORKTREE",
|
|
2173
|
+
) {
|
|
2174
|
+
const report = objectValue(raw, "build report");
|
|
2175
|
+
if (report.kind !== "TEST_RESULTS" && report.kind !== "CODE_COVERAGE") {
|
|
2176
|
+
return;
|
|
2177
|
+
}
|
|
2178
|
+
const kind = report.kind;
|
|
2179
|
+
const artifactValue =
|
|
2180
|
+
report.artifact && typeof report.artifact === "object"
|
|
2181
|
+
? objectValue(report.artifact, "build report artifact")
|
|
2182
|
+
: null;
|
|
2183
|
+
const artifact =
|
|
2184
|
+
artifactValue && typeof artifactValue.relativePath === "string"
|
|
2185
|
+
? await transaction.buildArtifact.findUnique({
|
|
2186
|
+
where: {
|
|
2187
|
+
buildId_relativePath: {
|
|
2188
|
+
buildId,
|
|
2189
|
+
relativePath: artifactValue.relativePath,
|
|
2190
|
+
},
|
|
2191
|
+
},
|
|
2192
|
+
})
|
|
2193
|
+
: null;
|
|
2194
|
+
const status = report.status === "READY" ? "READY" : "FAILED";
|
|
2195
|
+
await transaction.buildReport.upsert({
|
|
2196
|
+
where: { buildId_kind: { buildId, kind } },
|
|
2197
|
+
create: {
|
|
2198
|
+
id: randomUUID(),
|
|
2199
|
+
buildId,
|
|
2200
|
+
artifactId: artifact?.id ?? null,
|
|
2201
|
+
kind,
|
|
2202
|
+
source,
|
|
2203
|
+
status,
|
|
2204
|
+
summaryJson: JSON.stringify(
|
|
2205
|
+
report.summary && typeof report.summary === "object"
|
|
2206
|
+
? report.summary
|
|
2207
|
+
: {},
|
|
2208
|
+
),
|
|
2209
|
+
dataJson: JSON.stringify(
|
|
2210
|
+
report.data && typeof report.data === "object" ? report.data : {},
|
|
2211
|
+
),
|
|
2212
|
+
error: typeof report.error === "string" ? report.error : null,
|
|
2213
|
+
finishedAt: new Date(),
|
|
2214
|
+
},
|
|
2215
|
+
update: {
|
|
2216
|
+
artifactId: artifact?.id ?? null,
|
|
2217
|
+
source,
|
|
2218
|
+
status,
|
|
2219
|
+
summaryJson: JSON.stringify(
|
|
2220
|
+
report.summary && typeof report.summary === "object"
|
|
2221
|
+
? report.summary
|
|
2222
|
+
: {},
|
|
2223
|
+
),
|
|
2224
|
+
dataJson: JSON.stringify(
|
|
2225
|
+
report.data && typeof report.data === "object" ? report.data : {},
|
|
2226
|
+
),
|
|
2227
|
+
error: typeof report.error === "string" ? report.error : null,
|
|
2228
|
+
finishedAt: new Date(),
|
|
2229
|
+
},
|
|
2230
|
+
});
|
|
2231
|
+
}
|
|
2232
|
+
|
|
1940
2233
|
private async projectBuildCompletion(job: {
|
|
1941
2234
|
id: string;
|
|
1942
2235
|
status: string;
|
|
@@ -2090,10 +2383,116 @@ export class BuildsService {
|
|
|
2090
2383
|
});
|
|
2091
2384
|
}
|
|
2092
2385
|
}
|
|
2386
|
+
if (Array.isArray(result.reports)) {
|
|
2387
|
+
for (const raw of result.reports) {
|
|
2388
|
+
const candidate =
|
|
2389
|
+
raw && typeof raw === "object" && !Array.isArray(raw)
|
|
2390
|
+
? (raw as JsonObject)
|
|
2391
|
+
: {};
|
|
2392
|
+
await this.upsertReportProjection(
|
|
2393
|
+
transaction,
|
|
2394
|
+
build.id,
|
|
2395
|
+
raw,
|
|
2396
|
+
candidate.kind === "CODE_COVERAGE" ? "WORKTREE" : "AUTOMATIC",
|
|
2397
|
+
);
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2093
2400
|
});
|
|
2094
2401
|
this.publish(build.id);
|
|
2095
2402
|
}
|
|
2096
2403
|
|
|
2404
|
+
private async projectGeneratedReportCompletion(job: {
|
|
2405
|
+
id: string;
|
|
2406
|
+
status: string;
|
|
2407
|
+
payloadJson: string;
|
|
2408
|
+
resultJson: string | null;
|
|
2409
|
+
error: string | null;
|
|
2410
|
+
}) {
|
|
2411
|
+
const payload = objectValue(
|
|
2412
|
+
parseJson(job.payloadJson, {}),
|
|
2413
|
+
"build report payload",
|
|
2414
|
+
);
|
|
2415
|
+
if (typeof payload.buildId !== "string") return;
|
|
2416
|
+
const buildId = payload.buildId;
|
|
2417
|
+
const result = objectValue(
|
|
2418
|
+
parseJson(job.resultJson, {}),
|
|
2419
|
+
"build report result",
|
|
2420
|
+
);
|
|
2421
|
+
const prisma = await getPrismaClient();
|
|
2422
|
+
await prisma.$transaction(async (transaction) => {
|
|
2423
|
+
if (Array.isArray(result.artifacts)) {
|
|
2424
|
+
for (const raw of result.artifacts) {
|
|
2425
|
+
const artifact = objectValue(raw, "build report artifact");
|
|
2426
|
+
if (
|
|
2427
|
+
typeof artifact.relativePath !== "string" ||
|
|
2428
|
+
typeof artifact.kind !== "string"
|
|
2429
|
+
) {
|
|
2430
|
+
continue;
|
|
2431
|
+
}
|
|
2432
|
+
await transaction.buildArtifact.upsert({
|
|
2433
|
+
where: {
|
|
2434
|
+
buildId_relativePath: {
|
|
2435
|
+
buildId,
|
|
2436
|
+
relativePath: artifact.relativePath,
|
|
2437
|
+
},
|
|
2438
|
+
},
|
|
2439
|
+
create: {
|
|
2440
|
+
id: randomUUID(),
|
|
2441
|
+
buildId,
|
|
2442
|
+
kind: artifact.kind,
|
|
2443
|
+
relativePath: artifact.relativePath,
|
|
2444
|
+
sizeBytes:
|
|
2445
|
+
typeof artifact.sizeBytes === "number"
|
|
2446
|
+
? artifact.sizeBytes
|
|
2447
|
+
: null,
|
|
2448
|
+
checksum:
|
|
2449
|
+
typeof artifact.checksum === "string"
|
|
2450
|
+
? artifact.checksum
|
|
2451
|
+
: null,
|
|
2452
|
+
metadataJson: JSON.stringify(
|
|
2453
|
+
artifact.metadata && typeof artifact.metadata === "object"
|
|
2454
|
+
? artifact.metadata
|
|
2455
|
+
: {},
|
|
2456
|
+
),
|
|
2457
|
+
},
|
|
2458
|
+
update: {},
|
|
2459
|
+
});
|
|
2460
|
+
}
|
|
2461
|
+
}
|
|
2462
|
+
if (result.report && typeof result.report === "object") {
|
|
2463
|
+
await this.upsertReportProjection(
|
|
2464
|
+
transaction,
|
|
2465
|
+
buildId,
|
|
2466
|
+
result.report,
|
|
2467
|
+
payload.source === "WORKTREE" ? "WORKTREE" : "MANUAL",
|
|
2468
|
+
);
|
|
2469
|
+
} else {
|
|
2470
|
+
const kind =
|
|
2471
|
+
payload.reportKind === "CODE_COVERAGE"
|
|
2472
|
+
? "CODE_COVERAGE"
|
|
2473
|
+
: "TEST_RESULTS";
|
|
2474
|
+
await transaction.buildReport.upsert({
|
|
2475
|
+
where: { buildId_kind: { buildId, kind } },
|
|
2476
|
+
create: {
|
|
2477
|
+
id: randomUUID(),
|
|
2478
|
+
buildId,
|
|
2479
|
+
kind,
|
|
2480
|
+
source: payload.source === "WORKTREE" ? "WORKTREE" : "MANUAL",
|
|
2481
|
+
status: "FAILED",
|
|
2482
|
+
error: job.error || "Report generation failed",
|
|
2483
|
+
finishedAt: new Date(),
|
|
2484
|
+
},
|
|
2485
|
+
update: {
|
|
2486
|
+
status: "FAILED",
|
|
2487
|
+
error: job.error || "Report generation failed",
|
|
2488
|
+
finishedAt: new Date(),
|
|
2489
|
+
},
|
|
2490
|
+
});
|
|
2491
|
+
}
|
|
2492
|
+
});
|
|
2493
|
+
this.publish(buildId);
|
|
2494
|
+
}
|
|
2495
|
+
|
|
2097
2496
|
private async projectDeploymentCompletion(job: {
|
|
2098
2497
|
id: string;
|
|
2099
2498
|
status: string;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},778568,e=>{"use strict";e.s(["EvalFlags",0,{JS_EVAL_TYPE_GLOBAL:0,JS_EVAL_TYPE_MODULE:1,JS_EVAL_TYPE_DIRECT:2,JS_EVAL_TYPE_INDIRECT:3,JS_EVAL_TYPE_MASK:3,JS_EVAL_FLAG_STRICT:8,JS_EVAL_FLAG_STRIP:16,JS_EVAL_FLAG_COMPILE_ONLY:32,JS_EVAL_FLAG_BACKTRACE_BARRIER:64},"GetOwnPropertyNamesFlags",0,{JS_GPN_STRING_MASK:1,JS_GPN_SYMBOL_MASK:2,JS_GPN_PRIVATE_MASK:4,JS_GPN_ENUM_ONLY:16,JS_GPN_SET_ENUM:32,QTS_GPN_NUMBER_MASK:64,QTS_STANDARD_COMPLIANT_NUMBER:128},"IntrinsicsFlags",0,{BaseObjects:1,Date:2,Eval:4,StringNormalize:8,RegExp:16,RegExpCompiler:32,JSON:64,Proxy:128,MapSet:256,TypedArrays:512,Promise:1024,BigInt:2048,BigFloat:4096,BigDecimal:8192,OperatorOverloading:16384,BignumExt:32768},"IsEqualOp",0,{IsStrictlyEqual:0,IsSameValue:1,IsSameValueZero:2},"JSPromiseStateEnum",0,{Pending:0,Fulfilled:1,Rejected:2},"assertSync",0,function(e){return function(...t){let r=e(...t);if(r&&"object"==typeof r&&r instanceof Promise)throw Error("Function unexpectedly returned a Promise");return r}}])},215402,e=>{"use strict";var t=e.i(469064),r=class extends t.QuickJSContext{async evalCodeAsync(e,r="eval.js",o){let s=+(void 0===o),n=(0,t.evalOptionsToFlags)(o),a=0;try{a=await this.memory.newHeapCharPointer(e).consume(e=>this.ffi.QTS_Eval_MaybeAsync(this.ctx.value,e.value.ptr,e.value.strlen,r,s,n))}catch(e){throw this.runtime.debugLog("QTS_Eval_MaybeAsync threw",e),e}let i=this.ffi.QTS_ResolveException(this.ctx.value,a);return i?(this.ffi.QTS_FreeValuePointer(this.ctx.value,a),this.fail(this.memory.heapValueHandle(i))):this.success(this.memory.heapValueHandle(a))}newAsyncifiedFunction(e,t){return this.newFunction(e,t)}},o=class extends t.QuickJSRuntime{constructor(e){super(e)}newContext(e={}){let o=(0,t.intrinsicsToFlags)(e.intrinsics),s=new t.Lifetime(this.ffi.QTS_NewContext(this.rt.value,o),void 0,e=>{this.contextMap.delete(e),this.callbacks.deleteContext(e),this.ffi.QTS_FreeContext(e)}),n=new r({module:this.module,ctx:s,ffi:this.ffi,rt:this.rt,ownedLifetimes:[],runtime:this,callbacks:this.callbacks});return this.contextMap.set(s.value,n),n}setModuleLoader(e,t){super.setModuleLoader(e,t)}setMaxStackSize(e){return super.setMaxStackSize(e)}},s=class extends t.QuickJSWASMModule{constructor(e,t){super(e,t),this.ffi=t,this.module=e}newRuntime(e={}){let r=new t.Lifetime(this.ffi.QTS_NewRuntime(),void 0,e=>{this.callbacks.deleteRuntime(e),this.ffi.QTS_FreeRuntime(e)}),s=new o({module:this.module,ffi:this.ffi,rt:r,callbacks:this.callbacks});return(0,t.applyBaseRuntimeOptions)(s,e),e.moduleLoader&&s.setModuleLoader(e.moduleLoader),s}newContext(e={}){let t=this.newRuntime(),r=e.ownedLifetimes?e.ownedLifetimes.concat([t]):[t],o=t.newContext({...e,ownedLifetimes:r});return t.context=o,o}evalCode(){throw new t.QuickJSNotImplemented("QuickJSWASMModuleAsyncify.evalCode: use evalCodeAsync instead")}evalCodeAsync(e,r){return t.Scope.withScopeAsync(async o=>{let s=o.manage(this.newContext());(0,t.applyModuleEvalRuntimeOptions)(s.runtime,r);let n=await s.evalCodeAsync(e,"eval.js");if(void 0!==r.memoryLimitBytes&&s.runtime.setMemoryLimit(-1),n.error)throw s.dump(o.manage(n.error));return s.dump(o.manage(n.value))})}};e.s(["QuickJSAsyncContext",0,r,"QuickJSAsyncRuntime",0,o,"QuickJSAsyncWASMModule",0,s])},210749,e=>{"use strict";var t=Object.defineProperty,r=Object.getOwnPropertyNames,o=e.z;e.s(["__commonJS",0,(e,t)=>function(){return t||(0,e[r(e)[0]])((t={exports:{}}).exports,t),t.exports},"__publicField",0,(e,r,o)=>{let s;return(s="symbol"!=typeof r?r+"":r)in e?t(e,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[s]=o},"__require",0,o])},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var r=e.i(59639);e.s(["minproc",()=>r.default],651212);var o=e.i(857764);e.s(["urlToPath",()=>o.fileURLToPath],316552)},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},406461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},784941,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6/runtime/client",()=>require("@prisma/client-2c3a283f134fdcb6/runtime/client"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},870722,(e,t,r)=>{t.exports=e.x("tty",()=>require("tty"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},524836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},449719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},925328,(e,t,r)=>{t.exports=e.x("http2",()=>require("http2"))},611913,(e,t,r)=>{t.exports=e.x("console",()=>require("console"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},566879,e=>{"use strict";var t=e.i(94555);e.s(["computeCoreSchemaHash",0,function(e){return(0,t.createHash)("sha256").update(e).digest("hex")}])},162984,e=>{"use strict";e.s(["internalPlugin",0,function(e){return e},"pluginIsInternal",0,function(e){return"__internal_plugin_id__"in e}])},118,e=>{"use strict";e.s(["UnreachableCaseError",0,class extends Error{constructor(e){super(`Unreachable case: ${e}`)}}])},677652,(e,t,r)=>{t.exports=e.x("node:diagnostics_channel",()=>require("node:diagnostics_channel"))},1500,e=>{"use strict";e.s(["addPath",0,function(e,t,r){return{prev:e,key:t,typename:r}},"pathToArray",0,function(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}])},247890,e=>{"use strict";var t=e.i(1500);e.s(["responsePathAsArray",()=>t.pathToArray])},8280,e=>{"use strict";e.s(["newCachePolicy",0,function(){return{maxAge:void 0,scope:void 0,restrict(e){void 0!==e.maxAge&&(void 0===this.maxAge||e.maxAge<this.maxAge)&&(this.maxAge=e.maxAge),void 0!==e.scope&&"PRIVATE"!==this.scope&&(this.scope=e.scope)},replace(e){void 0!==e.maxAge&&(this.maxAge=e.maxAge),void 0!==e.scope&&(this.scope=e.scope)},policyIfCacheable(){return void 0===this.maxAge||0===this.maxAge?null:{maxAge:this.maxAge,scope:this.scope??"PUBLIC"}}}}])},292646,e=>{"use strict";function t(e){return JSON.stringify(e).replace("<","\\u003c").replace(">","\\u003e").replace("&","\\u0026").replace("'","\\u0027")}var r=e.i(762722),o=e.i(94555);let s=(e,t,r,o)=>{let s=JSON.stringify(encodeURIComponent(JSON.stringify(t)));return`
|
|
2
|
-
<div class="fallback">
|
|
3
|
-
<h1>Welcome to Apollo Server</h1>
|
|
4
|
-
<p>The full landing page cannot be loaded; it appears that you might be offline.</p>
|
|
5
|
-
</div>
|
|
6
|
-
<script nonce="${o}">window.landingPage = ${s};</script>
|
|
7
|
-
<script nonce="${o}" src="https://apollo-server-landing-page.cdn.apollographql.com/${encodeURIComponent(e)}/static/js/main.js?runtime=${r}"></script>`};function n(e,n){let a=e??"v3",i=e??"v2",l=e??"_latest",d=`@apollo/server@${r.packageVersion}`;return{__internal_installed_implicitly__:!1,serverWillStart:async()=>({async renderLandingPage(){let e=encodeURIComponent(l);return{html:async function(){let r,c,p,u,m=(0,o.createHash)("sha256").update(crypto.randomUUID()).digest("hex"),h=`script-src 'self' 'nonce-${m}' https://apollo-server-landing-page.cdn.apollographql.com https://embeddable-sandbox.cdn.apollographql.com https://embeddable-explorer.cdn.apollographql.com`,_=`style-src 'nonce-${m}' https://apollo-server-landing-page.cdn.apollographql.com https://embeddable-sandbox.cdn.apollographql.com https://embeddable-explorer.cdn.apollographql.com https://fonts.googleapis.com`;return`
|
|
8
|
-
<!DOCTYPE html>
|
|
9
|
-
<html lang="en">
|
|
10
|
-
<head>
|
|
11
|
-
<meta charset="utf-8" />
|
|
12
|
-
<meta http-equiv="Content-Security-Policy" content="${h}; ${_}; img-src https://apollo-server-landing-page.cdn.apollographql.com; manifest-src https://apollo-server-landing-page.cdn.apollographql.com; frame-src https://explorer.embed.apollographql.com https://sandbox.embed.apollographql.com https://embed.apollo.local:3000" />
|
|
13
|
-
<link
|
|
14
|
-
rel="icon"
|
|
15
|
-
href="https://apollo-server-landing-page.cdn.apollographql.com/${e}/assets/favicon.png"
|
|
16
|
-
/>
|
|
17
|
-
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
18
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
|
19
|
-
<link
|
|
20
|
-
href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro&display=swap"
|
|
21
|
-
rel="stylesheet"
|
|
22
|
-
/>
|
|
23
|
-
<meta name="theme-color" content="#000000" />
|
|
24
|
-
<meta name="description" content="Apollo server landing page" />
|
|
25
|
-
<link
|
|
26
|
-
rel="apple-touch-icon"
|
|
27
|
-
href="https://apollo-server-landing-page.cdn.apollographql.com/${e}/assets/favicon.png"
|
|
28
|
-
/>
|
|
29
|
-
<link
|
|
30
|
-
rel="manifest"
|
|
31
|
-
href="https://apollo-server-landing-page.cdn.apollographql.com/${e}/manifest.json"
|
|
32
|
-
/>
|
|
33
|
-
<title>Apollo Server</title>
|
|
34
|
-
</head>
|
|
35
|
-
<body>
|
|
36
|
-
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
37
|
-
<div id="react-root">
|
|
38
|
-
<style nonce=${m}>
|
|
39
|
-
body {
|
|
40
|
-
margin: 0;
|
|
41
|
-
overflow-x: hidden;
|
|
42
|
-
overflow-y: hidden;
|
|
43
|
-
}
|
|
44
|
-
.fallback {
|
|
45
|
-
opacity: 0;
|
|
46
|
-
animation: fadeIn 1s 1s;
|
|
47
|
-
animation-iteration-count: 1;
|
|
48
|
-
animation-fill-mode: forwards;
|
|
49
|
-
padding: 1em;
|
|
50
|
-
}
|
|
51
|
-
@keyframes fadeIn {
|
|
52
|
-
0% {opacity:0;}
|
|
53
|
-
100% {opacity:1; }
|
|
54
|
-
}
|
|
55
|
-
</style>
|
|
56
|
-
${n.embed?"graphRef"in n&&n.graphRef?(r={displayOptions:{},persistExplorerState:!1,runTelemetry:!0,..."boolean"==typeof n.embed?{}:n.embed},c={graphRef:n.graphRef,target:"#embeddableExplorer",initialState:{..."document"in n||"headers"in n||"variables"in n?{document:n.document,headers:n.headers,variables:n.variables}:{},..."collectionId"in n?{collectionId:n.collectionId,operationId:n.operationId}:{},displayOptions:{...r.displayOptions}},persistExplorerState:r.persistExplorerState,includeCookies:n.includeCookies,runtime:d,runTelemetry:r.runTelemetry,allowDynamicStyles:!1},`
|
|
57
|
-
<div class="fallback">
|
|
58
|
-
<h1>Welcome to Apollo Server</h1>
|
|
59
|
-
<p>Apollo Explorer cannot be loaded; it appears that you might be offline.</p>
|
|
60
|
-
</div>
|
|
61
|
-
<style nonce=${m}>
|
|
62
|
-
iframe {
|
|
63
|
-
background-color: white;
|
|
64
|
-
height: 100%;
|
|
65
|
-
width: 100%;
|
|
66
|
-
border: none;
|
|
67
|
-
}
|
|
68
|
-
#embeddableExplorer {
|
|
69
|
-
width: 100vw;
|
|
70
|
-
height: 100vh;
|
|
71
|
-
position: absolute;
|
|
72
|
-
top: 0;
|
|
73
|
-
}
|
|
74
|
-
</style>
|
|
75
|
-
<div id="embeddableExplorer"></div>
|
|
76
|
-
<script nonce="${m}" src="https://embeddable-explorer.cdn.apollographql.com/${encodeURIComponent(a)}/embeddable-explorer.umd.production.min.js?runtime=${encodeURIComponent(d)}"></script>
|
|
77
|
-
<script nonce="${m}">
|
|
78
|
-
var endpointUrl = window.location.href;
|
|
79
|
-
var embeddedExplorerConfig = ${t(c)};
|
|
80
|
-
new window.EmbeddedExplorer({
|
|
81
|
-
...embeddedExplorerConfig,
|
|
82
|
-
endpointUrl,
|
|
83
|
-
});
|
|
84
|
-
</script>
|
|
85
|
-
`):!("graphRef"in n)?(p={runTelemetry:!0,endpointIsEditable:!1,initialState:{},..."boolean"==typeof n.embed?{}:n.embed??{}},u={target:"#embeddableSandbox",initialState:{..."document"in n||"headers"in n||"variables"in n?{document:n.document,variables:n.variables,headers:n.headers}:{},..."collectionId"in n?{collectionId:n.collectionId,operationId:n.operationId}:{},includeCookies:n.includeCookies,...p.initialState},hideCookieToggle:!1,endpointIsEditable:p.endpointIsEditable,runtime:d,runTelemetry:p.runTelemetry,allowDynamicStyles:!1},`
|
|
86
|
-
<div class="fallback">
|
|
87
|
-
<h1>Welcome to Apollo Server</h1>
|
|
88
|
-
<p>Apollo Sandbox cannot be loaded; it appears that you might be offline.</p>
|
|
89
|
-
</div>
|
|
90
|
-
<style nonce=${m}>
|
|
91
|
-
iframe {
|
|
92
|
-
background-color: white;
|
|
93
|
-
height: 100%;
|
|
94
|
-
width: 100%;
|
|
95
|
-
border: none;
|
|
96
|
-
}
|
|
97
|
-
#embeddableSandbox {
|
|
98
|
-
width: 100vw;
|
|
99
|
-
height: 100vh;
|
|
100
|
-
position: absolute;
|
|
101
|
-
top: 0;
|
|
102
|
-
}
|
|
103
|
-
</style>
|
|
104
|
-
<div id="embeddableSandbox"></div>
|
|
105
|
-
<script nonce="${m}" src="https://embeddable-sandbox.cdn.apollographql.com/${encodeURIComponent(i)}/embeddable-sandbox.umd.production.min.js?runtime=${encodeURIComponent(d)}"></script>
|
|
106
|
-
<script nonce="${m}">
|
|
107
|
-
var initialEndpoint = window.location.href;
|
|
108
|
-
var embeddedSandboxConfig = ${t(u)};
|
|
109
|
-
new window.EmbeddedSandbox(
|
|
110
|
-
{
|
|
111
|
-
...embeddedSandboxConfig,
|
|
112
|
-
initialEndpoint,
|
|
113
|
-
}
|
|
114
|
-
);
|
|
115
|
-
</script>
|
|
116
|
-
`):s(l,n,d,m):s(l,n,d,m)}
|
|
117
|
-
</div>
|
|
118
|
-
</body>
|
|
119
|
-
</html>
|
|
120
|
-
`}}}})}}e.s(["ApolloServerPluginLandingPageLocalDefault",0,function(e={}){let{version:t,__internal_apolloStudioEnv__:r,...o}={embed:!0,...e};return n(t,{isProd:!1,apolloStudioEnv:r,...o})},"ApolloServerPluginLandingPageProductionDefault",0,function(e={}){let{version:t,__internal_apolloStudioEnv__:r,...o}=e;return n(t,{isProd:!0,apolloStudioEnv:r,...o})}],292646)},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},188646,(e,t,r)=>{t.exports=e.x("node:stream/promises",()=>require("node:stream/promises"))},503675,e=>{"use strict";var t=e.i(902157),r=e.i(912714),o=e.i(660526),s=e.i(750227),n=e.i(81111),a=e.i(188646);let i=globalThis,l=i.buildArtifactTransfers??(i.buildArtifactTransfers=new Map);function d(e,t){let r=l.get(e);r&&(l.delete(e),clearTimeout(r.timeout),r.reject(t instanceof Error?t:Error(String(t))))}async function c(e,i,c){let p=l.get(e);if(!p||p.agentId!==i)throw Error("Artifact upload is not expected");if(!c.body)throw Error("Artifact upload body is required");let u=(0,s.join)((0,o.tmpdir)(),`ade-build-artifact-upload-${e}`);try{await (0,a.pipeline)(n.Readable.fromWeb(c.body),(0,t.createWriteStream)(u,{mode:384}));let r=c.headers.get("x-artifact-filename")??"artifact",o="artifact";try{o=decodeURIComponent(r)}catch{}l.delete(e),clearTimeout(p.timeout);let s=c.headers.get("content-length");p.resolve({path:u,filename:o,contentType:c.headers.get("content-type")??"application/octet-stream",size:null!==s&&Number.isFinite(Number(s))?Number(s):null})}catch(t){throw await (0,r.rm)(u,{force:!0}),d(e,t),t}}e.s(["cancelArtifactTransfer",0,d,"expectArtifactTransfer",0,function(e,t){return new Promise((r,o)=>{let s=setTimeout(()=>{l.delete(e),o(Error("The agent did not upload the artifact in time"))},17e4);s.unref(),l.set(e,{agentId:t,resolve:r,reject:o,timeout:s})})},"receiveArtifactTransfer",0,c])},196693,e=>{"use strict";var t=e.i(747909),r=e.i(174017),o=e.i(996250),s=e.i(759756),n=e.i(561916),a=e.i(174677),i=e.i(869741),l=e.i(316795),d=e.i(487718),c=e.i(995169),p=e.i(47587),u=e.i(666012),m=e.i(570101),h=e.i(626937),_=e.i(10372),f=e.i(193695);e.i(820232);var v=e.i(600220),g=e.i(503675),x=e.i(379993);async function b(e,t){let r=await x.SharedGraphQLServerService.createContext(e.headers);if(!r.agentId)return new Response("Agent authentication is required",{status:401});try{let{uploadId:o}=await t.params;return await (0,g.receiveArtifactTransfer)(o,r.agentId,e),new Response(null,{status:204})}catch(e){return console.error("Build artifact upload failed:",e),new Response(e instanceof Error?e.message:"Artifact upload failed",{status:409})}}e.s(["POST",0,b,"maxDuration",0,180,"runtime",0,"nodejs"],178002);var y=e.i(178002);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/build-artifact-uploads/[uploadId]/route",pathname:"/api/build-artifact-uploads/[uploadId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/build-artifact-uploads/[uploadId]/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:E,serverHooks:A}=w;async function R(e,t,o){o.requestMeta&&(0,s.setRequestMeta)(e,o.requestMeta),w.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/build-artifact-uploads/[uploadId]/route";g=g.replace(/\/index$/,"")||"/";let x=await w.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:b,deploymentId:y,params:S,nextConfig:E,parsedUrl:A,isDraftMode:R,prerenderManifest:P,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:j,resolvedPathname:C,clientReferenceManifest:T,serverActionsManifest:I}=x,N=(0,i.normalizeAppPath)(g),M=!!(P.dynamicRoutes[N]||P.routes[C]),O=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!R){let e=!!P.routes[C],t=P.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await O();throw new f.NoFallbackError}}let L=null;!M||w.isDev||R||(L="/index"===(L=C)?"/":L);let U=!0===w.isDev||!M,$=M&&!U;I&&T&&(0,a.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:I});let J=e.method||"GET",D=(0,n.getTracer)(),F=D.getActiveScopeSpan(),B=!!(null==k?void 0:k.isWrappedByNextServer),H=!!(0,s.getRequestMeta)(e,"minimalMode"),V=(0,s.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,E,P,H);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let Q={params:S,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:V,cacheLifeProfiles:E.cacheLife,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,o,s)=>w.onRequestError(e,t,o,s,k)},sharedContext:{buildId:b,deploymentId:y}},G=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let s,a=async e=>w.handle(W,Q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=r.get("next.route");if(o){let t=`${J} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",o),s.updateName(t))}else e.updateName(`${J} ${g}`)}),i=async s=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!H&&q&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(s);e.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&o.waitUntil&&(o.waitUntil(i),i=void 0);let l=Q.renderOpts.collectedTags;if(!M)return await (0,u.sendResponse)(G,K,n,Q.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[_.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,o=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:q})},!1,k),t}},d=await w.handleResponse({req:e,nextConfig:E,cacheKey:L,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:o.waitUntil,isMinimalMode:H});if(!M)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return H&&M||c.delete(_.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,u.sendResponse)(G,K,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};B&&F?await i(F):(s=D.getActiveScopeSpan(),await D.withPropagatedContext(e.headers,()=>D.trace(c.BaseServerSpan.handleRequest,{spanName:`${J} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":J,"http.target":e.url}},i),void 0,!B))}catch(t){if(t instanceof f.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:q})},!1,k),M)throw t;return await (0,u.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:E})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,E],196693)},899105,e=>{e.v(e=>Promise.resolve().then(()=>e(186846)))},108981,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_1zdapw8._.js"].map(t=>e.l(t))).then(()=>t(50037)))},727515,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_082o5x8._.js","server/chunks/node_modules_@apollo_server_dist_esm_plugin_usageReporting_index_1j48-to.js","server/chunks/node_modules_0bi7_en._.js","server/chunks/node_modules_@apollo_usage-reporting-protobuf_generated_esm_protobuf_0b8vfc2.js","server/chunks/node_modules_0rbpgq6._.js"].map(t=>e.l(t))).then(()=>t(974801)))},197318,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@apollo_server_dist_esm_plugin_0sa4-fs._.js"].map(t=>e.l(t))).then(()=>t(45733)))},837353,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@apollo_server_dist_esm_plugin_0_6-i74._.js","server/chunks/node_modules_@apollo_usage-reporting-protobuf_generated_esm_protobuf_0b8vfc2.js","server/chunks/node_modules_0rbpgq6._.js"].map(t=>e.l(t))).then(()=>t(310428)))},218035,e=>{e.v(e=>Promise.resolve().then(()=>e(292646)))},296341,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@apollo_server_dist_esm_plugin_disableSuggestions_index_12vh8ff.js"].map(t=>e.l(t))).then(()=>t(369115)))},916005,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_node_buffer_00a6lhv._.js"].map(t=>e.l(t))).then(()=>t(951615)))},408839,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_@prisma_client_runtime_query_compiler_fast_bg_sqlite_mjs_15lig9w._.js"].map(t=>e.l(t))).then(()=>t(53315)))},900998,e=>{e.v(t=>Promise.all(["server/chunks/0d-b_@prisma_client_runtime_query_compiler_fast_bg_sqlite_wasm-base64_mjs_1jb9bv_._.js"].map(t=>e.l(t))).then(()=>t(699802)))},68797,e=>{e.v(e=>Promise.resolve().then(()=>e(81111)))},465520,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-debug-asyncify_dist_ffi_mjs_144ckx_._.js"].map(t=>e.l(t))).then(()=>t(437918)))},250588,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0e1fqyr._.js","server/chunks/1daa_@jitl_quickjs-wasmfile-debug-asyncify_dist_emscripten-module_mjs_1u58-9a._.js"].map(t=>e.l(t))).then(()=>t(452979)))},835153,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-debug-sync_dist_ffi_mjs_06ojbau._.js"].map(t=>e.l(t))).then(()=>t(896934)))},591520,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0wf0pka._.js","server/chunks/1q96_modules_@jitl_quickjs-wasmfile-debug-sync_dist_emscripten-module_mjs_1bzxzsr._.js"].map(t=>e.l(t))).then(()=>t(355384)))},329313,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-release-asyncify_dist_ffi_mjs_1cj0ga-._.js"].map(t=>e.l(t))).then(()=>t(497569)))},529413,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__210dhdj._.js"].map(t=>e.l(t))).then(()=>t(790919)))},175367,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_@jitl_quickjs-wasmfile-release-sync_dist_ffi_mjs_0ge8g9f._.js"].map(t=>e.l(t))).then(()=>t(644796)))},674591,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1ajaiy1._.js"].map(t=>e.l(t))).then(()=>t(984782)))},969484,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_quickjs-emscripten-core_dist_module-ES6BEMUI_mjs_145exi1._.js"].map(t=>e.l(t))).then(()=>t(807057)))},706986,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_quickjs-emscripten-core_dist_module-asyncify-2EFITU5U_mjs_0eswnkg._.js"].map(t=>e.l(t))).then(()=>t(741366)))},323970,e=>{e.v(e=>Promise.resolve().then(()=>e(522734)))},589793,e=>{e.v(e=>Promise.resolve().then(()=>e(814747)))},628028,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_extended-markdown-adf-parser_dist_js-yaml-GWBS3D3U_mjs_1anug9s._.js"].map(t=>e.l(t))).then(()=>t(591073)))},70729,e=>{e.v(e=>Promise.resolve().then(()=>e(666680)))}];
|
|
121
|
-
|
|
122
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1oahp4o._.js.map
|