@ai-development-environment/server 0.0.29 → 0.0.30

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