@ai-development-environment/server 0.0.30 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/package.json +1 -1
  2. package/standalone/.next/BUILD_ID +1 -1
  3. package/standalone/.next/app-path-routes-manifest.json +1 -0
  4. package/standalone/.next/build-manifest.json +3 -3
  5. package/standalone/.next/prerender-manifest.json +3 -3
  6. package/standalone/.next/routes-manifest.json +9 -0
  7. package/standalone/.next/server/app/[locale]/actions/page.js.nft.json +1 -1
  8. package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
  9. package/standalone/.next/server/app/[locale]/agents/[id]/page.js.nft.json +1 -1
  10. package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
  11. package/standalone/.next/server/app/[locale]/agents/page.js.nft.json +1 -1
  12. package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
  13. package/standalone/.next/server/app/[locale]/build-data/page.js.nft.json +1 -1
  14. package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
  15. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.nft.json +1 -1
  16. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +1 -1
  17. package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js.nft.json +1 -1
  18. package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
  19. package/standalone/.next/server/app/[locale]/builds/page.js.nft.json +1 -1
  20. package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
  21. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js.nft.json +1 -1
  22. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
  23. package/standalone/.next/server/app/[locale]/codebases/page.js.nft.json +1 -1
  24. package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
  25. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
  26. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
  27. package/standalone/.next/server/app/[locale]/comments/page.js.nft.json +1 -1
  28. package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
  29. package/standalone/.next/server/app/[locale]/jira/cache/page.js.nft.json +1 -1
  30. package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
  31. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
  32. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  33. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js.nft.json +1 -1
  34. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  35. package/standalone/.next/server/app/[locale]/jira/tickets/page.js.nft.json +1 -1
  36. package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
  37. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js.nft.json +1 -1
  38. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
  39. package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
  40. package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
  41. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
  42. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
  43. package/standalone/.next/server/app/[locale]/pull-requests/page.js.nft.json +1 -1
  44. package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
  45. package/standalone/.next/server/app/[locale]/settings/page.js.nft.json +1 -1
  46. package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
  47. package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js.nft.json +1 -1
  48. package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
  49. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js.nft.json +1 -1
  50. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
  51. package/standalone/.next/server/app/[locale]/skills/groups/page.js.nft.json +1 -1
  52. package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
  53. package/standalone/.next/server/app/[locale]/skills/page.js.nft.json +1 -1
  54. package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
  55. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js.nft.json +1 -1
  56. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
  57. package/standalone/.next/server/app/[locale]/tools/page.js.nft.json +1 -1
  58. package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
  59. package/standalone/.next/server/app/[locale]/usage/page.js.nft.json +1 -1
  60. package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
  61. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js.nft.json +1 -1
  62. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
  63. package/standalone/.next/server/app/[locale]/worktrees/page.js.nft.json +1 -1
  64. package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
  65. package/standalone/.next/server/app/_global-error.html +1 -1
  66. package/standalone/.next/server/app/_global-error.rsc +1 -1
  67. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  68. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  69. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  70. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  71. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  72. package/standalone/.next/server/app/_not-found.html +1 -1
  73. package/standalone/.next/server/app/_not-found.rsc +1 -1
  74. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  75. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  76. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  77. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  78. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  79. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  80. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +1 -1
  81. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js.nft.json +1 -1
  82. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/app-paths-manifest.json +3 -0
  83. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/build-manifest.json +9 -0
  84. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/server-reference-manifest.json +4 -0
  85. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js +11 -0
  86. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.map +5 -0
  87. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.nft.json +1 -0
  88. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route_client-reference-manifest.js +3 -0
  89. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js +4 -3
  90. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js.nft.json +1 -1
  91. package/standalone/.next/server/app/api/codebases/by-path/route.js.nft.json +1 -1
  92. package/standalone/.next/server/app/api/codebases/route.js.nft.json +1 -1
  93. package/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
  94. package/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  95. package/standalone/.next/server/app/api/tools/call/route.js.nft.json +1 -1
  96. package/standalone/.next/server/app/api/tools/catalog/route.js.nft.json +1 -1
  97. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js +1 -1
  98. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.nft.json +1 -1
  99. package/standalone/.next/server/app-paths-manifest.json +1 -0
  100. package/standalone/.next/server/chunks/07_e_builds_[buildId]_artifacts_[artifactId]_manifest_plist_route_actions_18mzaf3.js +3 -0
  101. package/standalone/.next/server/chunks/[root-of-the-server]__08mnmfs._.js +3 -0
  102. package/standalone/.next/server/chunks/[root-of-the-server]__0906ea6._.js +3 -0
  103. package/standalone/.next/server/chunks/{[root-of-the-server]__09skp6r._.js → [root-of-the-server]__0cz4ap5._.js} +1 -1
  104. package/standalone/.next/server/chunks/[root-of-the-server]__0nvcazp._.js +3 -0
  105. package/standalone/.next/server/chunks/{[root-of-the-server]__1wtng3p._.js → [root-of-the-server]__12807ia._.js} +1 -1
  106. package/standalone/.next/server/chunks/[root-of-the-server]__1csx222._.js +3 -0
  107. package/standalone/.next/server/chunks/{[root-of-the-server]__0zyqmd4._.js → [root-of-the-server]__1ix62p0._.js} +2 -2
  108. package/standalone/.next/server/chunks/[root-of-the-server]__1j-hk6b._.js +3 -0
  109. package/standalone/.next/server/chunks/{[root-of-the-server]__15aat79._.js → [root-of-the-server]__1j0u03u._.js} +1 -1
  110. package/standalone/.next/server/chunks/[root-of-the-server]__1qmvsu_._.js +3 -0
  111. package/standalone/.next/server/chunks/[root-of-the-server]__1w59u6o._.js +3 -0
  112. package/standalone/.next/server/chunks/{[root-of-the-server]__0-ypkf7._.js → [root-of-the-server]__1z-3x8k._.js} +1 -1
  113. package/standalone/.next/server/chunks/_0exkna-._.js +51 -1
  114. package/standalone/.next/server/chunks/_0jurkow._.js +1 -1
  115. package/standalone/.next/server/chunks/_0rx5rfm._.js +1 -1
  116. package/standalone/.next/server/chunks/_0tufgj0._.js +111 -61
  117. package/standalone/.next/server/chunks/_0w2eghf._.js +51 -1
  118. package/standalone/.next/server/chunks/_152rnkf._.js +3 -3
  119. package/standalone/.next/server/chunks/_16x77b_._.js +1 -1
  120. package/standalone/.next/server/chunks/_1dbqy8c._.js +3 -3
  121. package/standalone/.next/server/chunks/_1vrixpc._.js +3 -3
  122. package/standalone/.next/server/chunks/_1yfz-9u._.js +3 -3
  123. package/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_08x37wy.js +6 -0
  124. package/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0eghv0a.js +3 -0
  125. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__08bbv6z._.js +1 -1
  126. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ckj6wg._.js +1 -1
  127. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qy28ku._.js +3 -0
  128. package/standalone/.next/server/chunks/ssr/_0a1ligo._.js +1 -1
  129. package/standalone/.next/server/chunks/ssr/{_1n9rteq._.js → _1f5k6bj._.js} +2 -2
  130. package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud._.js +1 -1
  131. package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-._.js +1 -1
  132. package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd._.js +1 -1
  133. package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0i._.js +1 -1
  134. package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js +20 -10
  135. package/standalone/.next/server/functions-config-manifest.json +4 -1
  136. package/standalone/.next/server/middleware-build-manifest.js +3 -3
  137. package/standalone/.next/server/pages/404.html +1 -1
  138. package/standalone/.next/server/pages/500.html +1 -1
  139. package/standalone/.next/server/server-reference-manifest.js +1 -1
  140. package/standalone/.next/server/server-reference-manifest.json +1 -1
  141. package/standalone/.next/static/chunks/0hwbkceik59kx.js +35 -0
  142. package/standalone/.next/static/chunks/{1ut0xkaqsykm4.js → 0mq066ue0yufb.js} +1 -1
  143. package/standalone/.next/static/chunks/{041g9raf1naqv.js → 175269y15-grc.js} +1 -1
  144. package/standalone/.next/static/chunks/{3q0q6_ntq8aa5.js → 208k3moxxd_53.js} +1 -1
  145. package/standalone/.next/static/chunks/2zwijj9t6y7gn.js +7 -0
  146. package/standalone/.next/static/chunks/398uw5_4-ciaz.css +1 -0
  147. package/standalone/.next/static/chunks/{29zl8lgsa28tb.js → 3l2g83119oyl0.js} +1 -1
  148. package/standalone/src/services/builds/artifact-cache.test.ts +241 -0
  149. package/standalone/src/services/builds/artifact-cache.ts +235 -0
  150. package/standalone/src/services/builds/artifact-transfer.ts +2 -1
  151. package/standalone/src/services/builds/builds.service.ts +139 -56
  152. package/standalone/.next/server/chunks/[root-of-the-server]__02vqwey._.js +0 -3
  153. package/standalone/.next/server/chunks/[root-of-the-server]__0rwpsai._.js +0 -3
  154. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__10-ftkj._.js +0 -3
  155. package/standalone/.next/static/chunks/3p7wbgo7qd6_m.css +0 -1
  156. package/standalone/.next/static/chunks/3vg6y29m047x9.js +0 -31
  157. /package/standalone/.next/static/{ePu377E66yy0icQx3ykQJ → sJ09NBDjsLncJEkHNWbdR}/_buildManifest.js +0 -0
  158. /package/standalone/.next/static/{ePu377E66yy0icQx3ykQJ → sJ09NBDjsLncJEkHNWbdR}/_clientMiddlewareManifest.js +0 -0
  159. /package/standalone/.next/static/{ePu377E66yy0icQx3ykQJ → sJ09NBDjsLncJEkHNWbdR}/_ssgManifest.js +0 -0
@@ -1,4 +1,16 @@
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=`
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(46524),z=a.i(668684),A=a.i(875083),B=a.i(206015),C=a.i(555027),D=a.i(873555),E=a.i(460280),F=a.i(710145);let G=["DEBUGGING","RELEASE_TESTING","ENTERPRISE","APP_STORE_CONNECT"],H={DEBUGGING:"DEVELOPMENT",RELEASE_TESTING:"AD_HOC",ENTERPRISE:"ENTERPRISE",APP_STORE_CONNECT:"APP_STORE"};function I(a,b){return"*"===a||(a.endsWith(".*")?b.startsWith(a.slice(0,-1)):a===b)}var J=a.i(814574),K=a.i(870430),L=a.i(580701);let M=`query BuildSigningOptions($buildId: ID!) {
2
+ buildSigningOptions(buildId: $buildId) {
3
+ teams { id name }
4
+ identities { sha1 name teamId }
5
+ profiles {
6
+ uuid name teamId teamName bundleId type platforms expiresAt expired xcodeManaged
7
+ certificateSha1s
8
+ }
9
+ bundles { bundleId name relativePath embeddedProfileUuid embeddedProfileName }
10
+ }
11
+ }`;function N(a,b,c,d){let e=H[c];return a.filter(a=>a.type===e&&!a.expired&&(0===a.platforms.length||a.platforms.includes("iOS"))&&I(a.bundleId,b)&&(!d||!a.teamId||a.teamId===d))}function O({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)(""),[o,p]=(0,s.useState)({}),[q,t]=(0,s.useState)(!1),[v,x]=(0,s.useState)(null),[y,A]=(0,s.useState)(!1),[B,C]=(0,s.useState)(!1),[F,H]=(0,s.useState)(null),[P,Q]=(0,s.useState)(null),R=(0,s.useCallback)(async()=>{A(!0),Q(null);try{let b=await (0,E.controlPlaneRequest)(M,{buildId:a});x(b.buildSigningOptions);let c=b.buildSigningOptions.bundles.map(a=>b.buildSigningOptions.profiles.find(b=>b.uuid===a.embeddedProfileUuid)).find(a=>a?.teamId);c?.teamId?l(c.teamId):1===b.buildSigningOptions.teams.length&&l(b.buildSigningOptions.teams[0].id)}catch(a){Q(a instanceof Error?a.message:String(a))}finally{A(!1)}},[a]);(0,s.useEffect)(()=>{if(!c)return;let a=window.setTimeout(()=>void R(),0);return()=>window.clearTimeout(a)},[c,R]);let S=`${g}:${k}`,[T,U]=(0,s.useState)(S);S!==T&&(U(S),p({}),n(""));let V="MANUAL"===i,W=Object.fromEntries((v?.bundles??[]).flatMap(a=>{let b=N(v?.profiles??[],a.bundleId,g,k),c=o[a.bundleId]??function(a,b){if(!a.length)return null;let c=a.find(a=>a.uuid===b.embeddedProfileUuid);return c||[...a].sort((a,b)=>(b.expiresAt??"").localeCompare(a.expiresAt??""))[0]}(b,a)?.uuid;return c?[[a.bundleId,c]]:[]})),X=Object.values(W).flatMap(a=>{let b=v?.profiles.find(b=>b.uuid===a);return b?[b]:[]}),Y=X.length>0&&X.every(a=>a.certificateSha1s?.length),Z=(v?.identities??[]).filter(a=>Y?X.every(b=>b.certificateSha1s.includes(a.sha1.toUpperCase())):!k||!a.teamId||a.teamId===k),$=Z.some(a=>a.sha1===m)?m:"",_=async()=>{C(!0);try{await (0,E.controlPlaneRequest)(`mutation ExportArchive($input: ExportBuildArchiveInput!) {
12
+ exportBuildArchive(input: $input) { id status }
13
+ }`,{input:{buildId:a,requestId:(0,D.createClientId)(),settings:{method:g,signingStyle:i,teamId:k||null,signingCertificate:$?Z.find(a=>a.sha1===$)?.name??null:null,provisioningProfiles:V?W:{},uploadSymbols:!0,manageAppVersionAndBuildNumber:!0,testFlightInternalTestingOnly:!1}}}),await e(),d(!1)}catch(a){H(a instanceof Error?a.message:String(a))}finally{C(!1)}},aa=V&&(v?.bundles??[]).some(a=>!W[a.bundleId]);return(0,b.jsx)(J.Dialog,{onOpenChange:d,open:c,children:(0,b.jsxs)(J.DialogContent,{className:"max-h-[85vh] grid-cols-[minmax(0,1fr)] overflow-y-auto sm:max-w-2xl",children:[(0,b.jsxs)(J.DialogHeader,{children:[(0,b.jsx)(J.DialogTitle,{children:f("exportArchive")}),(0,b.jsx)(J.DialogDescription,{children:f("exportArchiveDescription")})]}),F&&(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsx)(u.AlertDescription,{children:F})}),P&&(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsxs)(u.AlertDescription,{children:[f("signingOptionsFailed")," ",P]})}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(K.Label,{children:f("distributionMethod")}),(0,b.jsxs)(L.Select,{onValueChange:a=>h(a),value:g,children:[(0,b.jsx)(L.SelectTrigger,{className:"w-full min-w-0",children:(0,b.jsx)(L.SelectValue,{})}),(0,b.jsx)(L.SelectContent,{children:G.map(a=>(0,b.jsx)(L.SelectItem,{value:a,children:f(`exportMethod.${a}`)},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(K.Label,{children:f("developmentTeam")}),(0,b.jsxs)(L.Select,{disabled:y||!v?.teams.length,onValueChange:l,value:k,children:[(0,b.jsx)(L.SelectTrigger,{className:"w-full min-w-0",children:y?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(L.SelectValue,{placeholder:f("selectTeam")})}),(0,b.jsx)(L.SelectContent,{children:(v?.teams??[]).map(a=>(0,b.jsxs)(L.SelectItem,{value:a.id,children:[a.name," (",a.id,")"]},a.id))})]}),!y&&v&&!v.teams.length&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("noTeams")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(K.Label,{children:f("signingStyle")}),(0,b.jsxs)(L.Select,{onValueChange:j,value:i,children:[(0,b.jsx)(L.SelectTrigger,{className:"w-full min-w-0",children:(0,b.jsx)(L.SelectValue,{})}),(0,b.jsxs)(L.SelectContent,{children:[(0,b.jsx)(L.SelectItem,{value:"AUTOMATIC",children:f("automatic")}),(0,b.jsx)(L.SelectItem,{value:"MANUAL",children:f("manual")})]})]})]}),V&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(K.Label,{children:f("signingCertificate")}),(0,b.jsxs)(L.Select,{disabled:y||!Z.length,onValueChange:n,value:$,children:[(0,b.jsx)(L.SelectTrigger,{className:"w-full min-w-0",children:(0,b.jsx)(L.SelectValue,{placeholder:f("certificateAutomatic")})}),(0,b.jsx)(L.SelectContent,{children:Z.map(a=>(0,b.jsx)(L.SelectItem,{value:a.sha1,children:a.name},a.sha1))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)(K.Label,{children:f("provisioningProfiles")}),(0,b.jsx)(w.Button,{onClick:()=>t(a=>!a),size:"sm",type:"button",variant:"ghost",children:q?f("showMatching"):f("showAllProfiles")})]}),y&&(0,b.jsx)(z.Spinner,{}),!y&&!v?.bundles.length&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("noArchiveBundles")}),(v?.bundles??[]).map(a=>{let c=N(v?.profiles??[],a.bundleId,g,k),d=q?(v?.profiles??[]).filter(b=>I(b.bundleId,a.bundleId)):c;return(0,b.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("p",{className:"mb-2 break-all font-mono text-xs text-muted-foreground",children:a.bundleId}),(0,b.jsxs)(L.Select,{onValueChange:b=>p(c=>({...c,[a.bundleId]:b})),value:W[a.bundleId]??"",children:[(0,b.jsx)(L.SelectTrigger,{className:"w-full min-w-0",children:(0,b.jsx)(L.SelectValue,{placeholder:f("selectProfile")})}),(0,b.jsx)(L.SelectContent,{children:d.map(a=>{let c;return(0,b.jsxs)(L.SelectItem,{value:a.uuid,children:[(c=a.expiresAt?new Date(a.expiresAt).toLocaleDateString():null)?`${a.name} — ${c}`:a.name,a.expired?` (${f("profileExpired")})`:""]},a.uuid)})})]}),!c.length&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:f("noMatchingProfiles")})]},a.bundleId)})]})]})]}),(0,b.jsxs)(J.DialogFooter,{children:[(0,b.jsx)(w.Button,{onClick:()=>d(!1),variant:"outline",children:f("cancel")}),(0,b.jsxs)(w.Button,{disabled:B||aa,onClick:()=>void _(),children:[B&&(0,b.jsx)(z.Spinner,{})," ",f("exportArchive")]})]})]})})}let P=(0,f.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var Q=a.i(180447);let R=null;function S(){return R??={origin:window.location.origin,secure:"https:"===window.location.protocol,apple:/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&(navigator.maxTouchPoints??0)>1}}let T=()=>()=>{};function U({buildId:a,artifactId:c,metadata:d}){let e=(0,r.useTranslations)("builds"),f=(0,s.useSyncExternalStore)(T,S,()=>null),[g,h]=(0,s.useState)(!1),[i,j]=(0,s.useState)(!1),k=`/api/builds/${encodeURIComponent(a)}/artifacts/${encodeURIComponent(c)}`,l=f?`${f.origin}${k}/manifest.plist`:null,m=f?f.secure?"APP_STORE_CONNECT"===d.exportMethod?e("installNotSupportedForAppStore"):"string"!=typeof d.bundleIdentifier?e("installMissingBundleIdentifier"):null:e("installRequiresHttps"):null,n=!f||null!==m||g,o=async()=>{if(l){h(!0);try{await fetch(k,{method:"HEAD"}).catch(()=>{}),window.location.href=`itms-services://?action=download-manifest&url=${encodeURIComponent(l)}`}finally{h(!1)}}},p=async()=>{await (0,D.copyText)(window.location.href),j(!0),setTimeout(()=>j(!1),2e3)};return(0,b.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[f&&!f.apple&&!m&&(0,b.jsxs)(w.Button,{onClick:()=>void p(),size:"sm",type:"button",variant:"ghost",children:[(0,b.jsx)(P,{})," ",e(i?"installLinkCopied":"copyInstallLink")]}),(0,b.jsxs)(w.Button,{disabled:n,onClick:()=>void o(),size:"sm",type:"button",variant:"outline",children:[g?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(Q.Smartphone,{}),e(g?"installPreparing":"installOnDevice")]})]}),m&&(0,b.jsx)("p",{className:"text-right text-xs text-muted-foreground",children:m}),!m&&f&&!f.apple&&(0,b.jsx)("p",{className:"text-right text-xs text-muted-foreground",children:e("installOpenOnDevice")})]})}var V=a.i(974135),W=a.i(657068);let X=`
2
14
  id requestId jobId status action destinationType destination snapshot commandSummary artifactDirectory errorCode error outOfDate
3
15
  createdAt startedAt finishedAt durationMs updatedAt
4
16
  configuration {
@@ -13,15 +25,13 @@ module.exports=[345962,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(21
13
25
  scriptExecutions { id phase position nameSnapshot status exitCode durationMs causedBuildFailure outputRelativePath error }
14
26
  deployments { id batchId destination status commandSummary outputRelativePath error createdAt startedAt finishedAt }
15
27
  exports { id status settings commandSummary outputRelativePath error createdAt startedAt finishedAt }
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!) {
17
- exportBuildArchive(input: $input) { id status }
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!) {
28
+ `,Y="id scope scopeId sequence phase level stream message createdAt",Z=new Set(["IPA"]);function $(a){return a.split("_").filter(Boolean).map(a=>Z.has(a)?a:`${a.charAt(0).toLocaleUpperCase()}${a.slice(1).toLocaleLowerCase()}`).join(" ")}let _=["packageResolution","disablePackageRepositoryCache","signingStyle","developmentTeam","codeSignIdentity","provisioningProfileSpecifier","productBundleIdentifier","allowProvisioningUpdates","allowProvisioningDeviceRegistration","testPlan","codeCoverage","parseTestResults","parallelTesting","parallelTestingWorkers","onlyTesting","skipTesting","buildSettingOverrides","priorBuildForTestingId","priorTestProductsPath","priorXctestrunPath"],aa={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 ab({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(_),f=a?[..._.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(aa,b)?JSON.stringify(c)!==JSON.stringify(aa[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]??$(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)(ac,{value:a[c]})})]},c))})})]}):null}function ac({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:$(a)}):(0,b.jsx)("span",{className:"break-words font-mono text-xs",children:String(a)})}function ad(a){return"string"==typeof a&&a.trim()?a:null}function ae(a,b){return"ALL"===b||String(a.result??"unknown").toLocaleUpperCase()===b}function af({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=ad(c.bundle),d=ad(c.suite),e=ad(c.plan),f=ad(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=>ae(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)(A.Tabs,{onValueChange:a=>e(a),value:d,children:(0,b.jsxs)(A.TabsList,{"aria-label":c("testResultFilters"),children:[(0,b.jsx)(A.TabsTrigger,{value:"ALL",children:c("testFilterAll",{count:f.length})}),(0,b.jsx)(A.TabsTrigger,{value:"PASSED",children:c("testFilterPassed",{count:h("passed")})}),(0,b.jsx)(A.TabsTrigger,{value:"FAILED",children:c("testFilterFailed",{count:h("failed")})}),(0,b.jsx)(A.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)(ag,{filter:d,group:a},a.key))})]})})]})}function ag({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=>ae(b,a)),o=new Map;for(let a of l){let b=function(a){let b=ad(a.file);if(b)return b;let c=ad(a.suite);return c||(ad(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)(ah,{file:a,tests:c},a))})})]})}function ah({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)(B.Table,{"aria-label":a,className:"min-w-[38rem] text-xs",children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{className:"h-8 px-2",children:d("testStatus")}),(0,b.jsx)(B.TableHead,{className:"h-8 px-2",children:d("testName")}),(0,b.jsx)(B.TableHead,{className:"h-8 px-2 text-right",children:d("testDuration")})]})}),(0,b.jsx)(B.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=ad(a.identifier);return(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableCell,{className:"px-2 py-1.5",children:(0,b.jsx)(ai,{result:String(a.result??"unknown")})}),(0,b.jsxs)(B.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)(B.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 ai({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 aj({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})]})}a.s(["BuildDetailPage",0,function({buildId:a}){let f=(0,r.useTranslations)("builds"),A=(0,q.useLocale)(),B=(0,C.useRouter)(),[G,H]=(0,s.useState)(null),[I,J]=(0,s.useState)([]),[K,L]=(0,s.useState)(!0),[M,N]=(0,s.useState)(null),[P,Q]=(0,s.useState)(!1),[R,S]=(0,s.useState)(null),[T,Z]=(0,s.useState)(!1),[_,aa]=(0,s.useState)(!1),[ac,ad]=(0,s.useState)(!1),[ae,ag]=(0,s.useState)(!0),ah=(0,s.useRef)(null),ai=(0,s.useCallback)(async()=>{try{let b=await (0,E.controlPlaneRequest)(`query BuildDetail($id: ID!) {
29
+ build(id: $id) { ${X} }
30
+ buildLogs(buildId: $id, first: 5000) { ${Y} }
31
+ }`,{id:a});H(b.build),J(b.buildLogs),N(null)}catch(a){N(a instanceof Error?a.message:String(a))}finally{L(!1)}},[a]);(0,s.useEffect)(()=>{let a=window.setTimeout(()=>void ai(),0);return()=>window.clearTimeout(a)},[ai]),(0,s.useEffect)(()=>{let b=(0,E.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,E.controlPlaneSubscriptions)().subscribe({query:`subscription BuildLogAdded($buildId: ID!) {
32
+ buildLogAdded(buildId: $buildId) { ${Y} }
33
+ }`,variables:{buildId:a}},{next:a=>{let b=a.data?.buildLogAdded;b&&J(a=>a.some(a=>a.id===b.id)?a:[...a,b])},error:()=>void 0,complete:()=>void 0});return()=>{b(),c()}},[a,ai]);let ak=null!==G&&(["QUEUED","PREPARING","RUNNING"].includes(G.status)||G.deployments.some(a=>["QUEUED","RUNNING"].includes(a.status))||G.exports.some(a=>["QUEUED","RUNNING"].includes(a.status)));(0,s.useEffect)(()=>{if(!ak)return;let a=window.setInterval(()=>void ai(),2e3);return()=>window.clearInterval(a)},[ak,ai]),(0,s.useEffect)(()=>{ak&&ah.current&&(ah.current.scrollTop=ah.current.scrollHeight)},[ak,I]),(0,s.useEffect)(()=>{if(!ac)return;let a=window.setTimeout(()=>ad(!1),2e3);return()=>window.clearTimeout(a)},[ac]);let al=async()=>{Q(!0);try{await (0,E.controlPlaneRequest)("mutation CancelBuild($id: ID!) { cancelBuild(id: $id) { id status } }",{id:a}),await ai()}catch(a){N(a instanceof Error?a.message:String(a))}finally{Q(!1)}},am=async()=>{Q(!0),N(null);try{await (0,E.controlPlaneRequest)("mutation DeleteBuild($ids: [ID!]!) { deleteBuilds(ids: $ids) }",{ids:[a]}),B.replace("/builds")}catch(a){N(a instanceof Error?a.message:String(a)),aa(!1)}finally{Q(!1)}},an=G?.artifacts.some(a=>"RUNNABLE_APP"===a.kind),ao=G?.artifacts.some(a=>"ARCHIVE"===a.kind),ap=G?.reports?.find(a=>"TEST_RESULTS"===a.kind),aq=G?.reports?.find(a=>"CODE_COVERAGE"===a.kind),ar=G?.artifacts.find(a=>"RESULT_BUNDLE"===a.kind),as=!!G&&["TEST","TEST_WITHOUT_BUILDING"].includes(G.action),at=G?.snapshot??{},au=at.repository,av=at.worktree,aw=at.configuration,ax=ar?.metadata.coverageAvailable===!0||aw?.advancedSettings?.codeCoverage===!0,ay=a=>a?new Date(a).toLocaleString(A):"—",az=async a=>{try{await (0,D.copyText)(a),ad(!0)}catch{N(f("copyFailed"))}},aA=async b=>{S(b),N(null);try{let c="TEST_RESULTS"===b?"parseBuildTestResults":"generateBuildCoverageReport";await (0,E.controlPlaneRequest)(`mutation GenerateBuildReport($buildId: ID!, $requestId: ID!) {
24
34
  ${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)}];
35
+ }`,{buildId:a,requestId:(0,D.createClientId)()}),await ai()}catch(a){N(a instanceof Error?a.message:String(a))}finally{S(null)}},aB=a=>{let b=ah.current;b&&b.scrollTo({behavior:"smooth",top:"top"===a?0:b.scrollHeight})};return K?(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(z.Spinner,{})," ",f("loading")]}):G?(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)(C.Link,{href:"/builds",children:[(0,b.jsx)(d.ArrowLeft,{})," ",f("backToBuilds")]})})}),M&&(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsx)(u.AlertDescription,{children:M})}),G.error&&(0,b.jsx)(u.Alert,{variant:"destructive",children:(0,b.jsxs)(u.AlertDescription,{children:[G.errorCode?`${G.errorCode}: `:"",G.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:au?.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:aw?.name??G.id}),(0,b.jsx)(v.Badge,{variant:(0,F.buildStatusVariant)(G.status),children:f(`statuses.${G.status}`)}),(0,b.jsx)(v.Badge,{variant:"outline",children:f(`actions.${G.action}`)}),G.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:[av?.branch??av?.folder??"—"," ·"," ",G.destination.name]}),(0,b.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[f("buildId"),": ",G.id]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(V.RebuildButton,{buildId:G.id,onCompleted:a=>B.push(`/builds/${a.id}`),onError:N}),["QUEUED","PREPARING","RUNNING"].includes(G.status)&&(0,b.jsxs)(w.Button,{disabled:P,onClick:()=>void al(),variant:"destructive",children:[P?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(o.Square,{})," ",f("cancelBuild")]}),"SUCCEEDED"===G.status&&an&&(0,b.jsx)(W.RunBuildControls,{buildId:G.id,destinationType:G.destinationType,onCompleted:ai,onError:N,preferredDestination:G.destination}),"SUCCEEDED"===G.status&&ao&&(0,b.jsxs)(w.Button,{onClick:()=>Z(!0),variant:"outline",children:[(0,b.jsx)(c.Archive,{})," ",f("exportArchive")]}),!ak&&as&&ar&&ap?.status!=="READY"&&(0,b.jsxs)(w.Button,{disabled:null!==R,onClick:()=>void aA("TEST_RESULTS"),variant:"outline",children:["TEST_RESULTS"===R?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(k,{}),ap?.status==="FAILED"?f("retryParseTestResults"):f("parseTestResultsAction")]}),!ak&&ar&&ax&&aq?.status!=="READY"&&(0,b.jsxs)(w.Button,{disabled:null!==R,onClick:()=>void aA("CODE_COVERAGE"),variant:"outline",children:["CODE_COVERAGE"===R?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(l,{}),aq?.status==="FAILED"?f("retryCoverageReport"):f("generateCoverageReport")]}),aq?.status==="READY"&&(0,b.jsx)(w.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(C.Link,{href:`/builds/${G.id}/coverage`,children:[(0,b.jsx)(l,{})," ",f("viewCoverageReport")]})}),(0,b.jsxs)(w.Button,{disabled:P||["QUEUED","PREPARING","RUNNING"].includes(G.status),onClick:()=>aa(!0),variant:"destructive",children:[(0,b.jsx)(p.Trash2,{})," ",f("deleteBuild")]})]})]}),ap&&(0,b.jsx)(af,{report:ap}),(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:ae?"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":ae,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:[ae&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w.Button,{"aria-label":f("scrollLogsToTop"),onClick:()=>aB("top"),size:"icon-xs",type:"button",variant:"outline",children:(0,b.jsx)(g,{})}),(0,b.jsx)(w.Button,{"aria-label":f("scrollLogsToBottom"),onClick:()=>aB("bottom"),size:"icon-xs",type:"button",variant:"outline",children:(0,b.jsx)(e.ArrowDownToLine,{})})]}),(0,b.jsx)(w.Button,{"aria-expanded":ae,"aria-label":f(ae?"collapseLogs":"expandLogs"),onClick:()=>ag(a=>!a),size:"icon-sm",title:f(ae?"collapseLogs":"expandLogs"),type:"button",variant:"ghost",children:ae?(0,b.jsx)(m.ChevronDown,{className:"size-5"}):(0,b.jsx)(n.ChevronRight,{className:"size-5"})})]})]})}),ae&&(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:I.length?I.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":ac?f("commandCopied"):f("copyCommand"),onClick:()=>void az(G.commandSummary),size:"icon-sm",type:"button",variant:"ghost",children:ac?(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:G.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:G.scriptExecutions.length?G.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)(v.Badge,{variant:"FAILED"===a.status?"destructive":"outline",children:$(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)(aj,{label:f("buildId"),value:G.id,mono:!0}),(0,b.jsx)(aj,{label:f("scheme"),value:aw?.scheme??"—",mono:!0}),(0,b.jsx)(aj,{label:f("configuration"),value:aw?.buildConfiguration??"—",mono:!0}),(0,b.jsx)(aj,{label:f("head"),value:av?.headSha??"—",mono:!0}),(0,b.jsx)(aj,{label:f("startedAt"),value:ay(G.startedAt)}),(0,b.jsx)(aj,{label:f("finishedAt"),value:ay(G.finishedAt)}),(0,b.jsx)(aj,{label:f("artifactDirectory"),value:G.artifactDirectory,mono:!0})]})})]}),(0,b.jsx)(ab,{settings:aw?.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:G.artifacts.length?G.artifacts.map(a=>{let c="IPA"===a.kind,d=a.metadata??{};return(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:$(a.kind)}),(0,b.jsx)(w.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsxs)("a",{download:!0,href:`/api/builds/${encodeURIComponent(G.id)}/artifacts/${encodeURIComponent(a.id)}`,children:[(0,b.jsx)(j.Download,{})," ",c?f("downloadIpa"):f("downloadArtifact")]})})]}),(0,b.jsx)("p",{className:"mt-1 break-all font-mono text-xs text-muted-foreground",children:a.relativePath}),c&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("dl",{className:"mt-2 space-y-1 text-xs text-muted-foreground",children:["string"==typeof d.bundleIdentifier&&(0,b.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,b.jsx)("dt",{children:f("ipaBundleIdentifier")}),(0,b.jsx)("dd",{className:"break-all font-mono",children:d.bundleIdentifier})]}),"string"==typeof d.bundleShortVersion&&(0,b.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,b.jsx)("dt",{children:f("ipaBundleVersion")}),(0,b.jsx)("dd",{className:"font-mono",children:d.bundleShortVersion})]})]}),(0,b.jsx)("div",{className:"mt-2 flex justify-end",children:(0,b.jsx)(U,{artifactId:a.id,buildId:G.id,metadata:d})})]})]},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:[G.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:$(a.status)}),(0,b.jsx)("time",{className:"text-xs text-muted-foreground",children:ay(a.finishedAt??a.startedAt??a.createdAt)})]})]}),a.error&&(0,b.jsx)("p",{className:"mt-1 text-xs text-destructive",children:a.error})]},a.id)),G.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:$(a.status)}),(0,b.jsx)("time",{className:"text-xs text-muted-foreground",children:ay(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)),!G.deployments.length&&!G.exports.length&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:f("noRunsOrExports")})]})]})]})]}),T&&(0,b.jsx)(O,{buildId:G.id,onOpenChange:Z,onSaved:ai,open:T}),(0,b.jsx)(t.ConfirmationDialog,{actionLabel:f("deleteBuild"),cancelLabel:f("cancel"),description:f("deleteBuildDescription"),onConfirm:am,onOpenChange:aa,open:_,title:f("deleteBuildTitle")})]}):(0,b.jsxs)(y.Empty,{className:"mx-auto max-w-6xl border py-12",children:[(0,b.jsxs)(y.EmptyHeader,{children:[(0,b.jsx)(y.EmptyTitle,{children:f("buildNotFound")}),(0,b.jsx)(y.EmptyDescription,{children:f("buildNotFoundDescription")})]}),(0,b.jsx)(w.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(C.Link,{href:"/builds",children:[(0,b.jsx)(d.ArrowLeft,{})," ",f("backToBuilds")]})})]})}],345962)}];
26
36
 
27
37
  //# sourceMappingURL=src_components_builds_build-detail-page_tsx_0q1lvps._.js.map
@@ -14,7 +14,10 @@
14
14
  "maxDuration": 180
15
15
  },
16
16
  "/api/builds/[buildId]/artifacts/[artifactId]": {
17
- "maxDuration": 180
17
+ "maxDuration": 1800
18
+ },
19
+ "/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist": {
20
+ "maxDuration": 30
18
21
  },
19
22
  "/api/codebases": {},
20
23
  "/api/codebases/by-path": {},
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/0cz1d0mv5g_q7.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/ePu377E66yy0icQx3ykQJ/_buildManifest.js",
11
- "static/ePu377E66yy0icQx3ykQJ/_ssgManifest.js",
12
- "static/ePu377E66yy0icQx3ykQJ/_clientMiddlewareManifest.js"
10
+ "static/sJ09NBDjsLncJEkHNWbdR/_buildManifest.js",
11
+ "static/sJ09NBDjsLncJEkHNWbdR/_ssgManifest.js",
12
+ "static/sJ09NBDjsLncJEkHNWbdR/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/40ovzayigkz_-.js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/40ovzayigkz_-.js"/><script src="/_next/static/chunks/09w24awgoam9b.js" async=""></script><script src="/_next/static/chunks/34oyci46fsc5w.js" async=""></script><script src="/_next/static/chunks/turbopack-1v9ogj_5hv56l.js" async=""></script><script src="/_next/static/chunks/2yl1jv4w6po1z.js" async=""></script><script src="/_next/static/chunks/1m5ykreap-f2c.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/40ovzayigkz_-.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"ViewportBoundary\"]\na:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"MetadataBoundary\"]\nc:I[168027,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/1m5ykreap-f2c.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ePu377E66yy0icQx3ykQJ\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[154500,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/40ovzayigkz_-.js"/><script src="/_next/static/chunks/09w24awgoam9b.js" async=""></script><script src="/_next/static/chunks/34oyci46fsc5w.js" async=""></script><script src="/_next/static/chunks/turbopack-1v9ogj_5hv56l.js" async=""></script><script src="/_next/static/chunks/2yl1jv4w6po1z.js" async=""></script><script src="/_next/static/chunks/1m5ykreap-f2c.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/40ovzayigkz_-.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"ViewportBoundary\"]\na:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"MetadataBoundary\"]\nc:I[168027,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/1m5ykreap-f2c.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sJ09NBDjsLncJEkHNWbdR\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[154500,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/40ovzayigkz_-.js"/><script src="/_next/static/chunks/09w24awgoam9b.js" async=""></script><script src="/_next/static/chunks/34oyci46fsc5w.js" async=""></script><script src="/_next/static/chunks/turbopack-1v9ogj_5hv56l.js" async=""></script><script src="/_next/static/chunks/2yl1jv4w6po1z.js" async=""></script><script src="/_next/static/chunks/1m5ykreap-f2c.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/40ovzayigkz_-.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"ViewportBoundary\"]\na:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"MetadataBoundary\"]\nc:I[168027,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ePu377E66yy0icQx3ykQJ\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[154500,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/40ovzayigkz_-.js"/><script src="/_next/static/chunks/09w24awgoam9b.js" async=""></script><script src="/_next/static/chunks/34oyci46fsc5w.js" async=""></script><script src="/_next/static/chunks/turbopack-1v9ogj_5hv56l.js" async=""></script><script src="/_next/static/chunks/2yl1jv4w6po1z.js" async=""></script><script src="/_next/static/chunks/1m5ykreap-f2c.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/40ovzayigkz_-.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"ViewportBoundary\"]\na:I[897367,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"MetadataBoundary\"]\nc:I[168027,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sJ09NBDjsLncJEkHNWbdR\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[154500,[\"/_next/static/chunks/2yl1jv4w6po1z.js\",\"/_next/static/chunks/1m5ykreap-f2c.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"dNTZHOfkUElJoY09/CJagacXcLUtZkIoiHa1GazfG6s=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"sa5dPKesoNer9zW6HL8RnIc3bnZtUSyZZ5osPE9vyDY=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "dNTZHOfkUElJoY09/CJagacXcLUtZkIoiHa1GazfG6s="
4
+ "encryptionKey": "sa5dPKesoNer9zW6HL8RnIc3bnZtUSyZZ5osPE9vyDY="
5
5
  }
@@ -0,0 +1,35 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,885325,e=>{"use strict";var t=e.i(843476),s=e.i(876561),i=e.i(711241),a=e.i(131460),n=e.i(456420);let l=(0,n.default)("arrow-up-to-line",[["path",{d:"M5 3h14",key:"7usisc"}],["path",{d:"m18 13-6-6-6 6",key:"1kf1n9"}],["path",{d:"M12 7v14",key:"1akyts"}]]);var r=e.i(689664),d=e.i(508734),o=e.i(762368);let c=(0,n.default)("file-braces",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),u=(0,n.default)("chart-no-axes-column",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V3",key:"1lcnhd"}],["path",{d:"M19 21V9",key:"unv183"}]]);var m=e.i(716327),x=e.i(867927),p=e.i(929272),h=e.i(573474),g=e.i(861745),f=e.i(948148),j=e.i(271645),v=e.i(340953),b=e.i(929592),y=e.i(487486),S=e.i(519455),N=e.i(515288),C=e.i(82612),T=e.i(987968),w=e.i(677572),A=e.i(784774),I=e.i(520133),E=e.i(462777),k=e.i(637611),P=e.i(90969);let R=["DEBUGGING","RELEASE_TESTING","ENTERPRISE","APP_STORE_CONNECT"],B={DEBUGGING:"DEVELOPMENT",RELEASE_TESTING:"AD_HOC",ENTERPRISE:"ENTERPRISE",APP_STORE_CONNECT:"APP_STORE"};function D(e,t){return"*"===e||(e.endsWith(".*")?t.startsWith(e.slice(0,-1)):e===t)}var L=e.i(776639),O=e.i(110204),U=e.i(967489);let $=`query BuildSigningOptions($buildId: ID!) {
2
+ buildSigningOptions(buildId: $buildId) {
3
+ teams { id name }
4
+ identities { sha1 name teamId }
5
+ profiles {
6
+ uuid name teamId teamName bundleId type platforms expiresAt expired xcodeManaged
7
+ certificateSha1s
8
+ }
9
+ bundles { bundleId name relativePath embeddedProfileUuid embeddedProfileName }
10
+ }
11
+ }`;function F(e,t,s,i){let a=B[s];return e.filter(e=>e.type===a&&!e.expired&&(0===e.platforms.length||e.platforms.includes("iOS"))&&D(e.bundleId,t)&&(!i||!e.teamId||e.teamId===i))}function M({buildId:e,open:s,onOpenChange:i,onSaved:a}){let n=(0,f.useTranslations)("builds"),[l,r]=(0,j.useState)("DEBUGGING"),[d,o]=(0,j.useState)("AUTOMATIC"),[c,u]=(0,j.useState)(""),[m,x]=(0,j.useState)(""),[p,h]=(0,j.useState)({}),[g,v]=(0,j.useState)(!1),[y,N]=(0,j.useState)(null),[C,w]=(0,j.useState)(!1),[A,I]=(0,j.useState)(!1),[P,B]=(0,j.useState)(null),[_,V]=(0,j.useState)(null),G=(0,j.useCallback)(async()=>{w(!0),V(null);try{let t=await (0,k.controlPlaneRequest)($,{buildId:e});N(t.buildSigningOptions);let s=t.buildSigningOptions.bundles.map(e=>t.buildSigningOptions.profiles.find(t=>t.uuid===e.embeddedProfileUuid)).find(e=>e?.teamId);s?.teamId?u(s.teamId):1===t.buildSigningOptions.teams.length&&u(t.buildSigningOptions.teams[0].id)}catch(e){V(e instanceof Error?e.message:String(e))}finally{w(!1)}},[e]);(0,j.useEffect)(()=>{if(!s)return;let e=window.setTimeout(()=>void G(),0);return()=>window.clearTimeout(e)},[s,G]);let q=`${l}:${c}`,[z,H]=(0,j.useState)(q);q!==z&&(H(q),h({}),x(""));let W="MANUAL"===d,J=Object.fromEntries((y?.bundles??[]).flatMap(e=>{let t=F(y?.profiles??[],e.bundleId,l,c),s=p[e.bundleId]??function(e,t){if(!e.length)return null;let s=e.find(e=>e.uuid===t.embeddedProfileUuid);return s||[...e].sort((e,t)=>(t.expiresAt??"").localeCompare(e.expiresAt??""))[0]}(t,e)?.uuid;return s?[[e.bundleId,s]]:[]})),Q=Object.values(J).flatMap(e=>{let t=y?.profiles.find(t=>t.uuid===e);return t?[t]:[]}),K=Q.length>0&&Q.every(e=>e.certificateSha1s?.length),X=(y?.identities??[]).filter(e=>K?Q.every(t=>t.certificateSha1s.includes(e.sha1.toUpperCase())):!c||!e.teamId||e.teamId===c),Y=X.some(e=>e.sha1===m)?m:"",Z=async()=>{I(!0);try{await (0,k.controlPlaneRequest)(`mutation ExportArchive($input: ExportBuildArchiveInput!) {
12
+ exportBuildArchive(input: $input) { id status }
13
+ }`,{input:{buildId:e,requestId:(0,E.createClientId)(),settings:{method:l,signingStyle:d,teamId:c||null,signingCertificate:Y?X.find(e=>e.sha1===Y)?.name??null:null,provisioningProfiles:W?J:{},uploadSymbols:!0,manageAppVersionAndBuildNumber:!0,testFlightInternalTestingOnly:!1}}}),await a(),i(!1)}catch(e){B(e instanceof Error?e.message:String(e))}finally{I(!1)}},ee=W&&(y?.bundles??[]).some(e=>!J[e.bundleId]);return(0,t.jsx)(L.Dialog,{onOpenChange:i,open:s,children:(0,t.jsxs)(L.DialogContent,{className:"max-h-[85vh] grid-cols-[minmax(0,1fr)] overflow-y-auto sm:max-w-2xl",children:[(0,t.jsxs)(L.DialogHeader,{children:[(0,t.jsx)(L.DialogTitle,{children:n("exportArchive")}),(0,t.jsx)(L.DialogDescription,{children:n("exportArchiveDescription")})]}),P&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsx)(b.AlertDescription,{children:P})}),_&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsxs)(b.AlertDescription,{children:[n("signingOptionsFailed")," ",_]})}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("distributionMethod")}),(0,t.jsxs)(U.Select,{onValueChange:e=>r(e),value:l,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{})}),(0,t.jsx)(U.SelectContent,{children:R.map(e=>(0,t.jsx)(U.SelectItem,{value:e,children:n(`exportMethod.${e}`)},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("developmentTeam")}),(0,t.jsxs)(U.Select,{disabled:C||!y?.teams.length,onValueChange:u,value:c,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:C?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(U.SelectValue,{placeholder:n("selectTeam")})}),(0,t.jsx)(U.SelectContent,{children:(y?.teams??[]).map(e=>(0,t.jsxs)(U.SelectItem,{value:e.id,children:[e.name," (",e.id,")"]},e.id))})]}),!C&&y&&!y.teams.length&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:n("noTeams")})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("signingStyle")}),(0,t.jsxs)(U.Select,{onValueChange:o,value:d,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{})}),(0,t.jsxs)(U.SelectContent,{children:[(0,t.jsx)(U.SelectItem,{value:"AUTOMATIC",children:n("automatic")}),(0,t.jsx)(U.SelectItem,{value:"MANUAL",children:n("manual")})]})]})]}),W&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(O.Label,{children:n("signingCertificate")}),(0,t.jsxs)(U.Select,{disabled:C||!X.length,onValueChange:x,value:Y,children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{placeholder:n("certificateAutomatic")})}),(0,t.jsx)(U.SelectContent,{children:X.map(e=>(0,t.jsx)(U.SelectItem,{value:e.sha1,children:e.name},e.sha1))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(O.Label,{children:n("provisioningProfiles")}),(0,t.jsx)(S.Button,{onClick:()=>v(e=>!e),size:"sm",type:"button",variant:"ghost",children:g?n("showMatching"):n("showAllProfiles")})]}),C&&(0,t.jsx)(T.Spinner,{}),!C&&!y?.bundles.length&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:n("noArchiveBundles")}),(y?.bundles??[]).map(e=>{let s=F(y?.profiles??[],e.bundleId,l,c),i=g?(y?.profiles??[]).filter(t=>D(t.bundleId,e.bundleId)):s;return(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,t.jsx)("p",{className:"mb-2 break-all font-mono text-xs text-muted-foreground",children:e.bundleId}),(0,t.jsxs)(U.Select,{onValueChange:t=>h(s=>({...s,[e.bundleId]:t})),value:J[e.bundleId]??"",children:[(0,t.jsx)(U.SelectTrigger,{className:"w-full min-w-0",children:(0,t.jsx)(U.SelectValue,{placeholder:n("selectProfile")})}),(0,t.jsx)(U.SelectContent,{children:i.map(e=>{let s;return(0,t.jsxs)(U.SelectItem,{value:e.uuid,children:[(s=e.expiresAt?new Date(e.expiresAt).toLocaleDateString():null)?`${e.name} — ${s}`:e.name,e.expired?` (${n("profileExpired")})`:""]},e.uuid)})})]}),!s.length&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:n("noMatchingProfiles")})]},e.bundleId)})]})]})]}),(0,t.jsxs)(L.DialogFooter,{children:[(0,t.jsx)(S.Button,{onClick:()=>i(!1),variant:"outline",children:n("cancel")}),(0,t.jsxs)(S.Button,{disabled:A||ee,onClick:()=>void Z(),children:[A&&(0,t.jsx)(T.Spinner,{})," ",n("exportArchive")]})]})]})})}let _=(0,n.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var V=e.i(986206);let G=null;function q(){return G??={origin:window.location.origin,secure:"https:"===window.location.protocol,apple:/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&(navigator.maxTouchPoints??0)>1}}let z=()=>()=>{};function H({buildId:e,artifactId:s,metadata:i}){let a=(0,f.useTranslations)("builds"),n=(0,j.useSyncExternalStore)(z,q,()=>null),[l,r]=(0,j.useState)(!1),[d,o]=(0,j.useState)(!1),c=`/api/builds/${encodeURIComponent(e)}/artifacts/${encodeURIComponent(s)}`,u=n?`${n.origin}${c}/manifest.plist`:null,m=n?n.secure?"APP_STORE_CONNECT"===i.exportMethod?a("installNotSupportedForAppStore"):"string"!=typeof i.bundleIdentifier?a("installMissingBundleIdentifier"):null:a("installRequiresHttps"):null,x=!n||null!==m||l,p=async()=>{if(u){r(!0);try{await fetch(c,{method:"HEAD"}).catch(()=>{}),window.location.href=`itms-services://?action=download-manifest&url=${encodeURIComponent(u)}`}finally{r(!1)}}},h=async()=>{await (0,E.copyText)(window.location.href),o(!0),setTimeout(()=>o(!1),2e3)};return(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&!n.apple&&!m&&(0,t.jsxs)(S.Button,{onClick:()=>void h(),size:"sm",type:"button",variant:"ghost",children:[(0,t.jsx)(_,{})," ",a(d?"installLinkCopied":"copyInstallLink")]}),(0,t.jsxs)(S.Button,{disabled:x,onClick:()=>void p(),size:"sm",type:"button",variant:"outline",children:[l?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(V.Smartphone,{}),a(l?"installPreparing":"installOnDevice")]})]}),m&&(0,t.jsx)("p",{className:"text-right text-xs text-muted-foreground",children:m}),!m&&n&&!n.apple&&(0,t.jsx)("p",{className:"text-right text-xs text-muted-foreground",children:a("installOpenOnDevice")})]})}var W=e.i(771777),J=e.i(866026);let Q=`
14
+ id requestId jobId status action destinationType destination snapshot commandSummary artifactDirectory errorCode error outOfDate
15
+ createdAt startedAt finishedAt durationMs updatedAt
16
+ configuration {
17
+ id name iconKey scheme buildConfiguration defaultAction advancedSettings createdAt updatedAt
18
+ source { id kind relativePath }
19
+ }
20
+ artifacts { id kind relativePath sizeBytes checksum metadata createdAt }
21
+ reports {
22
+ id kind source status summary data error createdAt updatedAt finishedAt
23
+ artifact { id kind relativePath sizeBytes checksum metadata createdAt }
24
+ }
25
+ scriptExecutions { id phase position nameSnapshot status exitCode durationMs causedBuildFailure outputRelativePath error }
26
+ deployments { id batchId destination status commandSummary outputRelativePath error createdAt startedAt finishedAt }
27
+ exports { id status settings commandSummary outputRelativePath error createdAt startedAt finishedAt }
28
+ `,K="id scope scopeId sequence phase level stream message createdAt",X=new Set(["IPA"]);function Y(e){return e.split("_").filter(Boolean).map(e=>X.has(e)?e:`${e.charAt(0).toLocaleUpperCase()}${e.slice(1).toLocaleLowerCase()}`).join(" ")}let Z=["packageResolution","disablePackageRepositoryCache","signingStyle","developmentTeam","codeSignIdentity","provisioningProfileSpecifier","productBundleIdentifier","allowProvisioningUpdates","allowProvisioningDeviceRegistration","testPlan","codeCoverage","parseTestResults","parallelTesting","parallelTestingWorkers","onlyTesting","skipTesting","buildSettingOverrides","priorBuildForTestingId","priorTestProductsPath","priorXctestrunPath"],ee={packageResolution:"DEFAULT",disablePackageRepositoryCache:!1,signingStyle:"PROJECT_DEFAULT",developmentTeam:null,codeSignIdentity:null,provisioningProfileSpecifier:null,productBundleIdentifier:null,allowProvisioningUpdates:!1,allowProvisioningDeviceRegistration:!1,testPlan:null,codeCoverage:!1,parseTestResults:!0,parallelTesting:null,parallelTestingWorkers:null,onlyTesting:[],skipTesting:[],buildSettingOverrides:{},priorBuildForTestingId:null,priorTestProductsPath:null,priorXctestrunPath:null};function et({settings:e}){let s=(0,f.useTranslations)("builds"),i={packageResolution:s("packageResolution"),disablePackageRepositoryCache:s("disablePackageRepositoryCache"),signingStyle:s("signingStyle"),developmentTeam:s("developmentTeam"),codeSignIdentity:s("codeSignIdentity"),provisioningProfileSpecifier:s("provisioningProfileSpecifier"),productBundleIdentifier:s("productBundleIdentifier"),allowProvisioningUpdates:s("allowProvisioningUpdates"),allowProvisioningDeviceRegistration:s("allowProvisioningDeviceRegistration"),testPlan:s("testPlan"),codeCoverage:s("codeCoverage"),parseTestResults:s("parseTestResults"),parallelTesting:s("parallelTesting"),parallelTestingWorkers:s("parallelTestingWorkers"),onlyTesting:s("onlyTesting"),skipTesting:s("skipTesting"),buildSettingOverrides:s("buildSettingOverrides"),priorBuildForTestingId:s("priorBuildForTesting"),priorTestProductsPath:s("priorTestProductsPath"),priorXctestrunPath:s("priorXctestrunPath")},a=new Set(Z),n=e?[...Z.filter(t=>Object.hasOwn(e,t)),...Object.keys(e).filter(e=>!a.has(e)).sort()].filter(t=>{var s;return s=e[t],Object.hasOwn(ee,t)?JSON.stringify(s)!==JSON.stringify(ee[t]):null!=s&&""!==s&&!1!==s&&(Array.isArray(s)?s.length>0:"object"!=typeof s||Object.keys(s).length>0)}):[];return e&&n.length?(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:s("advancedSettings")})}),(0,t.jsx)(N.CardContent,{children:(0,t.jsx)("dl",{className:"space-y-3 text-sm",children:n.map(s=>(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-xs text-muted-foreground",children:i[s]??Y(s.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replaceAll("-","_"))}),(0,t.jsx)("dd",{className:"mt-0.5 min-w-0",children:(0,t.jsx)(es,{value:e[s]})})]},s))})})]}):null}function es({value:e}){let s=(0,f.useTranslations)("builds");if("boolean"==typeof e)return(0,t.jsx)(y.Badge,{variant:e?"default":"secondary",children:s(e?"settingsEnabled":"settingsDisabled")});if(null==e||""===e)return(0,t.jsx)(t.Fragment,{children:"—"});if(Array.isArray(e))return e.length?(0,t.jsx)("span",{className:"break-words font-mono text-xs",children:e.map(String).join(", ")}):(0,t.jsx)(t.Fragment,{children:"—"});if("object"==typeof e){let s=JSON.stringify(e);return s&&"{}"!==s?(0,t.jsx)("span",{className:"break-all font-mono text-xs",children:s}):(0,t.jsx)(t.Fragment,{children:"—"})}return"string"==typeof e&&/^[A-Z][A-Z0-9_]*$/.test(e)?(0,t.jsx)(t.Fragment,{children:Y(e)}):(0,t.jsx)("span",{className:"break-words font-mono text-xs",children:String(e)})}function ei(e){return"string"==typeof e&&e.trim()?e:null}function ea(e,t){return"ALL"===t||String(e.result??"unknown").toLocaleUpperCase()===t}function en({report:e}){let s=(0,f.useTranslations)("builds"),[i,a]=(0,j.useState)("ALL"),n=Array.isArray(e.data.tests)?e.data.tests:[],l=Array.isArray(e.data.devices)?e.data.devices:[],r=t=>"number"==typeof e.summary[t]?Number(e.summary[t]):0,d=(function(e){let t=new Map;for(let s of e){let e=ei(s.bundle),i=ei(s.suite),a=ei(s.plan),n=ei(s.configuration),l=i??e,r=JSON.stringify([a,n,e,l]),d=t.get(r)??{key:r,name:l,bundle:e,plan:a,configuration:n,tests:[]};d.tests.push(s),t.set(r,d)}return[...t.values()].sort((e,t)=>(e.name??"").localeCompare(t.name??"",void 0,{numeric:!0,sensitivity:"base"}))})(n).filter(e=>e.tests.some(e=>ea(e,i)));return(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:s("testResults")})}),(0,t.jsx)(N.CardContent,{className:"space-y-4",children:"FAILED"===e.status?(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsx)(b.AlertDescription,{children:e.error??s("testResultsFailed")})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(y.Badge,{variant:"outline",children:s("testTotal",{count:r("total")})}),(0,t.jsx)(y.Badge,{className:"bg-emerald-600 text-white dark:bg-emerald-700",children:s("testPassed",{count:r("passed")})}),(0,t.jsx)(y.Badge,{variant:r("failed")?"destructive":"outline",children:s("testFailed",{count:r("failed")})}),(0,t.jsx)(y.Badge,{className:"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:s("testSkipped",{count:r("skipped")})}),l.map((e,s)=>(0,t.jsxs)(y.Badge,{variant:"outline",children:[String(e.deviceName??e.modelName??"Device")," ·"," ",String(e.osVersion??"—")]},s))]}),(0,t.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,t.jsx)(w.Tabs,{onValueChange:e=>a(e),value:i,children:(0,t.jsxs)(w.TabsList,{"aria-label":s("testResultFilters"),children:[(0,t.jsx)(w.TabsTrigger,{value:"ALL",children:s("testFilterAll",{count:n.length})}),(0,t.jsx)(w.TabsTrigger,{value:"PASSED",children:s("testFilterPassed",{count:r("passed")})}),(0,t.jsx)(w.TabsTrigger,{value:"FAILED",children:s("testFilterFailed",{count:r("failed")})}),(0,t.jsx)(w.TabsTrigger,{value:"SKIPPED",children:s("testFilterSkipped",{count:r("skipped")})})]})})}),(0,t.jsx)("div",{className:"divide-y rounded-md border",children:d.map(e=>(0,t.jsx)(el,{filter:i,group:e},e.key))})]})})]})}function el({filter:e,group:s}){let i=(0,f.useTranslations)("builds"),a=(0,g.useLocale)(),[n,l]=(0,j.useState)(!1),r=s.name??i("testsWithoutSuite"),d=s.tests.filter(e=>"Passed"===e.result).length,o=s.tests.length?d/s.tests.length:0,c=new Intl.NumberFormat(a,{style:"percent",maximumFractionDigits:1}).format(o),u=s.tests.filter(t=>ea(t,e)),p=new Map;for(let e of u){let t=function(e){let t=ei(e.file);if(t)return t;let s=ei(e.suite);return s||(ei(e.identifier)?.split("/")[0]??null)}(e)??i("testsWithoutFile");p.set(t,[...p.get(t)??[],e])}let h=[s.bundle,s.configuration,s.plan].filter(Boolean).join(" · ");return(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{"aria-expanded":n,"aria-label":i(n?"collapseTestSuite":"expandTestSuite",{suite:r}),className:"flex min-h-8 w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-muted/40",onClick:()=>l(e=>!e),type:"button",children:[n?(0,t.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0"}):(0,t.jsx)(x.ChevronRight,{className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:r}),h&&(0,t.jsx)("span",{className:"hidden shrink-0 text-xs text-muted-foreground sm:inline",children:h}),(0,t.jsx)(y.Badge,{className:1===o?"border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":o>=.5?"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"",variant:o<.5?"destructive":"outline",children:i("testSuitePassed",{passed:d,total:s.tests.length,percent:c})})]}),n&&(0,t.jsx)("div",{className:"border-t bg-muted/10 p-2",children:(0,t.jsx)("div",{className:"divide-y rounded-md border bg-background",children:[...p.entries()].sort(([e],[t])=>e.localeCompare(t,a,{numeric:!0,sensitivity:"base"})).map(([e,s])=>(0,t.jsx)(er,{file:e,tests:s},e))})})]})}function er({file:e,tests:s}){let i=(0,f.useTranslations)("builds"),[a,n]=(0,j.useState)(!1);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{"aria-expanded":a,"aria-label":i(a?"collapseTestFile":"expandTestFile",{file:e}),className:"flex min-h-8 w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-muted/40",onClick:()=>n(e=>!e),type:"button",children:[a?(0,t.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0"}):(0,t.jsx)(x.ChevronRight,{className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",title:e,children:e}),(0,t.jsx)(y.Badge,{variant:"outline",children:i("testTotal",{count:s.length})})]}),a&&(0,t.jsx)("div",{className:"border-t overflow-auto",children:(0,t.jsxs)(A.Table,{"aria-label":e,className:"min-w-[38rem] text-xs",children:[(0,t.jsx)(A.TableHeader,{children:(0,t.jsxs)(A.TableRow,{children:[(0,t.jsx)(A.TableHead,{className:"h-8 px-2",children:i("testStatus")}),(0,t.jsx)(A.TableHead,{className:"h-8 px-2",children:i("testName")}),(0,t.jsx)(A.TableHead,{className:"h-8 px-2 text-right",children:i("testDuration")})]})}),(0,t.jsx)(A.TableBody,{children:s.map((e,s)=>{let i=Array.isArray(e.details)?e.details.filter(e=>"string"==typeof e):[],a=Array.isArray(e.tags)?e.tags.filter(e=>"string"==typeof e):[],n=String(e.name??"—"),l=ei(e.identifier);return(0,t.jsxs)(A.TableRow,{children:[(0,t.jsx)(A.TableCell,{className:"px-2 py-1.5",children:(0,t.jsx)(ed,{result:String(e.result??"unknown")})}),(0,t.jsxs)(A.TableCell,{className:"max-w-xl px-2 py-1.5 whitespace-normal",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)("span",{className:"font-mono font-medium",children:n}),a.map(e=>(0,t.jsx)(y.Badge,{variant:"outline",children:e},e))]}),l&&l!==n&&(0,t.jsx)("p",{className:"truncate font-mono text-muted-foreground",title:l,children:l}),i.map((e,s)=>(0,t.jsx)("p",{className:"mt-1 text-destructive",children:e},s))]}),(0,t.jsx)(A.TableCell,{className:"px-2 py-1.5 text-right tabular-nums",children:"number"==typeof e.durationSeconds?`${e.durationSeconds.toFixed(3)}s`:"—"})]},`${l??n}:${s}`)})})]})})]})}function ed({result:e}){let s=e.toLocaleLowerCase();return(0,t.jsx)(y.Badge,{className:"passed"===s?"border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"skipped"===s?"border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300":"expected failure"===s?"border-violet-500/40 bg-violet-500/10 text-violet-700 dark:text-violet-300":"",variant:"failed"===s?"destructive":"outline",children:e})}function eo({label:e,value:s,mono:i=!1}){return(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("dd",{className:i?"mt-0.5 break-all font-mono text-xs":"mt-0.5",children:s})]})}e.s(["BuildDetailPage",0,function({buildId:e}){let n=(0,f.useTranslations)("builds"),w=(0,g.useLocale)(),A=(0,I.useRouter)(),[R,B]=(0,j.useState)(null),[D,L]=(0,j.useState)([]),[O,U]=(0,j.useState)(!0),[$,F]=(0,j.useState)(null),[_,V]=(0,j.useState)(!1),[G,q]=(0,j.useState)(null),[z,X]=(0,j.useState)(!1),[Z,ee]=(0,j.useState)(!1),[es,ei]=(0,j.useState)(!1),[ea,el]=(0,j.useState)(!0),er=(0,j.useRef)(null),ed=(0,j.useCallback)(async()=>{try{let t=await (0,k.controlPlaneRequest)(`query BuildDetail($id: ID!) {
29
+ build(id: $id) { ${Q} }
30
+ buildLogs(buildId: $id, first: 5000) { ${K} }
31
+ }`,{id:e});B(t.build),L(t.buildLogs),F(null)}catch(e){F(e instanceof Error?e.message:String(e))}finally{U(!1)}},[e]);(0,j.useEffect)(()=>{let e=window.setTimeout(()=>void ed(),0);return()=>window.clearTimeout(e)},[ed]),(0,j.useEffect)(()=>{let t=(0,k.controlPlaneSubscriptions)().subscribe({query:"subscription BuildChanged($id: ID!) { buildChanged(id: $id) { id } }",variables:{id:e}},{next:()=>void ed(),error:()=>void 0,complete:()=>void 0}),s=(0,k.controlPlaneSubscriptions)().subscribe({query:`subscription BuildLogAdded($buildId: ID!) {
32
+ buildLogAdded(buildId: $buildId) { ${K} }
33
+ }`,variables:{buildId:e}},{next:e=>{let t=e.data?.buildLogAdded;t&&L(e=>e.some(e=>e.id===t.id)?e:[...e,t])},error:()=>void 0,complete:()=>void 0});return()=>{t(),s()}},[e,ed]);let ec=null!==R&&(["QUEUED","PREPARING","RUNNING"].includes(R.status)||R.deployments.some(e=>["QUEUED","RUNNING"].includes(e.status))||R.exports.some(e=>["QUEUED","RUNNING"].includes(e.status)));(0,j.useEffect)(()=>{if(!ec)return;let e=window.setInterval(()=>void ed(),2e3);return()=>window.clearInterval(e)},[ec,ed]),(0,j.useEffect)(()=>{ec&&er.current&&(er.current.scrollTop=er.current.scrollHeight)},[ec,D]),(0,j.useEffect)(()=>{if(!es)return;let e=window.setTimeout(()=>ei(!1),2e3);return()=>window.clearTimeout(e)},[es]);let eu=async()=>{V(!0);try{await (0,k.controlPlaneRequest)("mutation CancelBuild($id: ID!) { cancelBuild(id: $id) { id status } }",{id:e}),await ed()}catch(e){F(e instanceof Error?e.message:String(e))}finally{V(!1)}},em=async()=>{V(!0),F(null);try{await (0,k.controlPlaneRequest)("mutation DeleteBuild($ids: [ID!]!) { deleteBuilds(ids: $ids) }",{ids:[e]}),A.replace("/builds")}catch(e){F(e instanceof Error?e.message:String(e)),ee(!1)}finally{V(!1)}},ex=R?.artifacts.some(e=>"RUNNABLE_APP"===e.kind),ep=R?.artifacts.some(e=>"ARCHIVE"===e.kind),eh=R?.reports?.find(e=>"TEST_RESULTS"===e.kind),eg=R?.reports?.find(e=>"CODE_COVERAGE"===e.kind),ef=R?.artifacts.find(e=>"RESULT_BUNDLE"===e.kind),ej=!!R&&["TEST","TEST_WITHOUT_BUILDING"].includes(R.action),ev=R?.snapshot??{},eb=ev.repository,ey=ev.worktree,eS=ev.configuration,eN=ef?.metadata.coverageAvailable===!0||eS?.advancedSettings?.codeCoverage===!0,eC=e=>e?new Date(e).toLocaleString(w):"—",eT=async e=>{try{await (0,E.copyText)(e),ei(!0)}catch{F(n("copyFailed"))}},ew=async t=>{q(t),F(null);try{let s="TEST_RESULTS"===t?"parseBuildTestResults":"generateBuildCoverageReport";await (0,k.controlPlaneRequest)(`mutation GenerateBuildReport($buildId: ID!, $requestId: ID!) {
34
+ ${s}(buildId: $buildId, requestId: $requestId) { id status error }
35
+ }`,{buildId:e,requestId:(0,E.createClientId)()}),await ed()}catch(e){F(e instanceof Error?e.message:String(e))}finally{q(null)}},eA=e=>{let t=er.current;t&&t.scrollTo({behavior:"smooth",top:"top"===e?0:t.scrollHeight})};return O?(0,t.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-muted-foreground",children:[(0,t.jsx)(T.Spinner,{})," ",n("loading")]}):R?(0,t.jsxs)("section",{className:"mx-auto flex min-w-0 w-full max-w-6xl flex-col gap-5",children:[(0,t.jsx)("div",{children:(0,t.jsx)(S.Button,{asChild:!0,className:"-ml-2",size:"sm",variant:"ghost",children:(0,t.jsxs)(I.Link,{href:"/builds",children:[(0,t.jsx)(i.ArrowLeft,{})," ",n("backToBuilds")]})})}),$&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsx)(b.AlertDescription,{children:$})}),R.error&&(0,t.jsx)(b.Alert,{variant:"destructive",children:(0,t.jsxs)(b.AlertDescription,{children:[R.errorCode?`${R.errorCode}: `:"",R.error]})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:eb?.name??"—"}),(0,t.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold",children:eS?.name??R.id}),(0,t.jsx)(y.Badge,{variant:(0,P.buildStatusVariant)(R.status),children:n(`statuses.${R.status}`)}),(0,t.jsx)(y.Badge,{variant:"outline",children:n(`actions.${R.action}`)}),R.outOfDate&&(0,t.jsx)(y.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:n("outOfDate")})]}),(0,t.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[ey?.branch??ey?.folder??"—"," ·"," ",R.destination.name]}),(0,t.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[n("buildId"),": ",R.id]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(W.RebuildButton,{buildId:R.id,onCompleted:e=>A.push(`/builds/${e.id}`),onError:F}),["QUEUED","PREPARING","RUNNING"].includes(R.status)&&(0,t.jsxs)(S.Button,{disabled:_,onClick:()=>void eu(),variant:"destructive",children:[_?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(p.Square,{})," ",n("cancelBuild")]}),"SUCCEEDED"===R.status&&ex&&(0,t.jsx)(J.RunBuildControls,{buildId:R.id,destinationType:R.destinationType,onCompleted:ed,onError:F,preferredDestination:R.destination}),"SUCCEEDED"===R.status&&ep&&(0,t.jsxs)(S.Button,{onClick:()=>X(!0),variant:"outline",children:[(0,t.jsx)(s.Archive,{})," ",n("exportArchive")]}),!ec&&ej&&ef&&eh?.status!=="READY"&&(0,t.jsxs)(S.Button,{disabled:null!==G,onClick:()=>void ew("TEST_RESULTS"),variant:"outline",children:["TEST_RESULTS"===G?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(c,{}),eh?.status==="FAILED"?n("retryParseTestResults"):n("parseTestResultsAction")]}),!ec&&ef&&eN&&eg?.status!=="READY"&&(0,t.jsxs)(S.Button,{disabled:null!==G,onClick:()=>void ew("CODE_COVERAGE"),variant:"outline",children:["CODE_COVERAGE"===G?(0,t.jsx)(T.Spinner,{}):(0,t.jsx)(u,{}),eg?.status==="FAILED"?n("retryCoverageReport"):n("generateCoverageReport")]}),eg?.status==="READY"&&(0,t.jsx)(S.Button,{asChild:!0,variant:"outline",children:(0,t.jsxs)(I.Link,{href:`/builds/${R.id}/coverage`,children:[(0,t.jsx)(u,{})," ",n("viewCoverageReport")]})}),(0,t.jsxs)(S.Button,{disabled:_||["QUEUED","PREPARING","RUNNING"].includes(R.status),onClick:()=>ee(!0),variant:"destructive",children:[(0,t.jsx)(h.Trash2,{})," ",n("deleteBuild")]})]})]}),eh&&(0,t.jsx)(en,{report:eh}),(0,t.jsxs)("div",{className:"grid min-w-0 gap-5 lg:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,t.jsxs)(N.Card,{className:"gap-0 py-0",children:[(0,t.jsx)(N.CardHeader,{className:ea?"border-b bg-muted/40 py-3":"bg-muted/40 py-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)(S.Button,{"aria-expanded":ea,className:"-m-2 h-auto min-w-0 flex-1 justify-start p-2 text-left aria-expanded:bg-transparent aria-expanded:hover:bg-muted dark:aria-expanded:bg-transparent dark:aria-expanded:hover:bg-muted/50",onClick:()=>el(e=>!e),type:"button",variant:"ghost",children:(0,t.jsx)("span",{className:"truncate font-medium",children:n("logs")})}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[ea&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.Button,{"aria-label":n("scrollLogsToTop"),onClick:()=>eA("top"),size:"icon-xs",type:"button",variant:"outline",children:(0,t.jsx)(l,{})}),(0,t.jsx)(S.Button,{"aria-label":n("scrollLogsToBottom"),onClick:()=>eA("bottom"),size:"icon-xs",type:"button",variant:"outline",children:(0,t.jsx)(a.ArrowDownToLine,{})})]}),(0,t.jsx)(S.Button,{"aria-expanded":ea,"aria-label":n(ea?"collapseLogs":"expandLogs"),onClick:()=>el(e=>!e),size:"icon-sm",title:n(ea?"collapseLogs":"expandLogs"),type:"button",variant:"ghost",children:ea?(0,t.jsx)(m.ChevronDown,{className:"size-5"}):(0,t.jsx)(x.ChevronRight,{className:"size-5"})})]})]})}),ea&&(0,t.jsx)(N.CardContent,{className:"py-4",children:(0,t.jsx)("pre",{className:"max-h-[calc(100svh-8rem)] w-full min-w-0 max-w-full overflow-auto rounded-lg bg-neutral-950 p-3 text-xs whitespace-pre-wrap text-neutral-100 [overflow-wrap:anywhere] sm:max-h-[48rem]",ref:er,children:D.length?D.map(e=>`[${e.phase}] ${e.message}`).join("\n"):n("noLogs")})})]}),(0,t.jsxs)(N.Card,{children:[(0,t.jsxs)(N.CardHeader,{children:[(0,t.jsx)(N.CardTitle,{children:n("commandSummary")}),(0,t.jsx)(N.CardAction,{children:(0,t.jsx)(S.Button,{"aria-label":es?n("commandCopied"):n("copyCommand"),onClick:()=>void eT(R.commandSummary),size:"icon-sm",type:"button",variant:"ghost",children:es?(0,t.jsx)(r.Check,{}):(0,t.jsx)(d.Copy,{})})})]}),(0,t.jsx)(N.CardContent,{children:(0,t.jsx)("pre",{className:"w-full min-w-0 max-w-full overflow-x-auto rounded-lg bg-muted p-3 text-xs whitespace-pre-wrap [overflow-wrap:anywhere]",children:R.commandSummary})})]}),(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("scripts")})}),(0,t.jsx)(N.CardContent,{className:"space-y-2",children:R.scriptExecutions.length?R.scriptExecutions.map(e=>(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-lg border p-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm font-medium",children:[e.nameSnapshot," ·"," ",Y(e.phase)]}),e.error&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:e.error})]}),(0,t.jsx)(y.Badge,{variant:"FAILED"===e.status?"destructive":"outline",children:Y(e.status)})]},e.id)):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n("noScriptExecutions")})})]})]}),(0,t.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("overview")})}),(0,t.jsx)(N.CardContent,{children:(0,t.jsxs)("dl",{className:"space-y-3 text-sm",children:[(0,t.jsx)(eo,{label:n("buildId"),value:R.id,mono:!0}),(0,t.jsx)(eo,{label:n("scheme"),value:eS?.scheme??"—",mono:!0}),(0,t.jsx)(eo,{label:n("configuration"),value:eS?.buildConfiguration??"—",mono:!0}),(0,t.jsx)(eo,{label:n("head"),value:ey?.headSha??"—",mono:!0}),(0,t.jsx)(eo,{label:n("startedAt"),value:eC(R.startedAt)}),(0,t.jsx)(eo,{label:n("finishedAt"),value:eC(R.finishedAt)}),(0,t.jsx)(eo,{label:n("artifactDirectory"),value:R.artifactDirectory,mono:!0})]})})]}),(0,t.jsx)(et,{settings:eS?.advancedSettings}),(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("artifacts")})}),(0,t.jsx)(N.CardContent,{className:"space-y-2",children:R.artifacts.length?R.artifacts.map(e=>{let s="IPA"===e.kind,i=e.metadata??{};return(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(y.Badge,{variant:"outline",children:Y(e.kind)}),(0,t.jsx)(S.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)("a",{download:!0,href:`/api/builds/${encodeURIComponent(R.id)}/artifacts/${encodeURIComponent(e.id)}`,children:[(0,t.jsx)(o.Download,{})," ",s?n("downloadIpa"):n("downloadArtifact")]})})]}),(0,t.jsx)("p",{className:"mt-1 break-all font-mono text-xs text-muted-foreground",children:e.relativePath}),s&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("dl",{className:"mt-2 space-y-1 text-xs text-muted-foreground",children:["string"==typeof i.bundleIdentifier&&(0,t.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,t.jsx)("dt",{children:n("ipaBundleIdentifier")}),(0,t.jsx)("dd",{className:"break-all font-mono",children:i.bundleIdentifier})]}),"string"==typeof i.bundleShortVersion&&(0,t.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,t.jsx)("dt",{children:n("ipaBundleVersion")}),(0,t.jsx)("dd",{className:"font-mono",children:i.bundleShortVersion})]})]}),(0,t.jsx)("div",{className:"mt-2 flex justify-end",children:(0,t.jsx)(H,{artifactId:e.id,buildId:R.id,metadata:i})})]})]},e.id)}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n("noArtifacts")})})]}),(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{children:(0,t.jsx)(N.CardTitle,{children:n("runsAndExports")})}),(0,t.jsxs)(N.CardContent,{className:"space-y-2",children:[R.deployments.map(e=>(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e.destination.name}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsx)(y.Badge,{variant:"FAILED"===e.status?"destructive":"outline",children:Y(e.status)}),(0,t.jsx)("time",{className:"text-xs text-muted-foreground",children:eC(e.finishedAt??e.startedAt??e.createdAt)})]})]}),e.error&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:e.error})]},e.id)),R.exports.map(e=>(0,t.jsxs)("div",{className:"rounded-lg border p-2",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:n("archiveExport")}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsx)(y.Badge,{variant:"FAILED"===e.status?"destructive":"outline",children:Y(e.status)}),(0,t.jsx)("time",{className:"text-xs text-muted-foreground",children:eC(e.finishedAt??e.startedAt??e.createdAt)})]})]}),e.outputRelativePath&&(0,t.jsx)("p",{className:"mt-1 font-mono text-xs",children:e.outputRelativePath}),e.error&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:e.error})]},e.id)),!R.deployments.length&&!R.exports.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n("noRunsOrExports")})]})]})]})]}),z&&(0,t.jsx)(M,{buildId:R.id,onOpenChange:X,onSaved:ed,open:z}),(0,t.jsx)(v.ConfirmationDialog,{actionLabel:n("deleteBuild"),cancelLabel:n("cancel"),description:n("deleteBuildDescription"),onConfirm:em,onOpenChange:ee,open:Z,title:n("deleteBuildTitle")})]}):(0,t.jsxs)(C.Empty,{className:"mx-auto max-w-6xl border py-12",children:[(0,t.jsxs)(C.EmptyHeader,{children:[(0,t.jsx)(C.EmptyTitle,{children:n("buildNotFound")}),(0,t.jsx)(C.EmptyDescription,{children:n("buildNotFoundDescription")})]}),(0,t.jsx)(S.Button,{asChild:!0,variant:"outline",children:(0,t.jsxs)(I.Link,{href:"/builds",children:[(0,t.jsx)(i.ArrowLeft,{})," ",n("backToBuilds")]})})]})}],885325)}]);