@miadi/stateloom-web 0.1.0

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 (1389) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -0
  3. package/bin/stateloom-web.mjs +117 -0
  4. package/package.json +41 -0
  5. package/server/.next/BUILD_ID +1 -0
  6. package/server/.next/app-path-routes-manifest.json +11 -0
  7. package/server/.next/build-manifest.json +19 -0
  8. package/server/.next/package.json +1 -0
  9. package/server/.next/prerender-manifest.json +114 -0
  10. package/server/.next/required-server-files.json +333 -0
  11. package/server/.next/routes-manifest.json +98 -0
  12. package/server/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  13. package/server/.next/server/app/_global-error/page/build-manifest.json +16 -0
  14. package/server/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  15. package/server/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  16. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  17. package/server/.next/server/app/_global-error/page.js +11 -0
  18. package/server/.next/server/app/_global-error/page.js.map +5 -0
  19. package/server/.next/server/app/_global-error/page.js.nft.json +1 -0
  20. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
  21. package/server/.next/server/app/_global-error.html +2 -0
  22. package/server/.next/server/app/_global-error.meta +15 -0
  23. package/server/.next/server/app/_global-error.rsc +13 -0
  24. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  25. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +13 -0
  26. package/server/.next/server/app/_global-error.segments/_head.segment.rsc +6 -0
  27. package/server/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
  28. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  29. package/server/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  30. package/server/.next/server/app/_not-found/page/build-manifest.json +16 -0
  31. package/server/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  32. package/server/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  33. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  34. package/server/.next/server/app/_not-found/page.js +14 -0
  35. package/server/.next/server/app/_not-found/page.js.map +5 -0
  36. package/server/.next/server/app/_not-found/page.js.nft.json +1 -0
  37. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
  38. package/server/.next/server/app/_not-found.html +1 -0
  39. package/server/.next/server/app/_not-found.meta +16 -0
  40. package/server/.next/server/app/_not-found.rsc +14 -0
  41. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +14 -0
  42. package/server/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  43. package/server/.next/server/app/_not-found.segments/_index.segment.rsc +5 -0
  44. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  45. package/server/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
  46. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  47. package/server/.next/server/app/api/config/route/app-paths-manifest.json +3 -0
  48. package/server/.next/server/app/api/config/route/build-manifest.json +11 -0
  49. package/server/.next/server/app/api/config/route/server-reference-manifest.json +4 -0
  50. package/server/.next/server/app/api/config/route.js +7 -0
  51. package/server/.next/server/app/api/config/route.js.map +5 -0
  52. package/server/.next/server/app/api/config/route.js.nft.json +1 -0
  53. package/server/.next/server/app/api/config/route_client-reference-manifest.js +2 -0
  54. package/server/.next/server/app/api/file/route/app-paths-manifest.json +3 -0
  55. package/server/.next/server/app/api/file/route/build-manifest.json +11 -0
  56. package/server/.next/server/app/api/file/route/server-reference-manifest.json +4 -0
  57. package/server/.next/server/app/api/file/route.js +8 -0
  58. package/server/.next/server/app/api/file/route.js.map +5 -0
  59. package/server/.next/server/app/api/file/route.js.nft.json +1 -0
  60. package/server/.next/server/app/api/file/route_client-reference-manifest.js +2 -0
  61. package/server/.next/server/app/api/generate/route/app-paths-manifest.json +3 -0
  62. package/server/.next/server/app/api/generate/route/build-manifest.json +11 -0
  63. package/server/.next/server/app/api/generate/route/server-reference-manifest.json +4 -0
  64. package/server/.next/server/app/api/generate/route.js +7 -0
  65. package/server/.next/server/app/api/generate/route.js.map +5 -0
  66. package/server/.next/server/app/api/generate/route.js.nft.json +1 -0
  67. package/server/.next/server/app/api/generate/route_client-reference-manifest.js +2 -0
  68. package/server/.next/server/app/api/rispec/route/app-paths-manifest.json +3 -0
  69. package/server/.next/server/app/api/rispec/route/build-manifest.json +11 -0
  70. package/server/.next/server/app/api/rispec/route/server-reference-manifest.json +4 -0
  71. package/server/.next/server/app/api/rispec/route.js +8 -0
  72. package/server/.next/server/app/api/rispec/route.js.map +5 -0
  73. package/server/.next/server/app/api/rispec/route.js.nft.json +1 -0
  74. package/server/.next/server/app/api/rispec/route_client-reference-manifest.js +2 -0
  75. package/server/.next/server/app/api/watch/route/app-paths-manifest.json +3 -0
  76. package/server/.next/server/app/api/watch/route/build-manifest.json +11 -0
  77. package/server/.next/server/app/api/watch/route/server-reference-manifest.json +4 -0
  78. package/server/.next/server/app/api/watch/route.js +7 -0
  79. package/server/.next/server/app/api/watch/route.js.map +5 -0
  80. package/server/.next/server/app/api/watch/route.js.nft.json +1 -0
  81. package/server/.next/server/app/api/watch/route_client-reference-manifest.js +2 -0
  82. package/server/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  83. package/server/.next/server/app/favicon.ico/route/build-manifest.json +11 -0
  84. package/server/.next/server/app/favicon.ico/route.js +8 -0
  85. package/server/.next/server/app/favicon.ico/route.js.map +5 -0
  86. package/server/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  87. package/server/.next/server/app/favicon.ico.body +0 -0
  88. package/server/.next/server/app/favicon.ico.meta +1 -0
  89. package/server/.next/server/app/index.html +1 -0
  90. package/server/.next/server/app/index.meta +14 -0
  91. package/server/.next/server/app/index.rsc +18 -0
  92. package/server/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  93. package/server/.next/server/app/index.segments/_full.segment.rsc +18 -0
  94. package/server/.next/server/app/index.segments/_head.segment.rsc +6 -0
  95. package/server/.next/server/app/index.segments/_index.segment.rsc +5 -0
  96. package/server/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  97. package/server/.next/server/app/page/app-paths-manifest.json +3 -0
  98. package/server/.next/server/app/page/build-manifest.json +16 -0
  99. package/server/.next/server/app/page/next-font-manifest.json +6 -0
  100. package/server/.next/server/app/page/react-loadable-manifest.json +1 -0
  101. package/server/.next/server/app/page/server-reference-manifest.json +4 -0
  102. package/server/.next/server/app/page.js +16 -0
  103. package/server/.next/server/app/page.js.map +5 -0
  104. package/server/.next/server/app/page.js.nft.json +1 -0
  105. package/server/.next/server/app/page_client-reference-manifest.js +2 -0
  106. package/server/.next/server/app-paths-manifest.json +11 -0
  107. package/server/.next/server/chunks/2374f_next_bb86da32._.js +17 -0
  108. package/server/.next/server/chunks/2374f_next_dist_esm_build_templates_app-route_92c3c77a.js +3 -0
  109. package/server/.next/server/chunks/[externals]_next_dist_03fe02e0._.js +3 -0
  110. package/server/.next/server/chunks/[root-of-the-server]__0a18d740._.js +8 -0
  111. package/server/.next/server/chunks/[root-of-the-server]__0f6e6dc1._.js +7 -0
  112. package/server/.next/server/chunks/[root-of-the-server]__2046b812._.js +4 -0
  113. package/server/.next/server/chunks/[root-of-the-server]__75cb53a5._.js +3 -0
  114. package/server/.next/server/chunks/[root-of-the-server]__87bf4b91._.js +3 -0
  115. package/server/.next/server/chunks/[root-of-the-server]__8b8844cb._.js +3 -0
  116. package/server/.next/server/chunks/[turbopack]_runtime.js +795 -0
  117. package/server/.next/server/chunks/bridge-protocol_dist_index_179d02a5.js +3 -0
  118. package/server/.next/server/chunks/ssr/2374f_340e084e._.js +10 -0
  119. package/server/.next/server/chunks/ssr/2374f_next_dist_0c464f98._.js +6 -0
  120. package/server/.next/server/chunks/ssr/2374f_next_dist_4b1ff463._.js +3 -0
  121. package/server/.next/server/chunks/ssr/2374f_next_dist_4d746cec._.js +4 -0
  122. package/server/.next/server/chunks/ssr/2374f_next_dist_client_components_9c5d1a14._.js +3 -0
  123. package/server/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_forbidden_8eae0c85.js +3 -0
  124. package/server/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_global-error_81159d60.js +3 -0
  125. package/server/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_unauthorized_7d34a31c.js +3 -0
  126. package/server/.next/server/chunks/ssr/2374f_next_dist_esm_build_templates_app-page_2574539e.js +4 -0
  127. package/server/.next/server/chunks/ssr/[root-of-the-server]__03e7781d._.js +3 -0
  128. package/server/.next/server/chunks/ssr/[root-of-the-server]__3147100a._.js +3 -0
  129. package/server/.next/server/chunks/ssr/[root-of-the-server]__517c9b38._.js +3 -0
  130. package/server/.next/server/chunks/ssr/[root-of-the-server]__61942f24._.js +4 -0
  131. package/server/.next/server/chunks/ssr/[root-of-the-server]__61a0b842._.js +3 -0
  132. package/server/.next/server/chunks/ssr/[root-of-the-server]__632c82d7._.js +3 -0
  133. package/server/.next/server/chunks/ssr/[root-of-the-server]__9cafe12a._.js +3 -0
  134. package/server/.next/server/chunks/ssr/[root-of-the-server]__b4e7f753._.js +3 -0
  135. package/server/.next/server/chunks/ssr/[root-of-the-server]__ecf19999._.js +3 -0
  136. package/server/.next/server/chunks/ssr/[root-of-the-server]__edbb995c._.js +13 -0
  137. package/server/.next/server/chunks/ssr/[turbopack]_runtime.js +795 -0
  138. package/server/.next/server/chunks/ssr/web_202a6e64._.js +3 -0
  139. package/server/.next/server/chunks/ssr/web__next-internal_server_app__global-error_page_actions_2a1e94d4.js +3 -0
  140. package/server/.next/server/chunks/ssr/web__next-internal_server_app__not-found_page_actions_9eaa9845.js +3 -0
  141. package/server/.next/server/chunks/ssr/web__next-internal_server_app_page_actions_ec26bf28.js +3 -0
  142. package/server/.next/server/chunks/ssr/web_f3c79be3._.js +4 -0
  143. package/server/.next/server/chunks/ssr/web_src_app_798883c2._.js +3 -0
  144. package/server/.next/server/chunks/ssr/web_src_app_layout_tsx_3d75096d._.js +3 -0
  145. package/server/.next/server/chunks/web__next-internal_server_app_api_config_route_actions_1a4bae20.js +3 -0
  146. package/server/.next/server/chunks/web__next-internal_server_app_api_file_route_actions_3242ab95.js +3 -0
  147. package/server/.next/server/chunks/web__next-internal_server_app_api_generate_route_actions_f5ea2a9d.js +3 -0
  148. package/server/.next/server/chunks/web__next-internal_server_app_api_rispec_route_actions_095d9cd5.js +3 -0
  149. package/server/.next/server/chunks/web__next-internal_server_app_api_watch_route_actions_d81c2a7f.js +3 -0
  150. package/server/.next/server/chunks/web__next-internal_server_app_favicon_ico_route_actions_4b74bcf3.js +3 -0
  151. package/server/.next/server/functions-config-manifest.json +6 -0
  152. package/server/.next/server/middleware-build-manifest.js +20 -0
  153. package/server/.next/server/middleware-manifest.json +6 -0
  154. package/server/.next/server/next-font-manifest.js +1 -0
  155. package/server/.next/server/next-font-manifest.json +6 -0
  156. package/server/.next/server/pages/404.html +1 -0
  157. package/server/.next/server/pages/500.html +2 -0
  158. package/server/.next/server/pages-manifest.json +4 -0
  159. package/server/.next/server/server-reference-manifest.js +1 -0
  160. package/server/.next/server/server-reference-manifest.json +5 -0
  161. package/server/.next/static/GkITWCpEKNsMrqxlkqzGB/_buildManifest.js +11 -0
  162. package/server/.next/static/GkITWCpEKNsMrqxlkqzGB/_clientMiddlewareManifest.json +1 -0
  163. package/server/.next/static/GkITWCpEKNsMrqxlkqzGB/_ssgManifest.js +1 -0
  164. package/server/.next/static/chunks/367d28d76d2be05f.js +10 -0
  165. package/server/.next/static/chunks/5e1795a806bd6c51.js +1 -0
  166. package/server/.next/static/chunks/7a768100bec00db1.js +1 -0
  167. package/server/.next/static/chunks/8a03c0d2436d4c0f.js +1 -0
  168. package/server/.next/static/chunks/96818f5620f039a1.js +5 -0
  169. package/server/.next/static/chunks/a6dad97d9634a72d.js +1 -0
  170. package/server/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
  171. package/server/.next/static/chunks/b6bd7719e3445512.css +1 -0
  172. package/server/.next/static/chunks/turbopack-8f57da603e40457d.js +4 -0
  173. package/server/.next/static/media/favicon.0b3bf435.ico +0 -0
  174. package/server/README.md +37 -0
  175. package/server/eslint.config.mjs +18 -0
  176. package/server/next.config.ts +38 -0
  177. package/server/node_modules/@next/env/dist/index.js +1 -0
  178. package/server/node_modules/@next/env/package.json +36 -0
  179. package/server/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
  180. package/server/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
  181. package/server/node_modules/@swc/helpers/package.json +471 -0
  182. package/server/node_modules/client-only/index.js +0 -0
  183. package/server/node_modules/client-only/package.json +19 -0
  184. package/server/node_modules/next/dist/build/adapter/build-complete.js +993 -0
  185. package/server/node_modules/next/dist/build/after-production-compile.js +95 -0
  186. package/server/node_modules/next/dist/build/analysis/extract-const-value.js +205 -0
  187. package/server/node_modules/next/dist/build/analysis/get-page-static-info.js +601 -0
  188. package/server/node_modules/next/dist/build/analysis/parse-module.js +20 -0
  189. package/server/node_modules/next/dist/build/analyze/index.js +242 -0
  190. package/server/node_modules/next/dist/build/babel/loader/get-config.js +429 -0
  191. package/server/node_modules/next/dist/build/babel/loader/index.js +56 -0
  192. package/server/node_modules/next/dist/build/babel/loader/transform.js +103 -0
  193. package/server/node_modules/next/dist/build/babel/loader/util.js +20 -0
  194. package/server/node_modules/next/dist/build/babel/plugins/commonjs.js +42 -0
  195. package/server/node_modules/next/dist/build/babel/plugins/jsx-pragma.js +74 -0
  196. package/server/node_modules/next/dist/build/babel/plugins/next-font-unsupported.js +36 -0
  197. package/server/node_modules/next/dist/build/babel/plugins/next-page-config.js +104 -0
  198. package/server/node_modules/next/dist/build/babel/plugins/next-page-disallow-re-export-all-exports.js +29 -0
  199. package/server/node_modules/next/dist/build/babel/plugins/next-ssg-transform.js +345 -0
  200. package/server/node_modules/next/dist/build/babel/plugins/optimize-hook-destructuring.js +60 -0
  201. package/server/node_modules/next/dist/build/babel/plugins/react-loadable-plugin.js +145 -0
  202. package/server/node_modules/next/dist/build/babel/preset.js +250 -0
  203. package/server/node_modules/next/dist/build/build-context.js +58 -0
  204. package/server/node_modules/next/dist/build/collect-build-traces.js +536 -0
  205. package/server/node_modules/next/dist/build/compiler.js +88 -0
  206. package/server/node_modules/next/dist/build/create-compiler-aliases.js +436 -0
  207. package/server/node_modules/next/dist/build/define-env.js +237 -0
  208. package/server/node_modules/next/dist/build/duration-to-string.js +99 -0
  209. package/server/node_modules/next/dist/build/entries.js +798 -0
  210. package/server/node_modules/next/dist/build/generate-build-id.js +31 -0
  211. package/server/node_modules/next/dist/build/generate-routes-manifest.js +91 -0
  212. package/server/node_modules/next/dist/build/get-babel-config-file.js +35 -0
  213. package/server/node_modules/next/dist/build/get-babel-loader-config.js +109 -0
  214. package/server/node_modules/next/dist/build/get-static-info-including-layouts.js +81 -0
  215. package/server/node_modules/next/dist/build/handle-entrypoints.js +176 -0
  216. package/server/node_modules/next/dist/build/handle-externals.js +290 -0
  217. package/server/node_modules/next/dist/build/index.js +2683 -0
  218. package/server/node_modules/next/dist/build/is-writeable.js +26 -0
  219. package/server/node_modules/next/dist/build/jest/__mocks__/empty.js +10 -0
  220. package/server/node_modules/next/dist/build/jest/__mocks__/fileMock.js +15 -0
  221. package/server/node_modules/next/dist/build/jest/__mocks__/nextFontMock.js +20 -0
  222. package/server/node_modules/next/dist/build/jest/__mocks__/styleMock.js +10 -0
  223. package/server/node_modules/next/dist/build/jest/jest.js +227 -0
  224. package/server/node_modules/next/dist/build/jest/object-proxy.js +50 -0
  225. package/server/node_modules/next/dist/build/load-entrypoint.js +30 -0
  226. package/server/node_modules/next/dist/build/load-jsconfig.js +162 -0
  227. package/server/node_modules/next/dist/build/lockfile.js +160 -0
  228. package/server/node_modules/next/dist/build/manifests/formatter/format-manifest.js +19 -0
  229. package/server/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
  230. package/server/node_modules/next/dist/build/next-config-ts/transpile-config.js +172 -0
  231. package/server/node_modules/next/dist/build/next-dir-paths.js +37 -0
  232. package/server/node_modules/next/dist/build/normalize-catchall-routes.js +76 -0
  233. package/server/node_modules/next/dist/build/output/format.js +84 -0
  234. package/server/node_modules/next/dist/build/output/index.js +186 -0
  235. package/server/node_modules/next/dist/build/output/log.js +135 -0
  236. package/server/node_modules/next/dist/build/output/store.js +204 -0
  237. package/server/node_modules/next/dist/build/page-extensions-type.js +6 -0
  238. package/server/node_modules/next/dist/build/polyfills/fetch/index.js +6 -0
  239. package/server/node_modules/next/dist/build/polyfills/fetch/whatwg-fetch.js +7 -0
  240. package/server/node_modules/next/dist/build/polyfills/object-assign.js +6 -0
  241. package/server/node_modules/next/dist/build/polyfills/object.assign/auto.js +4 -0
  242. package/server/node_modules/next/dist/build/polyfills/object.assign/implementation.js +4 -0
  243. package/server/node_modules/next/dist/build/polyfills/object.assign/index.js +19 -0
  244. package/server/node_modules/next/dist/build/polyfills/object.assign/polyfill.js +6 -0
  245. package/server/node_modules/next/dist/build/polyfills/object.assign/shim.js +6 -0
  246. package/server/node_modules/next/dist/build/polyfills/polyfill-module.js +1 -0
  247. package/server/node_modules/next/dist/build/polyfills/polyfill-nomodule.js +1 -0
  248. package/server/node_modules/next/dist/build/polyfills/process.js +5 -0
  249. package/server/node_modules/next/dist/build/preview-key-utils.js +91 -0
  250. package/server/node_modules/next/dist/build/progress.js +151 -0
  251. package/server/node_modules/next/dist/build/rendering-mode.js +26 -0
  252. package/server/node_modules/next/dist/build/segment-config/app/app-segment-config.js +145 -0
  253. package/server/node_modules/next/dist/build/segment-config/app/app-segments.js +137 -0
  254. package/server/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
  255. package/server/node_modules/next/dist/build/segment-config/middleware/middleware-config.js +121 -0
  256. package/server/node_modules/next/dist/build/segment-config/pages/pages-segment-config.js +62 -0
  257. package/server/node_modules/next/dist/build/sort-by-page-exts.js +30 -0
  258. package/server/node_modules/next/dist/build/spinner.js +138 -0
  259. package/server/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
  260. package/server/node_modules/next/dist/build/static-paths/app.js +682 -0
  261. package/server/node_modules/next/dist/build/static-paths/pages.js +169 -0
  262. package/server/node_modules/next/dist/build/static-paths/types.js +6 -0
  263. package/server/node_modules/next/dist/build/static-paths/utils.js +119 -0
  264. package/server/node_modules/next/dist/build/swc/helpers.js +15 -0
  265. package/server/node_modules/next/dist/build/swc/index.js +1271 -0
  266. package/server/node_modules/next/dist/build/swc/install-bindings.js +30 -0
  267. package/server/node_modules/next/dist/build/swc/jest-transformer.js +75 -0
  268. package/server/node_modules/next/dist/build/swc/options.js +386 -0
  269. package/server/node_modules/next/dist/build/swc/types.js +6 -0
  270. package/server/node_modules/next/dist/build/templates/app-page.js +1073 -0
  271. package/server/node_modules/next/dist/build/templates/app-route.js +420 -0
  272. package/server/node_modules/next/dist/build/templates/edge-app-route.js +85 -0
  273. package/server/node_modules/next/dist/build/templates/edge-ssr-app.js +311 -0
  274. package/server/node_modules/next/dist/build/templates/edge-ssr.js +335 -0
  275. package/server/node_modules/next/dist/build/templates/edge-wrapper.js +24 -0
  276. package/server/node_modules/next/dist/build/templates/helpers.js +36 -0
  277. package/server/node_modules/next/dist/build/templates/middleware.js +115 -0
  278. package/server/node_modules/next/dist/build/templates/pages-api.js +194 -0
  279. package/server/node_modules/next/dist/build/templates/pages-edge-api.js +39 -0
  280. package/server/node_modules/next/dist/build/templates/pages.js +155 -0
  281. package/server/node_modules/next/dist/build/turbopack-analyze/index.js +116 -0
  282. package/server/node_modules/next/dist/build/turbopack-build/impl.js +244 -0
  283. package/server/node_modules/next/dist/build/turbopack-build/index.js +85 -0
  284. package/server/node_modules/next/dist/build/turborepo-access-trace/env.js +29 -0
  285. package/server/node_modules/next/dist/build/turborepo-access-trace/helpers.js +104 -0
  286. package/server/node_modules/next/dist/build/turborepo-access-trace/index.js +30 -0
  287. package/server/node_modules/next/dist/build/turborepo-access-trace/result.js +51 -0
  288. package/server/node_modules/next/dist/build/turborepo-access-trace/tcp.js +41 -0
  289. package/server/node_modules/next/dist/build/turborepo-access-trace/types.js +8 -0
  290. package/server/node_modules/next/dist/build/type-check.js +151 -0
  291. package/server/node_modules/next/dist/build/utils.js +1261 -0
  292. package/server/node_modules/next/dist/build/validate-app-paths.js +242 -0
  293. package/server/node_modules/next/dist/build/webpack/alias/react-dom-server-experimental.js +32 -0
  294. package/server/node_modules/next/dist/build/webpack/alias/react-dom-server.js +32 -0
  295. package/server/node_modules/next/dist/build/webpack/cache-invalidation.js +91 -0
  296. package/server/node_modules/next/dist/build/webpack/config/blocks/base.js +82 -0
  297. package/server/node_modules/next/dist/build/webpack/config/blocks/css/index.js +562 -0
  298. package/server/node_modules/next/dist/build/webpack/config/blocks/css/loaders/client.js +49 -0
  299. package/server/node_modules/next/dist/build/webpack/config/blocks/css/loaders/file-resolve.js +21 -0
  300. package/server/node_modules/next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent.js +37 -0
  301. package/server/node_modules/next/dist/build/webpack/config/blocks/css/loaders/global.js +65 -0
  302. package/server/node_modules/next/dist/build/webpack/config/blocks/css/loaders/index.js +22 -0
  303. package/server/node_modules/next/dist/build/webpack/config/blocks/css/loaders/modules.js +86 -0
  304. package/server/node_modules/next/dist/build/webpack/config/blocks/css/loaders/next-font.js +62 -0
  305. package/server/node_modules/next/dist/build/webpack/config/blocks/css/messages.js +45 -0
  306. package/server/node_modules/next/dist/build/webpack/config/blocks/css/plugins.js +190 -0
  307. package/server/node_modules/next/dist/build/webpack/config/blocks/images/index.js +42 -0
  308. package/server/node_modules/next/dist/build/webpack/config/blocks/images/messages.js +16 -0
  309. package/server/node_modules/next/dist/build/webpack/config/helpers.js +78 -0
  310. package/server/node_modules/next/dist/build/webpack/config/index.js +46 -0
  311. package/server/node_modules/next/dist/build/webpack/config/utils.js +13 -0
  312. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/CssSyntaxError.js +32 -0
  313. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/camelcase.js +93 -0
  314. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js +287 -0
  315. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/index.js +36 -0
  316. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-icss-parser.js +105 -0
  317. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-import-parser.js +220 -0
  318. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-url-parser.js +307 -0
  319. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js +83 -0
  320. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/getUrl.js +23 -0
  321. package/server/node_modules/next/dist/build/webpack/loaders/css-loader/src/utils.js +459 -0
  322. package/server/node_modules/next/dist/build/webpack/loaders/devtool/devtool-style-inject.js +129 -0
  323. package/server/node_modules/next/dist/build/webpack/loaders/empty-loader.js +14 -0
  324. package/server/node_modules/next/dist/build/webpack/loaders/error-loader.js +36 -0
  325. package/server/node_modules/next/dist/build/webpack/loaders/get-module-build-info.js +15 -0
  326. package/server/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/codegen.js +156 -0
  327. package/server/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/index.js +27 -0
  328. package/server/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/interface.js +17 -0
  329. package/server/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +429 -0
  330. package/server/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/minify.js +94 -0
  331. package/server/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/utils.js +58 -0
  332. package/server/node_modules/next/dist/build/webpack/loaders/metadata/discover.js +122 -0
  333. package/server/node_modules/next/dist/build/webpack/loaders/metadata/resolve-route-data.js +171 -0
  334. package/server/node_modules/next/dist/build/webpack/loaders/metadata/types.js +7 -0
  335. package/server/node_modules/next/dist/build/webpack/loaders/modularize-import-loader.js +39 -0
  336. package/server/node_modules/next/dist/build/webpack/loaders/next-app-loader/create-app-route-code.js +65 -0
  337. package/server/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js +765 -0
  338. package/server/node_modules/next/dist/build/webpack/loaders/next-barrel-loader.js +268 -0
  339. package/server/node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js +37 -0
  340. package/server/node_modules/next/dist/build/webpack/loaders/next-edge-app-route-loader/index.js +51 -0
  341. package/server/node_modules/next/dist/build/webpack/loaders/next-edge-function-loader.js +52 -0
  342. package/server/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js +93 -0
  343. package/server/node_modules/next/dist/build/webpack/loaders/next-error-browser-binary-loader.js +21 -0
  344. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-action-entry-loader.js +32 -0
  345. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js +45 -0
  346. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-client-module-loader.js +49 -0
  347. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-css-loader.js +56 -0
  348. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-client-wrapper.js +33 -0
  349. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-validate.js +27 -0
  350. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-loader/cache-wrapper.js +13 -0
  351. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-loader/index.js +211 -0
  352. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js +14 -0
  353. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-loader/server-reference.js +13 -0
  354. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-loader/track-dynamic-import.js +13 -0
  355. package/server/node_modules/next/dist/build/webpack/loaders/next-flight-server-reference-proxy-loader.js +29 -0
  356. package/server/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js +133 -0
  357. package/server/node_modules/next/dist/build/webpack/loaders/next-font-loader/postcss-next-font.js +169 -0
  358. package/server/node_modules/next/dist/build/webpack/loaders/next-image-loader/blur.js +73 -0
  359. package/server/node_modules/next/dist/build/webpack/loaders/next-image-loader/index.js +80 -0
  360. package/server/node_modules/next/dist/build/webpack/loaders/next-invalid-import-error-loader.js +28 -0
  361. package/server/node_modules/next/dist/build/webpack/loaders/next-metadata-image-loader.js +158 -0
  362. package/server/node_modules/next/dist/build/webpack/loaders/next-metadata-route-loader.js +342 -0
  363. package/server/node_modules/next/dist/build/webpack/loaders/next-middleware-asset-loader.js +46 -0
  364. package/server/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js +59 -0
  365. package/server/node_modules/next/dist/build/webpack/loaders/next-middleware-wasm-loader.js +46 -0
  366. package/server/node_modules/next/dist/build/webpack/loaders/next-root-params-loader.js +164 -0
  367. package/server/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js +141 -0
  368. package/server/node_modules/next/dist/build/webpack/loaders/next-style-loader/index.js +220 -0
  369. package/server/node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoLinkTag.js +61 -0
  370. package/server/node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js +221 -0
  371. package/server/node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/isEqualLocals.js +27 -0
  372. package/server/node_modules/next/dist/build/webpack/loaders/next-swc-loader.js +241 -0
  373. package/server/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Error.js +40 -0
  374. package/server/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Warning.js +35 -0
  375. package/server/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js +125 -0
  376. package/server/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/utils.js +86 -0
  377. package/server/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js +101 -0
  378. package/server/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/file-protocol.js +78 -0
  379. package/server/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/join-function.js +190 -0
  380. package/server/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/postcss.js +92 -0
  381. package/server/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/value-processor.js +97 -0
  382. package/server/node_modules/next/dist/build/webpack/loaders/utils.js +100 -0
  383. package/server/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin-utils.js +79 -0
  384. package/server/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin.js +183 -0
  385. package/server/node_modules/next/dist/build/webpack/plugins/copy-file-plugin.js +67 -0
  386. package/server/node_modules/next/dist/build/webpack/plugins/css-chunking-plugin.js +277 -0
  387. package/server/node_modules/next/dist/build/webpack/plugins/css-minimizer-plugin.js +92 -0
  388. package/server/node_modules/next/dist/build/webpack/plugins/devtools-ignore-list-plugin.js +78 -0
  389. package/server/node_modules/next/dist/build/webpack/plugins/eval-source-map-dev-tool-plugin.js +191 -0
  390. package/server/node_modules/next/dist/build/webpack/plugins/flight-client-entry-plugin.js +793 -0
  391. package/server/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.js +420 -0
  392. package/server/node_modules/next/dist/build/webpack/plugins/force-complete-runtime.js +42 -0
  393. package/server/node_modules/next/dist/build/webpack/plugins/jsconfig-paths-plugin.js +219 -0
  394. package/server/node_modules/next/dist/build/webpack/plugins/memory-with-gc-cache-plugin.js +114 -0
  395. package/server/node_modules/next/dist/build/webpack/plugins/middleware-plugin.js +614 -0
  396. package/server/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin.js +24 -0
  397. package/server/node_modules/next/dist/build/webpack/plugins/minify-webpack-plugin/src/index.js +188 -0
  398. package/server/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.js +120 -0
  399. package/server/node_modules/next/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +542 -0
  400. package/server/node_modules/next/dist/build/webpack/plugins/next-types-plugin/index.js +428 -0
  401. package/server/node_modules/next/dist/build/webpack/plugins/next-types-plugin/shared.js +14 -0
  402. package/server/node_modules/next/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +57 -0
  403. package/server/node_modules/next/dist/build/webpack/plugins/optional-peer-dependency-resolve-plugin.js +45 -0
  404. package/server/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.js +146 -0
  405. package/server/node_modules/next/dist/build/webpack/plugins/profiling-plugin.js +282 -0
  406. package/server/node_modules/next/dist/build/webpack/plugins/react-loadable-plugin.js +169 -0
  407. package/server/node_modules/next/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js +97 -0
  408. package/server/node_modules/next/dist/build/webpack/plugins/rspack-profiling-plugin.js +62 -0
  409. package/server/node_modules/next/dist/build/webpack/plugins/slow-module-detection-plugin.js +190 -0
  410. package/server/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.js +62 -0
  411. package/server/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.js +188 -0
  412. package/server/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/update-telemetry-loader-context-from-swc.js +28 -0
  413. package/server/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.js +43 -0
  414. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/getModuleTrace.js +89 -0
  415. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/index.js +43 -0
  416. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parse-dynamic-code-evaluation-error.js +19 -0
  417. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseBabel.js +29 -0
  418. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseCss.js +29 -0
  419. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +26 -0
  420. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextFontError.js +33 -0
  421. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextInvalidImportError.js +26 -0
  422. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNotFoundError.js +166 -0
  423. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseScss.js +42 -0
  424. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/simpleWebpackError.js +18 -0
  425. package/server/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/webpackModuleError.js +138 -0
  426. package/server/node_modules/next/dist/build/webpack/stringify-request.js +15 -0
  427. package/server/node_modules/next/dist/build/webpack/utils.js +109 -0
  428. package/server/node_modules/next/dist/build/webpack-build/impl.js +381 -0
  429. package/server/node_modules/next/dist/build/webpack-build/index.js +179 -0
  430. package/server/node_modules/next/dist/build/webpack-config-rules/resolve.js +55 -0
  431. package/server/node_modules/next/dist/build/webpack-config.js +2343 -0
  432. package/server/node_modules/next/dist/build/worker.js +35 -0
  433. package/server/node_modules/next/dist/build/write-build-id.js +19 -0
  434. package/server/node_modules/next/dist/cli/next-test.js +169 -0
  435. package/server/node_modules/next/dist/client/add-base-path.js +24 -0
  436. package/server/node_modules/next/dist/client/app-build-id.js +49 -0
  437. package/server/node_modules/next/dist/client/app-call-server.js +34 -0
  438. package/server/node_modules/next/dist/client/app-find-source-map-url.js +38 -0
  439. package/server/node_modules/next/dist/client/assign-location.js +29 -0
  440. package/server/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
  441. package/server/node_modules/next/dist/client/components/app-router-headers.js +128 -0
  442. package/server/node_modules/next/dist/client/components/app-router-instance.js +319 -0
  443. package/server/node_modules/next/dist/client/components/app-router-utils.js +62 -0
  444. package/server/node_modules/next/dist/client/components/app-router.js +495 -0
  445. package/server/node_modules/next/dist/client/components/builtin/default.js +35 -0
  446. package/server/node_modules/next/dist/client/components/builtin/global-error.js +82 -0
  447. package/server/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
  448. package/server/node_modules/next/dist/client/components/error-boundary.js +134 -0
  449. package/server/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
  450. package/server/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
  451. package/server/node_modules/next/dist/client/components/forbidden.js +48 -0
  452. package/server/node_modules/next/dist/client/components/handle-isr-error.js +31 -0
  453. package/server/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
  454. package/server/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
  455. package/server/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
  456. package/server/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
  457. package/server/node_modules/next/dist/client/components/links.js +292 -0
  458. package/server/node_modules/next/dist/client/components/match-segments.js +32 -0
  459. package/server/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
  460. package/server/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
  461. package/server/node_modules/next/dist/client/components/navigation-untracked.js +65 -0
  462. package/server/node_modules/next/dist/client/components/navigation.js +198 -0
  463. package/server/node_modules/next/dist/client/components/navigation.react-server.js +72 -0
  464. package/server/node_modules/next/dist/client/components/not-found.js +42 -0
  465. package/server/node_modules/next/dist/client/components/readonly-url-search-params.js +41 -0
  466. package/server/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
  467. package/server/node_modules/next/dist/client/components/redirect-error.js +52 -0
  468. package/server/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
  469. package/server/node_modules/next/dist/client/components/redirect.js +91 -0
  470. package/server/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +128 -0
  471. package/server/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
  472. package/server/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +59 -0
  473. package/server/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
  474. package/server/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +340 -0
  475. package/server/node_modules/next/dist/client/components/router-reducer/handle-mutable.js +66 -0
  476. package/server/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +51 -0
  477. package/server/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1129 -0
  478. package/server/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +64 -0
  479. package/server/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
  480. package/server/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +23 -0
  481. package/server/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +168 -0
  482. package/server/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +68 -0
  483. package/server/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +78 -0
  484. package/server/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +292 -0
  485. package/server/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +56 -0
  486. package/server/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +61 -0
  487. package/server/node_modules/next/dist/client/components/router-reducer/router-reducer.js +66 -0
  488. package/server/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +60 -0
  489. package/server/node_modules/next/dist/client/components/segment-cache/cache-key.js +28 -0
  490. package/server/node_modules/next/dist/client/components/segment-cache/cache-map.js +305 -0
  491. package/server/node_modules/next/dist/client/components/segment-cache/cache.js +1432 -0
  492. package/server/node_modules/next/dist/client/components/segment-cache/lru.js +145 -0
  493. package/server/node_modules/next/dist/client/components/segment-cache/navigation.js +459 -0
  494. package/server/node_modules/next/dist/client/components/segment-cache/prefetch.js +31 -0
  495. package/server/node_modules/next/dist/client/components/segment-cache/scheduler.js +1150 -0
  496. package/server/node_modules/next/dist/client/components/segment-cache/types.js +69 -0
  497. package/server/node_modules/next/dist/client/components/segment-cache/vary-path.js +216 -0
  498. package/server/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
  499. package/server/node_modules/next/dist/client/components/unauthorized.js +49 -0
  500. package/server/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
  501. package/server/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
  502. package/server/node_modules/next/dist/client/components/unstable-rethrow.browser.js +28 -0
  503. package/server/node_modules/next/dist/client/components/unstable-rethrow.js +25 -0
  504. package/server/node_modules/next/dist/client/components/unstable-rethrow.server.js +32 -0
  505. package/server/node_modules/next/dist/client/components/use-action-queue.js +102 -0
  506. package/server/node_modules/next/dist/client/dev/debug-channel.js +72 -0
  507. package/server/node_modules/next/dist/client/flight-data-helpers.js +219 -0
  508. package/server/node_modules/next/dist/client/has-base-path.js +23 -0
  509. package/server/node_modules/next/dist/client/lib/console.js +177 -0
  510. package/server/node_modules/next/dist/client/normalize-trailing-slash.js +36 -0
  511. package/server/node_modules/next/dist/client/remove-base-path.js +32 -0
  512. package/server/node_modules/next/dist/client/route-params.js +230 -0
  513. package/server/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
  514. package/server/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
  515. package/server/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
  516. package/server/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
  517. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
  518. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
  519. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
  520. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
  521. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
  522. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
  523. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
  524. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
  525. package/server/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
  526. package/server/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
  527. package/server/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
  528. package/server/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
  529. package/server/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
  530. package/server/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
  531. package/server/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
  532. package/server/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
  533. package/server/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
  534. package/server/node_modules/next/dist/compiled/async-retry/index.js +1 -0
  535. package/server/node_modules/next/dist/compiled/async-retry/package.json +1 -0
  536. package/server/node_modules/next/dist/compiled/async-sema/index.js +1 -0
  537. package/server/node_modules/next/dist/compiled/async-sema/package.json +1 -0
  538. package/server/node_modules/next/dist/compiled/babel/code-frame.js +1 -0
  539. package/server/node_modules/next/dist/compiled/babel/package.json +1 -0
  540. package/server/node_modules/next/dist/compiled/babel-code-frame/index.js +1 -0
  541. package/server/node_modules/next/dist/compiled/babel-code-frame/package.json +1 -0
  542. package/server/node_modules/next/dist/compiled/busboy/index.js +1 -0
  543. package/server/node_modules/next/dist/compiled/busboy/package.json +1 -0
  544. package/server/node_modules/next/dist/compiled/bytes/index.js +8 -0
  545. package/server/node_modules/next/dist/compiled/bytes/package.json +1 -0
  546. package/server/node_modules/next/dist/compiled/ci-info/index.js +1 -0
  547. package/server/node_modules/next/dist/compiled/ci-info/package.json +1 -0
  548. package/server/node_modules/next/dist/compiled/commander/index.js +1 -0
  549. package/server/node_modules/next/dist/compiled/commander/package.json +1 -0
  550. package/server/node_modules/next/dist/compiled/comment-json/index.js +7 -0
  551. package/server/node_modules/next/dist/compiled/comment-json/package.json +1 -0
  552. package/server/node_modules/next/dist/compiled/compression/index.js +58 -0
  553. package/server/node_modules/next/dist/compiled/compression/package.json +1 -0
  554. package/server/node_modules/next/dist/compiled/conf/index.js +15 -0
  555. package/server/node_modules/next/dist/compiled/conf/package.json +1 -0
  556. package/server/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
  557. package/server/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
  558. package/server/node_modules/next/dist/compiled/cookie/index.js +7 -0
  559. package/server/node_modules/next/dist/compiled/cookie/package.json +1 -0
  560. package/server/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
  561. package/server/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
  562. package/server/node_modules/next/dist/compiled/debug/index.js +1 -0
  563. package/server/node_modules/next/dist/compiled/debug/package.json +1 -0
  564. package/server/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
  565. package/server/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
  566. package/server/node_modules/next/dist/compiled/find-up/index.js +1 -0
  567. package/server/node_modules/next/dist/compiled/find-up/package.json +1 -0
  568. package/server/node_modules/next/dist/compiled/fresh/index.js +8 -0
  569. package/server/node_modules/next/dist/compiled/fresh/package.json +1 -0
  570. package/server/node_modules/next/dist/compiled/http-proxy/index.js +34 -0
  571. package/server/node_modules/next/dist/compiled/http-proxy/package.json +1 -0
  572. package/server/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
  573. package/server/node_modules/next/dist/compiled/image-size/index.js +1 -0
  574. package/server/node_modules/next/dist/compiled/image-size/package.json +1 -0
  575. package/server/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
  576. package/server/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
  577. package/server/node_modules/next/dist/compiled/is-animated/index.js +1 -0
  578. package/server/node_modules/next/dist/compiled/is-animated/package.json +1 -0
  579. package/server/node_modules/next/dist/compiled/is-docker/index.js +1 -0
  580. package/server/node_modules/next/dist/compiled/is-docker/package.json +1 -0
  581. package/server/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
  582. package/server/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
  583. package/server/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
  584. package/server/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
  585. package/server/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
  586. package/server/node_modules/next/dist/compiled/nanoid/package.json +1 -0
  587. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +24 -0
  588. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +24 -0
  589. package/server/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
  590. package/server/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
  591. package/server/node_modules/next/dist/compiled/p-limit/index.js +1 -0
  592. package/server/node_modules/next/dist/compiled/p-limit/package.json +1 -0
  593. package/server/node_modules/next/dist/compiled/p-queue/index.js +1 -0
  594. package/server/node_modules/next/dist/compiled/p-queue/package.json +1 -0
  595. package/server/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
  596. package/server/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
  597. package/server/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
  598. package/server/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
  599. package/server/node_modules/next/dist/compiled/picomatch/index.js +1 -0
  600. package/server/node_modules/next/dist/compiled/picomatch/package.json +1 -0
  601. package/server/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
  602. package/server/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
  603. package/server/node_modules/next/dist/compiled/react-is/index.js +7 -0
  604. package/server/node_modules/next/dist/compiled/react-is/package.json +26 -0
  605. package/server/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
  606. package/server/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
  607. package/server/node_modules/next/dist/compiled/semver/index.js +1 -0
  608. package/server/node_modules/next/dist/compiled/semver/package.json +1 -0
  609. package/server/node_modules/next/dist/compiled/send/index.js +70 -0
  610. package/server/node_modules/next/dist/compiled/send/package.json +1 -0
  611. package/server/node_modules/next/dist/compiled/source-map/package.json +1 -0
  612. package/server/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
  613. package/server/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
  614. package/server/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
  615. package/server/node_modules/next/dist/compiled/string-hash/index.js +1 -0
  616. package/server/node_modules/next/dist/compiled/string-hash/package.json +1 -0
  617. package/server/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
  618. package/server/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
  619. package/server/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
  620. package/server/node_modules/next/dist/compiled/superstruct/package.json +1 -0
  621. package/server/node_modules/next/dist/compiled/tar/index.js +1 -0
  622. package/server/node_modules/next/dist/compiled/tar/package.json +1 -0
  623. package/server/node_modules/next/dist/compiled/text-table/index.js +1 -0
  624. package/server/node_modules/next/dist/compiled/text-table/package.json +1 -0
  625. package/server/node_modules/next/dist/compiled/watchpack/package.json +1 -0
  626. package/server/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
  627. package/server/node_modules/next/dist/compiled/ws/index.js +1 -0
  628. package/server/node_modules/next/dist/compiled/ws/package.json +1 -0
  629. package/server/node_modules/next/dist/compiled/zod/index.cjs +1 -0
  630. package/server/node_modules/next/dist/compiled/zod/package.json +1 -0
  631. package/server/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
  632. package/server/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
  633. package/server/node_modules/next/dist/experimental/testmode/context.js +57 -0
  634. package/server/node_modules/next/dist/experimental/testmode/fetch.js +142 -0
  635. package/server/node_modules/next/dist/experimental/testmode/httpget.js +26 -0
  636. package/server/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
  637. package/server/node_modules/next/dist/experimental/testmode/server.js +62 -0
  638. package/server/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
  639. package/server/node_modules/next/dist/lib/batcher.js +65 -0
  640. package/server/node_modules/next/dist/lib/build-custom-route.js +46 -0
  641. package/server/node_modules/next/dist/lib/bundler.js +97 -0
  642. package/server/node_modules/next/dist/lib/client-and-server-references.js +54 -0
  643. package/server/node_modules/next/dist/lib/coalesced-function.js +39 -0
  644. package/server/node_modules/next/dist/lib/compile-error.js +14 -0
  645. package/server/node_modules/next/dist/lib/constants.js +405 -0
  646. package/server/node_modules/next/dist/lib/create-client-router-filter.js +67 -0
  647. package/server/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
  648. package/server/node_modules/next/dist/lib/detached-promise.js +32 -0
  649. package/server/node_modules/next/dist/lib/detect-typo.js +51 -0
  650. package/server/node_modules/next/dist/lib/download-swc.js +183 -0
  651. package/server/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
  652. package/server/node_modules/next/dist/lib/fallback.js +100 -0
  653. package/server/node_modules/next/dist/lib/fatal-error.js +14 -0
  654. package/server/node_modules/next/dist/lib/file-exists.js +53 -0
  655. package/server/node_modules/next/dist/lib/find-config.js +102 -0
  656. package/server/node_modules/next/dist/lib/find-pages-dir.js +65 -0
  657. package/server/node_modules/next/dist/lib/find-root.js +122 -0
  658. package/server/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
  659. package/server/node_modules/next/dist/lib/format-dynamic-import-path.js +24 -0
  660. package/server/node_modules/next/dist/lib/format-server-error.js +74 -0
  661. package/server/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
  662. package/server/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
  663. package/server/node_modules/next/dist/lib/fs/rename.js +87 -0
  664. package/server/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
  665. package/server/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +69 -0
  666. package/server/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
  667. package/server/node_modules/next/dist/lib/get-network-host.js +44 -0
  668. package/server/node_modules/next/dist/lib/get-package-version.js +118 -0
  669. package/server/node_modules/next/dist/lib/get-project-dir.js +51 -0
  670. package/server/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
  671. package/server/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
  672. package/server/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
  673. package/server/node_modules/next/dist/lib/helpers/get-online.js +50 -0
  674. package/server/node_modules/next/dist/lib/helpers/get-pkg-manager.js +63 -0
  675. package/server/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
  676. package/server/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
  677. package/server/node_modules/next/dist/lib/helpers/install.js +83 -0
  678. package/server/node_modules/next/dist/lib/import-next-warning.js +50 -0
  679. package/server/node_modules/next/dist/lib/inline-static-env.js +112 -0
  680. package/server/node_modules/next/dist/lib/install-dependencies.js +40 -0
  681. package/server/node_modules/next/dist/lib/interop-default.js +15 -0
  682. package/server/node_modules/next/dist/lib/is-api-route.js +15 -0
  683. package/server/node_modules/next/dist/lib/is-app-page-route.js +15 -0
  684. package/server/node_modules/next/dist/lib/is-app-route-route.js +15 -0
  685. package/server/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
  686. package/server/node_modules/next/dist/lib/is-error.js +78 -0
  687. package/server/node_modules/next/dist/lib/is-internal-component.js +36 -0
  688. package/server/node_modules/next/dist/lib/is-serializable-props.js +106 -0
  689. package/server/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
  690. package/server/node_modules/next/dist/lib/load-custom-routes.js +550 -0
  691. package/server/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
  692. package/server/node_modules/next/dist/lib/memory/shutdown.js +29 -0
  693. package/server/node_modules/next/dist/lib/memory/startup.js +47 -0
  694. package/server/node_modules/next/dist/lib/memory/trace.js +109 -0
  695. package/server/node_modules/next/dist/lib/metadata/constants.js +40 -0
  696. package/server/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
  697. package/server/node_modules/next/dist/lib/metadata/generate/alternate.js +55 -0
  698. package/server/node_modules/next/dist/lib/metadata/generate/basic.js +307 -0
  699. package/server/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
  700. package/server/node_modules/next/dist/lib/metadata/generate/icons.js +64 -0
  701. package/server/node_modules/next/dist/lib/metadata/generate/meta.js +123 -0
  702. package/server/node_modules/next/dist/lib/metadata/generate/opengraph.js +478 -0
  703. package/server/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
  704. package/server/node_modules/next/dist/lib/metadata/get-metadata-route.js +114 -0
  705. package/server/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
  706. package/server/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
  707. package/server/node_modules/next/dist/lib/metadata/metadata.js +243 -0
  708. package/server/node_modules/next/dist/lib/metadata/resolve-metadata.js +859 -0
  709. package/server/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
  710. package/server/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
  711. package/server/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
  712. package/server/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
  713. package/server/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
  714. package/server/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
  715. package/server/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
  716. package/server/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
  717. package/server/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
  718. package/server/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
  719. package/server/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
  720. package/server/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
  721. package/server/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
  722. package/server/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
  723. package/server/node_modules/next/dist/lib/mime-type.js +20 -0
  724. package/server/node_modules/next/dist/lib/mkcert.js +204 -0
  725. package/server/node_modules/next/dist/lib/multi-file-writer.js +75 -0
  726. package/server/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
  727. package/server/node_modules/next/dist/lib/non-nullable.js +15 -0
  728. package/server/node_modules/next/dist/lib/normalize-path.js +21 -0
  729. package/server/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
  730. package/server/node_modules/next/dist/lib/page-types.js +18 -0
  731. package/server/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
  732. package/server/node_modules/next/dist/lib/pick.js +19 -0
  733. package/server/node_modules/next/dist/lib/picocolors.js +177 -0
  734. package/server/node_modules/next/dist/lib/pretty-bytes.js +74 -0
  735. package/server/node_modules/next/dist/lib/realpath.js +20 -0
  736. package/server/node_modules/next/dist/lib/recursive-copy.js +76 -0
  737. package/server/node_modules/next/dist/lib/recursive-delete.js +137 -0
  738. package/server/node_modules/next/dist/lib/recursive-readdir.js +124 -0
  739. package/server/node_modules/next/dist/lib/redirect-status.js +46 -0
  740. package/server/node_modules/next/dist/lib/require-instrumentation-client.js +26 -0
  741. package/server/node_modules/next/dist/lib/resolve-build-paths.js +149 -0
  742. package/server/node_modules/next/dist/lib/resolve-from.js +65 -0
  743. package/server/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
  744. package/server/node_modules/next/dist/lib/scheduler.js +64 -0
  745. package/server/node_modules/next/dist/lib/semver-noop.js +18 -0
  746. package/server/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
  747. package/server/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
  748. package/server/node_modules/next/dist/lib/static-env.js +92 -0
  749. package/server/node_modules/next/dist/lib/try-to-parse-path.js +68 -0
  750. package/server/node_modules/next/dist/lib/turbopack-warning.js +186 -0
  751. package/server/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +240 -0
  752. package/server/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
  753. package/server/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
  754. package/server/node_modules/next/dist/lib/typescript/missingDependencyError.js +27 -0
  755. package/server/node_modules/next/dist/lib/typescript/runTypeCheck.js +151 -0
  756. package/server/node_modules/next/dist/lib/typescript/type-paths.js +56 -0
  757. package/server/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +65 -0
  758. package/server/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +394 -0
  759. package/server/node_modules/next/dist/lib/url.js +75 -0
  760. package/server/node_modules/next/dist/lib/verify-partytown-setup.js +115 -0
  761. package/server/node_modules/next/dist/lib/verify-root-layout.js +165 -0
  762. package/server/node_modules/next/dist/lib/verify-typescript-setup.js +178 -0
  763. package/server/node_modules/next/dist/lib/wait.js +19 -0
  764. package/server/node_modules/next/dist/lib/with-promise-cache.js +24 -0
  765. package/server/node_modules/next/dist/lib/worker.js +223 -0
  766. package/server/node_modules/next/dist/next-devtools/server/shared.js +61 -0
  767. package/server/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
  768. package/server/node_modules/next/dist/server/accept-header.js +132 -0
  769. package/server/node_modules/next/dist/server/after/after-context.js +140 -0
  770. package/server/node_modules/next/dist/server/after/after.js +26 -0
  771. package/server/node_modules/next/dist/server/after/awaiter.js +74 -0
  772. package/server/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
  773. package/server/node_modules/next/dist/server/after/index.js +21 -0
  774. package/server/node_modules/next/dist/server/after/run-with-after.js +35 -0
  775. package/server/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
  776. package/server/node_modules/next/dist/server/api-utils/index.js +201 -0
  777. package/server/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
  778. package/server/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
  779. package/server/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +86 -0
  780. package/server/node_modules/next/dist/server/api-utils/web.js +17 -0
  781. package/server/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
  782. package/server/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
  783. package/server/node_modules/next/dist/server/app-render/action-handler.js +952 -0
  784. package/server/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
  785. package/server/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
  786. package/server/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +249 -0
  787. package/server/node_modules/next/dist/server/app-render/app-render-render-utils.js +112 -0
  788. package/server/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
  789. package/server/node_modules/next/dist/server/app-render/app-render.js +3526 -0
  790. package/server/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
  791. package/server/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
  792. package/server/node_modules/next/dist/server/app-render/collect-segment-data.js +276 -0
  793. package/server/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
  794. package/server/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
  795. package/server/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +33 -0
  796. package/server/node_modules/next/dist/server/app-render/create-component-tree.js +754 -0
  797. package/server/node_modules/next/dist/server/app-render/create-error-handler.js +187 -0
  798. package/server/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +76 -0
  799. package/server/node_modules/next/dist/server/app-render/csrf-protection.js +75 -0
  800. package/server/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
  801. package/server/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
  802. package/server/node_modules/next/dist/server/app-render/dynamic-rendering.js +828 -0
  803. package/server/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
  804. package/server/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
  805. package/server/node_modules/next/dist/server/app-render/encryption.js +238 -0
  806. package/server/node_modules/next/dist/server/app-render/entry-base.js +237 -0
  807. package/server/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
  808. package/server/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
  809. package/server/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +49 -0
  810. package/server/node_modules/next/dist/server/app-render/get-layer-assets.js +65 -0
  811. package/server/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
  812. package/server/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +44 -0
  813. package/server/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
  814. package/server/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
  815. package/server/node_modules/next/dist/server/app-render/interop-default.js +17 -0
  816. package/server/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +92 -0
  817. package/server/node_modules/next/dist/server/app-render/manifests-singleton.js +257 -0
  818. package/server/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +28 -0
  819. package/server/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
  820. package/server/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
  821. package/server/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +66 -0
  822. package/server/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
  823. package/server/node_modules/next/dist/server/app-render/postponed-state.js +156 -0
  824. package/server/node_modules/next/dist/server/app-render/prospective-render-utils.js +73 -0
  825. package/server/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
  826. package/server/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
  827. package/server/node_modules/next/dist/server/app-render/render-css-resource.js +52 -0
  828. package/server/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
  829. package/server/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
  830. package/server/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
  831. package/server/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
  832. package/server/node_modules/next/dist/server/app-render/segment-explorer-path.js +103 -0
  833. package/server/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
  834. package/server/node_modules/next/dist/server/app-render/staged-rendering.js +273 -0
  835. package/server/node_modules/next/dist/server/app-render/staged-validation.js +32 -0
  836. package/server/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
  837. package/server/node_modules/next/dist/server/app-render/types.js +59 -0
  838. package/server/node_modules/next/dist/server/app-render/use-flight-response.js +212 -0
  839. package/server/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +185 -0
  840. package/server/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
  841. package/server/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
  842. package/server/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
  843. package/server/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +252 -0
  844. package/server/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
  845. package/server/node_modules/next/dist/server/async-storage/request-store.js +144 -0
  846. package/server/node_modules/next/dist/server/async-storage/with-store.js +6 -0
  847. package/server/node_modules/next/dist/server/async-storage/work-store.js +94 -0
  848. package/server/node_modules/next/dist/server/base-http/helpers.js +36 -0
  849. package/server/node_modules/next/dist/server/base-http/index.js +54 -0
  850. package/server/node_modules/next/dist/server/base-http/node.js +147 -0
  851. package/server/node_modules/next/dist/server/base-http/web.js +124 -0
  852. package/server/node_modules/next/dist/server/base-server.js +1862 -0
  853. package/server/node_modules/next/dist/server/body-streams.js +114 -0
  854. package/server/node_modules/next/dist/server/cache-dir.js +26 -0
  855. package/server/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
  856. package/server/node_modules/next/dist/server/ci-info.js +41 -0
  857. package/server/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
  858. package/server/node_modules/next/dist/server/config-schema.js +632 -0
  859. package/server/node_modules/next/dist/server/config-shared.js +319 -0
  860. package/server/node_modules/next/dist/server/config-utils.js +185 -0
  861. package/server/node_modules/next/dist/server/config.js +1474 -0
  862. package/server/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
  863. package/server/node_modules/next/dist/server/crypto-utils.js +70 -0
  864. package/server/node_modules/next/dist/server/dev/browser-logs/file-logger.js +183 -0
  865. package/server/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +512 -0
  866. package/server/node_modules/next/dist/server/dev/browser-logs/source-map.js +225 -0
  867. package/server/node_modules/next/dist/server/dev/debug-channel.js +87 -0
  868. package/server/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
  869. package/server/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
  870. package/server/node_modules/next/dist/server/dev/hot-middleware.js +274 -0
  871. package/server/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
  872. package/server/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
  873. package/server/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1247 -0
  874. package/server/node_modules/next/dist/server/dev/hot-reloader-types.js +58 -0
  875. package/server/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1382 -0
  876. package/server/node_modules/next/dist/server/dev/log-requests.js +141 -0
  877. package/server/node_modules/next/dist/server/dev/messages.js +74 -0
  878. package/server/node_modules/next/dist/server/dev/middleware-turbopack.js +393 -0
  879. package/server/node_modules/next/dist/server/dev/middleware-webpack.js +473 -0
  880. package/server/node_modules/next/dist/server/dev/node-stack-frames.js +72 -0
  881. package/server/node_modules/next/dist/server/dev/on-demand-entry-handler.js +704 -0
  882. package/server/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
  883. package/server/node_modules/next/dist/server/dev/require-cache.js +49 -0
  884. package/server/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
  885. package/server/node_modules/next/dist/server/dev/static-paths-worker.js +103 -0
  886. package/server/node_modules/next/dist/server/dev/turbopack-utils.js +696 -0
  887. package/server/node_modules/next/dist/server/dynamic-rendering-utils.js +86 -0
  888. package/server/node_modules/next/dist/server/font-utils.js +43 -0
  889. package/server/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
  890. package/server/node_modules/next/dist/server/get-page-files.js +23 -0
  891. package/server/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
  892. package/server/node_modules/next/dist/server/htmlescape.js +37 -0
  893. package/server/node_modules/next/dist/server/image-optimizer.js +1090 -0
  894. package/server/node_modules/next/dist/server/instrumentation/types.js +6 -0
  895. package/server/node_modules/next/dist/server/instrumentation/utils.js +21 -0
  896. package/server/node_modules/next/dist/server/internal-utils.js +39 -0
  897. package/server/node_modules/next/dist/server/is-private-ip.js +36 -0
  898. package/server/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
  899. package/server/node_modules/next/dist/server/lib/app-info-log.js +154 -0
  900. package/server/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
  901. package/server/node_modules/next/dist/server/lib/cache-control.js +22 -0
  902. package/server/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
  903. package/server/node_modules/next/dist/server/lib/cache-handlers/default.js +160 -0
  904. package/server/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
  905. package/server/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
  906. package/server/node_modules/next/dist/server/lib/clone-response.js +77 -0
  907. package/server/node_modules/next/dist/server/lib/cpu-profile.js +28 -0
  908. package/server/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
  909. package/server/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
  910. package/server/node_modules/next/dist/server/lib/dev-bundler-service.js +95 -0
  911. package/server/node_modules/next/dist/server/lib/etag.js +56 -0
  912. package/server/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
  913. package/server/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
  914. package/server/node_modules/next/dist/server/lib/find-page-file.js +127 -0
  915. package/server/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
  916. package/server/node_modules/next/dist/server/lib/format-hostname.js +16 -0
  917. package/server/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
  918. package/server/node_modules/next/dist/server/lib/implicit-tags.js +77 -0
  919. package/server/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +333 -0
  920. package/server/node_modules/next/dist/server/lib/incremental-cache/index.js +479 -0
  921. package/server/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +40 -0
  922. package/server/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
  923. package/server/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
  924. package/server/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
  925. package/server/node_modules/next/dist/server/lib/lazy-result.js +46 -0
  926. package/server/node_modules/next/dist/server/lib/lru-cache.js +183 -0
  927. package/server/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
  928. package/server/node_modules/next/dist/server/lib/mock-request.js +416 -0
  929. package/server/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
  930. package/server/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
  931. package/server/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
  932. package/server/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
  933. package/server/node_modules/next/dist/server/lib/parse-stack.js +46 -0
  934. package/server/node_modules/next/dist/server/lib/patch-fetch.js +945 -0
  935. package/server/node_modules/next/dist/server/lib/patch-set-header.js +38 -0
  936. package/server/node_modules/next/dist/server/lib/render-server.js +152 -0
  937. package/server/node_modules/next/dist/server/lib/router-server.js +672 -0
  938. package/server/node_modules/next/dist/server/lib/router-utils/block-cross-site.js +76 -0
  939. package/server/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
  940. package/server/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
  941. package/server/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +211 -0
  942. package/server/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
  943. package/server/node_modules/next/dist/server/lib/router-utils/filesystem.js +590 -0
  944. package/server/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
  945. package/server/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +96 -0
  946. package/server/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
  947. package/server/node_modules/next/dist/server/lib/router-utils/proxy-request.js +118 -0
  948. package/server/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +608 -0
  949. package/server/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +286 -0
  950. package/server/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
  951. package/server/node_modules/next/dist/server/lib/router-utils/typegen.js +613 -0
  952. package/server/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
  953. package/server/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
  954. package/server/node_modules/next/dist/server/lib/server-ipc/utils.js +80 -0
  955. package/server/node_modules/next/dist/server/lib/source-maps.js +196 -0
  956. package/server/node_modules/next/dist/server/lib/start-server.js +460 -0
  957. package/server/node_modules/next/dist/server/lib/streaming-metadata.js +38 -0
  958. package/server/node_modules/next/dist/server/lib/to-route.js +37 -0
  959. package/server/node_modules/next/dist/server/lib/trace/constants.js +203 -0
  960. package/server/node_modules/next/dist/server/lib/trace/tracer.js +270 -0
  961. package/server/node_modules/next/dist/server/lib/trace/utils.js +16 -0
  962. package/server/node_modules/next/dist/server/lib/types.js +6 -0
  963. package/server/node_modules/next/dist/server/lib/utils.js +249 -0
  964. package/server/node_modules/next/dist/server/lib/worker-utils.js +36 -0
  965. package/server/node_modules/next/dist/server/load-components.js +177 -0
  966. package/server/node_modules/next/dist/server/load-default-error-components.js +41 -0
  967. package/server/node_modules/next/dist/server/load-manifest.external.js +97 -0
  968. package/server/node_modules/next/dist/server/match-bundle.js +25 -0
  969. package/server/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
  970. package/server/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +41 -0
  971. package/server/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
  972. package/server/node_modules/next/dist/server/mcp/tools/get-errors.js +107 -0
  973. package/server/node_modules/next/dist/server/mcp/tools/get-logs.js +61 -0
  974. package/server/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +180 -0
  975. package/server/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +55 -0
  976. package/server/node_modules/next/dist/server/mcp/tools/get-routes.js +171 -0
  977. package/server/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +113 -0
  978. package/server/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
  979. package/server/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
  980. package/server/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +147 -0
  981. package/server/node_modules/next/dist/server/next-server.js +1459 -0
  982. package/server/node_modules/next/dist/server/next-typescript.js +13 -0
  983. package/server/node_modules/next/dist/server/next.js +452 -0
  984. package/server/node_modules/next/dist/server/node-environment-baseline.js +25 -0
  985. package/server/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +246 -0
  986. package/server/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
  987. package/server/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
  988. package/server/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
  989. package/server/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
  990. package/server/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +570 -0
  991. package/server/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
  992. package/server/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
  993. package/server/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
  994. package/server/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.js +489 -0
  995. package/server/node_modules/next/dist/server/node-environment-extensions/utils.js +186 -0
  996. package/server/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
  997. package/server/node_modules/next/dist/server/node-environment.js +19 -0
  998. package/server/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
  999. package/server/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
  1000. package/server/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
  1001. package/server/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
  1002. package/server/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
  1003. package/server/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
  1004. package/server/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
  1005. package/server/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
  1006. package/server/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
  1007. package/server/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
  1008. package/server/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
  1009. package/server/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
  1010. package/server/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
  1011. package/server/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
  1012. package/server/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
  1013. package/server/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
  1014. package/server/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
  1015. package/server/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
  1016. package/server/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
  1017. package/server/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
  1018. package/server/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
  1019. package/server/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +32 -0
  1020. package/server/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
  1021. package/server/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
  1022. package/server/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
  1023. package/server/node_modules/next/dist/server/og/image-response.js +53 -0
  1024. package/server/node_modules/next/dist/server/patch-error-inspect.js +436 -0
  1025. package/server/node_modules/next/dist/server/pipe-readable.js +140 -0
  1026. package/server/node_modules/next/dist/server/post-process.js +39 -0
  1027. package/server/node_modules/next/dist/server/render-result.js +195 -0
  1028. package/server/node_modules/next/dist/server/render.js +1138 -0
  1029. package/server/node_modules/next/dist/server/request/connection.js +111 -0
  1030. package/server/node_modules/next/dist/server/request/cookies.js +220 -0
  1031. package/server/node_modules/next/dist/server/request/draft-mode.js +207 -0
  1032. package/server/node_modules/next/dist/server/request/fallback-params.js +69 -0
  1033. package/server/node_modules/next/dist/server/request/headers.js +219 -0
  1034. package/server/node_modules/next/dist/server/request/params.js +415 -0
  1035. package/server/node_modules/next/dist/server/request/pathname.js +104 -0
  1036. package/server/node_modules/next/dist/server/request/root-params.js +157 -0
  1037. package/server/node_modules/next/dist/server/request/search-params.js +432 -0
  1038. package/server/node_modules/next/dist/server/request/utils.js +51 -0
  1039. package/server/node_modules/next/dist/server/request-meta.js +55 -0
  1040. package/server/node_modules/next/dist/server/require-hook.js +71 -0
  1041. package/server/node_modules/next/dist/server/require.js +109 -0
  1042. package/server/node_modules/next/dist/server/response-cache/index.js +311 -0
  1043. package/server/node_modules/next/dist/server/response-cache/types.js +41 -0
  1044. package/server/node_modules/next/dist/server/response-cache/utils.js +103 -0
  1045. package/server/node_modules/next/dist/server/response-cache/web.js +101 -0
  1046. package/server/node_modules/next/dist/server/resume-data-cache/cache-store.js +84 -0
  1047. package/server/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +115 -0
  1048. package/server/node_modules/next/dist/server/revalidation-utils.js +152 -0
  1049. package/server/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
  1050. package/server/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
  1051. package/server/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
  1052. package/server/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
  1053. package/server/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
  1054. package/server/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
  1055. package/server/node_modules/next/dist/server/route-kind.js +32 -0
  1056. package/server/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
  1057. package/server/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
  1058. package/server/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
  1059. package/server/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
  1060. package/server/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
  1061. package/server/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +90 -0
  1062. package/server/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
  1063. package/server/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
  1064. package/server/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
  1065. package/server/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
  1066. package/server/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
  1067. package/server/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
  1068. package/server/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
  1069. package/server/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
  1070. package/server/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
  1071. package/server/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
  1072. package/server/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
  1073. package/server/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
  1074. package/server/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
  1075. package/server/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
  1076. package/server/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
  1077. package/server/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
  1078. package/server/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
  1079. package/server/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
  1080. package/server/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
  1081. package/server/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
  1082. package/server/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
  1083. package/server/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
  1084. package/server/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
  1085. package/server/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
  1086. package/server/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
  1087. package/server/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
  1088. package/server/node_modules/next/dist/server/route-matches/route-match.js +6 -0
  1089. package/server/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +48 -0
  1090. package/server/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
  1091. package/server/node_modules/next/dist/server/route-modules/app-page/module.js +132 -0
  1092. package/server/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
  1093. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
  1094. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
  1095. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
  1096. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
  1097. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
  1098. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
  1099. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
  1100. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
  1101. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
  1102. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
  1103. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
  1104. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
  1105. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
  1106. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
  1107. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
  1108. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
  1109. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
  1110. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
  1111. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
  1112. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
  1113. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
  1114. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
  1115. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
  1116. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
  1117. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
  1118. package/server/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
  1119. package/server/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
  1120. package/server/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
  1121. package/server/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
  1122. package/server/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
  1123. package/server/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
  1124. package/server/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
  1125. package/server/node_modules/next/dist/server/route-modules/app-route/module.js +889 -0
  1126. package/server/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
  1127. package/server/node_modules/next/dist/server/route-modules/checks.js +45 -0
  1128. package/server/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
  1129. package/server/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
  1130. package/server/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
  1131. package/server/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
  1132. package/server/node_modules/next/dist/server/route-modules/pages/pages-handler.js +522 -0
  1133. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
  1134. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
  1135. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
  1136. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
  1137. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
  1138. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
  1139. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
  1140. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
  1141. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
  1142. package/server/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
  1143. package/server/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
  1144. package/server/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
  1145. package/server/node_modules/next/dist/server/route-modules/route-module.js +597 -0
  1146. package/server/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
  1147. package/server/node_modules/next/dist/server/send-payload.js +88 -0
  1148. package/server/node_modules/next/dist/server/send-response.js +70 -0
  1149. package/server/node_modules/next/dist/server/serve-static.js +66 -0
  1150. package/server/node_modules/next/dist/server/server-route-utils.js +30 -0
  1151. package/server/node_modules/next/dist/server/server-utils.js +323 -0
  1152. package/server/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
  1153. package/server/node_modules/next/dist/server/stream-utils/encoded-tags.js +114 -0
  1154. package/server/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +737 -0
  1155. package/server/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +69 -0
  1156. package/server/node_modules/next/dist/server/typescript/constant.js +97 -0
  1157. package/server/node_modules/next/dist/server/typescript/index.js +199 -0
  1158. package/server/node_modules/next/dist/server/typescript/rules/client-boundary.js +97 -0
  1159. package/server/node_modules/next/dist/server/typescript/rules/config.js +501 -0
  1160. package/server/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
  1161. package/server/node_modules/next/dist/server/typescript/rules/error.js +38 -0
  1162. package/server/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
  1163. package/server/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
  1164. package/server/node_modules/next/dist/server/typescript/rules/server.js +79 -0
  1165. package/server/node_modules/next/dist/server/typescript/utils.js +212 -0
  1166. package/server/node_modules/next/dist/server/use-cache/cache-life.js +161 -0
  1167. package/server/node_modules/next/dist/server/use-cache/cache-tag.js +50 -0
  1168. package/server/node_modules/next/dist/server/use-cache/constants.js +28 -0
  1169. package/server/node_modules/next/dist/server/use-cache/handlers.js +121 -0
  1170. package/server/node_modules/next/dist/server/use-cache/use-cache-errors.js +36 -0
  1171. package/server/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1336 -0
  1172. package/server/node_modules/next/dist/server/utils.js +73 -0
  1173. package/server/node_modules/next/dist/server/web/adapter.js +388 -0
  1174. package/server/node_modules/next/dist/server/web/edge-route-module-wrapper.js +122 -0
  1175. package/server/node_modules/next/dist/server/web/error.js +54 -0
  1176. package/server/node_modules/next/dist/server/web/exports/index.js +56 -0
  1177. package/server/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
  1178. package/server/node_modules/next/dist/server/web/globals.js +128 -0
  1179. package/server/node_modules/next/dist/server/web/http.js +39 -0
  1180. package/server/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
  1181. package/server/node_modules/next/dist/server/web/next-url.js +195 -0
  1182. package/server/node_modules/next/dist/server/web/sandbox/context.js +462 -0
  1183. package/server/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
  1184. package/server/node_modules/next/dist/server/web/sandbox/index.js +28 -0
  1185. package/server/node_modules/next/dist/server/web/sandbox/resource-managers.js +88 -0
  1186. package/server/node_modules/next/dist/server/web/sandbox/sandbox.js +134 -0
  1187. package/server/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +192 -0
  1188. package/server/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
  1189. package/server/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
  1190. package/server/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +211 -0
  1191. package/server/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
  1192. package/server/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
  1193. package/server/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
  1194. package/server/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
  1195. package/server/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
  1196. package/server/node_modules/next/dist/server/web/spec-extension/revalidate.js +206 -0
  1197. package/server/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +284 -0
  1198. package/server/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +49 -0
  1199. package/server/node_modules/next/dist/server/web/spec-extension/url-pattern.js +14 -0
  1200. package/server/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
  1201. package/server/node_modules/next/dist/server/web/types.js +6 -0
  1202. package/server/node_modules/next/dist/server/web/utils.js +151 -0
  1203. package/server/node_modules/next/dist/server/web/web-on-close.js +87 -0
  1204. package/server/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
  1205. package/server/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
  1206. package/server/node_modules/next/dist/shared/lib/app-router-types.js +27 -0
  1207. package/server/node_modules/next/dist/shared/lib/constants.js +448 -0
  1208. package/server/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
  1209. package/server/node_modules/next/dist/shared/lib/deployment-id.js +36 -0
  1210. package/server/node_modules/next/dist/shared/lib/dset.js +34 -0
  1211. package/server/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
  1212. package/server/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
  1213. package/server/node_modules/next/dist/shared/lib/error-source.js +36 -0
  1214. package/server/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +39 -0
  1215. package/server/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
  1216. package/server/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +24 -0
  1217. package/server/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +20 -0
  1218. package/server/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
  1219. package/server/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
  1220. package/server/node_modules/next/dist/shared/lib/hash.js +42 -0
  1221. package/server/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
  1222. package/server/node_modules/next/dist/shared/lib/head.js +163 -0
  1223. package/server/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
  1224. package/server/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
  1225. package/server/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
  1226. package/server/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
  1227. package/server/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
  1228. package/server/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
  1229. package/server/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
  1230. package/server/node_modules/next/dist/shared/lib/image-config.js +75 -0
  1231. package/server/node_modules/next/dist/shared/lib/invariant-error.js +18 -0
  1232. package/server/node_modules/next/dist/shared/lib/is-internal.js +39 -0
  1233. package/server/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
  1234. package/server/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
  1235. package/server/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
  1236. package/server/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
  1237. package/server/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
  1238. package/server/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
  1239. package/server/node_modules/next/dist/shared/lib/magic-identifier.js +218 -0
  1240. package/server/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
  1241. package/server/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
  1242. package/server/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
  1243. package/server/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
  1244. package/server/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
  1245. package/server/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
  1246. package/server/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
  1247. package/server/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
  1248. package/server/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
  1249. package/server/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
  1250. package/server/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
  1251. package/server/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
  1252. package/server/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
  1253. package/server/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
  1254. package/server/node_modules/next/dist/shared/lib/router/adapters.js +136 -0
  1255. package/server/node_modules/next/dist/shared/lib/router/routes/app.js +122 -0
  1256. package/server/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
  1257. package/server/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
  1258. package/server/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
  1259. package/server/node_modules/next/dist/shared/lib/router/utils/app-paths.js +51 -0
  1260. package/server/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
  1261. package/server/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +24 -0
  1262. package/server/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
  1263. package/server/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
  1264. package/server/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
  1265. package/server/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +167 -0
  1266. package/server/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
  1267. package/server/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
  1268. package/server/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
  1269. package/server/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
  1270. package/server/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
  1271. package/server/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
  1272. package/server/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
  1273. package/server/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
  1274. package/server/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
  1275. package/server/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
  1276. package/server/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +29 -0
  1277. package/server/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
  1278. package/server/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +36 -0
  1279. package/server/node_modules/next/dist/shared/lib/router/utils/parse-url.js +32 -0
  1280. package/server/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
  1281. package/server/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
  1282. package/server/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +292 -0
  1283. package/server/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
  1284. package/server/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
  1285. package/server/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
  1286. package/server/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +21 -0
  1287. package/server/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
  1288. package/server/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
  1289. package/server/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
  1290. package/server/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
  1291. package/server/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
  1292. package/server/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
  1293. package/server/node_modules/next/dist/shared/lib/segment-cache/output-export-prefetch-encoding.js +52 -0
  1294. package/server/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
  1295. package/server/node_modules/next/dist/shared/lib/segment.js +102 -0
  1296. package/server/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
  1297. package/server/node_modules/next/dist/shared/lib/server-reference-info.js +52 -0
  1298. package/server/node_modules/next/dist/shared/lib/side-effect.js +63 -0
  1299. package/server/node_modules/next/dist/shared/lib/size-limit.js +35 -0
  1300. package/server/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
  1301. package/server/node_modules/next/dist/shared/lib/turbopack/utils.js +279 -0
  1302. package/server/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
  1303. package/server/node_modules/next/dist/shared/lib/utils.js +207 -0
  1304. package/server/node_modules/next/dist/shared/lib/zod.js +101 -0
  1305. package/server/node_modules/next/dist/telemetry/anonymous-meta.js +89 -0
  1306. package/server/node_modules/next/dist/telemetry/detached-flush.js +56 -0
  1307. package/server/node_modules/next/dist/telemetry/events/build.js +174 -0
  1308. package/server/node_modules/next/dist/telemetry/events/index.js +41 -0
  1309. package/server/node_modules/next/dist/telemetry/events/plugins.js +51 -0
  1310. package/server/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
  1311. package/server/node_modules/next/dist/telemetry/events/version.js +66 -0
  1312. package/server/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
  1313. package/server/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
  1314. package/server/node_modules/next/dist/telemetry/project-id.js +48 -0
  1315. package/server/node_modules/next/dist/telemetry/storage.js +301 -0
  1316. package/server/node_modules/next/dist/trace/index.js +54 -0
  1317. package/server/node_modules/next/dist/trace/report/index.js +37 -0
  1318. package/server/node_modules/next/dist/trace/report/to-json-build.js +137 -0
  1319. package/server/node_modules/next/dist/trace/report/to-json.js +151 -0
  1320. package/server/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
  1321. package/server/node_modules/next/dist/trace/shared.js +39 -0
  1322. package/server/node_modules/next/dist/trace/trace.js +197 -0
  1323. package/server/node_modules/next/package.json +380 -0
  1324. package/server/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
  1325. package/server/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
  1326. package/server/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
  1327. package/server/node_modules/react/cjs/react.production.js +542 -0
  1328. package/server/node_modules/react/compiler-runtime.js +14 -0
  1329. package/server/node_modules/react/index.js +7 -0
  1330. package/server/node_modules/react/jsx-dev-runtime.js +7 -0
  1331. package/server/node_modules/react/jsx-runtime.js +7 -0
  1332. package/server/node_modules/react/package.json +51 -0
  1333. package/server/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
  1334. package/server/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
  1335. package/server/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
  1336. package/server/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
  1337. package/server/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
  1338. package/server/node_modules/react-dom/cjs/react-dom.production.js +210 -0
  1339. package/server/node_modules/react-dom/index.js +38 -0
  1340. package/server/node_modules/react-dom/package.json +117 -0
  1341. package/server/node_modules/react-dom/server.browser.js +16 -0
  1342. package/server/node_modules/react-dom/server.edge.js +17 -0
  1343. package/server/node_modules/react-dom/server.node.js +18 -0
  1344. package/server/node_modules/react-dom/static.node.js +14 -0
  1345. package/server/node_modules/styled-jsx/dist/index/index.js +499 -0
  1346. package/server/node_modules/styled-jsx/index.js +1 -0
  1347. package/server/node_modules/styled-jsx/package.json +132 -0
  1348. package/server/node_modules/styled-jsx/style.js +1 -0
  1349. package/server/package-lock.json +6754 -0
  1350. package/server/package.json +31 -0
  1351. package/server/postcss.config.mjs +7 -0
  1352. package/server/public/file.svg +1 -0
  1353. package/server/public/globe.svg +1 -0
  1354. package/server/public/next.svg +1 -0
  1355. package/server/public/vercel.svg +1 -0
  1356. package/server/public/window.svg +1 -0
  1357. package/server/server.js +38 -0
  1358. package/server/src/app/api/config/route.ts +29 -0
  1359. package/server/src/app/api/file/route.ts +29 -0
  1360. package/server/src/app/api/generate/route.ts +52 -0
  1361. package/server/src/app/api/rispec/route.ts +223 -0
  1362. package/server/src/app/api/watch/route.ts +68 -0
  1363. package/server/src/app/favicon.ico +0 -0
  1364. package/server/src/app/globals.css +317 -0
  1365. package/server/src/app/layout.tsx +75 -0
  1366. package/server/src/app/page.tsx +252 -0
  1367. package/server/src/components/BridgeProvider.tsx +74 -0
  1368. package/server/src/components/Canvas.tsx +1365 -0
  1369. package/server/src/components/CodePreview.tsx +48 -0
  1370. package/server/src/components/DesignBridge.tsx +42 -0
  1371. package/server/src/components/EventsPanel.tsx +221 -0
  1372. package/server/src/components/PropertiesPanel.tsx +225 -0
  1373. package/server/src/components/SettingsPanel.tsx +131 -0
  1374. package/server/src/components/SocketBridgeProvider.tsx +142 -0
  1375. package/server/src/components/Toolbar.tsx +374 -0
  1376. package/server/src/components/UiScale.tsx +199 -0
  1377. package/server/src/components/ValidationPanel.tsx +62 -0
  1378. package/server/src/lib/exportImage.ts +271 -0
  1379. package/server/src/lib/gestureOwner.ts +36 -0
  1380. package/server/src/lib/layoutMemory.ts +173 -0
  1381. package/server/src/lib/projectFile.ts +6 -0
  1382. package/server/src/lib/runtimeConfig.ts +58 -0
  1383. package/server/src/lib/uiScale.ts +130 -0
  1384. package/server/src/store/useDesignerStore.ts +860 -0
  1385. package/server/src/types/definition.ts +120 -0
  1386. package/server/src/types/index.ts +1 -0
  1387. package/server/stateloom-web.json +5 -0
  1388. package/server/tsconfig.json +34 -0
  1389. package/server/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,1365 @@
1
+ "use client";
2
+
3
+ import { useRef, useCallback, useState, useEffect, useMemo } from "react";
4
+ import {
5
+ GLYPH_SIZE,
6
+ IDENTITY_VIEWPORT,
7
+ SELF_LOOP_BULGE,
8
+ VIEWPORT_LIMITS,
9
+ eventGlyph,
10
+ fitToBoxes,
11
+ glyphAt,
12
+ guardText,
13
+ panBy,
14
+ placeLabels,
15
+ routeEdges,
16
+ viewportTransform,
17
+ zoomAt,
18
+ zoomTo,
19
+ } from "@miadi/stateloom-react";
20
+ import type { Glyph, Viewport } from "@miadi/stateloom-react";
21
+ import { useDesignerStore } from "@/store/useDesignerStore";
22
+ import type { ContextMenuState } from "@/store/useDesignerStore";
23
+ import { CANVAS_PINCH_OWNER } from "@/lib/gestureOwner";
24
+ import { CANVAS_SVG_ID } from "@/lib/exportImage";
25
+ import { useLayoutMemory } from "@/lib/layoutMemory";
26
+ import type { StatePosition, StateDef } from "@/types/definition";
27
+
28
+ interface DragState {
29
+ name: string;
30
+ /** Which pointer owns this drag — a second finger must not end it. */
31
+ pointerId: number;
32
+ startX: number;
33
+ startY: number;
34
+ origX: number;
35
+ origY: number;
36
+ }
37
+
38
+ /** A pan in progress: where the pointer went down and where the view was then. */
39
+ interface PanState {
40
+ pointerId: number;
41
+ startX: number;
42
+ startY: number;
43
+ origX: number;
44
+ origY: number;
45
+ }
46
+
47
+ /**
48
+ * Two fingers steering the view at once. Everything is measured against the
49
+ * frame the gesture *started* in — the distance, the midpoint, the viewport —
50
+ * so the transform is recomputed from scratch on every move instead of
51
+ * accumulating, and a pinch can never drift away from the fingers holding it.
52
+ */
53
+ interface PinchState {
54
+ a: number;
55
+ b: number;
56
+ /** Screen distance between the fingers when the pinch began. Never zero. */
57
+ startDist: number;
58
+ /** Canvas-relative midpoint when it began — the point the zoom is anchored to. */
59
+ startMidX: number;
60
+ startMidY: number;
61
+ start: Viewport;
62
+ }
63
+
64
+ /** A finger resting still, on its way to becoming the context menu. */
65
+ interface LongPressState {
66
+ pointerId: number;
67
+ x: number;
68
+ y: number;
69
+ target: ContextMenuState["target"];
70
+ timer: ReturnType<typeof setTimeout>;
71
+ }
72
+
73
+ /** Wheel notches arrive in three units; normalise them to pixels. */
74
+ const WHEEL_LINE_HEIGHT = 16;
75
+ const WHEEL_PAGE_HEIGHT = 400;
76
+
77
+ /** How long a finger must rest in place before the press becomes a menu. */
78
+ const LONG_PRESS_MS = 500;
79
+ /**
80
+ * How far a finger may wander and still count as resting. It doubles as the
81
+ * line between a pan and a tap: a fingertip never lands perfectly still, and a
82
+ * one-pixel tremor must not swallow the tap that clears the selection.
83
+ */
84
+ const TOUCH_SLOP_PX = 8;
85
+ /** Screen-space cuff added around a box so a fingertip (~9mm) can find it. */
86
+ const TOUCH_TARGET_PAD_PX = 10;
87
+ /** Screen-space width of the invisible ribbon that catches a tap on an edge. */
88
+ const TOUCH_EDGE_STROKE_PX = 28;
89
+
90
+ function wheelPixels(delta: number, mode: number): number {
91
+ if (mode === 1) return delta * WHEEL_LINE_HEIGHT;
92
+ if (mode === 2) return delta * WHEEL_PAGE_HEIGHT;
93
+ return delta;
94
+ }
95
+
96
+ /**
97
+ * Space is a pan modifier on the canvas and a plain space bar everywhere else —
98
+ * a name being typed in a panel, or a focused button waiting to be pressed,
99
+ * must never make the board slide.
100
+ */
101
+ function isTypingTarget(node: EventTarget | null): boolean {
102
+ const el = node as HTMLElement | null;
103
+ if (!el || typeof el.tagName !== "string") return false;
104
+ if (el.isContentEditable) return true;
105
+ return ["INPUT", "TEXTAREA", "SELECT", "BUTTON", "OPTION"].includes(el.tagName);
106
+ }
107
+
108
+ /**
109
+ * The trigger mark on an event chip: a check for a confirmation, chevrons for
110
+ * an advance, two bars for a pause. Six chips reading `advance_context` are six
111
+ * identical words until something in front of them differs.
112
+ *
113
+ * Drawn from the protocol's glyph data in a 24-unit box, scaled where it
114
+ * stands — the same paths the exporter writes, so a picture taken of the board
115
+ * carries the marks the board showed.
116
+ */
117
+ function TriggerGlyph({ mark, x, y, color }: { mark: Glyph; x: number; y: number; color: string }) {
118
+ return (
119
+ <g
120
+ transform={`translate(${x} ${y}) scale(${GLYPH_SIZE / 24})`}
121
+ fill="none"
122
+ stroke={color}
123
+ strokeWidth={mark.strokeWidth}
124
+ strokeLinecap="round"
125
+ strokeLinejoin="round"
126
+ className="pointer-events-none"
127
+ >
128
+ {(mark.circles ?? []).map((c, i) => (
129
+ <circle key={`c${i}`} cx={c.cx} cy={c.cy} r={c.r} fill={c.filled ? color : "none"} />
130
+ ))}
131
+ {mark.paths.map((d, i) => (
132
+ <path key={`p${i}`} d={d} />
133
+ ))}
134
+ </g>
135
+ );
136
+ }
137
+
138
+ export default function Canvas() {
139
+ const definition = useDesignerStore((s) => s.definition);
140
+ const layout = useDesignerStore((s) => s.layout);
141
+ const selection = useDesignerStore((s) => s.selection);
142
+ const select = useDesignerStore((s) => s.select);
143
+ const clearSelection = useDesignerStore((s) => s.clearSelection);
144
+ const setStatePosition = useDesignerStore((s) => s.setStatePosition);
145
+ const drawMode = useDesignerStore((s) => s.drawMode);
146
+ const drawSource = useDesignerStore((s) => s.drawSource);
147
+ const setDrawSource = useDesignerStore((s) => s.setDrawSource);
148
+ const setDrawMode = useDesignerStore((s) => s.setDrawMode);
149
+ const addTransition = useDesignerStore((s) => s.addTransition);
150
+ const showContextMenu = useDesignerStore((s) => s.showContextMenu);
151
+ const removeState = useDesignerStore((s) => s.removeState);
152
+ const undo = useDesignerStore((s) => s.undo);
153
+ const redo = useDesignerStore((s) => s.redo);
154
+ const errors = useDesignerStore((s) => s.errors);
155
+ const navigationPath = useDesignerStore((s) => s.navigationPath);
156
+ const currentParent = useDesignerStore((s) => s.currentParent);
157
+ const navigateInto = useDesignerStore((s) => s.navigateInto);
158
+ const navigateUp = useDesignerStore((s) => s.navigateUp);
159
+ const getCurrentChildren = useDesignerStore((s) => s.getCurrentChildren);
160
+ const activeStates = useDesignerStore((s) => s.activeStates);
161
+ const viewport = useDesignerStore((s) => s.viewport);
162
+ const setViewport = useDesignerStore((s) => s.setViewport);
163
+
164
+ const svgRef = useRef<SVGSVGElement>(null);
165
+ const [drag, setDrag] = useState<DragState | null>(null);
166
+ // The same truth as `drag`, readable by a handler that may run before the
167
+ // render carrying it — a second finger, or a lift, can arrive inside the frame
168
+ // the press started in, and must still know which pointer owns the box.
169
+ const dragRef = useRef<DragState | null>(null);
170
+ const applyDrag = useCallback((next: DragState | null) => {
171
+ dragRef.current = next;
172
+ setDrag(next);
173
+ }, []);
174
+ const [eventPicker, setEventPicker] = useState<{ stateName: string; targetName: string; x: number; y: number } | null>(null);
175
+
176
+ // Navigation. `spaceHeld` / `panning` drive the cursor (they must re-render);
177
+ // the refs carry the same truth into native listeners and pointer handlers
178
+ // that would otherwise close over a stale value.
179
+ const spaceRef = useRef(false);
180
+ const [spaceHeld, setSpaceHeld] = useState(false);
181
+ const panRef = useRef<PanState | null>(null);
182
+ const [panning, setPanning] = useState(false);
183
+ // A pan that actually moved must not end as a click that clears the selection.
184
+ const panMovedRef = useRef(false);
185
+ // Who holds each live pointer, keyed by id, so it can be released again. A map
186
+ // rather than a single slot: with two fingers down, one box can be holding the
187
+ // first while the surface holds the second, and releasing the wrong one strands
188
+ // the gesture.
189
+ const capturesRef = useRef<Map<number, Element>>(new Map());
190
+
191
+ // Touch. Every finger currently on the canvas, in the order it landed — the
192
+ // map is what makes a *second* finger legible as a pinch rather than as a
193
+ // second, competing drag.
194
+ const pointersRef = useRef<Map<number, { x: number; y: number }>>(new Map());
195
+ const pinchRef = useRef<PinchState | null>(null);
196
+ const [pinching, setPinching] = useState(false);
197
+ const longPressRef = useRef<LongPressState | null>(null);
198
+ // A press that became a menu must not also read as a click: the shell hides
199
+ // the menu on any click that reaches it, closing it on the way back up.
200
+ const suppressClickRef = useRef(false);
201
+ // Coarse pointer: hit areas grow for a fingertip, and only then, so a mouse
202
+ // keeps the precision the visual design was drawn for. Resolved in an effect
203
+ // (never during render) so the server's HTML and the first client paint agree.
204
+ const [coarsePointer, setCoarsePointer] = useState(false);
205
+
206
+ // While the view is being steered — dragged by a finger, pinched, or panned
207
+ // with the middle button — the board underneath stops answering the pointer,
208
+ // so a box never fights the gesture that is moving the whole world.
209
+ const navigating = panning || pinching;
210
+
211
+ // Remembered board: restore this browser's drags, then keep writing them back.
212
+ useLayoutMemory();
213
+
214
+ /** Pointer position relative to the canvas element — the space zoom anchors in. */
215
+ const toCanvasPoint = useCallback((clientX: number, clientY: number) => {
216
+ const rect = svgRef.current?.getBoundingClientRect();
217
+ return { x: clientX - (rect?.left ?? 0), y: clientY - (rect?.top ?? 0) };
218
+ }, []);
219
+
220
+ /** Hand the pointer back to whoever was holding it, and forget the holder. */
221
+ const releaseCapture = useCallback((pointerId: number) => {
222
+ const held = capturesRef.current.get(pointerId) as (Element & {
223
+ hasPointerCapture?: (id: number) => boolean;
224
+ releasePointerCapture?: (id: number) => void;
225
+ }) | undefined;
226
+ capturesRef.current.delete(pointerId);
227
+ if (held?.hasPointerCapture?.(pointerId)) held.releasePointerCapture?.(pointerId);
228
+ }, []);
229
+
230
+ /** Disarm the pending menu — for one pointer, or for whichever is armed. */
231
+ const cancelLongPress = useCallback((pointerId?: number) => {
232
+ const held = longPressRef.current;
233
+ if (!held) return;
234
+ if (pointerId !== undefined && held.pointerId !== pointerId) return;
235
+ clearTimeout(held.timer);
236
+ longPressRef.current = null;
237
+ }, []);
238
+
239
+ /**
240
+ * Arm the hold that stands in for a right-click. The finger keeps whatever it
241
+ * already started — a drag, a pan — until the timer fires; only then does the
242
+ * gesture let go, so the board cannot slide out from under the menu.
243
+ */
244
+ const armLongPress = useCallback(
245
+ (e: React.PointerEvent, target: ContextMenuState["target"]) => {
246
+ if (e.pointerType !== "touch") return;
247
+ cancelLongPress();
248
+ const { pointerId, clientX: x, clientY: y } = e;
249
+ const timer = setTimeout(() => {
250
+ longPressRef.current = null;
251
+ applyDrag(null);
252
+ panRef.current = null;
253
+ setPanning(false);
254
+ // The capture stays where it is: the finger now steers nothing, but the
255
+ // element holding it is still guaranteed to receive the eventual lift.
256
+ suppressClickRef.current = true;
257
+ navigator.vibrate?.(10);
258
+ showContextMenu(x, y, target);
259
+ }, LONG_PRESS_MS);
260
+ longPressRef.current = { pointerId, x, y, target, timer };
261
+ },
262
+ [cancelLongPress, showContextMenu, applyDrag]
263
+ );
264
+
265
+ // A fingertip asks for room a cursor does not. Detected once, watched for
266
+ // change (a tablet docking to a mouse flips this), and never read in render
267
+ // before the effect has run — so hydration matches the server's `false`.
268
+ useEffect(() => {
269
+ if (typeof window === "undefined" || !window.matchMedia) return;
270
+ const mq = window.matchMedia("(pointer: coarse)");
271
+ const apply = () => setCoarsePointer(mq.matches);
272
+ apply();
273
+ mq.addEventListener("change", apply);
274
+ return () => mq.removeEventListener("change", apply);
275
+ }, []);
276
+
277
+ // Safety net. Pointer capture makes the canvas's own `pointerup` reliable, but
278
+ // a gesture torn away by the OS — a call arriving, the app backgrounded — can
279
+ // still leave a finger recorded that is no longer on the glass. A stale entry
280
+ // would make the *next* single touch look like the second half of a pinch, so
281
+ // every pointer that ends anywhere is forgotten here too.
282
+ useEffect(() => {
283
+ const forget = (e: PointerEvent) => {
284
+ pointersRef.current.delete(e.pointerId);
285
+ };
286
+ window.addEventListener("pointerup", forget);
287
+ window.addEventListener("pointercancel", forget);
288
+ return () => {
289
+ window.removeEventListener("pointerup", forget);
290
+ window.removeEventListener("pointercancel", forget);
291
+ };
292
+ }, []);
293
+
294
+ // Unmounting mid-hold must not leave a timer alive to open a menu over a
295
+ // canvas that no longer exists.
296
+ useEffect(() => () => cancelLongPress(), [cancelLongPress]);
297
+
298
+ // WS7b — live-animation tracking. The prev* refs are read/written ONLY inside
299
+ // the commit effect (never during render). The rendered classes are driven by
300
+ // state (enteringNames / enteringEdges), so the render stays a pure function
301
+ // of props+state. `exitingNodes` holds nodes that vanished from the current
302
+ // drill level so they outlive React's unmount and animate out.
303
+ const prevNamesRef = useRef<Set<string>>(new Set());
304
+ const prevNodeDataRef = useRef<Map<string, { state: StateDef; pos: StatePosition }>>(new Map());
305
+ const prevParentRef = useRef<string>(currentParent);
306
+ const prevEdgeKeysRef = useRef<Set<string>>(new Set());
307
+ const [enteringNames, setEnteringNames] = useState<Set<string>>(new Set());
308
+ const [enteringEdges, setEnteringEdges] = useState<Set<string>>(new Set());
309
+ const [exitingNodes, setExitingNodes] = useState<Map<string, { state: StateDef; pos: StatePosition }>>(new Map());
310
+
311
+ // Show only children of current navigation level (not flattened)
312
+ const currentChildren = getCurrentChildren();
313
+ const allEvents = definition.events.flatMap((src) => src.events ?? []);
314
+
315
+ // Touch hit areas. Both live in world units — everything inside the navigated
316
+ // group does — so each is a screen-pixel budget divided by the scale: the cuff
317
+ // around a box and the ribbon along an edge stay the same size *in the hand*
318
+ // whether the board is zoomed in or pushed away. Zero for a mouse, which means
319
+ // the extra geometry is never rendered at all and the cursor keeps hitting
320
+ // exactly what it is pointed at.
321
+ const touchPad = coarsePointer ? TOUCH_TARGET_PAD_PX / viewport.scale : 0;
322
+ const touchEdgeStroke = coarsePointer ? TOUCH_EDGE_STROKE_PX / viewport.scale : 0;
323
+ /** HUD buttons in screen space: a thumb needs the padding a cursor does not. */
324
+ const hudButton = coarsePointer ? "px-3 py-2" : "px-1.5 py-0.5";
325
+
326
+ // Keyboard shortcuts
327
+ useEffect(() => {
328
+ const handler = (e: KeyboardEvent) => {
329
+ if ((e.ctrlKey || e.metaKey) && e.key === "z") { e.preventDefault(); undo(); }
330
+ if ((e.ctrlKey || e.metaKey) && (e.key === "y" || (e.shiftKey && e.key === "z"))) { e.preventDefault(); redo(); }
331
+ if (e.key === "Escape") { setDrawMode("select"); setEventPicker(null); }
332
+ if (e.key === "Delete" && selection.kind === "state" && selection.id) {
333
+ removeState(selection.id);
334
+ clearSelection();
335
+ }
336
+ };
337
+ window.addEventListener("keydown", handler);
338
+ return () => window.removeEventListener("keydown", handler);
339
+ }, [undo, redo, setDrawMode, selection, removeState, clearSelection]);
340
+
341
+ const getPos = useCallback(
342
+ (name: string): StatePosition =>
343
+ layout.positions[name] ?? { x: 100, y: 100, width: 160, height: 60 },
344
+ [layout]
345
+ );
346
+
347
+ const hasError = useCallback(
348
+ (name: string) => errors.some((e) => e.element === name),
349
+ [errors]
350
+ );
351
+
352
+ /** Begin sliding the whole board with one pointer. Shared by mouse and finger. */
353
+ const beginPan = useCallback((e: React.PointerEvent) => {
354
+ const vp = useDesignerStore.getState().viewport;
355
+ panRef.current = {
356
+ pointerId: e.pointerId,
357
+ startX: e.clientX,
358
+ startY: e.clientY,
359
+ origX: vp.x,
360
+ origY: vp.y,
361
+ };
362
+ panMovedRef.current = false;
363
+ setPanning(true);
364
+ const svg = svgRef.current;
365
+ if (!svg) return;
366
+ capturesRef.current.set(e.pointerId, svg);
367
+ svg.setPointerCapture(e.pointerId);
368
+ }, []);
369
+
370
+ /**
371
+ * Promote whatever is happening to a two-finger gesture. Everything the single
372
+ * pointer had claimed — a box mid-drag, a pan mid-slide, a hold on its way to
373
+ * a menu — is given up here: with both fingers on the glass the user is
374
+ * steering the view, not editing the machine.
375
+ */
376
+ const beginPinch = useCallback(() => {
377
+ const live = [...pointersRef.current.entries()];
378
+ if (live.length < 2) return;
379
+ const [[idA, a], [idB, b]] = live;
380
+
381
+ cancelLongPress();
382
+ applyDrag(null);
383
+ panRef.current = null;
384
+
385
+ // Fingers landing on the same pixel would divide by zero; a floor of one
386
+ // pixel makes the first frame a no-op instead of an infinity.
387
+ const startDist = Math.max(1, Math.hypot(b.x - a.x, b.y - a.y));
388
+ const mid = toCanvasPoint((a.x + b.x) / 2, (a.y + b.y) / 2);
389
+ pinchRef.current = {
390
+ a: idA,
391
+ b: idB,
392
+ startDist,
393
+ startMidX: mid.x,
394
+ startMidY: mid.y,
395
+ start: useDesignerStore.getState().viewport,
396
+ };
397
+ // A pinch has plainly travelled; its lift is never a tap on empty space.
398
+ panMovedRef.current = true;
399
+ setPinching(true);
400
+
401
+ // A finger that arrived while the capture phase was swallowing the event was
402
+ // never captured by anyone. Take it on the surface so the gesture survives it
403
+ // sliding off the canvas; fingers already held by a box keep that holder,
404
+ // since their moves bubble here regardless.
405
+ const svg = svgRef.current;
406
+ if (!svg) return;
407
+ for (const id of [idA, idB]) {
408
+ if (capturesRef.current.has(id)) continue;
409
+ try {
410
+ svg.setPointerCapture(id);
411
+ capturesRef.current.set(id, svg);
412
+ } catch {
413
+ // The pointer ended between the event and this line. Nothing to hold.
414
+ }
415
+ }
416
+ }, [cancelLongPress, toCanvasPoint, applyDrag]);
417
+
418
+ /**
419
+ * Runs before any box or the surface sees the press, so it can count fingers
420
+ * that a node's `stopPropagation` would otherwise hide. Bookkeeping only —
421
+ * except for the one decision that has to be made this early: a second finger
422
+ * turns the gesture into a pinch, and nothing below may start a rival one.
423
+ */
424
+ const handlePointerDownCapture = useCallback(
425
+ (e: React.PointerEvent) => {
426
+ // The click that closes out the previous gesture has been and gone (or was
427
+ // never sent, as on iOS after a hold). Either way, stop swallowing.
428
+ suppressClickRef.current = false;
429
+ if (e.pointerType !== "touch") return;
430
+ setCoarsePointer(true);
431
+ pointersRef.current.set(e.pointerId, { x: e.clientX, y: e.clientY });
432
+ const count = pointersRef.current.size;
433
+ if (count < 2) return;
434
+ e.stopPropagation();
435
+ if (count === 2) beginPinch();
436
+ // A third finger is noise: recorded so its lift is accounted for, but the
437
+ // pinch keeps the two fingers it started with.
438
+ },
439
+ [beginPinch]
440
+ );
441
+
442
+ const handleNodePointerDown = useCallback(
443
+ (e: React.PointerEvent, name: string) => {
444
+ // Middle button, or space held: this gesture belongs to the surface. Let
445
+ // it bubble un-stopped so the pan handler below picks it up.
446
+ if (e.button !== 0 || spaceRef.current) return;
447
+ e.stopPropagation();
448
+ // A finger on a box may still be asking for the menu rather than a drag.
449
+ // Arm the hold either way; travel past the slop disarms it.
450
+ armLongPress(e, { kind: "state", id: name });
451
+ if (drawMode === "transition") {
452
+ if (!drawSource) {
453
+ setDrawSource(name);
454
+ } else if (drawSource !== name) {
455
+ // Show event picker
456
+ setEventPicker({ stateName: drawSource, targetName: name, x: e.clientX, y: e.clientY });
457
+ }
458
+ return;
459
+ }
460
+ select("state", name);
461
+ const pos = getPos(name);
462
+ applyDrag({ name, pointerId: e.pointerId, startX: e.clientX, startY: e.clientY, origX: pos.x, origY: pos.y });
463
+ // Capture on the node's own group, so the gesture survives the pointer
464
+ // outrunning the box or leaving the canvas. It must be *this* element and
465
+ // not the surface: a capture retargets the click and dblclick that follow,
466
+ // and retargeting them to the <svg> would read as a click on empty space —
467
+ // clearing the selection the press just made, and stealing the
468
+ // double-click that drills into a composite.
469
+ const node = e.currentTarget as Element;
470
+ capturesRef.current.set(e.pointerId, node);
471
+ node.setPointerCapture?.(e.pointerId);
472
+ },
473
+ [select, getPos, drawMode, drawSource, setDrawSource, armLongPress, applyDrag]
474
+ );
475
+
476
+ const handleSurfacePointerDown = useCallback(
477
+ (e: React.PointerEvent) => {
478
+ if (e.pointerType === "touch") {
479
+ // A phone has no middle button and no space bar, so the plainest gesture
480
+ // has to be the one that moves the board: one finger on bare canvas pans.
481
+ // No `preventDefault` — the click and double-click synthesised from this
482
+ // touch are what still clear the selection and drill into a composite.
483
+ armLongPress(e, { kind: "canvas" });
484
+ beginPan(e);
485
+ return;
486
+ }
487
+ const wantsPan = e.button === 1 || (e.button === 0 && spaceRef.current);
488
+ if (!wantsPan) return;
489
+ // Suppresses the compatibility mouse events, and with them Chrome's
490
+ // middle-click autoscroll.
491
+ e.preventDefault();
492
+ beginPan(e);
493
+ },
494
+ [armLongPress, beginPan]
495
+ );
496
+
497
+ const handleSurfacePointerMove = useCallback(
498
+ (e: React.PointerEvent) => {
499
+ if (pointersRef.current.has(e.pointerId)) {
500
+ pointersRef.current.set(e.pointerId, { x: e.clientX, y: e.clientY });
501
+ }
502
+
503
+ // A hold that wanders is a drag changing its mind.
504
+ const hold = longPressRef.current;
505
+ if (hold && hold.pointerId === e.pointerId) {
506
+ if (Math.hypot(e.clientX - hold.x, e.clientY - hold.y) > TOUCH_SLOP_PX) {
507
+ cancelLongPress(e.pointerId);
508
+ }
509
+ }
510
+
511
+ const pinch = pinchRef.current;
512
+ if (pinch) {
513
+ if (e.pointerId !== pinch.a && e.pointerId !== pinch.b) return;
514
+ const a = pointersRef.current.get(pinch.a);
515
+ const b = pointersRef.current.get(pinch.b);
516
+ if (!a || !b) return;
517
+ // Two fingers say two things at once, and the viewport has room for
518
+ // both. The spread says how much to magnify: scale is the starting
519
+ // scale times how much further apart the fingers are now. The midpoint
520
+ // says where: `zoomTo` re-anchors the board so the world point that sat
521
+ // under the *starting* midpoint is still under it after the rescale —
522
+ // the same invariant Ctrl+wheel uses, with the midpoint standing in for
523
+ // the cursor. Whatever the midpoint itself has travelled since is then
524
+ // a plain screen-space slide, which is exactly a pan. Both are measured
525
+ // from the gesture's opening frame, never from the previous move, so
526
+ // rounding cannot accumulate under a long pinch.
527
+ const dist = Math.hypot(b.x - a.x, b.y - a.y);
528
+ const mid = toCanvasPoint((a.x + b.x) / 2, (a.y + b.y) / 2);
529
+ const zoomed = zoomTo(
530
+ pinch.start,
531
+ pinch.start.scale * (dist / pinch.startDist),
532
+ { x: pinch.startMidX, y: pinch.startMidY }
533
+ );
534
+ setViewport(panBy(zoomed, mid.x - pinch.startMidX, mid.y - pinch.startMidY));
535
+ return;
536
+ }
537
+
538
+ const pan = panRef.current;
539
+ if (pan) {
540
+ if (pan.pointerId !== e.pointerId) return;
541
+ const dx = e.clientX - pan.startX;
542
+ const dy = e.clientY - pan.startY;
543
+ // A mouse that moved at all was dragged. A fingertip is never that
544
+ // still, so a touch has to clear the slop before its lift stops
545
+ // counting as a tap.
546
+ const slop = e.pointerType === "touch" ? TOUCH_SLOP_PX : 0;
547
+ if (Math.abs(dx) > slop || Math.abs(dy) > slop) panMovedRef.current = true;
548
+ const scale = useDesignerStore.getState().viewport.scale;
549
+ setViewport({ x: pan.origX + dx, y: pan.origY + dy, scale });
550
+ return;
551
+ }
552
+ if (!drag || drag.pointerId !== e.pointerId) return;
553
+ // The pointer moves in screen pixels; the box lives in world units. At
554
+ // scale k a screen pixel is 1/k world units, which is what keeps a
555
+ // dragged state pinned under the cursor at any zoom. Pan cancels out of a
556
+ // delta, so only the scale appears here.
557
+ const scale = useDesignerStore.getState().viewport.scale;
558
+ const dx = (e.clientX - drag.startX) / scale;
559
+ const dy = (e.clientY - drag.startY) / scale;
560
+ const pos = getPos(drag.name);
561
+ setStatePosition(drag.name, {
562
+ ...pos,
563
+ x: Math.max(0, drag.origX + dx),
564
+ y: Math.max(0, drag.origY + dy),
565
+ });
566
+ },
567
+ [drag, getPos, setStatePosition, setViewport, cancelLongPress, toCanvasPoint]
568
+ );
569
+
570
+ const handleSurfacePointerUp = useCallback(
571
+ (e: React.PointerEvent) => {
572
+ pointersRef.current.delete(e.pointerId);
573
+ cancelLongPress(e.pointerId);
574
+ releaseCapture(e.pointerId);
575
+
576
+ const pinch = pinchRef.current;
577
+ if (pinch && (pinch.a === e.pointerId || pinch.b === e.pointerId)) {
578
+ pinchRef.current = null;
579
+ setPinching(false);
580
+ // One finger lifting out of a pinch leaves the other still on the glass,
581
+ // and a hand that is still touching the board expects it to keep
582
+ // following. Re-open a pan from where that finger is *now*, against the
583
+ // viewport the pinch just left behind — measuring from where it first
584
+ // landed would snap the board across the screen.
585
+ const survivorId = pinch.a === e.pointerId ? pinch.b : pinch.a;
586
+ const survivor = pointersRef.current.get(survivorId);
587
+ if (survivor) {
588
+ const vp = useDesignerStore.getState().viewport;
589
+ panRef.current = {
590
+ pointerId: survivorId,
591
+ startX: survivor.x,
592
+ startY: survivor.y,
593
+ origX: vp.x,
594
+ origY: vp.y,
595
+ };
596
+ panMovedRef.current = true;
597
+ setPanning(true);
598
+ }
599
+ }
600
+
601
+ if (panRef.current?.pointerId === e.pointerId) panRef.current = null;
602
+ if (dragRef.current?.pointerId === e.pointerId) applyDrag(null);
603
+
604
+ // Sweep. Whether the view is being steered is asked of the refs, not of
605
+ // which pointer just ended — a finger the OS reclaimed, or one whose lift
606
+ // never reached us, would otherwise leave the board inert for good, every
607
+ // box deaf to the pointer with nothing left to explain why.
608
+ if (!panRef.current) setPanning(false);
609
+ if (!pinchRef.current) setPinching(false);
610
+ },
611
+ [cancelLongPress, releaseCapture, applyDrag]
612
+ );
613
+
614
+ // Wheel: pan by default, zoom under Ctrl/⌘ (which is also how a browser
615
+ // delivers a trackpad pinch). Registered natively with `passive: false` —
616
+ // React's own wheel listener is passive, so `preventDefault` there cannot stop
617
+ // the page from zooming out from under the canvas.
618
+ useEffect(() => {
619
+ const svg = svgRef.current;
620
+ if (!svg) return;
621
+ const onWheel = (e: WheelEvent) => {
622
+ e.preventDefault();
623
+ const vp = useDesignerStore.getState().viewport;
624
+ const dx = wheelPixels(e.deltaX, e.deltaMode);
625
+ const dy = wheelPixels(e.deltaY, e.deltaMode);
626
+
627
+ if (e.ctrlKey || e.metaKey) {
628
+ const anchor = toCanvasPoint(e.clientX, e.clientY);
629
+ const next = zoomAt(vp, Math.exp(-dy * 0.0025), anchor);
630
+ if (next !== vp) setViewport(next);
631
+ return;
632
+ }
633
+ // Shift turns the wheel sideways; a trackpad already reports deltaX.
634
+ const moveX = e.shiftKey ? -(dx || dy) : -dx;
635
+ const moveY = e.shiftKey ? 0 : -dy;
636
+ if (moveX === 0 && moveY === 0) return;
637
+ setViewport(panBy(vp, moveX, moveY));
638
+ };
639
+ svg.addEventListener("wheel", onWheel, { passive: false });
640
+ return () => svg.removeEventListener("wheel", onWheel);
641
+ }, [setViewport, toCanvasPoint]);
642
+
643
+ // Space arms the pan grip. Held down it must not scroll the page, and it must
644
+ // stay inert while the user is typing into a panel.
645
+ useEffect(() => {
646
+ const down = (e: KeyboardEvent) => {
647
+ if (e.code !== "Space" || e.repeat) return;
648
+ if (isTypingTarget(e.target) || isTypingTarget(document.activeElement)) return;
649
+ e.preventDefault();
650
+ spaceRef.current = true;
651
+ setSpaceHeld(true);
652
+ };
653
+ const up = (e: KeyboardEvent) => {
654
+ if (e.code !== "Space") return;
655
+ spaceRef.current = false;
656
+ setSpaceHeld(false);
657
+ };
658
+ // Losing the window mid-hold would otherwise leave the grip stuck on.
659
+ const release = () => {
660
+ spaceRef.current = false;
661
+ setSpaceHeld(false);
662
+ };
663
+ window.addEventListener("keydown", down);
664
+ window.addEventListener("keyup", up);
665
+ window.addEventListener("blur", release);
666
+ return () => {
667
+ window.removeEventListener("keydown", down);
668
+ window.removeEventListener("keyup", up);
669
+ window.removeEventListener("blur", release);
670
+ };
671
+ }, []);
672
+
673
+ /** Zoom from the buttons: anchored at the middle of the canvas. */
674
+ const zoomFromCentre = useCallback(
675
+ (factor: number) => {
676
+ const rect = svgRef.current?.getBoundingClientRect();
677
+ const anchor = { x: (rect?.width ?? 0) / 2, y: (rect?.height ?? 0) / 2 };
678
+ const vp = useDesignerStore.getState().viewport;
679
+ const next = zoomAt(vp, factor, anchor);
680
+ if (next !== vp) setViewport(next);
681
+ },
682
+ [setViewport]
683
+ );
684
+
685
+ const resetZoom = useCallback(() => {
686
+ const rect = svgRef.current?.getBoundingClientRect();
687
+ const anchor = { x: (rect?.width ?? 0) / 2, y: (rect?.height ?? 0) / 2 };
688
+ setViewport(zoomTo(useDesignerStore.getState().viewport, 1, anchor));
689
+ }, [setViewport]);
690
+
691
+ /** Frame every box of the current drill level — the answer to "where did it go". */
692
+ const fitToView = useCallback(() => {
693
+ const rect = svgRef.current?.getBoundingClientRect();
694
+ if (!rect) return;
695
+ const boxes = currentChildren.map((s) => getPos(s.name));
696
+ setViewport(
697
+ boxes.length ? fitToBoxes(boxes, rect.width, rect.height) : { ...IDENTITY_VIEWPORT }
698
+ );
699
+ }, [currentChildren, getPos, setViewport]);
700
+
701
+ const handleContextMenu = useCallback(
702
+ (e: React.MouseEvent, stateName?: string) => {
703
+ e.preventDefault();
704
+ e.stopPropagation();
705
+ showContextMenu(e.clientX, e.clientY, stateName ? { kind: "state", id: stateName } : { kind: "canvas" });
706
+ },
707
+ [showContextMenu]
708
+ );
709
+
710
+ const handleEventPick = (eventId: string) => {
711
+ if (!eventPicker) return;
712
+ addTransition(eventPicker.stateName, { event: eventId, nextState: eventPicker.targetName });
713
+ setEventPicker(null);
714
+ setDrawSource(null);
715
+ setDrawMode("select");
716
+ };
717
+
718
+ // Collect transitions for arrows (within current navigation level). Memoized
719
+ // so its identity is stable across renders (drag/selection) — the WS7b commit
720
+ // effect lists it as a dependency.
721
+ const arrows = useMemo(() => {
722
+ const childNames = new Set(currentChildren.map((s) => s.name));
723
+ const result: { from: string; to: string; event: string; stateName: string; index: number; condition?: string }[] = [];
724
+ for (const state of currentChildren) {
725
+ for (const [i, t] of (state.transitions ?? []).entries()) {
726
+ if (t.nextState && childNames.has(t.nextState)) {
727
+ result.push({ from: state.name, to: t.nextState, event: t.event, stateName: state.name, index: i, condition: t.condition });
728
+ }
729
+ }
730
+ }
731
+ return result;
732
+ }, [currentChildren]);
733
+
734
+ /**
735
+ * The drawable form of those transitions: a routed curve each, and a settled
736
+ * spot for each event chip.
737
+ *
738
+ * Both halves are level-wide on purpose. Every edge used to leave the
739
+ * bottom-centre of its source and enter the top-centre of its target, so the
740
+ * three transitions out of `draft` and the three `advance_context` edges
741
+ * coming back ran as one rope, and their chips — pinned to midpoints a few
742
+ * pixels apart — printed through each other: the board read
743
+ * `cadvance_contexon` where it meant two different events.
744
+ *
745
+ * `routeEdges` hands every edge its own spot on each box it touches and sends
746
+ * it through the gap that is actually there (an edge to a state above leaves
747
+ * the top, not the bottom). `placeLabels` then nudges any chip that still has
748
+ * a neighbour. The curve and the walker the chip rides come from the same
749
+ * control points, so a label can never be settled against a line other than
750
+ * the one drawn.
751
+ *
752
+ * Recomputed while a box is being dragged, which is what makes the arrows and
753
+ * their labels re-settle under the hand instead of after it.
754
+ */
755
+ const edges = useMemo(() => {
756
+ const curves = routeEdges(arrows, getPos);
757
+ const spots = placeLabels(
758
+ arrows.map((arrow, i) => {
759
+ const box = getPos(arrow.from);
760
+ return {
761
+ id: `${arrow.stateName}:${arrow.index}`,
762
+ event: arrow.event,
763
+ condition: arrow.condition,
764
+ glyph: true,
765
+ // A self-loop's arc is a short bulge with no room to carry a word on
766
+ // it; its chip sits just beyond the bulge instead.
767
+ at:
768
+ arrow.from === arrow.to
769
+ ? () => ({
770
+ x: box.x + box.width + SELF_LOOP_BULGE + 30,
771
+ y: box.y + box.height / 2 + 4,
772
+ })
773
+ : curves[i].at,
774
+ };
775
+ }),
776
+ currentChildren.map((s) => getPos(s.name))
777
+ );
778
+ const byId = new Map(spots.map((spot) => [spot.label.id, spot]));
779
+ return arrows.flatMap((arrow, i) => {
780
+ const id = `${arrow.stateName}:${arrow.index}`;
781
+ const spot = byId.get(id);
782
+ return spot ? [{ arrow, id, curve: curves[i], spot }] : [];
783
+ });
784
+ }, [arrows, currentChildren, getPos]);
785
+
786
+ // WS7b — after each commit, diff the freshly-rendered nodes/edges against the
787
+ // previous render (held in refs, touched only here). Newly-present names/edges
788
+ // are flagged as "entering" (drives sm-node-enter / sm-edge-enter on the NEXT
789
+ // render's fresh element); names that vanished from the current drill level are
790
+ // captured with their last def + position into `exitingNodes` so they animate
791
+ // out. Drill-level changes are NOT add/remove: the new level just blooms in and
792
+ // stale exit nodes are cleared.
793
+ useEffect(() => {
794
+ const currentNames = new Set(currentChildren.map((s) => s.name));
795
+ const currentEdgeKeys = new Set(arrows.map((a) => `${a.stateName}:${a.index}`));
796
+ const sameLevel = prevParentRef.current === currentParent;
797
+
798
+ const newNames = [...currentNames].filter((n) => !prevNamesRef.current.has(n));
799
+ if (newNames.length) {
800
+ setEnteringNames((prev) => {
801
+ const next = new Set(prev);
802
+ newNames.forEach((n) => next.add(n));
803
+ return next;
804
+ });
805
+ }
806
+
807
+ const newEdges = [...currentEdgeKeys].filter((k) => !prevEdgeKeysRef.current.has(k));
808
+ if (newEdges.length) {
809
+ setEnteringEdges((prev) => {
810
+ const next = new Set(prev);
811
+ newEdges.forEach((k) => next.add(k));
812
+ return next;
813
+ });
814
+ }
815
+
816
+ // Prune enter markers for nodes/edges that no longer exist (keeps the sets
817
+ // bounded to what is currently on-canvas).
818
+ setEnteringNames((prev) => {
819
+ let changed = false;
820
+ const next = new Set(prev);
821
+ prev.forEach((n) => {
822
+ if (!currentNames.has(n)) { next.delete(n); changed = true; }
823
+ });
824
+ return changed ? next : prev;
825
+ });
826
+ setEnteringEdges((prev) => {
827
+ let changed = false;
828
+ const next = new Set(prev);
829
+ prev.forEach((k) => {
830
+ if (!currentEdgeKeys.has(k)) { next.delete(k); changed = true; }
831
+ });
832
+ return changed ? next : prev;
833
+ });
834
+
835
+ if (sameLevel) {
836
+ setExitingNodes((prev) => {
837
+ const next = new Map(prev);
838
+ let changed = false;
839
+ prevNodeDataRef.current.forEach((data, name) => {
840
+ if (!currentNames.has(name) && !next.has(name)) {
841
+ next.set(name, data);
842
+ changed = true;
843
+ }
844
+ });
845
+ // A node that reappeared must never linger in the exiting layer.
846
+ currentNames.forEach((name) => {
847
+ if (next.delete(name)) changed = true;
848
+ });
849
+ return changed ? next : prev;
850
+ });
851
+ } else {
852
+ setExitingNodes((prev) => (prev.size ? new Map() : prev));
853
+ }
854
+
855
+ prevNamesRef.current = currentNames;
856
+ prevNodeDataRef.current = new Map(
857
+ currentChildren.map((s) => [s.name, { state: s, pos: getPos(s.name) }])
858
+ );
859
+ prevEdgeKeysRef.current = currentEdgeKeys;
860
+ prevParentRef.current = currentParent;
861
+ }, [currentChildren, currentParent, arrows, getPos]);
862
+
863
+ return (
864
+ // The canvas *pane*, not just the SVG. Two things hang off this element.
865
+ //
866
+ // `data-pinch-owner` is what the chrome pinch reads to disqualify itself
867
+ // (see lib/gestureOwner.ts): a finger anywhere in here — the board, the
868
+ // breadcrumb, the zoom HUD — means this gesture is about the machine, never
869
+ // about the size of the menus.
870
+ //
871
+ // `touch-action: none` extends the SVG's own refusal to the overlays sitting
872
+ // on top of it. The SVG had it; the HUD and the breadcrumb did not, so a
873
+ // pinch that happened to open with a finger on the zoom bar was still a
874
+ // browser page zoom. Nothing in this pane scrolls, so denying everything
875
+ // costs nothing.
876
+ <div
877
+ className="relative w-full h-full"
878
+ style={{ touchAction: "none" }}
879
+ data-pinch-owner={CANVAS_PINCH_OWNER}
880
+ >
881
+ {/* Breadcrumb navigation */}
882
+ {navigationPath.length > 1 && (
883
+ <div className="absolute top-2 left-2 z-10 flex items-center gap-1 bg-gray-900/90 border border-gray-700 rounded-lg px-3 py-1.5 text-sm">
884
+ {navigationPath.map((name, i) => (
885
+ <span key={name} className="flex items-center gap-1">
886
+ {i > 0 && <span className="text-gray-600">›</span>}
887
+ <button
888
+ className={`hover:text-blue-400 ${i === navigationPath.length - 1 ? "text-blue-400 font-semibold" : "text-gray-400"}`}
889
+ onClick={() => navigateUp(i)}
890
+ >
891
+ {name}
892
+ </button>
893
+ </span>
894
+ ))}
895
+ </div>
896
+ )}
897
+ <svg
898
+ ref={svgRef}
899
+ // Named so the export can find the board without a ref threaded through
900
+ // the toolbar — the picture it writes is this element, serialized.
901
+ id={CANVAS_SVG_ID}
902
+ className="w-full h-full bg-gray-950"
903
+ style={{
904
+ cursor: panning ? "grabbing" : spaceHeld ? "grab" : undefined,
905
+ // The browser's own gestures are all suppressed here, so every one of
906
+ // them has to be answered below: one finger pans, two pinch, and a
907
+ // held finger opens the menu.
908
+ touchAction: "none",
909
+ // On a touch device a resting finger would otherwise raise the system
910
+ // selection callout on top of our own held-press menu.
911
+ ...(coarsePointer
912
+ ? {
913
+ WebkitUserSelect: "none" as const,
914
+ userSelect: "none" as const,
915
+ WebkitTouchCallout: "none" as const,
916
+ }
917
+ : {}),
918
+ }}
919
+ onPointerDownCapture={handlePointerDownCapture}
920
+ onPointerDown={handleSurfacePointerDown}
921
+ onPointerMove={handleSurfacePointerMove}
922
+ onPointerUp={handleSurfacePointerUp}
923
+ onPointerCancel={handleSurfacePointerUp}
924
+ // Middle-click on Linux/Windows would otherwise paste or autoscroll.
925
+ onAuxClick={(e) => e.preventDefault()}
926
+ onClick={(e) => {
927
+ // A hold that opened the menu still ends in a click on most touch
928
+ // browsers. It must not reach the shell, which closes the menu on any
929
+ // click that arrives — the menu would flash and vanish on the lift.
930
+ if (suppressClickRef.current) {
931
+ suppressClickRef.current = false;
932
+ e.stopPropagation();
933
+ return;
934
+ }
935
+ // A pan that travelled is not a click on empty space.
936
+ if (panMovedRef.current) {
937
+ panMovedRef.current = false;
938
+ return;
939
+ }
940
+ if ((e.target as SVGElement)?.tagName === 'svg') {
941
+ clearSelection();
942
+ setEventPicker(null);
943
+ }
944
+ }}
945
+ onContextMenu={(e) => handleContextMenu(e)}
946
+ >
947
+ <defs>
948
+ <marker id="arrowhead" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto">
949
+ <polygon points="0 0, 10 3.5, 0 7" fill="#94a3b8" />
950
+ </marker>
951
+ <marker id="arrowhead-blue" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto">
952
+ <polygon points="0 0, 10 3.5, 0 7" fill="#3b82f6" />
953
+ </marker>
954
+ </defs>
955
+
956
+ {/* Draw mode indicator line */}
957
+ {drawMode === "transition" && drawSource && (
958
+ <text x="50%" y="30" fill="#f59e0b" fontSize={13} textAnchor="middle" className="pointer-events-none select-none">
959
+ Click target state to create transition from &quot;{drawSource}&quot;
960
+ </text>
961
+ )}
962
+
963
+ {/* The navigated world. One transform on one group: every arrow, box and
964
+ label below inherits the pan and the zoom without knowing they exist.
965
+ While the view is being steered — panned or pinched — the content
966
+ stops answering the pointer, so the grabbing cursor is not fought
967
+ over by the boxes underneath, and a finger that drifts onto a box
968
+ mid-pinch does not start dragging it. */}
969
+ <g
970
+ transform={viewportTransform(viewport)}
971
+ style={navigating ? { pointerEvents: "none" } : undefined}
972
+ >
973
+
974
+ {/* Transition arrows */}
975
+ {edges.map(({ arrow, id: edgeId, curve, spot }) => {
976
+ const isSelected = selection.kind === "transition" && selection.id === edgeId;
977
+ // WS7b — a new edge (flagged in the commit effect) draws itself on.
978
+ const edgeEntering = enteringEdges.has(edgeId);
979
+ // A chip that had to move is drawn back to its own curve with a hair
980
+ // line, so a displaced label still says which transition it names.
981
+ const anchor = curve.at(0.5);
982
+ const strayed = Math.hypot(anchor.x - spot.cx, anchor.y - spot.cy) > 4;
983
+
984
+ return (
985
+ <g key={`arrow-${edgeId}`}>
986
+ {/* A 1.5px thread is a fair target for a cursor and none at all for
987
+ a fingertip. This traces the same curve with a wide invisible
988
+ stroke underneath it — same selection, same path, just a band
989
+ a finger can actually land on. `pointerEvents="stroke"` hits
990
+ the perimeter geometry regardless of what the paint does. */}
991
+ {coarsePointer && (
992
+ <path
993
+ d={curve.path}
994
+ fill="none"
995
+ stroke="transparent"
996
+ strokeWidth={touchEdgeStroke}
997
+ strokeLinecap="round"
998
+ pointerEvents="stroke"
999
+ onClick={(e) => {
1000
+ e.stopPropagation();
1001
+ select("transition", edgeId);
1002
+ }}
1003
+ />
1004
+ )}
1005
+ <path
1006
+ d={curve.path}
1007
+ fill="none"
1008
+ pathLength={1}
1009
+ stroke={isSelected ? "#3b82f6" : "#94a3b8"}
1010
+ strokeWidth={isSelected ? 2.5 : 1.5}
1011
+ markerEnd={isSelected ? "url(#arrowhead-blue)" : "url(#arrowhead)"}
1012
+ className={`cursor-pointer hover:stroke-blue-400${edgeEntering ? " sm-edge-enter" : ""}`}
1013
+ onClick={(e) => {
1014
+ e.stopPropagation();
1015
+ select("transition", edgeId);
1016
+ }}
1017
+ />
1018
+ {/* Event label on edge — at the spot settled for it above, on a
1019
+ plate wide enough to hold its own text. */}
1020
+ <g
1021
+ className="cursor-pointer"
1022
+ onClick={(e) => {
1023
+ e.stopPropagation();
1024
+ select("transition", edgeId);
1025
+ }}
1026
+ >
1027
+ {strayed && (
1028
+ <line
1029
+ x1={anchor.x}
1030
+ y1={anchor.y}
1031
+ x2={spot.cx}
1032
+ y2={spot.cy - 5}
1033
+ stroke={isSelected ? "#3b82f6" : "#334155"}
1034
+ strokeWidth={1}
1035
+ strokeDasharray="2 3"
1036
+ className="pointer-events-none"
1037
+ />
1038
+ )}
1039
+ {/* The same cuff the boxes get, so the event chip is reachable
1040
+ without the label itself being redrawn any larger. */}
1041
+ {coarsePointer && (
1042
+ <rect
1043
+ x={spot.x - touchPad}
1044
+ y={spot.y - touchPad}
1045
+ width={spot.width + touchPad * 2}
1046
+ height={spot.height + touchPad * 2}
1047
+ fill="transparent"
1048
+ pointerEvents="all"
1049
+ />
1050
+ )}
1051
+ <rect
1052
+ x={spot.x}
1053
+ y={spot.y}
1054
+ width={spot.width}
1055
+ height={spot.height}
1056
+ rx={4}
1057
+ fill={isSelected ? "#1e3a5f" : "#1e293b"}
1058
+ stroke={isSelected ? "#3b82f6" : "#334155"}
1059
+ strokeWidth={1}
1060
+ className="hover:fill-gray-800"
1061
+ />
1062
+ <TriggerGlyph
1063
+ mark={eventGlyph(arrow.event)}
1064
+ x={glyphAt(spot).x}
1065
+ y={glyphAt(spot).y}
1066
+ color={isSelected ? "#93c5fd" : "#7c93b0"}
1067
+ />
1068
+ <text
1069
+ x={spot.cx}
1070
+ y={spot.cy - 5}
1071
+ fill={isSelected ? "#93c5fd" : "#94a3b8"}
1072
+ fontSize={11}
1073
+ fontWeight={500}
1074
+ textAnchor="middle"
1075
+ className="pointer-events-none select-none"
1076
+ >
1077
+ {arrow.event}
1078
+ </text>
1079
+ {arrow.condition && (
1080
+ // Elided to the width the chip was measured for. A guard is
1081
+ // prose and can run to a paragraph; the whole of it is in the
1082
+ // properties panel, and on the tooltip here.
1083
+ <text
1084
+ x={spot.cx}
1085
+ y={spot.cy + 7}
1086
+ fill="#64748b"
1087
+ fontSize={9}
1088
+ textAnchor="middle"
1089
+ className="select-none"
1090
+ >
1091
+ <title>{arrow.condition}</title>
1092
+ {guardText(arrow.condition)}
1093
+ </text>
1094
+ )}
1095
+ </g>
1096
+ </g>
1097
+ );
1098
+ })}
1099
+
1100
+ {/* State nodes */}
1101
+ {currentChildren.map((state) => {
1102
+ const pos = getPos(state.name);
1103
+ const isSelected = selection.kind === "state" && selection.id === state.name;
1104
+ const isFinal = state.kind === "final";
1105
+ const isHistory = state.kind === "history";
1106
+ const isComposite = (state.states?.length ?? 0) > 0;
1107
+ const isDrawSource = drawSource === state.name;
1108
+ const errored = hasError(state.name);
1109
+ const hasEntry = (state.onEntry?.actions?.length ?? 0) > 0;
1110
+ const hasExit = (state.onExit?.actions?.length ?? 0) > 0;
1111
+ const isActive = activeStates.includes(state.name);
1112
+ // WS7b — a node first seen this session (flagged in the commit effect)
1113
+ // carries sm-node-enter; the bloom only fires on the freshly-mounted
1114
+ // element, so the marker staying set for existing nodes is inert.
1115
+ const entering = enteringNames.has(state.name);
1116
+
1117
+ return (
1118
+ <g
1119
+ key={state.name}
1120
+ onPointerDown={(e) => handleNodePointerDown(e, state.name)}
1121
+ onDoubleClick={(e) => {
1122
+ e.stopPropagation();
1123
+ if (isComposite) navigateInto(state.name);
1124
+ }}
1125
+ onContextMenu={(e) => handleContextMenu(e, state.name)}
1126
+ className={
1127
+ spaceHeld
1128
+ ? undefined // the surface owns the cursor while the pan grip is armed
1129
+ : drawMode === "transition"
1130
+ ? "cursor-crosshair"
1131
+ : isComposite
1132
+ ? "cursor-pointer"
1133
+ : "cursor-grab active:cursor-grabbing"
1134
+ }
1135
+ >
1136
+ {/* An invisible cuff, drawn first so it sits behind everything and
1137
+ changes nothing you can see. It widens the box's answer to a
1138
+ fingertip without widening the box. Outside the entering group
1139
+ on purpose: the bloom animation is a visual, and the target
1140
+ must be live from the first frame. */}
1141
+ {coarsePointer && (
1142
+ <rect
1143
+ x={pos.x - touchPad}
1144
+ y={pos.y - touchPad}
1145
+ width={pos.width + touchPad * 2}
1146
+ height={pos.height + touchPad * 2}
1147
+ rx={12}
1148
+ fill="transparent"
1149
+ pointerEvents="all"
1150
+ />
1151
+ )}
1152
+ <g className={entering ? "sm-node-enter" : undefined}>
1153
+ <rect
1154
+ x={pos.x}
1155
+ y={pos.y}
1156
+ width={pos.width}
1157
+ height={pos.height}
1158
+ rx={isHistory ? 30 : isFinal ? 4 : 8}
1159
+ fill={isDrawSource ? "#1e3a5f" : isFinal ? "#1e293b" : isComposite ? "#0c1020" : "#0f172a"}
1160
+ stroke={errored ? "#ef4444" : isSelected ? "#3b82f6" : isDrawSource ? "#f59e0b" : "#475569"}
1161
+ strokeWidth={isSelected ? 2.5 : errored ? 2 : 1.5}
1162
+ strokeDasharray={isFinal ? "6 3" : isComposite ? "4 2" : undefined}
1163
+ className={isActive ? "sm-node-active" : undefined}
1164
+ />
1165
+ {/* State name */}
1166
+ <text
1167
+ x={pos.x + pos.width / 2}
1168
+ y={pos.y + (hasEntry || hasExit ? pos.height / 2 : pos.height / 2 + 5)}
1169
+ fill="#e2e8f0"
1170
+ fontSize={14}
1171
+ fontWeight={600}
1172
+ textAnchor="middle"
1173
+ className="pointer-events-none select-none"
1174
+ >
1175
+ {state.name}
1176
+ </text>
1177
+ {/* Kind badge */}
1178
+ {state.kind && state.kind !== "normal" && (
1179
+ <text
1180
+ x={pos.x + pos.width - 8}
1181
+ y={pos.y + 14}
1182
+ fill="#64748b"
1183
+ fontSize={10}
1184
+ textAnchor="end"
1185
+ className="pointer-events-none select-none"
1186
+ >
1187
+ {state.kind}
1188
+ </text>
1189
+ )}
1190
+ {/* Entry/exit indicators */}
1191
+ {hasEntry && (
1192
+ <text x={pos.x + 6} y={pos.y + pos.height - 6} fill="#22c55e" fontSize={9} className="pointer-events-none select-none">
1193
+ ▸entry
1194
+ </text>
1195
+ )}
1196
+ {hasExit && (
1197
+ <text x={pos.x + pos.width - 6} y={pos.y + pos.height - 6} fill="#f97316" fontSize={9} textAnchor="end" className="pointer-events-none select-none">
1198
+ exit◂
1199
+ </text>
1200
+ )}
1201
+ {/* Error indicator */}
1202
+ {errored && (
1203
+ <text x={pos.x + 6} y={pos.y + 14} fill="#ef4444" fontSize={12} className="pointer-events-none select-none">
1204
+ ⚠
1205
+ </text>
1206
+ )}
1207
+ {/* Composite indicator (drill-down hint) */}
1208
+ {isComposite && (
1209
+ <text x={pos.x + pos.width / 2} y={pos.y + pos.height - 6} fill="#6366f1" fontSize={9} textAnchor="middle" className="pointer-events-none select-none">
1210
+ ▼ {state.states?.length} children — double-click to enter
1211
+ </text>
1212
+ )}
1213
+ </g>
1214
+ </g>
1215
+ );
1216
+ })}
1217
+
1218
+ {/* Exiting nodes — outlive React's unmount to animate out (WS7b). Rendered
1219
+ from captured def + last position; non-interactive; removed on end. */}
1220
+ {Array.from(exitingNodes.entries()).map(([name, { state, pos }]) => {
1221
+ const exFinal = state.kind === "final";
1222
+ const exComposite = (state.states?.length ?? 0) > 0;
1223
+ return (
1224
+ <g
1225
+ key={`exit-${name}`}
1226
+ className="sm-node-exit"
1227
+ style={{ pointerEvents: "none" }}
1228
+ onAnimationEnd={(e) => {
1229
+ if (e.animationName !== "sm-node-out") return;
1230
+ setExitingNodes((prev) => {
1231
+ if (!prev.has(name)) return prev;
1232
+ const next = new Map(prev);
1233
+ next.delete(name);
1234
+ return next;
1235
+ });
1236
+ }}
1237
+ >
1238
+ <rect
1239
+ x={pos.x}
1240
+ y={pos.y}
1241
+ width={pos.width}
1242
+ height={pos.height}
1243
+ rx={state.kind === "history" ? 30 : exFinal ? 4 : 8}
1244
+ fill={exFinal ? "#1e293b" : exComposite ? "#0c1020" : "#0f172a"}
1245
+ stroke="#475569"
1246
+ strokeWidth={1.5}
1247
+ strokeDasharray={exFinal ? "6 3" : exComposite ? "4 2" : undefined}
1248
+ />
1249
+ <text
1250
+ x={pos.x + pos.width / 2}
1251
+ y={pos.y + pos.height / 2 + 5}
1252
+ fill="#e2e8f0"
1253
+ fontSize={14}
1254
+ fontWeight={600}
1255
+ textAnchor="middle"
1256
+ className="select-none"
1257
+ >
1258
+ {name}
1259
+ </text>
1260
+ </g>
1261
+ );
1262
+ })}
1263
+ </g>
1264
+ {/* — end of the navigated world; everything below is screen space — */}
1265
+
1266
+ {/* Empty state message */}
1267
+ {currentChildren.length === 0 && (
1268
+ <text x="50%" y="50%" fill="#475569" fontSize={16} textAnchor="middle">
1269
+ {coarsePointer
1270
+ ? "Press and hold to add a state, or load a .smdf.json file"
1271
+ : "Right-click to add a state, or load a .smdf.json file"}
1272
+ </text>
1273
+ )}
1274
+ </svg>
1275
+
1276
+ {/* Navigation HUD — screen space, never transformed. The buttons grow for
1277
+ a fingertip and only then; a cursor keeps the compact bar. */}
1278
+ <div className="absolute bottom-3 left-3 z-10 flex items-center gap-0.5 bg-gray-900/90 border border-gray-700 rounded-lg px-1.5 py-1 text-xs text-gray-400 select-none">
1279
+ <button
1280
+ className={`${hudButton} rounded hover:bg-gray-800 hover:text-gray-200 disabled:opacity-40 disabled:hover:bg-transparent`}
1281
+ title="Zoom out (Ctrl + wheel down, or pinch in)"
1282
+ disabled={viewport.scale <= VIEWPORT_LIMITS.min}
1283
+ onClick={() => zoomFromCentre(1 / 1.25)}
1284
+ >
1285
+ −
1286
+ </button>
1287
+ <button
1288
+ className={`${hudButton} rounded hover:bg-gray-800 hover:text-gray-200 tabular-nums min-w-[3.25rem]`}
1289
+ title="Reset zoom to 100%"
1290
+ onClick={resetZoom}
1291
+ >
1292
+ {Math.round(viewport.scale * 100)}%
1293
+ </button>
1294
+ <button
1295
+ className={`${hudButton} rounded hover:bg-gray-800 hover:text-gray-200 disabled:opacity-40 disabled:hover:bg-transparent`}
1296
+ title="Zoom in (Ctrl + wheel up, or pinch out)"
1297
+ disabled={viewport.scale >= VIEWPORT_LIMITS.max}
1298
+ onClick={() => zoomFromCentre(1.25)}
1299
+ >
1300
+ +
1301
+ </button>
1302
+ <span className="text-gray-700 px-0.5">|</span>
1303
+ <button
1304
+ className={`${hudButton} rounded hover:bg-gray-800 hover:text-gray-200`}
1305
+ title="Fit the whole machine in view"
1306
+ onClick={fitToView}
1307
+ >
1308
+ ⤢ Fit
1309
+ </button>
1310
+ <span className="text-gray-700 px-0.5">|</span>
1311
+ <span
1312
+ className="px-1 text-[10px] text-gray-600"
1313
+ title={
1314
+ coarsePointer
1315
+ ? "Drag to pan · pinch with two fingers to zoom · press and hold for the menu · double-tap a composite to enter it"
1316
+ : "Wheel scrolls · Shift+wheel scrolls sideways · Ctrl+wheel zooms at the cursor · middle-drag or Space+drag pans"
1317
+ }
1318
+ >
1319
+ {pinching
1320
+ ? "pinching"
1321
+ : panning
1322
+ ? "panning"
1323
+ : coarsePointer
1324
+ ? "drag · pinch · hold"
1325
+ : spaceHeld
1326
+ ? "space to pan"
1327
+ : "wheel · ⌃wheel · space"}
1328
+ </span>
1329
+ </div>
1330
+
1331
+ {/* Event picker popup */}
1332
+ {eventPicker && (
1333
+ <div
1334
+ className="absolute z-50 bg-gray-900 border border-gray-700 rounded-lg shadow-xl p-2 min-w-[160px]"
1335
+ style={{ left: eventPicker.x, top: eventPicker.y - 80 }}
1336
+ onClick={(e) => e.stopPropagation()}
1337
+ >
1338
+ <div className="text-xs text-gray-400 mb-1 px-1">
1339
+ {eventPicker.stateName} → {eventPicker.targetName}
1340
+ </div>
1341
+ <div className="text-xs text-gray-500 mb-1 px-1">Select event:</div>
1342
+ {allEvents.length === 0 ? (
1343
+ <div className="text-xs text-gray-600 px-1 py-2">No events defined. Add events first.</div>
1344
+ ) : (
1345
+ allEvents.map((evt) => (
1346
+ <button
1347
+ key={evt.id}
1348
+ className="block w-full text-left text-sm text-gray-300 hover:bg-gray-800 px-2 py-1 rounded"
1349
+ onClick={() => handleEventPick(evt.id)}
1350
+ >
1351
+ {evt.id}
1352
+ </button>
1353
+ ))
1354
+ )}
1355
+ <button
1356
+ className="block w-full text-left text-xs text-gray-500 hover:text-gray-300 px-2 py-1 mt-1 border-t border-gray-800"
1357
+ onClick={() => { setEventPicker(null); setDrawSource(null); }}
1358
+ >
1359
+ Cancel
1360
+ </button>
1361
+ </div>
1362
+ )}
1363
+ </div>
1364
+ );
1365
+ }