dev3000 0.0.96 → 0.0.98

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 (281) hide show
  1. package/dist/dev-environment.d.ts +1 -0
  2. package/dist/dev-environment.d.ts.map +1 -1
  3. package/dist/dev-environment.js +31 -7
  4. package/dist/dev-environment.js.map +1 -1
  5. package/dist/src/tui-interface-impl.tsx +12 -5
  6. package/dist/tui-interface-impl.d.ts.map +1 -1
  7. package/dist/tui-interface-impl.js +12 -5
  8. package/dist/tui-interface-impl.js.map +1 -1
  9. package/mcp-server/.next/BUILD_ID +1 -1
  10. package/mcp-server/.next/build-manifest.json +10 -8
  11. package/mcp-server/.next/fallback-build-manifest.json +5 -3
  12. package/mcp-server/.next/images-manifest.json +2 -8
  13. package/mcp-server/.next/next-minimal-server.js.nft.json +1 -1
  14. package/mcp-server/.next/next-server.js.nft.json +1 -1
  15. package/mcp-server/.next/prerender-manifest.json +3 -3
  16. package/mcp-server/.next/required-server-files.json +18 -19
  17. package/mcp-server/.next/server/app/_global-error/page/build-manifest.json +5 -5
  18. package/mcp-server/.next/server/app/_global-error/page.js +8 -8
  19. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -1
  20. package/mcp-server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  21. package/mcp-server/.next/server/app/_global-error.html +2 -2
  22. package/mcp-server/.next/server/app/_global-error.meta +1 -6
  23. package/mcp-server/.next/server/app/_global-error.rsc +13 -11
  24. package/mcp-server/.next/server/app/_not-found/page/build-manifest.json +5 -5
  25. package/mcp-server/.next/server/app/_not-found/page.js +10 -10
  26. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -1
  27. package/mcp-server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  28. package/mcp-server/.next/server/app/_not-found.html +1 -1
  29. package/mcp-server/.next/server/app/_not-found.meta +1 -7
  30. package/mcp-server/.next/server/app/_not-found.rsc +14 -12
  31. package/mcp-server/.next/server/app/api/jank/[session]/route.js +6 -6
  32. package/mcp-server/.next/server/app/api/jank/[session]/route.js.nft.json +1 -1
  33. package/mcp-server/.next/server/app/api/logs/append/route.js +4 -4
  34. package/mcp-server/.next/server/app/api/logs/append/route.js.nft.json +1 -1
  35. package/mcp-server/.next/server/app/api/logs/head/route.js +4 -4
  36. package/mcp-server/.next/server/app/api/logs/head/route.js.nft.json +1 -1
  37. package/mcp-server/.next/server/app/api/logs/list/route.js +4 -4
  38. package/mcp-server/.next/server/app/api/logs/list/route.js.nft.json +1 -1
  39. package/mcp-server/.next/server/app/api/logs/rotate/route.js +5 -5
  40. package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -1
  41. package/mcp-server/.next/server/app/api/logs/stream/route.js +4 -4
  42. package/mcp-server/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  43. package/mcp-server/.next/server/app/api/logs/tail/route.js +4 -4
  44. package/mcp-server/.next/server/app/api/logs/tail/route.js.nft.json +1 -1
  45. package/mcp-server/.next/server/app/api/orchestrator/route.js +5 -5
  46. package/mcp-server/.next/server/app/api/orchestrator/route.js.nft.json +1 -1
  47. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js +5 -5
  48. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -1
  49. package/mcp-server/.next/server/app/api/screenshots/list/route.js +5 -5
  50. package/mcp-server/.next/server/app/api/screenshots/list/route.js.nft.json +1 -1
  51. package/mcp-server/.next/server/app/api/tools/route.js +5 -5
  52. package/mcp-server/.next/server/app/api/tools/route.js.nft.json +1 -1
  53. package/mcp-server/.next/server/app/index.html +1 -1
  54. package/mcp-server/.next/server/app/index.meta +2 -7
  55. package/mcp-server/.next/server/app/index.rsc +16 -14
  56. package/mcp-server/.next/server/app/logs/page/build-manifest.json +5 -5
  57. package/mcp-server/.next/server/app/logs/page.js +13 -13
  58. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -1
  59. package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  60. package/mcp-server/.next/server/app/mcp/route.js +4 -4
  61. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
  62. package/mcp-server/.next/server/app/page/build-manifest.json +5 -5
  63. package/mcp-server/.next/server/app/page.js +12 -12
  64. package/mcp-server/.next/server/app/page.js.nft.json +1 -1
  65. package/mcp-server/.next/server/app/page_client-reference-manifest.js +1 -1
  66. package/mcp-server/.next/server/app/video/[session]/page/build-manifest.json +5 -5
  67. package/mcp-server/.next/server/app/video/[session]/page.js +12 -12
  68. package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -1
  69. package/mcp-server/.next/server/app/video/[session]/page_client-reference-manifest.js +1 -1
  70. package/mcp-server/.next/server/chunks/[root-of-the-server]__013bbeea._.js +7 -0
  71. package/mcp-server/.next/server/chunks/[root-of-the-server]__013bbeea._.js.map +1 -0
  72. package/mcp-server/.next/server/chunks/[root-of-the-server]__05e38acd._.js +3 -0
  73. package/mcp-server/.next/server/chunks/[root-of-the-server]__05e38acd._.js.map +1 -0
  74. package/mcp-server/.next/server/chunks/[root-of-the-server]__2056c8b5._.js +3 -0
  75. package/mcp-server/.next/server/chunks/[root-of-the-server]__2056c8b5._.js.map +1 -0
  76. package/mcp-server/.next/server/chunks/[root-of-the-server]__3130ceec._.js +3 -0
  77. package/mcp-server/.next/server/chunks/[root-of-the-server]__3130ceec._.js.map +1 -0
  78. package/mcp-server/.next/server/chunks/[root-of-the-server]__5114419d._.js +3 -0
  79. package/mcp-server/.next/server/chunks/[root-of-the-server]__5114419d._.js.map +1 -0
  80. package/mcp-server/.next/server/chunks/[root-of-the-server]__5248c9ff._.js +3 -0
  81. package/mcp-server/.next/server/chunks/[root-of-the-server]__73645708._.js +11 -0
  82. package/mcp-server/.next/server/chunks/[root-of-the-server]__73645708._.js.map +1 -0
  83. package/mcp-server/.next/server/chunks/[root-of-the-server]__8fc8f497._.js +4 -0
  84. package/mcp-server/.next/server/chunks/[root-of-the-server]__8fc8f497._.js.map +1 -0
  85. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js +2 -2
  86. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js.map +1 -1
  87. package/mcp-server/.next/server/chunks/[root-of-the-server]__9a45c8f9._.js +1 -1
  88. package/mcp-server/.next/server/chunks/[root-of-the-server]__9a45c8f9._.js.map +1 -1
  89. package/mcp-server/.next/server/chunks/[root-of-the-server]__9c489027._.js +3 -0
  90. package/mcp-server/.next/server/chunks/[root-of-the-server]__9c489027._.js.map +1 -0
  91. package/mcp-server/.next/server/chunks/[root-of-the-server]__a004a307._.js +3 -0
  92. package/mcp-server/.next/server/chunks/[root-of-the-server]__a004a307._.js.map +1 -0
  93. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js +2 -2
  94. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js.map +1 -1
  95. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js +2 -2
  96. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js.map +1 -1
  97. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc81580c._.js +3 -0
  98. package/mcp-server/.next/server/chunks/{[root-of-the-server]__3899cb0e._.js.map → [root-of-the-server]__cc81580c._.js.map} +1 -1
  99. package/mcp-server/.next/server/chunks/[root-of-the-server]__d200fe4a._.js +3 -0
  100. package/mcp-server/.next/server/chunks/[root-of-the-server]__d200fe4a._.js.map +1 -0
  101. package/mcp-server/.next/server/chunks/[root-of-the-server]__dc0b0022._.js +17 -0
  102. package/mcp-server/.next/server/chunks/[root-of-the-server]__dc0b0022._.js.map +1 -0
  103. package/mcp-server/.next/server/chunks/[root-of-the-server]__e1a64519._.js +1 -1
  104. package/mcp-server/.next/server/chunks/[root-of-the-server]__e1a64519._.js.map +1 -1
  105. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js +1 -1
  106. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js.map +1 -1
  107. package/mcp-server/.next/server/chunks/d1d76_next_09a9e080._.js +17 -0
  108. package/mcp-server/.next/server/chunks/d1d76_next_09a9e080._.js.map +1 -0
  109. package/mcp-server/.next/server/chunks/d1d76_next_dist_esm_build_templates_app-route_820fc951.js +3 -0
  110. package/mcp-server/.next/server/chunks/d1d76_next_dist_esm_build_templates_app-route_820fc951.js.map +1 -0
  111. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__02a8c992._.js +3 -0
  112. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__05689c01._.js +3 -0
  113. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__9fa75557._.js.map → [root-of-the-server]__05689c01._.js.map} +1 -1
  114. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__61c905ce._.js +3 -0
  115. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__00b0a236._.js.map → [root-of-the-server]__61c905ce._.js.map} +1 -1
  116. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__8863b0f6._.js +3 -0
  117. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__8863b0f6._.js.map +1 -0
  118. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__9bc632fa._.js +3 -0
  119. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__7a510847._.js.map → [root-of-the-server]__9bc632fa._.js.map} +1 -1
  120. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__9f07837d._.js +3 -0
  121. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__1c9d4256._.js.map → [root-of-the-server]__9f07837d._.js.map} +1 -1
  122. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__295a5dca._.js → [root-of-the-server]__a4bb31a6._.js} +2 -2
  123. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__295a5dca._.js.map → [root-of-the-server]__a4bb31a6._.js.map} +1 -1
  124. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__aed64cd3._.js +3 -0
  125. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__d545d815._.js.map → [root-of-the-server]__aed64cd3._.js.map} +1 -1
  126. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__cf030fda._.js +3 -0
  127. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__28056c4f._.js.map → [root-of-the-server]__cf030fda._.js.map} +1 -1
  128. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__db74836a._.js +3 -0
  129. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__712e3fd9._.js.map → [root-of-the-server]__db74836a._.js.map} +1 -1
  130. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__fc10c8f1._.js +3 -0
  131. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__93844002._.js.map → [root-of-the-server]__fc10c8f1._.js.map} +1 -1
  132. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js +1 -1
  133. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js.map +1 -1
  134. package/mcp-server/.next/server/chunks/ssr/_0b8335fc._.js +8 -0
  135. package/mcp-server/.next/server/chunks/ssr/_0b8335fc._.js.map +1 -0
  136. package/mcp-server/.next/server/chunks/ssr/_6129d8ec._.js +4 -0
  137. package/mcp-server/.next/server/chunks/ssr/_6129d8ec._.js.map +1 -0
  138. package/mcp-server/.next/server/chunks/ssr/_74bf5366._.js +8 -0
  139. package/mcp-server/.next/server/chunks/ssr/_74bf5366._.js.map +1 -0
  140. package/mcp-server/.next/server/chunks/ssr/_7d3d2f5f._.js +4 -0
  141. package/mcp-server/.next/server/chunks/ssr/_7d3d2f5f._.js.map +1 -0
  142. package/mcp-server/.next/server/chunks/ssr/_e4aa8f16._.js +4 -0
  143. package/mcp-server/.next/server/chunks/ssr/_e4aa8f16._.js.map +1 -0
  144. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_032c5c2e._.js +3 -0
  145. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_032c5c2e._.js.map +1 -0
  146. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_08b22e19._.js +3 -0
  147. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_08b22e19._.js.map +1 -0
  148. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_369453b3._.js +6 -0
  149. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_369453b3._.js.map +1 -0
  150. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_ad253fdc._.js +4 -0
  151. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_ad253fdc._.js.map +1 -0
  152. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_b9509b36._.js +6 -0
  153. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_b9509b36._.js.map +1 -0
  154. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_client_components_6557bb14._.js +3 -0
  155. package/mcp-server/.next/server/chunks/ssr/{962f0_next_dist_client_components_0633a613._.js.map → d1d76_next_dist_client_components_6557bb14._.js.map} +1 -1
  156. package/mcp-server/.next/server/chunks/ssr/{962f0_next_dist_client_components_builtin_forbidden_828a4c7b.js → d1d76_next_dist_client_components_builtin_forbidden_c162dd05.js} +2 -2
  157. package/mcp-server/.next/server/chunks/ssr/{962f0_next_dist_client_components_builtin_forbidden_828a4c7b.js.map → d1d76_next_dist_client_components_builtin_forbidden_c162dd05.js.map} +1 -1
  158. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_client_components_builtin_global-error_3d982957.js +3 -0
  159. package/mcp-server/.next/server/chunks/ssr/{962f0_next_dist_client_components_builtin_global-error_c9f9f74f.js.map → d1d76_next_dist_client_components_builtin_global-error_3d982957.js.map} +1 -1
  160. package/mcp-server/.next/server/chunks/ssr/{962f0_next_dist_client_components_builtin_unauthorized_0a08bab6.js → d1d76_next_dist_client_components_builtin_unauthorized_e4f02ffd.js} +2 -2
  161. package/mcp-server/.next/server/chunks/ssr/{962f0_next_dist_client_components_builtin_unauthorized_0a08bab6.js.map → d1d76_next_dist_client_components_builtin_unauthorized_e4f02ffd.js.map} +1 -1
  162. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_esm_build_templates_app-page_134a93a5.js +4 -0
  163. package/mcp-server/.next/server/chunks/ssr/d1d76_next_dist_esm_build_templates_app-page_134a93a5.js.map +1 -0
  164. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_layout_tsx_afa41767._.js +1 -1
  165. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js +1 -1
  166. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js.map +1 -1
  167. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js +1 -1
  168. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js.map +1 -1
  169. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3d10aa72._.js +3 -0
  170. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3d10aa72._.js.map +1 -0
  171. package/mcp-server/.next/server/middleware-build-manifest.js +8 -6
  172. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  173. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  174. package/mcp-server/.next/static/chunks/02f9434392c7ca30.js +1 -0
  175. package/mcp-server/.next/static/chunks/189ddffb3a8cbfbd.js +1 -0
  176. package/mcp-server/.next/static/chunks/1d2676338b51bbcf.js +1 -0
  177. package/mcp-server/.next/static/chunks/526448e84b58822c.js +1 -0
  178. package/mcp-server/.next/static/chunks/{e161f5ca5017b065.js → 711519b5a2e53fc8.js} +1 -1
  179. package/mcp-server/.next/static/chunks/7abbb9a17b62c1fa.js +1 -0
  180. package/mcp-server/.next/static/chunks/8364b81221aabb64.js +1 -0
  181. package/mcp-server/.next/static/chunks/98f7307a4a4d67d3.js +1 -0
  182. package/mcp-server/.next/static/chunks/a0ba80c585f94c7d.js +1 -0
  183. package/mcp-server/.next/static/chunks/addab50e23821c6c.js +1 -0
  184. package/mcp-server/.next/static/chunks/b5c56c55f894681d.js +1 -0
  185. package/mcp-server/.next/static/chunks/bb2e6ac36794beea.css +1 -0
  186. package/mcp-server/.next/static/chunks/turbopack-22a9e2c19fd12b04.js +3 -0
  187. package/mcp-server/next.config.mjs +0 -4
  188. package/package.json +1 -1
  189. package/src/tui-interface-impl.tsx +12 -5
  190. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +0 -5
  191. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +0 -4
  192. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -7
  193. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +0 -5
  194. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
  195. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -4
  196. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -8
  197. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -9
  198. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +0 -5
  199. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +0 -8
  200. package/mcp-server/.next/server/chunks/962f0_next_80b90dc3._.js +0 -17
  201. package/mcp-server/.next/server/chunks/962f0_next_80b90dc3._.js.map +0 -1
  202. package/mcp-server/.next/server/chunks/962f0_next_dist_esm_build_templates_app-route_fbcab413.js +0 -3
  203. package/mcp-server/.next/server/chunks/962f0_next_dist_esm_build_templates_app-route_fbcab413.js.map +0 -1
  204. package/mcp-server/.next/server/chunks/[root-of-the-server]__05e1e17a._.js +0 -11
  205. package/mcp-server/.next/server/chunks/[root-of-the-server]__05e1e17a._.js.map +0 -1
  206. package/mcp-server/.next/server/chunks/[root-of-the-server]__0f1f904c._.js +0 -4
  207. package/mcp-server/.next/server/chunks/[root-of-the-server]__0f1f904c._.js.map +0 -1
  208. package/mcp-server/.next/server/chunks/[root-of-the-server]__37cbcfad._.js +0 -3
  209. package/mcp-server/.next/server/chunks/[root-of-the-server]__3899cb0e._.js +0 -3
  210. package/mcp-server/.next/server/chunks/[root-of-the-server]__40003a13._.js +0 -3
  211. package/mcp-server/.next/server/chunks/[root-of-the-server]__40003a13._.js.map +0 -1
  212. package/mcp-server/.next/server/chunks/[root-of-the-server]__4e52a647._.js +0 -3
  213. package/mcp-server/.next/server/chunks/[root-of-the-server]__4e52a647._.js.map +0 -1
  214. package/mcp-server/.next/server/chunks/[root-of-the-server]__746ebd24._.js +0 -3
  215. package/mcp-server/.next/server/chunks/[root-of-the-server]__746ebd24._.js.map +0 -1
  216. package/mcp-server/.next/server/chunks/[root-of-the-server]__7820f710._.js +0 -7
  217. package/mcp-server/.next/server/chunks/[root-of-the-server]__7820f710._.js.map +0 -1
  218. package/mcp-server/.next/server/chunks/[root-of-the-server]__8caade4f._.js +0 -17
  219. package/mcp-server/.next/server/chunks/[root-of-the-server]__8caade4f._.js.map +0 -1
  220. package/mcp-server/.next/server/chunks/[root-of-the-server]__be04c8ec._.js +0 -3
  221. package/mcp-server/.next/server/chunks/[root-of-the-server]__be04c8ec._.js.map +0 -1
  222. package/mcp-server/.next/server/chunks/[root-of-the-server]__d8c4b7af._.js +0 -3
  223. package/mcp-server/.next/server/chunks/[root-of-the-server]__d8c4b7af._.js.map +0 -1
  224. package/mcp-server/.next/server/chunks/[root-of-the-server]__db4dce5b._.js +0 -3
  225. package/mcp-server/.next/server/chunks/[root-of-the-server]__db4dce5b._.js.map +0 -1
  226. package/mcp-server/.next/server/chunks/[root-of-the-server]__e305b486._.js +0 -3
  227. package/mcp-server/.next/server/chunks/[root-of-the-server]__e305b486._.js.map +0 -1
  228. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_0ff128f8._.js +0 -6
  229. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_0ff128f8._.js.map +0 -1
  230. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_431de271._.js +0 -3
  231. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_431de271._.js.map +0 -1
  232. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_7f9577da._.js +0 -24
  233. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_7f9577da._.js.map +0 -1
  234. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_a28dc041._.js +0 -3
  235. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_a28dc041._.js.map +0 -1
  236. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_a8de8a6b._.js +0 -4
  237. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_a8de8a6b._.js.map +0 -1
  238. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_client_components_0633a613._.js +0 -3
  239. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_client_components_builtin_global-error_c9f9f74f.js +0 -3
  240. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_esm_build_templates_app-page_077a704a.js +0 -4
  241. package/mcp-server/.next/server/chunks/ssr/962f0_next_dist_esm_build_templates_app-page_077a704a.js.map +0 -1
  242. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__00b0a236._.js +0 -3
  243. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__1c9d4256._.js +0 -3
  244. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__28056c4f._.js +0 -3
  245. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__2c3254f5._.js +0 -3
  246. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__4e8e802a._.js +0 -3
  247. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__4e8e802a._.js.map +0 -1
  248. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__712e3fd9._.js +0 -4
  249. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__7a510847._.js +0 -3
  250. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__93844002._.js +0 -3
  251. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__9fa75557._.js +0 -3
  252. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__d545d815._.js +0 -3
  253. package/mcp-server/.next/server/chunks/ssr/_2485ac42._.js +0 -4
  254. package/mcp-server/.next/server/chunks/ssr/_2485ac42._.js.map +0 -1
  255. package/mcp-server/.next/server/chunks/ssr/_7665d4b6._.js +0 -8
  256. package/mcp-server/.next/server/chunks/ssr/_7665d4b6._.js.map +0 -1
  257. package/mcp-server/.next/server/chunks/ssr/_85b0bb0e._.js +0 -4
  258. package/mcp-server/.next/server/chunks/ssr/_85b0bb0e._.js.map +0 -1
  259. package/mcp-server/.next/server/chunks/ssr/_ab0d4e66._.js +0 -4
  260. package/mcp-server/.next/server/chunks/ssr/_ab0d4e66._.js.map +0 -1
  261. package/mcp-server/.next/server/chunks/ssr/_f8d18179._.js +0 -8
  262. package/mcp-server/.next/server/chunks/ssr/_f8d18179._.js.map +0 -1
  263. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_c4e917e2._.js +0 -5
  264. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_c4e917e2._.js.map +0 -1
  265. package/mcp-server/.next/static/chunks/05266f8dc7f39515.js +0 -1
  266. package/mcp-server/.next/static/chunks/254fc038b458fc24.js +0 -1
  267. package/mcp-server/.next/static/chunks/47dfa4a59a973c81.js +0 -3
  268. package/mcp-server/.next/static/chunks/523922d638939c73.js +0 -3
  269. package/mcp-server/.next/static/chunks/65304580f587f083.js +0 -4
  270. package/mcp-server/.next/static/chunks/6ceb8223d9b0e885.js +0 -1
  271. package/mcp-server/.next/static/chunks/8ed7fe711322c4f9.css +0 -1
  272. package/mcp-server/.next/static/chunks/9d92c8368f54bcf4.js +0 -1
  273. package/mcp-server/.next/static/chunks/c5e14dcc4f8e1b05.js +0 -20
  274. package/mcp-server/.next/static/chunks/cf974972e06aaa61.js +0 -3
  275. package/mcp-server/.next/static/chunks/f4943fd29d67839f.js +0 -1
  276. package/mcp-server/.next/static/chunks/turbopack-d86fbc741b623284.js +0 -3
  277. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__37cbcfad._.js.map → [root-of-the-server]__5248c9ff._.js.map} +0 -0
  278. /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__2c3254f5._.js.map → [root-of-the-server]__02a8c992._.js.map} +0 -0
  279. /package/mcp-server/.next/static/{IjjcEdBSrakBEegq2HWWk → 1GDuzglZduptPjz52czMu}/_buildManifest.js +0 -0
  280. /package/mcp-server/.next/static/{IjjcEdBSrakBEegq2HWWk → 1GDuzglZduptPjz52czMu}/_clientMiddlewareManifest.json +0 -0
  281. /package/mcp-server/.next/static/{IjjcEdBSrakBEegq2HWWk → 1GDuzglZduptPjz52czMu}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[4438,e=>{"use strict";var t=e.i(63366),a=e.i(66479),n=e.i(31453),r=e.i(85632),i=e.i(34686),o=e.i(32730),s=e.i(71352),l=e.i(48381),d=e.i(98354),c=e.i(21545),u=e.i(49921),h=e.i(51588),p=e.i(31827),f=e.i(23126),g=e.i(99612),m=e.i(47511),R=e.i(93695);e.i(1956);var w=e.i(70569),x=e.i(22734),v=e.i(19255),y=e.i(46786),S=e.i(14747),C=e.i(73169),N=e.i(60801);async function A(e,t){try{let a=(0,S.join)(e,`${t}-metadata.json`);if(!(0,x.existsSync)(a))return null;let n=JSON.parse((0,x.readFileSync)(a,"utf-8"));if(!n.layoutShifts||0===n.layoutShifts.length)return null;return{shifts:n.layoutShifts,totalCLS:n.totalCLS||0,grade:n.clsGrade||"unknown",cssViewport:n.cssViewport}}catch(e){return console.error("Failed to fetch real CLS data:",e),null}}async function E(e,{params:t}){let{session:a}=await t,n=process.env.SCREENSHOT_DIR||(0,S.join)((0,y.tmpdir)(),"dev3000-mcp-deps","public","screenshots"),r=await A(n,a);if(r&&0===r.shifts.length)return v.NextResponse.json({clsMarkers:[],source:"performance-observer",actualCLS:0,grade:"good",message:"No layout shifts detected by PerformanceObserver"});if(!(0,x.existsSync)(n))return v.NextResponse.json({clsMarkers:[]});let i=(0,x.readdirSync)(n).filter(e=>e.startsWith(a)&&e.includes("-jank-")&&e.endsWith(".png")).sort((e,t)=>parseInt(e.match(/-(\d+)ms\.png$/)?.[1]||"0",10)-parseInt(t.match(/-(\d+)ms\.png$/)?.[1]||"0",10));if(i.length<2)return v.NextResponse.json({clsMarkers:[]});let o=[],s=[];for(let e=1;e<i.length;e++){let t=(0,S.join)(n,i[e-1]),a=(0,S.join)(n,i[e]);try{let n=N.PNG.sync.read((0,x.readFileSync)(t)),r=N.PNG.sync.read((0,x.readFileSync)(a));if(n.width!==r.width||n.height!==r.height)continue;let l=new N.PNG({width:n.width,height:n.height}),d=(0,C.default)(n.data,r.data,l.data,n.width,n.height,{threshold:.1}),c=n.width*n.height,u=d/c*100;if(u<.05)continue;let h=Array(n.height).fill(0);for(let e=0;e<n.height;e++)for(let t=0;t<n.width;t++){let a=(n.width*e+t)*4;(l.data[a]>0||l.data[a+1]>0||l.data[a+2]>0)&&h[e]++}let p=[],f=-1,g=0;for(let e=0;e<n.height;e++){let t=h[e]/n.width*100;t>10?-1===f?(f=e,g=t):g=Math.max(g,t):-1!==f&&(p.push({startY:f,endY:e-1,intensity:g}),f=-1,g=0)}if(-1!==f&&p.push({startY:f,endY:n.height-1,intensity:g}),(p=p.filter(e=>e.endY-e.startY>=5&&e.intensity>20)).length>0){let t=n.width,a=n.height,r=0,d=0;for(let e of p)for(let i=e.startY;i<=e.endY;i++)for(let e=0;e<n.width;e++){let o=(n.width*i+e)*4;(l.data[o]>0||l.data[o+1]>0||l.data[o+2]>0)&&(t=Math.min(t,e),a=Math.min(a,i),r=Math.max(r,e),d=Math.max(d,i))}if(s.push({comparison:`${i[e-1]} vs ${i[e]}`,diffPercentage:Number.parseFloat(u.toFixed(2)),shiftRegions:p.length,isValid:!0}),t<r&&a<d){let s=i[e].match(/-(\d+)ms\.png$/),l=s?parseInt(s[1],10):0,c={x:Math.max(0,t-10),y:Math.max(0,a-10),width:Math.min(n.width,r-t+20),height:Math.min(n.height,d-a+20)},u=c.width*c.height,h=n.width*n.height,p=u/h*100,f=u<.5*h?c:null;console.log("[JANK API] Pixel-diff bounding box:",{boundingBox:c,areaPercentage:`${p.toFixed(2)}%`,rejected:!f,reason:f?"accepted":"too large (>50% of screen)"}),o.push({timestamp:l,boundingBox:f})}}else s.push({comparison:`${i[e-1]} vs ${i[e]}`,diffPercentage:Number.parseFloat(u.toFixed(2)),shiftRegions:0,isValid:!1})}catch{}}let l=1920,d=1080;if(i.length>0)try{let e=N.PNG.sync.read((0,x.readFileSync)((0,S.join)(n,i[0])));l=e.width,d=e.height}catch{}if(r){let e=r.shifts.map(e=>{let t=null,a=1/0;for(let n of o){let r=Math.abs(e.timestamp-n.timestamp);r<50&&r<a&&(t=n,a=r)}if(!t)return null;let n=e.sources?.[0],i=t.boundingBox;if(n?.actualRect&&r?.cssViewport){let e=n.actualRect,t=r.cssViewport.width,a=r.cssViewport.height;console.log("[JANK API] actualRect (CSS pixels):",e),console.log("[JANK API] CSS viewport:",{width:t,height:a}),console.log("[JANK API] Screenshot dimensions:",{width:l,height:d});let o=l/t,s=d/a;console.log("[JANK API] Calculated scale:",{x:o.toFixed(3),y:s.toFixed(3)}),console.log("[JANK API] Bounding box (screenshot pixels):",i={x:Math.round(e.x*o),y:Math.round(e.y*s),width:Math.round(e.width*o),height:Math.round(e.height*s)})}else console.log("[JANK API] No actualRect or cssViewport available, cannot determine bounding box");return{...t,boundingBox:i,clsScore:e.score,element:n?.node||"unknown"}}).filter(Boolean);return v.NextResponse.json({clsMarkers:e,realLayoutShifts:r.shifts,debug:s,source:"performance-observer-validated",actualCLS:r.totalCLS,grade:r.grade,note:`Real CLS: ${r.totalCLS.toFixed(4)} (${r.grade}). Filtered ${o.length-e.length} false positives from pixel-diff.`})}return v.NextResponse.json({clsMarkers:o,debug:s,source:"pixel-diff-fallback",note:"PerformanceObserver data not available, using pixel-diff analysis (may include false positives)"})}e.s(["GET",()=>E],57300);var b=e.i(57300);let P=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/jank/[session]/route",pathname:"/api/jank/[session]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/mcp-server/app/api/jank/[session]/route.ts",nextConfigOutput:"",userland:b}),{workAsyncStorage:M,workUnitAsyncStorage:k,serverHooks:I}=P;function O(){return(0,n.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:k})}async function j(e,t,n){var x;let v="/api/jank/[session]/route";v=v.replace(/\/index$/,"")||"/";let y=await P.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,params:C,nextConfig:N,isDraftMode:A,prerenderManifest:E,routerServerContext:b,isOnDemandRevalidate:M,revalidateOnlyGenerated:k,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:j}=y,T=(0,l.normalizeAppPath)(v),F=!!(E.dynamicRoutes[T]||E.routes[I]);if(F&&!A){let e=!!E.routes[I],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e)throw new R.NoFallbackError}let $=null;!F||P.isDev||A||($="/index"===($=I)?"/":$);let _=!0===P.isDev||!F,H=F&&!_;j&&O&&(0,o.setReferenceManifestsSingleton)({page:v,clientReferenceManifest:O,serverActionsManifest:j,serverModuleMap:(0,s.createServerModuleMap)({serverActionsManifest:j})});let U=e.method||"GET",K=(0,i.getTracer)(),q=K.getActiveScopeSpan(),L={params:C,prerenderManifest:E,renderOpts:{experimental:{cacheComponents:!!N.experimental.cacheComponents,authInterrupts:!!N.experimental.authInterrupts},supportsDynamicResponse:_,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:null==(x=N.experimental)?void 0:x.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n)=>P.onRequestError(e,t,n,b)},sharedContext:{buildId:S}},D=new d.NodeNextRequest(e),V=new d.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(D,(0,c.signalFromNodeResponse)(t));try{let o=async e=>P.handle(B,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${v}`)}),s=async i=>{var s,l;let d=async({previousCacheEntry:a})=>{try{if(!(0,r.getRequestMeta)(e,"minimalMode")&&M&&k&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(i);e.fetchMetrics=L.renderOpts.fetchMetrics;let l=L.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=L.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)(D,V,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:M})},b),t}},c=await P.handleResponse({req:e,nextConfig:N,cacheKey:$,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:M,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:n.waitUntil});if(!F)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,r.getRequestMeta)(e,"minimalMode")||t.setHeader("x-nextjs-cache",M?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return(0,r.getRequestMeta)(e,"minimalMode")&&F||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(D,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};q?await s(q):await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},s))}catch(t){if(t instanceof R.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:M})}),F)throw t;return await (0,p.sendResponse)(D,V,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>O,"routeModule",()=>P,"serverHooks",()=>I,"workAsyncStorage",()=>M,"workUnitAsyncStorage",()=>k],4438)}];
2
+
3
+ //# sourceMappingURL=d1d76_next_dist_esm_build_templates_app-route_820fc951.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/build/templates/app-route.js","turbopack:///[project]/mcp-server/app/api/jank/[session]/route.ts"],"sourcesContent":["import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setReferenceManifestsSingleton } from \"next/dist/esm/server/app-render/encryption-utils\";\nimport { createServerModuleMap } from \"next/dist/esm/server/app-render/action-utils\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/jank/[session]/route\",\n pathname: \"/api/jank/[session]\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/mcp-server/app/api/jank/[session]/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n var _nextConfig_experimental;\n let srcPage = \"/api/jank/[session]/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setReferenceManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: createServerModuleMap({\n serverActionsManifest\n })\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n cacheComponents: Boolean(nextConfig.experimental.cacheComponents),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: (_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!getRequestMeta(req, 'minimalMode') && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!getRequestMeta(req, 'minimalMode')) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(getRequestMeta(req, 'minimalMode') && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n });\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { existsSync, readdirSync, readFileSync } from \"fs\"\nimport { type NextRequest, NextResponse } from \"next/server\"\nimport { tmpdir } from \"os\"\nimport { join } from \"path\"\nimport pixelmatch from \"pixelmatch\"\nimport { PNG } from \"pngjs\"\n\n/**\n * Fetch real CLS data from screencast metadata\n * ScreencastManager now injects a PerformanceObserver to capture real layout shifts\n */\nasync function getRealCLSData(\n screenshotDir: string,\n session: string\n): Promise<{\n shifts: Array<{ score: number; timestamp: number; sources?: unknown[] }>\n totalCLS: number\n grade: string\n cssViewport?: { width: number; height: number; devicePixelRatio: number }\n} | null> {\n try {\n const metadataPath = join(screenshotDir, `${session}-metadata.json`)\n if (!existsSync(metadataPath)) {\n return null\n }\n\n const metadata = JSON.parse(readFileSync(metadataPath, \"utf-8\"))\n if (!metadata.layoutShifts || metadata.layoutShifts.length === 0) {\n return null\n }\n\n return {\n shifts: metadata.layoutShifts,\n totalCLS: metadata.totalCLS || 0,\n grade: metadata.clsGrade || \"unknown\",\n cssViewport: metadata.cssViewport\n }\n } catch (error) {\n console.error(\"Failed to fetch real CLS data:\", error)\n return null\n }\n}\n\nexport async function GET(_request: NextRequest, { params }: { params: Promise<{ session: string }> }) {\n const { session } = await params\n const screenshotDir = process.env.SCREENSHOT_DIR || join(tmpdir(), \"dev3000-mcp-deps\", \"public\", \"screenshots\")\n\n // Try to get real CLS data from screencast metadata\n const realCLS = await getRealCLSData(screenshotDir, session)\n\n if (realCLS && realCLS.shifts.length === 0) {\n // No layout shifts detected by PerformanceObserver\n return NextResponse.json({\n clsMarkers: [],\n source: \"performance-observer\",\n actualCLS: 0,\n grade: \"good\",\n message: \"No layout shifts detected by PerformanceObserver\"\n })\n }\n\n if (!existsSync(screenshotDir)) {\n return NextResponse.json({ clsMarkers: [] })\n }\n\n // Find files for this session\n const files = readdirSync(screenshotDir)\n const sessionFiles = files\n .filter((f) => f.startsWith(session) && f.includes(\"-jank-\") && f.endsWith(\".png\"))\n .sort((a, b) => {\n const aTime = parseInt(a.match(/-(\\d+)ms\\.png$/)?.[1] || \"0\", 10)\n const bTime = parseInt(b.match(/-(\\d+)ms\\.png$/)?.[1] || \"0\", 10)\n return aTime - bTime\n })\n\n if (sessionFiles.length < 2) {\n return NextResponse.json({ clsMarkers: [] })\n }\n\n const clsMarkers: Array<{\n timestamp: number\n boundingBox: { x: number; y: number; width: number; height: number } | null\n }> = []\n\n const debugInfo: Array<{\n comparison: string\n diffPercentage: number\n shiftRegions?: number\n isValid: boolean\n }> = []\n\n // Compare consecutive frames\n for (let i = 1; i < sessionFiles.length; i++) {\n const prevFile = join(screenshotDir, sessionFiles[i - 1])\n const currFile = join(screenshotDir, sessionFiles[i])\n\n try {\n const prevPng = PNG.sync.read(readFileSync(prevFile))\n const currPng = PNG.sync.read(readFileSync(currFile))\n\n if (prevPng.width !== currPng.width || prevPng.height !== currPng.height) {\n continue\n }\n\n const diff = new PNG({ width: prevPng.width, height: prevPng.height })\n const numDiffPixels = pixelmatch(prevPng.data, currPng.data, diff.data, prevPng.width, prevPng.height, {\n threshold: 0.1\n })\n\n const totalPixels = prevPng.width * prevPng.height\n const diffPercentage = (numDiffPixels / totalPixels) * 100\n\n // Skip if almost no changes (< 0.05% = likely just anti-aliasing)\n if (diffPercentage < 0.05) {\n continue\n }\n\n // Detect LAYOUT SHIFTS by looking for horizontal bands of changes\n // (content moving down/up will create horizontal bands of differences)\n const rowChangeCounts = new Array(prevPng.height).fill(0)\n\n for (let y = 0; y < prevPng.height; y++) {\n for (let x = 0; x < prevPng.width; x++) {\n const idx = (prevPng.width * y + x) * 4\n if (diff.data[idx] > 0 || diff.data[idx + 1] > 0 || diff.data[idx + 2] > 0) {\n rowChangeCounts[y]++\n }\n }\n }\n\n // Find regions with significant row changes (indicating vertical shifts)\n let shiftRegions: Array<{ startY: number; endY: number; intensity: number }> = []\n let currentRegionStart = -1\n let currentRegionIntensity = 0\n\n for (let y = 0; y < prevPng.height; y++) {\n const rowChangePercentage = (rowChangeCounts[y] / prevPng.width) * 100\n\n // If this row has significant changes (>10% of pixels in the row changed)\n if (rowChangePercentage > 10) {\n if (currentRegionStart === -1) {\n currentRegionStart = y\n currentRegionIntensity = rowChangePercentage\n } else {\n currentRegionIntensity = Math.max(currentRegionIntensity, rowChangePercentage)\n }\n } else if (currentRegionStart !== -1) {\n // End of a shift region\n shiftRegions.push({\n startY: currentRegionStart,\n endY: y - 1,\n intensity: currentRegionIntensity\n })\n currentRegionStart = -1\n currentRegionIntensity = 0\n }\n }\n\n // Close final region if needed\n if (currentRegionStart !== -1) {\n shiftRegions.push({\n startY: currentRegionStart,\n endY: prevPng.height - 1,\n intensity: currentRegionIntensity\n })\n }\n\n // Filter shift regions: must be at least 5px tall and have high intensity\n shiftRegions = shiftRegions.filter((region) => {\n const height = region.endY - region.startY\n return height >= 5 && region.intensity > 20\n })\n\n // If we found layout shift regions, calculate bounding box\n if (shiftRegions.length > 0) {\n let minX = prevPng.width\n let minY = prevPng.height\n let maxX = 0\n let maxY = 0\n\n for (const region of shiftRegions) {\n for (let y = region.startY; y <= region.endY; y++) {\n for (let x = 0; x < prevPng.width; x++) {\n const idx = (prevPng.width * y + x) * 4\n if (diff.data[idx] > 0 || diff.data[idx + 1] > 0 || diff.data[idx + 2] > 0) {\n minX = Math.min(minX, x)\n minY = Math.min(minY, y)\n maxX = Math.max(maxX, x)\n maxY = Math.max(maxY, y)\n }\n }\n }\n }\n\n // Collect debug info\n debugInfo.push({\n comparison: `${sessionFiles[i - 1]} vs ${sessionFiles[i]}`,\n diffPercentage: Number.parseFloat(diffPercentage.toFixed(2)),\n shiftRegions: shiftRegions.length,\n isValid: true\n })\n\n if (minX < maxX && minY < maxY) {\n const timeMatch = sessionFiles[i].match(/-(\\d+)ms\\.png$/)\n const timeSinceStart = timeMatch ? parseInt(timeMatch[1], 10) : 0\n\n // Add padding to bounding box (10px)\n const padding = 10\n const boundingBox = {\n x: Math.max(0, minX - padding),\n y: Math.max(0, minY - padding),\n width: Math.min(prevPng.width, maxX - minX + padding * 2),\n height: Math.min(prevPng.height, maxY - minY + padding * 2)\n }\n\n // Only include bounding box if it's reasonable (< 50% of screen)\n // If it's too large, the detection is likely inaccurate\n const boxArea = boundingBox.width * boundingBox.height\n const screenArea = prevPng.width * prevPng.height\n const areaPercentage = (boxArea / screenArea) * 100\n const boundingBoxToUse = boxArea < screenArea * 0.5 ? boundingBox : null\n\n console.log(\"[JANK API] Pixel-diff bounding box:\", {\n boundingBox,\n areaPercentage: `${areaPercentage.toFixed(2)}%`,\n rejected: !boundingBoxToUse,\n reason: !boundingBoxToUse ? \"too large (>50% of screen)\" : \"accepted\"\n })\n\n clsMarkers.push({ timestamp: timeSinceStart, boundingBox: boundingBoxToUse })\n }\n } else {\n // No shift regions found - likely just content changes (images loading)\n debugInfo.push({\n comparison: `${sessionFiles[i - 1]} vs ${sessionFiles[i]}`,\n diffPercentage: Number.parseFloat(diffPercentage.toFixed(2)),\n shiftRegions: 0,\n isValid: false\n })\n }\n } catch {\n // Skip frames that can't be compared\n }\n }\n\n // Get screenshot dimensions to calculate coordinate scaling\n let screenshotWidth = 1920 // default\n let screenshotHeight = 1080 // default\n if (sessionFiles.length > 0) {\n try {\n const firstScreenshot = PNG.sync.read(readFileSync(join(screenshotDir, sessionFiles[0])))\n screenshotWidth = firstScreenshot.width\n screenshotHeight = firstScreenshot.height\n } catch {\n // Use defaults\n }\n }\n\n // If we have real CLS data, cross-reference with pixel-diff to filter false positives\n if (realCLS) {\n // Match each real CLS shift to the closest pixel-diff marker\n // This avoids duplicate markers for the same shift\n const filteredMarkers = realCLS.shifts\n .map((shift) => {\n // Find closest pixel-diff marker within 50ms\n let closestMarker = null\n let closestDistance = Infinity\n\n for (const marker of clsMarkers) {\n const distance = Math.abs(shift.timestamp - marker.timestamp)\n if (distance < 50 && distance < closestDistance) {\n closestMarker = marker\n closestDistance = distance\n }\n }\n\n if (!closestMarker) return null\n\n // Try to use real CLS bounding box if available\n const source = shift.sources?.[0] as {\n node?: string\n previousRect?: { x: number; y: number; width: number; height: number }\n currentRect?: { x: number; y: number; width: number; height: number }\n actualRect?: { x: number; y: number; width: number; height: number }\n }\n let boundingBox = closestMarker.boundingBox\n\n // Prefer actualRect (queried via querySelector) - it's in CSS pixels relative to viewport\n // Convert to screenshot pixels using CSS viewport dimensions\n if (source?.actualRect && realCLS?.cssViewport) {\n const cssRect = source.actualRect\n const cssViewportWidth = realCLS.cssViewport.width\n const cssViewportHeight = realCLS.cssViewport.height\n\n console.log(\"[JANK API] actualRect (CSS pixels):\", cssRect)\n console.log(\"[JANK API] CSS viewport:\", { width: cssViewportWidth, height: cssViewportHeight })\n console.log(\"[JANK API] Screenshot dimensions:\", { width: screenshotWidth, height: screenshotHeight })\n\n // Calculate scale factor: screenshot pixels / CSS pixels\n const scaleX = screenshotWidth / cssViewportWidth\n const scaleY = screenshotHeight / cssViewportHeight\n\n console.log(\"[JANK API] Calculated scale:\", { x: scaleX.toFixed(3), y: scaleY.toFixed(3) })\n\n // Convert CSS pixels to screenshot pixels\n boundingBox = {\n x: Math.round(cssRect.x * scaleX),\n y: Math.round(cssRect.y * scaleY),\n width: Math.round(cssRect.width * scaleX),\n height: Math.round(cssRect.height * scaleY)\n }\n\n console.log(\"[JANK API] Bounding box (screenshot pixels):\", boundingBox)\n } else {\n console.log(\"[JANK API] No actualRect or cssViewport available, cannot determine bounding box\")\n }\n\n return {\n ...closestMarker,\n boundingBox,\n clsScore: shift.score,\n element: source?.node || \"unknown\"\n }\n })\n .filter(Boolean)\n\n return NextResponse.json({\n clsMarkers: filteredMarkers,\n realLayoutShifts: realCLS.shifts,\n debug: debugInfo,\n source: \"performance-observer-validated\",\n actualCLS: realCLS.totalCLS,\n grade: realCLS.grade,\n note: `Real CLS: ${realCLS.totalCLS.toFixed(4)} (${realCLS.grade}). Filtered ${clsMarkers.length - filteredMarkers.length} false positives from pixel-diff.`\n })\n }\n\n return NextResponse.json({\n clsMarkers,\n debug: debugInfo,\n source: \"pixel-diff-fallback\",\n note: \"PerformanceObserver data not available, using pixel-diff analysis (may include false positives)\"\n })\n}\n"],"names":[],"mappings":"sCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,CAAA,CAAA,MAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OCjBA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAMA,eAAe,EACb,CAAqB,CACrB,CAAe,EAOf,GAAI,CACF,IAAM,EAAe,CAAA,EAAA,EAAA,IAAI,AAAJ,EAAK,EAAe,CAAA,EAAG,EAAQ,cAAc,CAAC,EACnE,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACd,OAAO,KADsB,AAI/B,IAAM,EAAW,KAAK,KAAK,CAAC,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,EAAc,UACvD,GAAI,CAAC,EAAS,YAAY,EAAqC,GAAG,CAApC,EAAS,YAAY,CAAC,MAAM,CACxD,OAAO,KAGT,MAAO,CACL,OAAQ,EAAS,YAAY,CAC7B,SAAU,EAAS,QAAQ,EAAI,EAC/B,MAAO,EAAS,QAAQ,EAAI,UAC5B,YAAa,EAAS,WAAW,AACnC,CACF,CAAE,MAAO,EAAO,CAEd,OADA,QAAQ,KAAK,CAAC,iCAAkC,GACzC,IACT,CACF,CAEO,eAAe,EAAI,CAAqB,CAAE,CAAE,QAAM,CAA4C,EACnG,GAAM,SAAE,CAAO,CAAE,CAAG,MAAM,EACpB,EAAgB,QAAQ,GAAG,CAAC,cAAc,EAAI,CAAA,EAAA,EAAA,IAAI,AAAJ,EAAK,CAAA,EAAA,EAAA,MAAA,AAAM,IAAI,mBAAoB,SAAU,eAG3F,EAAU,MAAM,EAAe,EAAe,GAEpD,GAAI,GAAqC,GAAG,CAA7B,EAAQ,MAAM,CAAC,MAAM,CAElC,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,WAAY,EAAE,CACd,OAAQ,uBACR,UAAW,EACX,MAAO,OACP,QAAS,kDACX,GAGF,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACd,OAAO,EAAA,IADuB,QACX,CAAC,IAAI,CAAC,CAAE,WAAY,EAAE,AAAC,GAK5C,IAAM,EAAe,AADP,CAAA,EAAA,EAAA,WAAA,AAAW,EAAC,GAEvB,MAAM,CAAC,AAAC,GAAM,EAAE,UAAU,CAAC,IAAY,EAAE,QAAQ,CAAC,WAAa,EAAE,QAAQ,CAAC,SAC1E,IAAI,CAAC,CAAC,EAAG,IACM,AAEP,QAAQ,CAFQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAI,IAAK,IAChD,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAI,IAAK,KAIlE,GAAI,EAAa,MAAM,CAAG,EACxB,CAD2B,MACpB,EAAA,YAAY,CAAC,IAAI,CAAC,CAAE,WAAY,EAAE,AAAC,GAG5C,IAAM,EAGD,EAAE,CAED,EAKD,EAAE,CAGP,IAAK,IAAI,EAAI,EAAG,EAAI,EAAa,MAAM,CAAE,IAAK,CAC5C,IAAM,EAAW,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAe,CAAY,CAAC,EAAI,EAAE,EAClD,EAAW,CAAA,EAAA,EAAA,IAAI,AAAJ,EAAK,EAAe,CAAY,CAAC,EAAE,EAEpD,GAAI,CACF,IAAM,EAAU,EAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,EAAA,YAAY,AAAZ,EAAa,IACrC,EAAU,EAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,IAE3C,GAAI,EAAQ,KAAK,GAAK,EAAQ,KAAK,EAAI,EAAQ,MAAM,GAAK,EAAQ,MAAM,CACtE,CADwE,QAI1E,IAAM,EAAO,IAAI,EAAA,GAAG,CAAC,CAAE,MAAO,EAAQ,KAAK,CAAE,OAAQ,EAAQ,MAAM,AAAC,GAC9D,EAAgB,CAAA,EAAA,EAAA,OAAU,AAAV,EAAW,EAAQ,IAAI,CAAE,EAAQ,IAAI,CAAE,EAAK,IAAI,CAAE,EAAQ,KAAK,CAAE,EAAQ,MAAM,CAAE,CACrG,UAAW,EACb,GAEM,EAAc,EAAQ,KAAK,CAAG,EAAQ,MAAM,CAC5C,EAAiB,EAAiB,EAAe,IAGvD,GAAI,EAAiB,IACnB,EADyB,OAM3B,IAAM,EAAkB,AAAI,MAAM,EAAQ,MAAM,EAAE,IAAI,CAAC,GAEvD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,MAAM,CAAE,IAAK,AACvC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,KAAK,CAAE,IAAK,CACtC,IAAM,EAAM,CAAC,EAAQ,KAAK,CAAG,GAAI,CAAC,CAAI,GAClC,EAAK,IAAI,CAAC,EAAI,CAAG,GAAK,EAAK,IAAI,CAAC,EAAM,EAAE,CAAG,GAAK,EAAK,IAAI,CAAC,EAAM,EAAE,EAAG,GAAG,AAC1E,CAAe,CAAC,EAAE,EAEtB,CAIF,IAAI,EAA2E,EAAE,CAC7E,EAAqB,CAAC,EACtB,EAAyB,EAE7B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,MAAM,CAAE,IAAK,CACvC,IAAM,EAAuB,CAAe,CAAC,EAAE,CAAG,EAAQ,KAAK,CAAI,IAG/D,EAAsB,GACG,CAAC,AADA,GACG,CAA3B,GACF,EAAqB,EACrB,EAAyB,GAEzB,EAAyB,KAAK,GAAG,CAAC,EAAwB,GAE5B,CAAC,GAAG,CAA3B,IAET,EAAa,IAAI,CAAC,CAChB,OAAQ,EACR,KAAM,EAAI,EACV,UAAW,CACb,GACA,EAAqB,CAAC,EACtB,EAAyB,EAE7B,CAkBA,GAf2B,CAAC,GAAG,CAA3B,GACF,EAAa,IAAI,CAAC,CAChB,OAAQ,EACR,KAAM,EAAQ,MAAM,CAAG,EACvB,UAAW,CACb,GAUE,CANJ,EAAe,EAAa,MAAM,CAAC,AAAC,GACnB,AACR,EADe,IAAI,CAAG,EAAO,MAAM,EACzB,GAAK,EAAO,SAAS,CAAG,GAC3C,EAGiB,MAAM,CAAG,EAAG,CAC3B,IAAI,EAAO,EAAQ,KAAK,CACpB,EAAO,EAAQ,MAAM,CACrB,EAAO,EACP,EAAO,EAEX,IAAK,IAAM,KAAU,EACnB,IAAK,IAAI,EAAI,CADoB,CACb,MAAM,CAAE,GAAK,EAAO,IAAI,CAAE,IAAK,AACjD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,KAAK,CAAE,IAAK,CACtC,IAAM,EAAM,CAAC,EAAQ,KAAK,CAAG,GAAI,CAAC,CAAI,GAClC,EAAK,IAAI,CAAC,EAAI,CAAG,GAAK,EAAK,IAAI,CAAC,EAAM,EAAE,CAAG,GAAK,EAAK,IAAI,CAAC,EAAM,EAAE,EAAG,GAAG,CAC1E,EAAO,KAAK,GAAG,CAAC,EAAM,GACtB,EAAO,KAAK,GAAG,CAAC,EAAM,GACtB,EAAO,KAAK,GAAG,CAAC,EAAM,GACtB,EAAO,KAAK,GAAG,CAAC,EAAM,GAE1B,CAYJ,GAPA,EAAU,IAAI,CAAC,CACb,WAAY,CAAA,EAAG,CAAY,CAAC,EAAI,EAAE,CAAC,IAAI,EAAE,CAAY,CAAC,EAAE,CAAA,CAAE,CAC1D,eAAgB,OAAO,UAAU,CAAC,EAAe,OAAO,CAAC,IACzD,aAAc,EAAa,MAAM,CACjC,SAAS,CACX,GAEI,EAAO,GAAQ,EAAO,EAAM,CAC9B,IAAM,EAAY,CAAY,CAAC,EAAE,CAAC,KAAK,CAAC,kBAClC,EAAiB,EAAY,SAAS,CAAS,CAAC,EAAE,CAAE,IAAM,EAI1D,EAAc,CAClB,EAAG,KAAK,GAAG,CAAC,EAAG,MACf,CADsB,CACnB,KAAK,GAAG,CAAC,EAAG,EAHD,IAId,CADsB,KACf,KAAK,GAAG,CAAC,EAAQ,KAAK,CAAE,EAAO,EAAO,IAC7C,MADuD,CAC/C,KAAK,GAAG,CAAC,EAAQ,MAAM,CAAE,EAAO,EAAO,GACjD,EAIM,EAAU,EAAY,CAL+B,IAK1B,CAAG,EAAY,MAAM,CAChD,EAAa,EAAQ,KAAK,CAAG,EAAQ,MAAM,CAC3C,EAAkB,EAAU,EAAc,IAC1C,EAAmB,EAAuB,GAAb,EAAmB,EAAc,KAEpE,QAAQ,GAAG,CAAC,sCAAuC,aACjD,EACA,eAAgB,CAAA,EAAG,EAAe,OAAO,CAAC,GAAG,CAAC,CAAC,CAC/C,SAAU,CAAC,EACX,OAAQ,AAAC,EAAkD,WAA/B,4BAC9B,GAEA,EAAW,IAAI,CAAC,CAAE,UAAW,EAAgB,YAAa,CAAiB,EAC7E,CACF,MAEE,CAFK,CAEK,IAAI,CAAC,CACb,WAAY,CAAA,EAAG,CAAY,CAAC,EAAI,EAAE,CAAC,IAAI,EAAE,CAAY,CAAC,EAAE,CAAA,CAAE,CAC1D,eAAgB,OAAO,UAAU,CAAC,EAAe,OAAO,CAAC,IACzD,aAAc,EACd,QAAS,EACX,EAEJ,CAAE,KAAM,CAER,CACF,CAGA,IAAI,EAAkB,KAAK,AACvB,EAAmB,KAAK,AAC5B,GAFqC,AAEjC,EAAa,KADqB,CACf,CAAG,EACxB,CAD2B,EACvB,CACF,IAAM,EAAkB,EAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,CAAA,EAAA,EAAA,IAAI,AAAJ,EAAK,EAAe,CAAY,CAAC,EAAE,IACtF,EAAkB,EAAgB,KAAK,CACvC,EAAmB,EAAgB,MACrC,AAD2C,CACzC,KAAM,CAER,CAIF,GAAI,EAAS,CAGX,IAAM,EAAkB,EAAQ,MAAM,CACnC,GAAG,CAAC,AAAC,IAEJ,IAAI,EAAgB,KAChB,EAAkB,IAEtB,IAAK,IAAM,KAAU,EAAY,CAC/B,IAAM,EAAW,KAAK,GAAG,CAAC,EAAM,SAAS,CAAG,EAAO,SAAS,EACxD,EAAW,IAAM,EAAW,IAC9B,EAAgB,EAChB,EAAkB,EAEtB,CAEA,GAAI,CAN+C,AAM9C,EAAe,OAAO,KAG3B,IAAM,EAAS,EAAM,OAAO,EAAE,CAAC,EAAE,CAM7B,EAAc,EAAc,WAAW,CAI3C,GAAI,GAAQ,YAAc,GAAS,YAAa,CAC9C,IAAM,EAAU,EAAO,UAAU,CAC3B,EAAmB,EAAQ,WAAW,CAAC,KAAK,CAC5C,EAAoB,EAAQ,WAAW,CAAC,MAAM,CAEpD,QAAQ,GAAG,CAAC,sCAAuC,GACnD,QAAQ,GAAG,CAAC,2BAA4B,CAAE,MAAO,EAAkB,OAAQ,CAAkB,GAC7F,QAAQ,GAAG,CAAC,oCAAqC,CAAE,MAAO,EAAiB,OAAQ,CAAiB,GAGpG,IAAM,EAAS,EAAkB,EAC3B,EAAS,EAAmB,EAElC,QAAQ,GAAG,CAAC,+BAAgC,CAAE,EAAG,EAAO,OAAO,CAAC,GAAI,EAAG,EAAO,OAAO,CAAC,EAAG,GAUzF,QAAQ,GAAG,CAAC,+CAPZ,CAO4D,CAP9C,CACZ,EAAG,KAAK,KAAK,CAAC,EAAQ,CAAC,CAAG,GAC1B,EAAG,KAAK,KAAK,CAAC,EAAQ,CAAC,CAAG,GAC1B,MAAO,KAAK,KAAK,CAAC,EAAQ,KAAK,CAAG,GAClC,OAAQ,KAAK,KAAK,CAAC,EAAQ,MAAM,CAAG,EACtC,EAGF,MACE,CADK,OACG,GAAG,CAAC,oFAGd,MAAO,CACL,GAAG,CAAa,aAChB,EACA,SAAU,EAAM,KAAK,CACrB,QAAS,GAAQ,MAAQ,SAC3B,CACF,GACC,MAAM,CAAC,SAEV,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,WAAY,EACZ,iBAAkB,EAAQ,MAAM,CAChC,MAAO,EACP,OAAQ,iCACR,UAAW,EAAQ,QAAQ,CAC3B,MAAO,EAAQ,KAAK,CACpB,KAAM,CAAC,UAAU,EAAE,EAAQ,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAQ,KAAK,CAAC,YAAY,EAAE,EAAW,MAAM,CAAG,EAAgB,MAAM,CAAC,iCAAiC,CAAC,AAC9J,EACF,CAEA,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,YACvB,EACA,MAAO,EACP,OAAQ,sBACR,KAAM,iGACR,EACF,0BDrUA,IAAA,EAAA,EAAA,CAAA,CAAA,OAIA,IAAM,EAAc,IAAI,EAAA,mBAAmB,CAAC,CACxC,WAAY,CACR,KAAM,EAAA,SAAS,CAAC,SAAS,CACzB,KAAM,4BACN,SAAU,sBACV,SAAU,QACV,WAAY,EAChB,EACA,QAAS,CAAA,OACT,IADiD,eACc,CAA3C,EACpB,iBAAkB,uDAClB,iBAZqB,GAarB,SAAA,CACJ,GAIM,kBAAE,CAAgB,sBAAE,CAAoB,aAAE,CAAW,CAAE,CAAG,EAChE,SAAS,IACL,MAAO,CAAA,EAAA,EAAA,UAAW,AAAX,EAAY,kBACf,uBACA,CACJ,EACJ,CAEO,eAAe,EAAQ,CAAG,CAAE,CAAG,CAAE,CAAG,EACvC,IAAI,EACJ,IAAI,EAAU,4BAKV,EAAU,EAAQ,OAAO,CAAC,WAAY,KAAO,IAMjD,IAAM,EAAgB,MAAM,EAAY,OAAO,CAAC,EAAK,EAAK,SACtD,EACA,mBAHE,CAAA,CAIN,GACA,GAAI,CAAC,EAID,OAHA,EAAI,IADY,MACF,CAAG,IACjB,EAAI,GAAG,CAAC,eACS,MAAjB,CAAwB,CAApB,IAAyB,KAAhB,EAAoB,EAAI,SAAS,CAAC,IAAI,CAAC,EAAK,QAAQ,OAAO,IACjE,KAEX,GAAM,SAAE,CAAO,QAAE,CAAM,YAAE,CAAU,aAAE,CAAW,mBAAE,CAAiB,qBAAE,CAAmB,sBAAE,CAAoB,yBAAE,CAAuB,kBAAE,CAAgB,yBAAE,CAAuB,uBAAE,CAAqB,CAAE,CAAG,EACxM,EAAoB,CAAA,EAAA,EAAA,gBAAA,AAAgB,EAAC,GACvC,GAAQ,EAAQ,EAAkB,aAAa,CAAC,EAAkB,EAAI,EAAkB,MAAM,CAAC,EAAA,AAAiB,EACpH,GAAI,GAAS,CAAC,EAAa,CACvB,IAAM,GAAgB,CAAQ,EAAkB,MAAM,CAAC,EAAiB,CAClE,EAAgB,EAAkB,aAAa,CAAC,EAAkB,CACxE,GAAI,IAC+B,IAA3B,EAAc,KADH,GACW,EAAc,CAAC,EACrC,MAAM,IAAI,EAAA,CAD0C,cAC3B,AAGrC,CACA,IAAI,EAAW,MACX,GAAU,EAAY,IAAb,CAAkB,EAAK,EAAD,EAG/B,EAAW,AAAa,OAHqB,KAC7C,EAAW,CAAA,EAEwB,IAAM,CAAA,EAE7C,IAAM,EACN,AAAsB,OAAV,CAAkB,IAAb,EAEjB,CAAC,EAKK,EAAqB,GAAS,CAAC,EAIjC,GAAyB,GACzB,CAAA,EAAA,EAAA,iBADkD,aAClD,AAA8B,EAAC,CAC3B,KAAM,GAbqF,uBAc3F,wBACA,EACA,gBAAiB,CAAA,EAAA,EAAA,qBAAA,AAAqB,EAAC,uBACnC,CACJ,EACJ,GAEJ,IAAM,EAAS,EAAI,MAAM,EAAI,MACvB,EAAS,CAAA,EAAA,EAAA,SAAA,AAAS,IAClB,EAAa,EAAO,kBAAkB,GACtC,EAAU,QACZ,oBACA,EACA,WAAY,CACR,aAAc,CACV,iBAAiB,CAAQ,EAAW,YAAY,CAAC,eAAe,CAChE,gBAAgB,CAAQ,EAAW,YAAY,CAAC,cAAc,AAClE,0BACA,EACA,iBAAkB,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,EAAK,oBACtC,kBAAmB,AAAwD,OAAvD,EAA2B,EAAW,YAAA,AAAY,EAAY,KAAK,EAAI,EAAyB,SAAS,CAC7H,UAAW,EAAI,SAAS,CACxB,QAAS,AAAC,IACN,EAAI,EAAE,CAAC,QAAS,EACpB,EACA,iBAAkB,OAClB,8BAA+B,CAAC,EAAO,EAAU,IAAe,EAAY,cAAc,CAAC,EAAK,EAAO,EAAc,EACzH,EACA,cAAe,SACX,CACJ,CACJ,EACM,EAAc,IAAI,EAAA,eAAe,CAAC,GAClC,EAAc,IAAI,EAAA,gBAAgB,CAAC,GACnC,EAAU,EAAA,kBAAkB,CAAC,mBAAmB,CAAC,EAAa,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAC3F,GAAI,CACA,IAAM,EAAoB,MAAO,GACtB,EAAY,MAAM,CAAC,EAAS,GAAS,OAAO,CAAC,KAChD,GAAI,CAAC,EAAM,OACX,EAAK,aAAa,CAAC,CACf,mBAAoB,EAAI,UAAU,CAClC,WAAY,EAChB,GACA,IAAM,EAAqB,EAAO,qBAAqB,GAEvD,GAAI,CAAC,EACD,OAEJ,GAAI,EAAmB,GAAG,CAAC,EAHF,kBAGwB,EAAA,cAAc,CAAC,aAAa,CAAE,YAC3E,QAAQ,IAAI,CAAC,CAAC,2BAA2B,EAAE,EAAmB,GAAG,CAAC,kBAAkB,qEAAqE,CAAC,EAG9J,IAAM,EAAQ,EAAmB,GAAG,CAAC,cACrC,GAAI,EAAO,CACP,IAAM,EAAO,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAO,CACjC,EAAK,aAAa,CAAC,CACf,aAAc,EACd,aAAc,EACd,iBAAkB,CACtB,GACA,EAAK,UAAU,CAAC,EACpB,MACI,CADG,CACE,UAAU,CAAC,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAS,CAE9C,GAEE,EAAiB,MAAO,QACtB,EA0FI,EAzFR,IAAM,EAAoB,MAAO,oBAAE,CAAkB,CAAE,IACnD,GAAI,CACA,GAAI,CAAC,CAAA,EAAA,EAAA,cAAc,AAAd,EAAe,EAAK,gBAAkB,GAAwB,GAA2B,CAAC,EAK3F,OAJA,EAAI,SAD2G,CACjG,CAAG,IAEjB,EAAI,SAAS,CAAC,iBAAkB,eAChC,EAAI,GAAG,CAAC,gCACD,KAEX,IAAM,EAAW,MAAM,EAAkB,GACzC,EAAI,YAAY,CAAG,EAAQ,UAAU,CAAC,YAAY,CAClD,IAAI,EAAmB,EAAQ,UAAU,CAAC,gBAAgB,CAGtD,GACI,EAAI,SAAS,EAAE,CACf,CAFc,CAEV,SAAS,CAAC,GACd,OAAmB,GAG3B,IAAM,EAAY,EAAQ,UAAU,CAAC,aAAa,CAGlD,IAAI,EA6BA,OADA,MAAM,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,EAAa,EAAa,EAAU,EAAQ,UAAU,CAAC,gBAAgB,EACnF,IA7BA,EACP,IAAM,EAAO,MAAM,EAAS,IAAI,GAE1B,EAAU,CAAA,EAAA,EAAA,yBAAA,AAAyB,EAAC,EAAS,OAAO,EACtD,IACA,CAAO,CAAC,EAAA,GADG,mBACmB,CAAC,CAAG,CAAA,EAElC,CAAC,CAAO,CAAC,eAAe,EAAI,EAAK,IAAI,EAAE,CACvC,CAAO,CAAC,eAAe,CAAG,EAAK,IAAA,AAAI,EAEvC,IAAM,EAAa,KAAkD,IAA3C,EAAQ,UAAU,CAAC,mBAAmB,IAAoB,EAAQ,UAAU,CAAC,mBAAmB,EAAI,EAAA,cAAA,AAAc,GAAG,AAAQ,EAAQ,UAAU,CAAC,mBAAmB,CACvL,EAAS,KAA8C,IAAvC,EAAQ,UAAU,CAAC,eAAe,EAAoB,EAAQ,UAAU,CAAC,eAAe,EAAI,EAAA,cAAc,MAAG,EAAY,EAAQ,UAAU,CAAC,eAAe,CAcjL,MAZmB,CAYZ,AAXH,MAAO,CACH,KAAM,EAAA,eAAe,CAAC,SAAS,CAC/B,OAAQ,EAAS,MAAM,CACvB,KAAM,OAAO,IAAI,CAAC,MAAM,EAAK,WAAW,YACxC,CACJ,EACA,aAAc,YACV,SACA,CACJ,CACJ,CAEJ,CAKJ,CAAE,KALS,CAKF,EAAK,CAcV,MAXI,AAAsB,QAAO,KAAK,EAAI,EAAmB,OAAA,AAAO,EAAE,CAClE,MAAM,EAAY,cAAc,CAAC,EAAK,EAAK,CACvC,WAAY,aACZ,UAAW,EACX,UAAW,QACX,iBAAkB,CAAA,EAAA,EAAA,mBAAA,AAAmB,EAAC,oBAClC,uBACA,CACJ,EACJ,EAAG,GAED,CACV,CACJ,EACM,EAAa,MAAM,EAAY,cAAc,CAAC,KAChD,aACA,WACA,EACA,UAAW,EAAA,SAAS,CAAC,SAAS,CAC9B,YAAY,oBACZ,EACA,mBAAmB,uBACnB,0BACA,oBACA,EACA,UAAW,EAAI,SAAS,AAC5B,GAEA,GAAI,CAAC,EACD,KADQ,EACD,KAEX,GAAI,CAAe,MAAd,CAAqB,EAAS,AAA0C,GAA9C,IAAK,EAAoB,EAAW,KAAA,AAAK,EAAY,KAAK,EAAI,EAAkB,IAAI,IAAM,EAAA,eAAe,CAAC,SAAS,CAE9I,CAFgJ,KAE1I,OAAO,cAAc,CAAC,AAAI,MAAM,CAAC,kDAAkD,EAAgB,MAAd,CAAqB,EAAS,AAA2C,GAA/C,GAAK,GAAqB,EAAW,KAAA,AAAK,EAAY,KAAK,EAAI,EAAmB,IAAI,CAAA,CAAE,EAAG,oBAAqB,CACjO,MAAO,OACP,YAAY,EACZ,cAAc,CAClB,EAEA,CAAC,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,EAAK,gBAAgB,AACrC,EAAI,SAAS,CAAC,iBAAkB,EAAuB,cAAgB,EAAW,MAAM,CAAG,OAAS,EAAW,OAAO,CAAG,QAAU,OAGnI,GACA,EAAI,QADS,CACA,CAAC,gBAAiB,2DAEnC,IAAM,EAAU,CAAA,EAAA,EAAA,2BAAA,AAA2B,EAAC,EAAW,KAAK,CAAC,OAAO,EAcpE,MAbI,AAAE,CAAD,AAAC,EAAA,EAAA,cAAA,AAAc,EAAC,EAAK,gBAAkB,GACxC,EAD6C,AACrC,GADwC,GAClC,CAAC,EAAA,sBAAsB,GAIrC,EAAW,YAAY,EAAK,EAAD,AAAK,SAAS,CAAC,kBAAqB,EAAD,AAAS,GAAG,CAAC,kBAAkB,AAC7F,EAAQ,GAAG,CAAC,gBAAiB,CAAA,EAAA,EAAA,qBAAA,AAAqB,EAAC,EAAW,YAAY,GAE9E,MAAM,CAAA,EAAA,EAAA,YAAY,AAAZ,EAAa,EAAa,EAChC,IAAI,SAAS,EAAW,KAAK,CAAC,IAAI,CAAE,SAChC,EACA,OAAQ,EAAW,KAAK,CAAC,MAAM,EAAI,GACvC,IACO,IACX,EAGI,EACA,MAAM,EAAe,EADT,CAGZ,MAAM,EAAO,qBAAqB,CAAC,EAAI,OAAO,CAAE,IAAI,EAAO,KAAK,CAAC,EAAA,cAAc,CAAC,aAAa,CAAE,CACvF,SAAU,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAS,CAChC,KAAM,EAAA,QAAQ,CAAC,MAAM,CACrB,WAAY,CACR,cAAe,EACf,cAAe,EAAI,GAAG,AAC1B,CACJ,EAAG,GAEf,CAAE,MAAO,EAAK,CAcV,GAbI,AAAE,CAAD,YAAgB,EAAA,eAAe,EAChC,CADmC,KAC7B,EAAY,cAAc,CAAC,EAAK,EAAK,CACvC,WAAY,aACZ,UAAW,EACX,UAAW,QACX,iBAAkB,CAAA,EAAA,EAAA,mBAAA,AAAmB,EAAC,oBAClC,uBACA,CACJ,EACJ,GAIA,EAAO,MAAM,EAKjB,OAHA,MAAM,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,EAAa,EAAa,IAAI,SAAS,KAAM,CAC5D,OAAQ,GACZ,IACO,IACX,CACJ,EAEA,qCAAqC","ignoreList":[0]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},85790,a=>{a.n(a.i(29775))},32996,a=>{a.n(a.i(48084))},4715,a=>{a.n(a.i(37352))},78472,a=>{a.n(a.i(65993))},97044,a=>{a.n(a.i(97451))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__02a8c992._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},85790,a=>{a.n(a.i(29775))},32996,a=>{a.n(a.i(48084))},4715,a=>{a.n(a.i(37352))},78472,a=>{a.n(a.i(65993))},97044,a=>{a.n(a.i(97451))},50683,a=>{"use strict";let b=(0,a.i(42506).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/mcp-server/app/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/mcp-server/app/page.tsx <module evaluation>","default");a.s(["default",0,b])},23267,a=>{"use strict";let b=(0,a.i(42506).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/mcp-server/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/mcp-server/app/page.tsx","default");a.s(["default",0,b])},70132,a=>{"use strict";a.i(50683);var b=a.i(23267);a.n(b)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__05689c01._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/mcp-server/app/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/mcp-server/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/mcp-server/app/page.tsx\",\n \"default\",\n);\n"],"names":[],"mappings":"2UAEe,CAAA,EAAA,AADf,EAAA,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,yRAA2R,EACxT,wDACA,8DAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,qQAAuQ,EACpS,oCACA","ignoreList":[0]}
1
+ {"version":3,"sources":["turbopack:///[project]/mcp-server/app/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/mcp-server/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/mcp-server/app/page.tsx\",\n \"default\",\n);\n"],"names":[],"mappings":"0UAEe,CAAA,EAAA,AADf,EAAA,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,yRAA2R,EACxT,wDACA,8DAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,qQAAuQ,EACpS,oCACA","ignoreList":[0]}
@@ -0,0 +1,3 @@
1
+ module.exports=[43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},42506,(a,b,c)=>{"use strict";b.exports=a.r(6499).vendored["react-rsc"].ReactServerDOMTurbopackServer},6499,(a,b,c)=>{"use strict";b.exports=a.r(18622)},68405,(a,b,c)=>{"use strict";b.exports=a.r(6499).vendored["react-rsc"].ReactJsxRuntime},96870,(a,b,c)=>{"use strict";b.exports=a.r(6499).vendored["react-rsc"].React},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},47396,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(42506);a.n(d("[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>"))},25469,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(42506);a.n(d("[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js"))},97451,a=>{"use strict";a.i(47396);var b=a.i(25469);a.n(b)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__61c905ce._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js/__nextjs-internal-proxy.cjs","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/global-error.tsx"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js\"));\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n"],"names":["module","exports","require","vendored","ReactServerDOMTurbopackServer","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React","styles","error","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","HandleISRError","div","style","h2","window","location","hostname","p"],"mappings":"8zCAAAA,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEC,6BAA6B,+BCwB9CJ,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEQ,eAAe,+BCFxCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAES,KAAK,kBCD9B,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,OAEjC,EAAsB,CAAC,CAAC,EAAwB,iPAFhD,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,OAEjC,EAAsB,CAAC,CAAC,EAAwB","ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js/__nextjs-internal-proxy.cjs","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/global-error.tsx"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js\"));\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n"],"names":["module","exports","require","vendored","ReactServerDOMTurbopackServer","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React","styles","error","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","HandleISRError","div","style","h2","window","location","hostname","p"],"mappings":"uOAAAA,GAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,EACRC,QAAQ,CAAC,YAAY,CAAEC,6BAA6B,8BCwB9CJ,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,EACRC,QAAQ,CAAC,YAAY,CAAEQ,eAAe,+BCFxCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,EACRC,QAAQ,CAAC,YAAY,CAAES,KAAK,wmCCD9B,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,OAEjC,EAAsB,CAAC,CAAC,EAAwB,iPAFhD,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,OAEjC,EAAsB,CAAC,CAAC,EAAwB","ignoreList":[0,1,2,3,4]}
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},20768,(a,b,c)=>{"use strict";b.exports=a.r(18622)},68960,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].ReactJsxRuntime},77316,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].React},65558,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].ReactDOM},4764,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored.contexts.AppRouterContext},20841,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored.contexts.HooksClientContext},88519,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored.contexts.ServerInsertedHtml}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__8863b0f6._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactDOM","AppRouterContext","HooksClientContext","ServerInsertedHtml"],"mappings":"6tBA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK,+BCF9BR,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEG,QAAQ,8BCFjCT,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACI,gBAAgB,+BCFvCV,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACK,kBAAkB,+BCFzCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACM,kBAAkB","ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,3 @@
1
+ module.exports=[43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},42506,(a,b,c)=>{"use strict";b.exports=a.r(6499).vendored["react-rsc"].ReactServerDOMTurbopackServer},6499,(a,b,c)=>{"use strict";b.exports=a.r(18622)},68405,(a,b,c)=>{"use strict";b.exports=a.r(6499).vendored["react-rsc"].ReactJsxRuntime},96870,(a,b,c)=>{"use strict";b.exports=a.r(6499).vendored["react-rsc"].React},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__9bc632fa._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n"],"names":["module","exports","require","vendored","ReactServerDOMTurbopackServer","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React"],"mappings":"8zCAAAA,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEC,6BAA6B,+BCwB9CJ,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEQ,eAAe,+BCFxCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAES,KAAK","ignoreList":[0,1,2,3]}
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n"],"names":["module","exports","require","vendored","ReactServerDOMTurbopackServer","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React"],"mappings":"wOAAAA,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,EACRC,QAAQ,CAAC,YAAY,CAAEC,6BAA6B,8BCwB9CJ,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,EACRC,QAAQ,CAAC,YAAY,CAAEQ,eAAe,+BCFxCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,EACRC,QAAQ,CAAC,YAAY,CAAES,KAAK","ignoreList":[0,1,2,3]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},85790,a=>{a.n(a.i(29775))},32996,a=>{a.n(a.i(48084))},4715,a=>{a.n(a.i(37352))},78472,a=>{a.n(a.i(65993))},859,a=>{a.n(a.i(97451))},65993,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(68405),e=a.r(61610);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:401,message:"You're not authorized to access this page."})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__9f07837d._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/unauthorized.tsx"],"sourcesContent":["import { HTTPAccessErrorFallback } from '../http-access-fallback/error-fallback'\n\nexport default function Unauthorized() {\n return (\n <HTTPAccessErrorFallback\n status={401}\n message=\"You're not authorized to access this page.\"\n />\n )\n}\n"],"names":["Unauthorized","HTTPAccessErrorFallback","status","message"],"mappings":"oZAEA,UAAA,qCAAwBA,0BAFgB,CAAA,CAAA,IAAA,GAEzB,SAASA,IACtB,MACE,CADF,AACE,EAAA,EAAA,GAAA,EAACC,EADH,AACGA,uBAAuB,CAAA,CACtBC,OAAQ,IACRC,QAAQ,8CAGd","ignoreList":[0]}
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/unauthorized.tsx"],"sourcesContent":["import { HTTPAccessErrorFallback } from '../http-access-fallback/error-fallback'\n\nexport default function Unauthorized() {\n return (\n <HTTPAccessErrorFallback\n status={401}\n message=\"You're not authorized to access this page.\"\n />\n )\n}\n"],"names":["Unauthorized","HTTPAccessErrorFallback","status","message"],"mappings":"iZAEA,UAAA,qCAAwBA,0BAFgB,CAAA,CAAA,IAAA,GAEzB,SAASA,IACtB,MACE,CADF,AACE,EAAA,EAAA,GAAA,EAACC,EADH,AACGA,uBAAuB,CAAA,CACtBC,OAAQ,IACRC,QAAQ,8CAGd","ignoreList":[0]}
@@ -1,3 +1,3 @@
1
- module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},83704,(a,b,c)=>{"use strict";b.exports=a.r(18622)},83876,(a,b,c)=>{"use strict";b.exports=a.r(83704).vendored["react-ssr"].ReactJsxRuntime},58112,(a,b,c)=>{"use strict";b.exports=a.r(83704).vendored["react-ssr"].React},29781,(a,b,c)=>{"use strict";b.exports=a.r(83704).vendored["react-ssr"].ReactDOM},87576,a=>{"use strict";var b=a.i(83876),c=a.i(38171),d=a.i(58112);function e({params:a}){let{session:e}=(0,d.use)(a),[f,g]=(0,d.useState)([]),[h,i]=(0,d.useState)(0),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(10),[n,o]=(0,d.useState)({width:1920,height:1080}),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)([]);(0,d.useEffect)(()=>{fetch(`/api/screenshots/list?pattern=${e}`).then(a=>a.json()).then(a=>{let b=a.files.filter(a=>a.includes("jank-")&&a.includes(e)).sort((a,b)=>parseInt(a.match(/jank-(\d+)ms/)?.[1]||"0",10)-parseInt(b.match(/jank-(\d+)ms/)?.[1]||"0",10));if(g(b),b.length>0){let a=new Image;a.onload=()=>{o({width:a.naturalWidth,height:a.naturalHeight})},a.src=`/api/screenshots/${b[0]}`}}),fetch(`/api/jank/${e}`).then(a=>a.json()).then(a=>{s(a.clsMarkers||[])}).catch(()=>{s([])})},[e]),(0,d.useEffect)(()=>{if(!j||0===f.length)return;let a=setInterval(()=>{i(a=>a>=f.length-1?(k(!1),a):a+1)},1e3/l);return()=>clearInterval(a)},[j,f.length,l]);let[,t]=(0,d.useState)(0);if((0,d.useEffect)(()=>{let a=()=>t(a=>a+1);return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),0===f.length)return(0,b.jsx)("div",{className:"p-8",children:"Loading frames..."});let u=f[h],v=u?.match(/jank-(\d+)ms/)?.[1]||"0",w=parseInt(v,10),x=r.find(a=>100>Math.abs(a.timestamp-w)),y={};if(p&&x?.boundingBox){let a=p.parentElement?.getBoundingClientRect(),b=n.width,c=n.height;if(a){let d,e,f,g,h=a.width/a.height,i=b/c;h>i?(d=(e=a.height)*i,f=(a.width-d)/2,g=0):(e=(d=a.width)/i,f=0,g=(a.height-e)/2);let j=d/b;y={left:`${f+x.boundingBox.x*j}px`,top:`${g+x.boundingBox.y*j}px`,width:`${x.boundingBox.width*j}px`,height:`${x.boundingBox.height*j}px`}}}return(0,b.jsxs)("div",{className:"flex flex-col h-screen bg-black",children:[(0,b.jsxs)("div",{className:"flex-1 flex items-center justify-center relative overflow-hidden",children:[(0,b.jsx)(c.default,{ref:q,src:`/api/screenshots/${u}`,alt:`Frame ${h}`,className:"w-full h-full object-contain",fill:!0,unoptimized:!0}),x?.boundingBox&&p&&(0,b.jsx)("div",{className:"absolute border-2 border-red-500 pointer-events-none",style:y})]}),(0,b.jsxs)("div",{className:"bg-gray-900 text-white p-4 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("button",{type:"button",onClick:()=>k(!j),className:"px-4 py-2 bg-blue-600 hover:bg-blue-700 rounded",children:j?"Pause":"Play"}),(0,b.jsx)("button",{type:"button",onClick:()=>i(Math.max(0,h-1)),disabled:0===h,className:"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50",children:"Previous"}),(0,b.jsx)("button",{type:"button",onClick:()=>i(Math.min(f.length-1,h+1)),disabled:h===f.length-1,className:"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50",children:"Next"}),(0,b.jsxs)("span",{className:"flex-1 text-center",children:["Frame ",h+1," / ",f.length," (",v,"ms)"]}),(0,b.jsxs)("label",{className:"flex items-center gap-2",children:["Speed:",(0,b.jsx)("input",{type:"range",min:"1",max:"30",value:l,onChange:a=>m(Number(a.target.value)),className:"w-32"}),(0,b.jsxs)("span",{className:"w-12",children:[l," fps"]})]})]}),(0,b.jsxs)("div",{className:"relative w-full",children:[(0,b.jsx)("input",{type:"range",min:"0",max:f.length-1,value:h,onChange:a=>i(Number(a.target.value)),className:"w-full"}),r.map(a=>{let c=f.findIndex(b=>parseInt(b.match(/jank-(\d+)ms/)?.[1]||"0",10)>=a.timestamp);if(-1===c)return null;let d=c/(f.length-1)*100;return(0,b.jsxs)("div",{className:"absolute top-0 h-full pointer-events-none",style:{left:`${d}%`},children:[(0,b.jsx)("div",{className:"w-0.5 h-full bg-red-500"}),(0,b.jsx)("div",{className:"absolute -top-6 left-0 -translate-x-1/2 bg-red-500 text-white text-xs px-2 py-0.5 rounded whitespace-nowrap",children:a.clsScore?(0,b.jsxs)(b.Fragment,{children:["CLS ",a.clsScore.toFixed(4)," @ ",a.timestamp,"ms",a.element&&(0,b.jsxs)("span",{className:"ml-1 opacity-75",children:["<",a.element.toLowerCase(),">"]})]}):`CLS ${a.timestamp}ms`})]},a.timestamp)})]})]})]})}a.s(["default",()=>e])}];
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20768,(a,b,c)=>{"use strict";b.exports=a.r(18622)},68960,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].ReactJsxRuntime},77316,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].React},65558,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].ReactDOM},87576,a=>{"use strict";var b=a.i(68960),c=a.i(93436),d=a.i(77316);function e({params:a}){let{session:e}=(0,d.use)(a),[f,g]=(0,d.useState)([]),[h,i]=(0,d.useState)(0),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(10),[n,o]=(0,d.useState)({width:1920,height:1080}),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)([]);(0,d.useEffect)(()=>{fetch(`/api/screenshots/list?pattern=${e}`).then(a=>a.json()).then(a=>{let b=a.files.filter(a=>a.includes("jank-")&&a.includes(e)).sort((a,b)=>parseInt(a.match(/jank-(\d+)ms/)?.[1]||"0",10)-parseInt(b.match(/jank-(\d+)ms/)?.[1]||"0",10));if(g(b),b.length>0){let a=new Image;a.onload=()=>{o({width:a.naturalWidth,height:a.naturalHeight})},a.src=`/api/screenshots/${b[0]}`}}),fetch(`/api/jank/${e}`).then(a=>a.json()).then(a=>{s(a.clsMarkers||[])}).catch(()=>{s([])})},[e]),(0,d.useEffect)(()=>{if(!j||0===f.length)return;let a=setInterval(()=>{i(a=>a>=f.length-1?(k(!1),a):a+1)},1e3/l);return()=>clearInterval(a)},[j,f.length,l]);let[,t]=(0,d.useState)(0);if((0,d.useEffect)(()=>{let a=()=>t(a=>a+1);return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),0===f.length)return(0,b.jsx)("div",{className:"p-8",children:"Loading frames..."});let u=f[h],v=u?.match(/jank-(\d+)ms/)?.[1]||"0",w=parseInt(v,10),x=r.find(a=>100>Math.abs(a.timestamp-w)),y={};if(p&&x?.boundingBox){let a=p.parentElement?.getBoundingClientRect(),b=n.width,c=n.height;if(a){let d,e,f,g,h=a.width/a.height,i=b/c;h>i?(d=(e=a.height)*i,f=(a.width-d)/2,g=0):(e=(d=a.width)/i,f=0,g=(a.height-e)/2);let j=d/b;y={left:`${f+x.boundingBox.x*j}px`,top:`${g+x.boundingBox.y*j}px`,width:`${x.boundingBox.width*j}px`,height:`${x.boundingBox.height*j}px`}}}return(0,b.jsxs)("div",{className:"flex flex-col h-screen bg-black",children:[(0,b.jsxs)("div",{className:"flex-1 flex items-center justify-center relative overflow-hidden",children:[(0,b.jsx)(c.default,{ref:q,src:`/api/screenshots/${u}`,alt:`Frame ${h}`,className:"w-full h-full object-contain",fill:!0,unoptimized:!0}),x?.boundingBox&&p&&(0,b.jsx)("div",{className:"absolute border-2 border-red-500 pointer-events-none",style:y})]}),(0,b.jsxs)("div",{className:"bg-gray-900 text-white p-4 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("button",{type:"button",onClick:()=>k(!j),className:"px-4 py-2 bg-blue-600 hover:bg-blue-700 rounded",children:j?"Pause":"Play"}),(0,b.jsx)("button",{type:"button",onClick:()=>i(Math.max(0,h-1)),disabled:0===h,className:"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50",children:"Previous"}),(0,b.jsx)("button",{type:"button",onClick:()=>i(Math.min(f.length-1,h+1)),disabled:h===f.length-1,className:"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50",children:"Next"}),(0,b.jsxs)("span",{className:"flex-1 text-center",children:["Frame ",h+1," / ",f.length," (",v,"ms)"]}),(0,b.jsxs)("label",{className:"flex items-center gap-2",children:["Speed:",(0,b.jsx)("input",{type:"range",min:"1",max:"30",value:l,onChange:a=>m(Number(a.target.value)),className:"w-32"}),(0,b.jsxs)("span",{className:"w-12",children:[l," fps"]})]})]}),(0,b.jsxs)("div",{className:"relative w-full",children:[(0,b.jsx)("input",{type:"range",min:"0",max:f.length-1,value:h,onChange:a=>i(Number(a.target.value)),className:"w-full"}),r.map(a=>{let c=f.findIndex(b=>parseInt(b.match(/jank-(\d+)ms/)?.[1]||"0",10)>=a.timestamp);if(-1===c)return null;let d=c/(f.length-1)*100;return(0,b.jsxs)("div",{className:"absolute top-0 h-full pointer-events-none",style:{left:`${d}%`},children:[(0,b.jsx)("div",{className:"w-0.5 h-full bg-red-500"}),(0,b.jsx)("div",{className:"absolute -top-6 left-0 -translate-x-1/2 bg-red-500 text-white text-xs px-2 py-0.5 rounded whitespace-nowrap",children:a.clsScore?(0,b.jsxs)(b.Fragment,{children:["CLS ",a.clsScore.toFixed(4)," @ ",a.timestamp,"ms",a.element&&(0,b.jsxs)("span",{className:"ml-1 opacity-75",children:["<",a.element.toLowerCase(),">"]})]}):`CLS ${a.timestamp}ms`})]},a.timestamp)})]})]})]})}a.s(["default",()=>e])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__295a5dca._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__a4bb31a6._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","turbopack:///[project]/mcp-server/app/video/[session]/page.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","\"use client\"\n\nimport NextImage from \"next/image\"\nimport { use, useEffect, useState } from \"react\"\n\nexport default function VideoPlayer({ params }: { params: Promise<{ session: string }> }) {\n const { session } = use(params)\n const [frames, setFrames] = useState<string[]>([])\n const [currentFrame, setCurrentFrame] = useState(0)\n const [isPlaying, setIsPlaying] = useState(false)\n const [fps, setFps] = useState(10)\n const [screenshotDimensions, setScreenshotDimensions] = useState<{ width: number; height: number }>({\n width: 1920,\n height: 1080\n })\n const [imgRef, setImgRef] = useState<HTMLImageElement | null>(null)\n const [clsMarkers, setClsMarkers] = useState<\n Array<{\n timestamp: number\n boundingBox: { x: number; y: number; width: number; height: number } | null\n clsScore?: number\n element?: string\n }>\n >([])\n\n useEffect(() => {\n // Parse session timestamp to find matching screenshots\n // Format: 2025-10-05T23-57-XX-jank-XXms.png\n fetch(`/api/screenshots/list?pattern=${session}`)\n .then((r) => r.json())\n .then((data) => {\n const jankFrames = data.files\n .filter((f: string) => f.includes(\"jank-\") && f.includes(session))\n .sort((a: string, b: string) => {\n const aMs = parseInt(a.match(/jank-(\\d+)ms/)?.[1] || \"0\", 10)\n const bMs = parseInt(b.match(/jank-(\\d+)ms/)?.[1] || \"0\", 10)\n return aMs - bMs\n })\n setFrames(jankFrames)\n\n // Load first frame to get dimensions\n if (jankFrames.length > 0) {\n const img = new Image()\n img.onload = () => {\n setScreenshotDimensions({ width: img.naturalWidth, height: img.naturalHeight })\n }\n img.src = `/api/screenshots/${jankFrames[0]}`\n }\n })\n\n // Fetch CLS markers from jank detection API\n fetch(`/api/jank/${session}`)\n .then((r) => r.json())\n .then((data) => {\n setClsMarkers(data.clsMarkers || [])\n })\n .catch(() => {\n setClsMarkers([])\n })\n }, [session])\n\n useEffect(() => {\n if (!isPlaying || frames.length === 0) return\n\n const interval = setInterval(() => {\n setCurrentFrame((prev) => {\n if (prev >= frames.length - 1) {\n setIsPlaying(false)\n return prev\n }\n return prev + 1\n })\n }, 1000 / fps)\n\n return () => clearInterval(interval)\n }, [isPlaying, frames.length, fps])\n\n // Force re-render on window resize to recalculate bounding box position\n const [, forceUpdate] = useState(0)\n useEffect(() => {\n const handleResize = () => forceUpdate((n) => n + 1)\n window.addEventListener(\"resize\", handleResize)\n return () => window.removeEventListener(\"resize\", handleResize)\n }, [])\n\n if (frames.length === 0) {\n return <div className=\"p-8\">Loading frames...</div>\n }\n\n const currentFrameFile = frames[currentFrame]\n const frameMs = currentFrameFile?.match(/jank-(\\d+)ms/)?.[1] || \"0\"\n const currentFrameMs = parseInt(frameMs, 10)\n const clsAtFrame = clsMarkers.find((marker) => Math.abs(marker.timestamp - currentFrameMs) < 100)\n\n // Calculate the rendered image dimensions and position (accounting for object-contain)\n let imgStyle: React.CSSProperties = {}\n if (imgRef && clsAtFrame?.boundingBox) {\n const containerRect = imgRef.parentElement?.getBoundingClientRect()\n const imgNaturalWidth = screenshotDimensions.width\n const imgNaturalHeight = screenshotDimensions.height\n\n if (containerRect) {\n // Calculate how the image is scaled by object-contain\n const containerAspect = containerRect.width / containerRect.height\n const imageAspect = imgNaturalWidth / imgNaturalHeight\n\n let renderedWidth: number, renderedHeight: number, offsetX: number, offsetY: number\n\n if (containerAspect > imageAspect) {\n // Container is wider - image is constrained by height\n renderedHeight = containerRect.height\n renderedWidth = renderedHeight * imageAspect\n offsetX = (containerRect.width - renderedWidth) / 2\n offsetY = 0\n } else {\n // Container is taller - image is constrained by width\n renderedWidth = containerRect.width\n renderedHeight = renderedWidth / imageAspect\n offsetX = 0\n offsetY = (containerRect.height - renderedHeight) / 2\n }\n\n // Calculate bounding box position relative to rendered image\n const scale = renderedWidth / imgNaturalWidth\n imgStyle = {\n left: `${offsetX + clsAtFrame.boundingBox.x * scale}px`,\n top: `${offsetY + clsAtFrame.boundingBox.y * scale}px`,\n width: `${clsAtFrame.boundingBox.width * scale}px`,\n height: `${clsAtFrame.boundingBox.height * scale}px`\n }\n }\n }\n\n return (\n <div className=\"flex flex-col h-screen bg-black\">\n <div className=\"flex-1 flex items-center justify-center relative overflow-hidden\">\n <NextImage\n ref={setImgRef}\n src={`/api/screenshots/${currentFrameFile}`}\n alt={`Frame ${currentFrame}`}\n className=\"w-full h-full object-contain\"\n fill\n unoptimized\n />\n {clsAtFrame?.boundingBox && imgRef && (\n <div className=\"absolute border-2 border-red-500 pointer-events-none\" style={imgStyle} />\n )}\n </div>\n\n <div className=\"bg-gray-900 text-white p-4 space-y-4\">\n <div className=\"flex items-center gap-4\">\n <button\n type=\"button\"\n onClick={() => setIsPlaying(!isPlaying)}\n className=\"px-4 py-2 bg-blue-600 hover:bg-blue-700 rounded\"\n >\n {isPlaying ? \"Pause\" : \"Play\"}\n </button>\n\n <button\n type=\"button\"\n onClick={() => setCurrentFrame(Math.max(0, currentFrame - 1))}\n disabled={currentFrame === 0}\n className=\"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50\"\n >\n Previous\n </button>\n\n <button\n type=\"button\"\n onClick={() => setCurrentFrame(Math.min(frames.length - 1, currentFrame + 1))}\n disabled={currentFrame === frames.length - 1}\n className=\"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50\"\n >\n Next\n </button>\n\n <span className=\"flex-1 text-center\">\n Frame {currentFrame + 1} / {frames.length} ({frameMs}ms)\n </span>\n\n <label className=\"flex items-center gap-2\">\n Speed:\n <input\n type=\"range\"\n min=\"1\"\n max=\"30\"\n value={fps}\n onChange={(e) => setFps(Number(e.target.value))}\n className=\"w-32\"\n />\n <span className=\"w-12\">{fps} fps</span>\n </label>\n </div>\n\n <div className=\"relative w-full\">\n <input\n type=\"range\"\n min=\"0\"\n max={frames.length - 1}\n value={currentFrame}\n onChange={(e) => setCurrentFrame(Number(e.target.value))}\n className=\"w-full\"\n />\n {/* CLS markers on timeline */}\n {clsMarkers.map((marker) => {\n const frameIndex = frames.findIndex((f) => {\n const frameMs = parseInt(f.match(/jank-(\\d+)ms/)?.[1] || \"0\", 10)\n return frameMs >= marker.timestamp\n })\n if (frameIndex === -1) return null\n const position = (frameIndex / (frames.length - 1)) * 100\n return (\n <div\n key={marker.timestamp}\n className=\"absolute top-0 h-full pointer-events-none\"\n style={{ left: `${position}%` }}\n >\n <div className=\"w-0.5 h-full bg-red-500\" />\n <div className=\"absolute -top-6 left-0 -translate-x-1/2 bg-red-500 text-white text-xs px-2 py-0.5 rounded whitespace-nowrap\">\n {marker.clsScore ? (\n <>\n CLS {marker.clsScore.toFixed(4)} @ {marker.timestamp}ms\n {marker.element && (\n <span className=\"ml-1 opacity-75\">&lt;{marker.element.toLowerCase()}&gt;</span>\n )}\n </>\n ) : (\n `CLS ${marker.timestamp}ms`\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactDOM"],"mappings":"0NA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK,+BCF9BR,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEG,QAAQ,0CCAjC,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEe,SAAS,EAAY,QAAE,CAAM,CAA4C,EACtF,GAAM,SAAE,CAAO,CAAE,CAAG,CAAA,EAAA,EAAA,GAAA,AAAG,EAAC,GAClB,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAW,EAAE,EAC3C,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,GAC3C,CAAC,EAAW,EAAa,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,IACrC,CAAC,EAAK,EAAO,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,IACzB,CAAC,EAAsB,EAAwB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAoC,CAClG,MAAO,KACP,OAAQ,IACV,GACM,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAQ,AAAR,EAAkC,MACxD,CAAC,EAAY,EAAc,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAO1C,EAAE,EAEJ,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KAGR,MAAM,CAAC,8BAA8B,EAAE,EAAA,CAAS,EAC7C,IAAI,CAAC,AAAC,GAAM,EAAE,IAAI,IAClB,IAAI,CAAE,AAAD,IACJ,IAAM,EAAa,EAAK,KAAK,CAC1B,MAAM,CAAC,AAAC,GAAc,EAAE,QAAQ,CAAC,UAAY,EAAE,QAAQ,CAAC,IACxD,IAAI,CAAC,CAAC,EAAW,IAGT,AAFK,MAEC,GAFQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAI,IAAK,IAC9C,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAI,IAAK,KAM9D,GAHA,EAAU,GAGN,EAAW,MAAM,CAAG,EAAG,CACzB,IAAM,EAAM,IAAI,MAChB,EAAI,MAAM,CAAG,KACX,EAAwB,CAAE,MAAO,EAAI,YAAY,CAAE,OAAQ,EAAI,aAAa,AAAC,EAC/E,EACA,EAAI,GAAG,CAAG,CAAC,iBAAiB,EAAE,CAAU,CAAC,EAAE,CAAA,CAAE,AAC/C,CACF,GAGF,MAAM,CAAC,UAAU,EAAE,EAAA,CAAS,EACzB,IAAI,CAAC,AAAC,GAAM,EAAE,IAAI,IAClB,IAAI,CAAC,AAAC,IACL,EAAc,EAAK,UAAU,EAAI,EAAE,CACrC,GACC,KAAK,CAAC,KACL,EAAc,EAAE,CAClB,EACJ,EAAG,CAAC,EAAQ,EAEZ,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACR,GAAI,CAAC,GAA+B,IAAlB,EAAO,MAAM,CAAQ,OAEvC,IAAM,EAAW,YAAY,KAC3B,EAAiB,AAAD,GACV,AAAJ,GAAY,EAAO,MAAM,CAAG,GAAG,AAC7B,EAAa,IACN,GAEF,EAAO,EAElB,EAAG,IAAO,GAEV,MAAO,IAAM,cAAc,EAC7B,EAAG,CAAC,EAAW,EAAO,MAAM,CAAE,EAAI,EAGlC,GAAM,EAAG,EAAY,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,GAOjC,GANA,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACR,IAAM,EAAe,IAAM,EAAY,AAAC,GAAM,EAAI,GAElD,OADA,OAAO,gBAAgB,CAAC,SAAU,GAC3B,IAAM,OAAO,mBAAmB,CAAC,SAAU,EACpD,EAAG,EAAE,EAEiB,GAAG,CAArB,EAAO,MAAM,CACf,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,eAAM,sBAG9B,IAAM,EAAmB,CAAM,CAAC,EAAa,CACvC,EAAU,GAAkB,MAAM,iBAAiB,CAAC,EAAE,EAAI,IAC1D,EAAiB,SAAS,EAAS,IACnC,EAAa,EAAW,IAAI,CAAC,AAAC,GAAyD,IAA9C,KAAK,GAAG,CAAC,EAAO,SAAS,CAAG,IAGvE,EAAgC,CAAC,EACrC,GAAI,GAAU,GAAY,YAAa,CACrC,IAAM,EAAgB,EAAO,aAAa,EAAE,wBACtC,EAAkB,EAAqB,KAAK,CAC5C,EAAmB,EAAqB,MAAM,CAEpD,GAAI,EAAe,CAEjB,IAGI,EAAuB,EAAwB,EAAiB,EAH9D,EAAkB,EAAc,KAAK,CAAG,EAAc,MAAM,CAC5D,EAAc,EAAkB,EAIlC,EAAkB,GAGpB,EAAgB,CADhB,EAAiB,EAAc,GAFE,GAEF,AAAM,EACJ,EACjC,EAAU,AAAC,GAAc,KAAK,CAAG,CAAA,CAAa,CAAI,EAClD,EAAU,IAIV,EAAiB,CADjB,EAAgB,EAAc,KAAA,AAAK,EACF,EACjC,EAAU,EACV,EAAU,CAAC,EAAc,MAAM,CAAG,CAAA,CAAc,CAAI,GAItD,IAAM,EAAQ,EAAgB,EAC9B,EAAW,CACT,KAAM,CAAA,EAAG,EAAU,EAAW,WAAW,CAAC,CAAC,CAAG,EAAM,EAAE,CAAC,CACvD,IAAK,CAAA,EAAG,EAAU,EAAW,WAAW,CAAC,CAAC,CAAG,EAAM,EAAE,CAAC,CACtD,MAAO,CAAA,EAAG,EAAW,WAAW,CAAC,KAAK,CAAG,EAAM,EAAE,CAAC,CAClD,OAAQ,CAAA,EAAG,EAAW,WAAW,CAAC,MAAM,CAAG,EAAM,EAAE,CAAC,AACtD,CACF,CACF,CAEA,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,4CACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,6EACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAS,CAAA,CACR,IAAK,EACL,IAAK,CAAC,iBAAiB,EAAE,EAAA,CAAkB,CAC3C,IAAK,CAAC,MAAM,EAAE,EAAA,CAAc,CAC5B,UAAU,+BACV,IAAI,CAAA,CAAA,EACJ,WAAW,CAAA,CAAA,IAEZ,GAAY,aAAe,GAC1B,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,uDAAuD,MAAO,OAIjF,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,iDACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oCACb,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,KAAK,SACL,QAAS,IAAM,EAAa,CAAC,GAC7B,UAAU,2DAET,EAAY,QAAU,SAGzB,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,KAAK,SACL,QAAS,IAAM,EAAgB,KAAK,GAAG,CAAC,EAAG,EAAe,IAC1D,SAA2B,IAAjB,EACV,UAAU,+EACX,aAID,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,KAAK,SACL,QAAS,IAAM,EAAgB,KAAK,GAAG,CAAC,EAAO,MAAM,CAAG,EAAG,EAAe,IAC1E,SAAU,IAAiB,EAAO,MAAM,CAAG,EAC3C,UAAU,+EACX,SAID,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,+BAAqB,SAC5B,EAAe,EAAE,MAAI,EAAO,MAAM,CAAC,KAAG,EAAQ,SAGvD,CAAA,EAAA,EAAA,IAAA,EAAC,QAAA,CAAM,UAAU,oCAA0B,SAEzC,CAAA,EAAA,EAAA,GAAA,EAAC,QAAA,CACC,KAAK,QACL,IAAI,IACJ,IAAI,KACJ,MAAO,EACP,SAAU,AAAC,GAAM,EAAO,OAAO,EAAE,MAAM,CAAC,KAAK,GAC7C,UAAU,SAEZ,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,iBAAQ,EAAI,gBAIhC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,4BACb,CAAA,EAAA,EAAA,GAAA,EAAC,QAAA,CACC,KAAK,QACL,IAAI,IACJ,IAAK,EAAO,MAAM,CAAG,EACrB,MAAO,EACP,SAAU,AAAC,GAAM,EAAgB,OAAO,EAAE,MAAM,CAAC,KAAK,GACtD,UAAU,WAGX,EAAW,GAAG,CAAC,AAAC,IACf,IAAM,EAAa,EAAO,SAAS,CAAC,AAAC,GACnB,AACT,SADkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAI,IAAK,KAC5C,EAAO,SAAS,EAEpC,GAAmB,CAAC,IAAhB,EAAmB,OAAO,KAC9B,IAAM,EAAY,GAAc,EAAO,MAAM,EAAd,AAAiB,CAAC,CAAK,IACtD,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAEC,UAAU,4CACV,MAAO,CAAE,KAAM,CAAA,EAAG,EAAS,CAAC,CAAC,AAAC,YAE9B,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,4BACf,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,uHACZ,EAAO,QAAQ,CACd,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WAAE,OACK,EAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAI,EAAO,SAAS,CAAC,KACpD,EAAO,OAAO,EACb,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,4BAAkB,IAAK,EAAO,OAAO,CAAC,WAAW,GAAG,UAIxE,CAAC,IAAI,EAAE,EAAO,SAAS,CAAC,EAAE,CAAC,KAd1B,EAAO,SAAS,CAmB3B,WAKV","ignoreList":[0,1,2,3]}
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","turbopack:///[project]/mcp-server/app/video/[session]/page.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","\"use client\"\n\nimport NextImage from \"next/image\"\nimport { use, useEffect, useState } from \"react\"\n\nexport default function VideoPlayer({ params }: { params: Promise<{ session: string }> }) {\n const { session } = use(params)\n const [frames, setFrames] = useState<string[]>([])\n const [currentFrame, setCurrentFrame] = useState(0)\n const [isPlaying, setIsPlaying] = useState(false)\n const [fps, setFps] = useState(10)\n const [screenshotDimensions, setScreenshotDimensions] = useState<{ width: number; height: number }>({\n width: 1920,\n height: 1080\n })\n const [imgRef, setImgRef] = useState<HTMLImageElement | null>(null)\n const [clsMarkers, setClsMarkers] = useState<\n Array<{\n timestamp: number\n boundingBox: { x: number; y: number; width: number; height: number } | null\n clsScore?: number\n element?: string\n }>\n >([])\n\n useEffect(() => {\n // Parse session timestamp to find matching screenshots\n // Format: 2025-10-05T23-57-XX-jank-XXms.png\n fetch(`/api/screenshots/list?pattern=${session}`)\n .then((r) => r.json())\n .then((data) => {\n const jankFrames = data.files\n .filter((f: string) => f.includes(\"jank-\") && f.includes(session))\n .sort((a: string, b: string) => {\n const aMs = parseInt(a.match(/jank-(\\d+)ms/)?.[1] || \"0\", 10)\n const bMs = parseInt(b.match(/jank-(\\d+)ms/)?.[1] || \"0\", 10)\n return aMs - bMs\n })\n setFrames(jankFrames)\n\n // Load first frame to get dimensions\n if (jankFrames.length > 0) {\n const img = new Image()\n img.onload = () => {\n setScreenshotDimensions({ width: img.naturalWidth, height: img.naturalHeight })\n }\n img.src = `/api/screenshots/${jankFrames[0]}`\n }\n })\n\n // Fetch CLS markers from jank detection API\n fetch(`/api/jank/${session}`)\n .then((r) => r.json())\n .then((data) => {\n setClsMarkers(data.clsMarkers || [])\n })\n .catch(() => {\n setClsMarkers([])\n })\n }, [session])\n\n useEffect(() => {\n if (!isPlaying || frames.length === 0) return\n\n const interval = setInterval(() => {\n setCurrentFrame((prev) => {\n if (prev >= frames.length - 1) {\n setIsPlaying(false)\n return prev\n }\n return prev + 1\n })\n }, 1000 / fps)\n\n return () => clearInterval(interval)\n }, [isPlaying, frames.length, fps])\n\n // Force re-render on window resize to recalculate bounding box position\n const [, forceUpdate] = useState(0)\n useEffect(() => {\n const handleResize = () => forceUpdate((n) => n + 1)\n window.addEventListener(\"resize\", handleResize)\n return () => window.removeEventListener(\"resize\", handleResize)\n }, [])\n\n if (frames.length === 0) {\n return <div className=\"p-8\">Loading frames...</div>\n }\n\n const currentFrameFile = frames[currentFrame]\n const frameMs = currentFrameFile?.match(/jank-(\\d+)ms/)?.[1] || \"0\"\n const currentFrameMs = parseInt(frameMs, 10)\n const clsAtFrame = clsMarkers.find((marker) => Math.abs(marker.timestamp - currentFrameMs) < 100)\n\n // Calculate the rendered image dimensions and position (accounting for object-contain)\n let imgStyle: React.CSSProperties = {}\n if (imgRef && clsAtFrame?.boundingBox) {\n const containerRect = imgRef.parentElement?.getBoundingClientRect()\n const imgNaturalWidth = screenshotDimensions.width\n const imgNaturalHeight = screenshotDimensions.height\n\n if (containerRect) {\n // Calculate how the image is scaled by object-contain\n const containerAspect = containerRect.width / containerRect.height\n const imageAspect = imgNaturalWidth / imgNaturalHeight\n\n let renderedWidth: number, renderedHeight: number, offsetX: number, offsetY: number\n\n if (containerAspect > imageAspect) {\n // Container is wider - image is constrained by height\n renderedHeight = containerRect.height\n renderedWidth = renderedHeight * imageAspect\n offsetX = (containerRect.width - renderedWidth) / 2\n offsetY = 0\n } else {\n // Container is taller - image is constrained by width\n renderedWidth = containerRect.width\n renderedHeight = renderedWidth / imageAspect\n offsetX = 0\n offsetY = (containerRect.height - renderedHeight) / 2\n }\n\n // Calculate bounding box position relative to rendered image\n const scale = renderedWidth / imgNaturalWidth\n imgStyle = {\n left: `${offsetX + clsAtFrame.boundingBox.x * scale}px`,\n top: `${offsetY + clsAtFrame.boundingBox.y * scale}px`,\n width: `${clsAtFrame.boundingBox.width * scale}px`,\n height: `${clsAtFrame.boundingBox.height * scale}px`\n }\n }\n }\n\n return (\n <div className=\"flex flex-col h-screen bg-black\">\n <div className=\"flex-1 flex items-center justify-center relative overflow-hidden\">\n <NextImage\n ref={setImgRef}\n src={`/api/screenshots/${currentFrameFile}`}\n alt={`Frame ${currentFrame}`}\n className=\"w-full h-full object-contain\"\n fill\n unoptimized\n />\n {clsAtFrame?.boundingBox && imgRef && (\n <div className=\"absolute border-2 border-red-500 pointer-events-none\" style={imgStyle} />\n )}\n </div>\n\n <div className=\"bg-gray-900 text-white p-4 space-y-4\">\n <div className=\"flex items-center gap-4\">\n <button\n type=\"button\"\n onClick={() => setIsPlaying(!isPlaying)}\n className=\"px-4 py-2 bg-blue-600 hover:bg-blue-700 rounded\"\n >\n {isPlaying ? \"Pause\" : \"Play\"}\n </button>\n\n <button\n type=\"button\"\n onClick={() => setCurrentFrame(Math.max(0, currentFrame - 1))}\n disabled={currentFrame === 0}\n className=\"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50\"\n >\n Previous\n </button>\n\n <button\n type=\"button\"\n onClick={() => setCurrentFrame(Math.min(frames.length - 1, currentFrame + 1))}\n disabled={currentFrame === frames.length - 1}\n className=\"px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded disabled:opacity-50\"\n >\n Next\n </button>\n\n <span className=\"flex-1 text-center\">\n Frame {currentFrame + 1} / {frames.length} ({frameMs}ms)\n </span>\n\n <label className=\"flex items-center gap-2\">\n Speed:\n <input\n type=\"range\"\n min=\"1\"\n max=\"30\"\n value={fps}\n onChange={(e) => setFps(Number(e.target.value))}\n className=\"w-32\"\n />\n <span className=\"w-12\">{fps} fps</span>\n </label>\n </div>\n\n <div className=\"relative w-full\">\n <input\n type=\"range\"\n min=\"0\"\n max={frames.length - 1}\n value={currentFrame}\n onChange={(e) => setCurrentFrame(Number(e.target.value))}\n className=\"w-full\"\n />\n {/* CLS markers on timeline */}\n {clsMarkers.map((marker) => {\n const frameIndex = frames.findIndex((f) => {\n const frameMs = parseInt(f.match(/jank-(\\d+)ms/)?.[1] || \"0\", 10)\n return frameMs >= marker.timestamp\n })\n if (frameIndex === -1) return null\n const position = (frameIndex / (frames.length - 1)) * 100\n return (\n <div\n key={marker.timestamp}\n className=\"absolute top-0 h-full pointer-events-none\"\n style={{ left: `${position}%` }}\n >\n <div className=\"w-0.5 h-full bg-red-500\" />\n <div className=\"absolute -top-6 left-0 -translate-x-1/2 bg-red-500 text-white text-xs px-2 py-0.5 rounded whitespace-nowrap\">\n {marker.clsScore ? (\n <>\n CLS {marker.clsScore.toFixed(4)} @ {marker.timestamp}ms\n {marker.element && (\n <span className=\"ml-1 opacity-75\">&lt;{marker.element.toLowerCase()}&gt;</span>\n )}\n </>\n ) : (\n `CLS ${marker.timestamp}ms`\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactDOM"],"mappings":"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","ignoreList":[0,1,2,3]}
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},20768,(a,b,c)=>{"use strict";b.exports=a.r(18622)},68960,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].ReactJsxRuntime},77316,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].React},65558,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].ReactDOM},4764,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored.contexts.AppRouterContext},20841,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored.contexts.HooksClientContext},88519,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored.contexts.ServerInsertedHtml},90399,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HandleISRError",{enumerable:!0,get:function(){return e}});let d=a.r(56704).workAsyncStorage;function e(a){let{error:b}=a;if(d){let a=d.getStore();if(null==a?void 0:a.isStaticGeneration)throw b&&console.error(b),b}return null}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},9535,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return g}});let d=a.r(68960),e=a.r(90399),f={error:{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"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}},g=function(a){let{error:b}=a,c=null==b?void 0:b.digest;return(0,d.jsxs)("html",{id:"__next_error__",children:[(0,d.jsx)("head",{}),(0,d.jsxs)("body",{children:[(0,d.jsx)(e.HandleISRError,{error:b}),(0,d.jsx)("div",{style:f.error,children:(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{style:f.text,children:["Application error: a ",c?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",c?"server logs":"browser console"," for more information)."]}),c?(0,d.jsx)("p",{style:f.text,children:"Digest: "+c}):null]})})]})]})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__aed64cd3._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/handle-isr-error.tsx","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/global-error.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","const workAsyncStorage =\n typeof window === 'undefined'\n ? (\n require('../../server/app-render/work-async-storage.external') as typeof import('../../server/app-render/work-async-storage.external')\n ).workAsyncStorage\n : undefined\n\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nexport function HandleISRError({ error }: { error: any }) {\n if (workAsyncStorage) {\n const store = workAsyncStorage.getStore()\n if (store?.isStaticGeneration) {\n if (error) {\n console.error(error)\n }\n throw error\n }\n }\n\n return null\n}\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactDOM","AppRouterContext","HooksClientContext","ServerInsertedHtml","HandleISRError","workAsyncStorage","window","undefined","error","store","getStore","isStaticGeneration","console","styles","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","div","style","h2","location","hostname","p"],"mappings":"2kCA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK,+BCF9BR,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEG,QAAQ,+BCFjCT,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACI,gBAAgB,+BCFvCV,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACK,kBAAkB,+BCFzCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACM,kBAAkB,wGCQzBC,iBAAAA,qCAAAA,KAVhB,IAAMC,EAGEZ,EAAQ,CAAA,CAAA,IAAA,GACRY,MAHN,OAAOC,GAGe,CAMjB,EALDC,KAJc,EASJH,EAAe,OAAEI,CAAK,CAAkB,EACtD,GAAIH,EAAkB,CACpB,IAAMI,EAAQJ,EAAiBK,QAAQ,GACvC,GAAID,GAAOE,mBAIT,CAJ6B,KACzBH,GACFI,IADS,IACDJ,KAAK,CAACA,GAEVA,CAEV,CAEA,OAAO,IACT,+TC8BA,OADA,AADA,GAEA,qCAAA,GAD2C,uBAjDZ,CAAA,CAAA,IAAA,KAGtB,CAELM,EA2C4E,SA1C1E,8FACFC,OAAQ,QACRC,UAAW,SACXC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZC,eAAgB,QAClB,IACM,CACJE,SAAU,OACVC,WAAY,IACZC,WAAY,OACZC,OAAQ,OACV,EA+BF,EAzBA,SAASC,AAAmB,AAyBbA,OAzBelB,CAAK,CAAkB,EACnD,IAAMmB,EAA6BnB,GAAOmB,OAC1C,MACE,CADF,AACE,EAAA,EAAA,IAAA,EAACC,CADH,MACGA,CAAKC,GAAG,2BACP,GAAA,EAAA,GAAA,EAACC,OAAAA,CAAAA,GACD,CAAA,EAAA,EAAA,IAAA,EAACC,OAAAA,WACC,CAAA,EAAA,EAAA,GAAA,EAAC3B,EAAAA,cAAc,CAAA,CAACI,MAAOA,IACvB,CAAA,EAAA,EAAA,GAAA,EAACwB,MAAAA,CAAIC,KAAAA,EAAOpB,OAAOL,GACjB,CAAA,CADsB,CACtB,EAAA,IAAA,EAACwB,CAAD,KAACA,WACC,CAAA,EAAA,EAAA,IAAA,EAACE,KAAAA,CAAGD,KAAAA,EAAOpB,OAAOQ,IAAI,AAAE,wBACAM,EAAS,SAAW,SAAS,8CACvBrB,OAAO6B,QAAQ,CAACC,QAAQ,CAAC,YAAU,IAC9DT,EAAS,cAAgB,kBAAkB,6BAG7CA,EAAS,CAAA,EAAA,EAAA,EAATA,CAAS,EAACU,IAAAA,CAAEJ,GAAZN,EAAYM,EAAOpB,OAAOQ,GAAO,CAAH,AAAI,QAAQ,EAAEM,EAAAA,CAAQ,GAAQ,eAMzE","ignoreList":[0,1,2,3,4,5,6,7,8]}
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/handle-isr-error.tsx","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/global-error.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","const workAsyncStorage =\n typeof window === 'undefined'\n ? (\n require('../../server/app-render/work-async-storage.external') as typeof import('../../server/app-render/work-async-storage.external')\n ).workAsyncStorage\n : undefined\n\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nexport function HandleISRError({ error }: { error: any }) {\n if (workAsyncStorage) {\n const store = workAsyncStorage.getStore()\n if (store?.isStaticGeneration) {\n if (error) {\n console.error(error)\n }\n throw error\n }\n }\n\n return null\n}\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactDOM","AppRouterContext","HooksClientContext","ServerInsertedHtml","HandleISRError","workAsyncStorage","window","undefined","error","store","getStore","isStaticGeneration","console","styles","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","div","style","h2","location","hostname","p"],"mappings":"2kCA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK,+BCF9BR,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEG,QAAQ,8BCFjCT,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACI,gBAAgB,+BCFvCV,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACK,kBAAkB,+BCFzCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,QAAW,CAACM,kBAAkB,wGCQzBC,iBAAAA,qCAAAA,KAVhB,IAAMC,EAGEZ,EAAQ,CAAA,CAAA,IAAA,GACRY,MAHN,OAAOC,GAGe,CAMjB,EALDC,KAJc,EASJH,EAAe,CAAyB,EAAzB,GAAA,OAAEI,CAAK,CAAkB,CAAzB,EAC7B,GAAIH,EAAkB,CACpB,IAAMI,EAAQJ,EAAiBK,QAAQ,GACvC,GAAID,MAAAA,EAAAA,KAAAA,EAAAA,EAAOE,kBAAkB,CAI3B,CAJ6B,KACzBH,GACFI,IADS,IACDJ,KAAK,CAACA,GAEVA,CAEV,CAEA,OAAO,IACT,8TC8BA,OAFA,AACA,GACA,qCAAA,GAD2C,uBAjDZ,CAAA,CAAA,IAAA,GAEzBK,EAAS,CACbL,EA6C8E,IA7CvE,CAELM,WACE,8FACFC,OAAQ,QACRC,UAAW,SACXC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZC,eAAgB,QAClB,EACAC,KAAM,CACJC,SAAU,OACVC,WAAY,IACZC,WAAY,OACZC,OAAQ,OACV,CACF,EA8BA,EAzBA,SAASC,AAAmB,AAyBbA,CAzBsC,EAAzB,GAAA,OAAElB,CAAK,CAAkB,CAAzB,EACpBmB,EAA6BnB,QAAAA,KAAAA,EAAAA,EAAOmB,MAAM,CAChD,MACE,CADF,AACE,EAAA,EAAA,IAAA,EAACC,CADH,MACGA,CAAKC,GAAG,2BACP,CAAA,EAAA,EAAA,GAAA,EAACC,OAAAA,CAAAA,GACD,CAAA,EAAA,EAAA,IAAA,EAACC,OAAAA,WACC,CAAA,EAAA,EAAA,GAAA,EAAC3B,EAAAA,cAAc,CAAA,CAACI,MAAOA,IACvB,CAAA,EAAA,EAAA,GAAA,EAACwB,MAAAA,CAAIC,MAAOpB,EAAOL,KAAK,UACtB,CAAA,EAAA,EAAA,IAAA,EAACwB,CAAD,KAACA,WACC,CAAA,EAAA,EAAA,IAAA,EAACE,KAAAA,CAAGD,MAAOpB,EAAOQ,IAAI,WAAE,wBACAM,EAAS,SAAW,SAAS,8CACvBrB,OAAO6B,QAAQ,CAACC,QAAQ,CAAC,YAAU,IAC9DT,EAAS,cAAgB,kBAAkB,6BAG7CA,EAAS,CAAA,EAAA,EAAA,EAATA,CAAS,EAACU,IAAAA,CAAEJ,GAAZN,GAAmBd,EAAOQ,IAAI,UAAI,WAAUM,IAAgB,eAMzE","ignoreList":[0,1,2,3,4,5,6,7,8]}
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20768,(a,b,c)=>{"use strict";b.exports=a.r(18622)},68960,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].ReactJsxRuntime},77316,(a,b,c)=>{"use strict";b.exports=a.r(20768).vendored["react-ssr"].React}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__cf030fda._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React"],"mappings":"0NA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,gCC1BjCF,GAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK","ignoreList":[0,1,2]}
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/module.compiled.js","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React"],"mappings":"0NA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,gCC1BjCF,GAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK","ignoreList":[0,1,2]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},859,a=>{a.n(a.i(97451))},55289,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},54870,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}}),a.r(55289);let d=a.r(68405);a.r(96870);let e={error:{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"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}},f=function(){let a="Internal Server Error.";return(0,d.jsxs)("html",{id:"__next_error__",children:[(0,d.jsx)("head",{children:(0,d.jsx)("title",{children:"500: "+a})}),(0,d.jsx)("body",{children:(0,d.jsx)("div",{style:e.error,children:(0,d.jsxs)("div",{style:e.desc,children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,d.jsx)("h1",{className:"next-error-h1",style:e.h1,children:"500"}),(0,d.jsx)("div",{style:e.wrap,children:(0,d.jsx)("h2",{style:e.h2,children:a})})]})})})]})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__db74836a._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","turbopack:///[project]/node_modules/.pnpm/next@16.0.0-canary.10_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/app-error.tsx"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n","import React from 'react'\n\nconst styles: Record<string, React.CSSProperties> = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n desc: {\n lineHeight: '48px',\n },\n h1: {\n display: 'inline-block',\n margin: '0 20px 0 0',\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: 'top',\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: '28px',\n },\n wrap: {\n display: 'inline-block',\n },\n} as const\n\n/* CSS minified from\nbody { margin: 0; color: #000; background: #fff; }\n.next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n}\n@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n}\n*/\nconst themeCss = `body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}`\n\nfunction AppError() {\n const errorMessage = 'Internal Server Error.'\n const title = `500: ${errorMessage}`\n return (\n <html id=\"__next_error__\">\n <head>\n <title>{title}</title>\n </head>\n <body>\n <div style={styles.error}>\n <div style={styles.desc}>\n <style\n dangerouslySetInnerHTML={{\n __html: themeCss,\n }}\n />\n <h1 className=\"next-error-h1\" style={styles.h1}>\n 500\n </h1>\n <div style={styles.wrap}>\n <h2 style={styles.h2}>{errorMessage}</h2>\n </div>\n </div>\n </div>\n </body>\n </html>\n )\n}\n\nexport default AppError\n"],"names":["styles","error","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","desc","lineHeight","h1","margin","paddingRight","fontSize","fontWeight","verticalAlign","h2","wrap","themeCss","AppError","errorMessage","title","html","id","head","body","div","style","dangerouslySetInnerHTML","__html","className"],"mappings":"+NAKA,EAAQ,CAAC,CAHT,EAGY,OAHsB,AAAzB,CAA4B,EACjC,OAAO,GAAO,EAAI,UAAU,CAAG,EAAM,CAAE,QAAS,CAAI,CACxD,yGC2EA,UAAA,qCAAA,mCA/EkB,CAAA,CAAA,IAAA,GAElB,MAAMA,AACG,CAELE,QAHgD,GAI9C,8FACFC,OAAQ,QACRC,UAAW,SACXC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZC,eAAgB,QAClB,IACM,CACJE,WAAY,MACd,IACI,CACFL,QAAS,eACTO,OAAQ,aACRC,aAAc,GACdC,SAAU,GACVC,WAAY,IACZC,cAAe,KACjB,IACI,CACFF,SAAU,GACVC,WAAY,IACZL,WAAY,MACd,IACM,CACJL,QAAS,cACX,EAeIc,EAAW,CAAC;+HAC6G,CAAC,CA+BhI,EA7BA,SAASC,AA6BMA,EA5Bb,IAAMC,EAAe,yBACfC,EAAQ,CAAC,KAAK,EAAED,EAAAA,CAAc,CACpC,MACE,CAAA,AADF,EACE,EAAA,IAAA,EAACE,CADH,MACGA,CAAKC,GAAG,2BACP,CAAA,EAAA,EAAA,GAAA,EAACC,OAAAA,UACC,CAAA,EAAA,EAAA,GAAA,EAACH,EAAD,MAACA,UAAOA,MAEV,CAAA,EAAA,EAAA,GAAA,EAACI,OAAAA,UACC,CAAA,EAAA,EAAA,GAAA,EAACC,EAAD,IAACA,CAAIC,KAAAA,EAAO5B,OAAOC,GACjB,CAAA,CADsB,CACtB,EAAA,IAAA,EAAC0B,CAAD,KAACA,CAAIC,KAAAA,EAAO5B,OAAOS,IAAI,AACrB,CAAA,EAAA,EAAA,GAAA,EAACmB,QAAAA,CACCC,wBAAyB,CACvBC,OAAQX,CACV,IAEF,CAAA,EAAA,EAAA,GAAA,EAACR,KAAAA,CAAGoB,UAAU,gBAAgBH,KAAAA,EAAO5B,OAAOW,EAAE,CAAE,QAGhD,CAAA,EAAA,EAAA,GAAA,EAACgB,MAAAA,CAAIC,KAAAA,EAAO5B,OAAOkB,GACjB,CADqB,AACrB,EAAA,EAAA,GAAA,EAACD,EAAD,GAACA,CAAGW,KAAAA,EAAO5B,OAAOiB,EAAE,CAAGI,eAOrC","ignoreList":[0,1]}
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","turbopack:///[project]/node_modules/.pnpm/next@15.6.0-canary.31_babel-plugin-react-compiler@19.1.0-rc.3_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/src/client/components/builtin/app-error.tsx"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n","import React from 'react'\n\nconst styles: Record<string, React.CSSProperties> = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n desc: {\n lineHeight: '48px',\n },\n h1: {\n display: 'inline-block',\n margin: '0 20px 0 0',\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: 'top',\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: '28px',\n },\n wrap: {\n display: 'inline-block',\n },\n} as const\n\n/* CSS minified from\nbody { margin: 0; color: #000; background: #fff; }\n.next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n}\n@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n}\n*/\nconst themeCss = `body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}`\n\nfunction AppError() {\n const errorMessage = 'Internal Server Error.'\n const title = `500: ${errorMessage}`\n return (\n <html id=\"__next_error__\">\n <head>\n <title>{title}</title>\n </head>\n <body>\n <div style={styles.error}>\n <div style={styles.desc}>\n <style\n dangerouslySetInnerHTML={{\n __html: themeCss,\n }}\n />\n <h1 className=\"next-error-h1\" style={styles.h1}>\n 500\n </h1>\n <div style={styles.wrap}>\n <h2 style={styles.h2}>{errorMessage}</h2>\n </div>\n </div>\n </div>\n </body>\n </html>\n )\n}\n\nexport default AppError\n"],"names":["styles","error","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","desc","lineHeight","h1","margin","paddingRight","fontSize","fontWeight","verticalAlign","h2","wrap","themeCss","AppError","errorMessage","title","html","id","head","body","div","style","dangerouslySetInnerHTML","__html","className"],"mappings":"6NAKA,EAAQ,CAAC,CAHT,EAGY,OAHsB,AAAzB,CAA4B,EACjC,OAAO,GAAO,EAAI,UAAU,CAAG,EAAM,CAAE,QAAS,CAAI,CACxD,yGC2EA,UAAA,qCAAA,mCA/EkB,CAAA,CAAA,IAAA,GAElB,IAAMA,EAA8C,CAClDC,MAAO,CAELC,WACE,8FACFC,OAAQ,QACRC,UAAW,SACXC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZC,eAAgB,QAClB,EACAC,KAAM,CACJC,WAAY,MACd,EACAC,GAAI,CACFN,QAAS,eACTO,OAAQ,aACRC,aAAc,GACdC,SAAU,GACVC,WAAY,IACZC,cAAe,KACjB,EACAC,GAAI,CACFH,SAAU,GACVC,WAAY,IACZL,WAAY,MACd,EACAQ,KAAM,CACJb,QAAS,cACX,CACF,EA8CA,EA7BA,SAASe,AA6BMA,EA5Bb,IAAMC,EAAe,yBAErB,MACE,CADF,AACE,EAAA,EAAA,IAAA,EAACE,CADH,MACGA,CAAKC,GAAG,2BACP,CAAA,EAAA,EAAA,GAAA,EAACC,OAAAA,UACC,CAAA,EAAA,EAAA,GAAA,EAACH,EAAD,MAACA,UAJQ,CAIDA,OAJQD,MAMlB,GAAA,EAAA,GAAA,EAACK,OAAAA,UACC,CAAA,EAAA,EAAA,GAAA,EAACC,EAAD,IAACA,CAAIC,MAAO5B,EAAOC,KAAK,UACtB,CAAA,EAAA,EAAA,IAAA,EAAC0B,CAAD,KAACA,CAAIC,MAAO5B,EAAOS,IAAI,WACrB,CAAA,EAAA,EAAA,GAAA,EAACmB,QAAAA,CACCC,wBAAyB,CACvBC,OAhBE,CAgBMX,gOACV,IAEF,CAAA,EAAA,EAAA,GAAA,EAACR,KAAAA,CAAGoB,UAAU,gBAAgBH,MAAO5B,EAAOW,EAAE,UAAE,QAGhD,CAAA,EAAA,EAAA,GAAA,EAACgB,MAAAA,CAAIC,MAAO5B,EAAOkB,IAAI,UACrB,CAAA,EAAA,EAAA,GAAA,EAACD,EAAD,GAACA,CAAGW,MAAO5B,EAAOiB,EAAE,UAAGI,eAOrC","ignoreList":[0,1]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},85790,a=>{a.n(a.i(29775))},32996,a=>{a.n(a.i(48084))},4715,a=>{a.n(a.i(37352))},78472,a=>{a.n(a.i(65993))},97044,a=>{a.n(a.i(97451))},35800,a=>{"use strict";let b=(0,a.i(42506).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/mcp-server/app/video/[session]/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/mcp-server/app/video/[session]/page.tsx <module evaluation>","default");a.s(["default",0,b])},19348,a=>{"use strict";let b=(0,a.i(42506).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/mcp-server/app/video/[session]/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/mcp-server/app/video/[session]/page.tsx","default");a.s(["default",0,b])},99357,a=>{"use strict";a.i(35800);var b=a.i(19348);a.n(b)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__fc10c8f1._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["turbopack:///[project]/mcp-server/app/video/[session]/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/mcp-server/app/video/[session]/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/mcp-server/app/video/[session]/page.tsx\",\n \"default\",\n);\n"],"names":[],"mappings":"2UAEe,CAAA,EAAA,AADf,EAAA,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,ySAA2S,EACxU,wEACA,8DAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,qRAAuR,EACpT,oDACA","ignoreList":[0]}
1
+ {"version":3,"sources":["turbopack:///[project]/mcp-server/app/video/[session]/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/mcp-server/app/video/[session]/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/mcp-server/app/video/[session]/page.tsx\",\n \"default\",\n);\n"],"names":[],"mappings":"0UAEe,CAAA,EAAA,AADf,EAAA,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,ySAA2S,EACxU,wEACA,8DAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAI,MAAM,qRAAuR,EACpT,oDACA","ignoreList":[0]}