failproofai 0.0.1-beta.1

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 (1402) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -0
  2. package/.next/standalone/.next/app-path-routes-manifest.json +11 -0
  3. package/.next/standalone/.next/build-manifest.json +22 -0
  4. package/.next/standalone/.next/package.json +1 -0
  5. package/.next/standalone/.next/prerender-manifest.json +114 -0
  6. package/.next/standalone/.next/required-server-files.json +333 -0
  7. package/.next/standalone/.next/routes-manifest.json +108 -0
  8. package/.next/standalone/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  9. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +18 -0
  10. package/.next/standalone/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  11. package/.next/standalone/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  12. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +17 -0
  13. package/.next/standalone/.next/server/app/_global-error/page.js +9 -0
  14. package/.next/standalone/.next/server/app/_global-error/page.js.map +5 -0
  15. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -0
  16. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  17. package/.next/standalone/.next/server/app/_global-error.html +1 -0
  18. package/.next/standalone/.next/server/app/_global-error.meta +15 -0
  19. package/.next/standalone/.next/server/app/_global-error.rsc +14 -0
  20. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  21. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  22. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  23. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  24. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  25. package/.next/standalone/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  26. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +18 -0
  27. package/.next/standalone/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  28. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  29. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +17 -0
  30. package/.next/standalone/.next/server/app/_not-found/page.js +14 -0
  31. package/.next/standalone/.next/server/app/_not-found/page.js.map +5 -0
  32. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -0
  33. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  34. package/.next/standalone/.next/server/app/_not-found.html +30 -0
  35. package/.next/standalone/.next/server/app/_not-found.meta +16 -0
  36. package/.next/standalone/.next/server/app/_not-found.rsc +27 -0
  37. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +27 -0
  38. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  39. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +12 -0
  40. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  41. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  42. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  43. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route/app-paths-manifest.json +3 -0
  44. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route/build-manifest.json +9 -0
  45. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route/server-reference-manifest.json +4 -0
  46. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +7 -0
  47. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.map +5 -0
  48. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -0
  49. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route_client-reference-manifest.js +3 -0
  50. package/.next/standalone/.next/server/app/icon.png/route/app-paths-manifest.json +3 -0
  51. package/.next/standalone/.next/server/app/icon.png/route/build-manifest.json +9 -0
  52. package/.next/standalone/.next/server/app/icon.png/route.js +7 -0
  53. package/.next/standalone/.next/server/app/icon.png/route.js.map +5 -0
  54. package/.next/standalone/.next/server/app/icon.png/route.js.nft.json +1 -0
  55. package/.next/standalone/.next/server/app/icon.png.body +0 -0
  56. package/.next/standalone/.next/server/app/icon.png.meta +1 -0
  57. package/.next/standalone/.next/server/app/index.html +1 -0
  58. package/.next/standalone/.next/server/app/index.meta +15 -0
  59. package/.next/standalone/.next/server/app/index.rsc +22 -0
  60. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
  61. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +22 -0
  62. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +6 -0
  63. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +12 -0
  64. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  65. package/.next/standalone/.next/server/app/page/app-paths-manifest.json +3 -0
  66. package/.next/standalone/.next/server/app/page/build-manifest.json +18 -0
  67. package/.next/standalone/.next/server/app/page/next-font-manifest.json +6 -0
  68. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -0
  69. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +17 -0
  70. package/.next/standalone/.next/server/app/page.js +16 -0
  71. package/.next/standalone/.next/server/app/page.js.map +5 -0
  72. package/.next/standalone/.next/server/app/page.js.nft.json +1 -0
  73. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +3 -0
  74. package/.next/standalone/.next/server/app/policies/page/app-paths-manifest.json +3 -0
  75. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +18 -0
  76. package/.next/standalone/.next/server/app/policies/page/next-font-manifest.json +6 -0
  77. package/.next/standalone/.next/server/app/policies/page/react-loadable-manifest.json +1 -0
  78. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +101 -0
  79. package/.next/standalone/.next/server/app/policies/page.js +17 -0
  80. package/.next/standalone/.next/server/app/policies/page.js.map +5 -0
  81. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -0
  82. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +3 -0
  83. package/.next/standalone/.next/server/app/project/[name]/page/app-paths-manifest.json +3 -0
  84. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +18 -0
  85. package/.next/standalone/.next/server/app/project/[name]/page/next-font-manifest.json +6 -0
  86. package/.next/standalone/.next/server/app/project/[name]/page/react-loadable-manifest.json +1 -0
  87. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +17 -0
  88. package/.next/standalone/.next/server/app/project/[name]/page.js +18 -0
  89. package/.next/standalone/.next/server/app/project/[name]/page.js.map +5 -0
  90. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -0
  91. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +3 -0
  92. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/app-paths-manifest.json +3 -0
  93. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +18 -0
  94. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/next-font-manifest.json +6 -0
  95. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +9 -0
  96. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +29 -0
  97. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +20 -0
  98. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.map +5 -0
  99. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -0
  100. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +3 -0
  101. package/.next/standalone/.next/server/app/projects/page/app-paths-manifest.json +3 -0
  102. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +18 -0
  103. package/.next/standalone/.next/server/app/projects/page/next-font-manifest.json +6 -0
  104. package/.next/standalone/.next/server/app/projects/page/react-loadable-manifest.json +1 -0
  105. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +17 -0
  106. package/.next/standalone/.next/server/app/projects/page.js +17 -0
  107. package/.next/standalone/.next/server/app/projects/page.js.map +5 -0
  108. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -0
  109. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +3 -0
  110. package/.next/standalone/.next/server/app-paths-manifest.json +11 -0
  111. package/.next/standalone/.next/server/chunks/[externals]__0-p9.k~._.js +3 -0
  112. package/.next/standalone/.next/server/chunks/[externals]__080wern._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/[externals]__0z0j--b._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/[externals]_next_dist_0sqmaqd._.js +3 -0
  115. package/.next/standalone/.next/server/chunks/[externals]_node_os_06ur78j._.js +3 -0
  116. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nt~6d._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b57.gk._.js +3 -0
  118. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g48iv.._.js +20 -0
  119. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j8-xkl._.js +13 -0
  120. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kjo7d_._.js +3 -0
  121. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yspgjy._.js +3 -0
  122. package/.next/standalone/.next/server/chunks/[turbopack]_runtime.js +903 -0
  123. package/.next/standalone/.next/server/chunks/_0ebx_lc._.js +3 -0
  124. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_download_[project]_[session]_route_actions_0wb00i-.js +3 -0
  125. package/.next/standalone/.next/server/chunks/_next-internal_server_app_icon_png_route_actions_12.gv.r.js +3 -0
  126. package/.next/standalone/.next/server/chunks/lib_logger_ts_047tt9f._.js +3 -0
  127. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0bdfoky.js +3 -0
  128. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +3 -0
  129. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +3 -0
  130. package/.next/standalone/.next/server/chunks/ssr/[externals]__12dv.x0._.js +3 -0
  131. package/.next/standalone/.next/server/chunks/ssr/[externals]_node_async_hooks_0v0ln8c._.js +3 -0
  132. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0138pgk._.js +3 -0
  133. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02r.cjq._.js +3 -0
  134. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +4 -0
  135. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +4 -0
  136. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09y9okz._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09z7o2x._.js +19 -0
  138. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_sh2n0._.js +3 -0
  139. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dj-tbi._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +4 -0
  141. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +4 -0
  142. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m72uj7._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0nn6lb4._.js +3 -0
  144. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odijkc._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0of~riu._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0osi8nq._.js +4 -0
  147. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +16 -0
  148. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__105.l_7._.js +3 -0
  149. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js +33 -0
  150. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +4 -0
  151. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +4 -0
  152. package/.next/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  153. package/.next/standalone/.next/server/chunks/ssr/_02_tcps._.js +32 -0
  154. package/.next/standalone/.next/server/chunks/ssr/_0h21oar._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/ssr/_0i~.gk_._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/ssr/_0q3h.2s._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/ssr/_0x..fj-._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +5 -0
  159. package/.next/standalone/.next/server/chunks/ssr/app_04qfs8z._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/ssr/app_0uosk1e._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/ssr/app_13f0ohr._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/ssr/app_error_tsx_11t4ysq._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0m9qisk._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +8 -0
  166. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_error_tsx_0.9-fod._.js +3 -0
  167. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_loading_tsx_03g9xy0._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_session_[sessionId]_error_tsx_0ler-mr._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_session_[sessionId]_loading_tsx_0c0e3yx._.js +3 -0
  170. package/.next/standalone/.next/server/chunks/ssr/app_projects_loading_tsx_13veom4._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0rd0oc-._.js +6 -0
  172. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_06u0kr8._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +6 -0
  174. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_11dij6w._.js +6 -0
  175. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_0inhx6q._.js +3 -0
  176. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js +3 -0
  177. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js +3 -0
  178. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +4 -0
  179. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +4 -0
  180. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +4 -0
  181. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +4 -0
  182. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +4 -0
  183. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +4 -0
  184. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +4 -0
  185. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +3 -0
  186. package/.next/standalone/.next/server/functions-config-manifest.json +14 -0
  187. package/.next/standalone/.next/server/instrumentation.js +4 -0
  188. package/.next/standalone/.next/server/middleware-build-manifest.js +22 -0
  189. package/.next/standalone/.next/server/middleware-manifest.json +6 -0
  190. package/.next/standalone/.next/server/middleware.js +5 -0
  191. package/.next/standalone/.next/server/next-font-manifest.js +1 -0
  192. package/.next/standalone/.next/server/next-font-manifest.json +6 -0
  193. package/.next/standalone/.next/server/pages/404.html +30 -0
  194. package/.next/standalone/.next/server/pages/500.html +1 -0
  195. package/.next/standalone/.next/server/pages-manifest.json +4 -0
  196. package/.next/standalone/.next/server/prefetch-hints.json +1 -0
  197. package/.next/standalone/.next/server/server-reference-manifest.js +1 -0
  198. package/.next/standalone/.next/server/server-reference-manifest.json +144 -0
  199. package/.next/standalone/CHANGELOG.md +10 -0
  200. package/.next/standalone/CONTRIBUTING.md +76 -0
  201. package/.next/standalone/LICENSE +42 -0
  202. package/.next/standalone/README.md +247 -0
  203. package/.next/standalone/app/actions/get-hook-activity.ts +27 -0
  204. package/.next/standalone/app/actions/get-hooks-config.ts +105 -0
  205. package/.next/standalone/app/actions/get-telemetry-config.ts +27 -0
  206. package/.next/standalone/app/actions/install-hooks-web.ts +21 -0
  207. package/.next/standalone/app/actions/update-hooks-config.ts +29 -0
  208. package/.next/standalone/app/actions/update-policy-params.ts +26 -0
  209. package/.next/standalone/app/api/download/[project]/[session]/route.ts +47 -0
  210. package/.next/standalone/app/components/copy-button.tsx +68 -0
  211. package/.next/standalone/app/components/date-picker-input.tsx +57 -0
  212. package/.next/standalone/app/components/error-fallback.tsx +42 -0
  213. package/.next/standalone/app/components/global-error-listeners.tsx +36 -0
  214. package/.next/standalone/app/components/lazy-log-viewer.tsx +28 -0
  215. package/.next/standalone/app/components/log-viewer/constants.ts +33 -0
  216. package/.next/standalone/app/components/log-viewer/content-block-view.tsx +142 -0
  217. package/.next/standalone/app/components/log-viewer/entry-icon.tsx +27 -0
  218. package/.next/standalone/app/components/log-viewer/entry-link-button.tsx +39 -0
  219. package/.next/standalone/app/components/log-viewer/entry-row.tsx +176 -0
  220. package/.next/standalone/app/components/log-viewer/index.tsx +1 -0
  221. package/.next/standalone/app/components/log-viewer/queue-divider.tsx +61 -0
  222. package/.next/standalone/app/components/log-viewer/stats-bar.tsx +50 -0
  223. package/.next/standalone/app/components/log-viewer/tool-input-output.tsx +61 -0
  224. package/.next/standalone/app/components/log-viewer/type-badge.tsx +14 -0
  225. package/.next/standalone/app/components/pagination-controls.tsx +94 -0
  226. package/.next/standalone/app/components/project-list.tsx +333 -0
  227. package/.next/standalone/app/components/raw-log-viewer.tsx +537 -0
  228. package/.next/standalone/app/components/refresh-button.tsx +80 -0
  229. package/.next/standalone/app/components/session-hooks-panel.tsx +394 -0
  230. package/.next/standalone/app/components/sessions-list.tsx +227 -0
  231. package/.next/standalone/app/components/toast.tsx +67 -0
  232. package/.next/standalone/app/error.tsx +7 -0
  233. package/.next/standalone/app/global-error.tsx +76 -0
  234. package/.next/standalone/app/globals.css +276 -0
  235. package/.next/standalone/app/icon.png +0 -0
  236. package/.next/standalone/app/layout.tsx +91 -0
  237. package/.next/standalone/app/page.tsx +7 -0
  238. package/.next/standalone/app/policies/hooks-client.tsx +1269 -0
  239. package/.next/standalone/app/policies/page.tsx +24 -0
  240. package/.next/standalone/app/project/[name]/error.tsx +7 -0
  241. package/.next/standalone/app/project/[name]/loading.tsx +27 -0
  242. package/.next/standalone/app/project/[name]/page.tsx +101 -0
  243. package/.next/standalone/app/project/[name]/session/[sessionId]/error.tsx +7 -0
  244. package/.next/standalone/app/project/[name]/session/[sessionId]/loading.tsx +34 -0
  245. package/.next/standalone/app/project/[name]/session/[sessionId]/page.tsx +100 -0
  246. package/.next/standalone/app/projects/loading.tsx +17 -0
  247. package/.next/standalone/app/projects/page.tsx +39 -0
  248. package/.next/standalone/bin/failproofai.mjs +94 -0
  249. package/.next/standalone/bun.lock +1148 -0
  250. package/.next/standalone/components/logo.tsx +36 -0
  251. package/.next/standalone/components/navbar.tsx +82 -0
  252. package/.next/standalone/components/reach-developers.tsx +99 -0
  253. package/.next/standalone/components/theme-toggle.tsx +37 -0
  254. package/.next/standalone/components/ui/button.tsx +42 -0
  255. package/.next/standalone/components.json +23 -0
  256. package/.next/standalone/contexts/AutoRefreshContext.tsx +25 -0
  257. package/.next/standalone/contexts/PostHogContext.tsx +62 -0
  258. package/.next/standalone/contexts/ThemeContext.tsx +69 -0
  259. package/.next/standalone/docs/architecture.md +311 -0
  260. package/.next/standalone/docs/built-in-policies.md +422 -0
  261. package/.next/standalone/docs/cli-reference.md +148 -0
  262. package/.next/standalone/docs/configuration.md +172 -0
  263. package/.next/standalone/docs/custom-hooks.md +257 -0
  264. package/.next/standalone/docs/dashboard.md +111 -0
  265. package/.next/standalone/docs/getting-started.md +122 -0
  266. package/.next/standalone/docs/index.md +47 -0
  267. package/.next/standalone/docs/testing.md +256 -0
  268. package/.next/standalone/eslint.config.mjs +15 -0
  269. package/.next/standalone/examples/policies-advanced/index.js +146 -0
  270. package/.next/standalone/examples/policies-advanced/utils.js +35 -0
  271. package/.next/standalone/examples/policies-basic.js +77 -0
  272. package/.next/standalone/instrumentation.node.ts +37 -0
  273. package/.next/standalone/instrumentation.ts +11 -0
  274. package/.next/standalone/lib/claude-config.ts +36 -0
  275. package/.next/standalone/lib/client-telemetry.ts +37 -0
  276. package/.next/standalone/lib/concurrency.ts +26 -0
  277. package/.next/standalone/lib/date-filters.ts +123 -0
  278. package/.next/standalone/lib/extract-subagent-ids.ts +21 -0
  279. package/.next/standalone/lib/format-duration.ts +29 -0
  280. package/.next/standalone/lib/log-entries.ts +460 -0
  281. package/.next/standalone/lib/log-format.ts +56 -0
  282. package/.next/standalone/lib/log-stats.ts +54 -0
  283. package/.next/standalone/lib/logger.ts +70 -0
  284. package/.next/standalone/lib/paths.ts +42 -0
  285. package/.next/standalone/lib/projects.ts +181 -0
  286. package/.next/standalone/lib/resolve-subagent-path.ts +36 -0
  287. package/.next/standalone/lib/runtime-cache.ts +59 -0
  288. package/.next/standalone/lib/telemetry-id.ts +97 -0
  289. package/.next/standalone/lib/telemetry.ts +148 -0
  290. package/.next/standalone/lib/url-filter-serializers.ts +111 -0
  291. package/.next/standalone/lib/use-filter-state.ts +68 -0
  292. package/.next/standalone/lib/use-url-params.ts +66 -0
  293. package/.next/standalone/lib/utils/session-id.ts +4 -0
  294. package/.next/standalone/lib/utils.ts +31 -0
  295. package/.next/standalone/next.config.ts +23 -0
  296. package/.next/standalone/node_modules/@img/colour/color.cjs +1594 -0
  297. package/.next/standalone/node_modules/@img/colour/index.cjs +1 -0
  298. package/.next/standalone/node_modules/@img/colour/package.json +45 -0
  299. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  300. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  301. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +1 -0
  302. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  303. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +42 -0
  304. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +30 -0
  305. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  306. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  307. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  308. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  309. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  310. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  311. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  312. package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +46 -0
  313. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  314. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  315. package/.next/standalone/node_modules/@next/env/dist/index.js +1 -0
  316. package/.next/standalone/node_modules/@next/env/package.json +36 -0
  317. package/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
  318. package/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
  319. package/.next/standalone/node_modules/@swc/helpers/package.json +471 -0
  320. package/.next/standalone/node_modules/client-only/index.js +0 -0
  321. package/.next/standalone/node_modules/client-only/package.json +19 -0
  322. package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +313 -0
  323. package/.next/standalone/node_modules/detect-libc/lib/elf.js +39 -0
  324. package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +51 -0
  325. package/.next/standalone/node_modules/detect-libc/lib/process.js +24 -0
  326. package/.next/standalone/node_modules/detect-libc/package.json +44 -0
  327. package/.next/standalone/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
  328. package/.next/standalone/node_modules/next/dist/build/define-env.js +255 -0
  329. package/.next/standalone/node_modules/next/dist/build/duration-to-string.js +99 -0
  330. package/.next/standalone/node_modules/next/dist/build/get-supported-browsers.js +38 -0
  331. package/.next/standalone/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
  332. package/.next/standalone/node_modules/next/dist/build/next-config-ts/transpile-config.js +251 -0
  333. package/.next/standalone/node_modules/next/dist/build/output/format.js +84 -0
  334. package/.next/standalone/node_modules/next/dist/build/output/log.js +135 -0
  335. package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segment-config.js +162 -0
  336. package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segments.js +137 -0
  337. package/.next/standalone/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
  338. package/.next/standalone/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
  339. package/.next/standalone/node_modules/next/dist/build/static-paths/app.js +735 -0
  340. package/.next/standalone/node_modules/next/dist/build/static-paths/pages.js +169 -0
  341. package/.next/standalone/node_modules/next/dist/build/static-paths/utils.js +119 -0
  342. package/.next/standalone/node_modules/next/dist/build/swc/helpers.js +15 -0
  343. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1348 -0
  344. package/.next/standalone/node_modules/next/dist/build/swc/install-bindings.js +30 -0
  345. package/.next/standalone/node_modules/next/dist/build/swc/jest-transformer.js +76 -0
  346. package/.next/standalone/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
  347. package/.next/standalone/node_modules/next/dist/build/swc/options.js +403 -0
  348. package/.next/standalone/node_modules/next/dist/build/swc/types.js +6 -0
  349. package/.next/standalone/node_modules/next/dist/build/utils.js +1215 -0
  350. package/.next/standalone/node_modules/next/dist/cli/next-test.js +170 -0
  351. package/.next/standalone/node_modules/next/dist/client/add-base-path.js +24 -0
  352. package/.next/standalone/node_modules/next/dist/client/app-call-server.js +34 -0
  353. package/.next/standalone/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
  354. package/.next/standalone/node_modules/next/dist/client/assign-location.js +29 -0
  355. package/.next/standalone/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
  356. package/.next/standalone/node_modules/next/dist/client/components/app-router-headers.js +138 -0
  357. package/.next/standalone/node_modules/next/dist/client/components/app-router-instance.js +397 -0
  358. package/.next/standalone/node_modules/next/dist/client/components/app-router-utils.js +62 -0
  359. package/.next/standalone/node_modules/next/dist/client/components/app-router.js +514 -0
  360. package/.next/standalone/node_modules/next/dist/client/components/builtin/default.js +35 -0
  361. package/.next/standalone/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
  362. package/.next/standalone/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
  363. package/.next/standalone/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
  364. package/.next/standalone/node_modules/next/dist/client/components/error-boundary.js +144 -0
  365. package/.next/standalone/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
  366. package/.next/standalone/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
  367. package/.next/standalone/node_modules/next/dist/client/components/forbidden.js +48 -0
  368. package/.next/standalone/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
  369. package/.next/standalone/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
  370. package/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
  371. package/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
  372. package/.next/standalone/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
  373. package/.next/standalone/node_modules/next/dist/client/components/links.js +299 -0
  374. package/.next/standalone/node_modules/next/dist/client/components/match-segments.js +32 -0
  375. package/.next/standalone/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
  376. package/.next/standalone/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
  377. package/.next/standalone/node_modules/next/dist/client/components/navigation-untracked.js +67 -0
  378. package/.next/standalone/node_modules/next/dist/client/components/navigation.js +225 -0
  379. package/.next/standalone/node_modules/next/dist/client/components/navigation.react-server.js +75 -0
  380. package/.next/standalone/node_modules/next/dist/client/components/not-found.js +42 -0
  381. package/.next/standalone/node_modules/next/dist/client/components/readonly-url-search-params.js +41 -0
  382. package/.next/standalone/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
  383. package/.next/standalone/node_modules/next/dist/client/components/redirect-error.js +43 -0
  384. package/.next/standalone/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
  385. package/.next/standalone/node_modules/next/dist/client/components/redirect.js +91 -0
  386. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +201 -0
  387. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
  388. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +153 -0
  389. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
  390. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +457 -0
  391. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +59 -0
  392. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1341 -0
  393. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
  394. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
  395. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
  396. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +23 -0
  397. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
  398. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +83 -0
  399. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +62 -0
  400. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +320 -0
  401. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +58 -0
  402. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
  403. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer.js +66 -0
  404. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +60 -0
  405. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/bfcache.js +128 -0
  406. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-key.js +28 -0
  407. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-map.js +305 -0
  408. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +1933 -0
  409. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
  410. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +194 -0
  411. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation.js +597 -0
  412. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +543 -0
  413. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/prefetch.js +31 -0
  414. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +1249 -0
  415. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/types.js +69 -0
  416. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/vary-path.js +278 -0
  417. package/.next/standalone/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
  418. package/.next/standalone/node_modules/next/dist/client/components/unauthorized.js +49 -0
  419. package/.next/standalone/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
  420. package/.next/standalone/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
  421. package/.next/standalone/node_modules/next/dist/client/components/unstable-rethrow.browser.js +28 -0
  422. package/.next/standalone/node_modules/next/dist/client/components/unstable-rethrow.js +25 -0
  423. package/.next/standalone/node_modules/next/dist/client/components/unstable-rethrow.server.js +32 -0
  424. package/.next/standalone/node_modules/next/dist/client/components/use-action-queue.js +148 -0
  425. package/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +72 -0
  426. package/.next/standalone/node_modules/next/dist/client/flight-data-helpers.js +232 -0
  427. package/.next/standalone/node_modules/next/dist/client/has-base-path.js +23 -0
  428. package/.next/standalone/node_modules/next/dist/client/lib/console.js +177 -0
  429. package/.next/standalone/node_modules/next/dist/client/lib/javascript-url.js +32 -0
  430. package/.next/standalone/node_modules/next/dist/client/navigation-build-id.js +53 -0
  431. package/.next/standalone/node_modules/next/dist/client/normalize-trailing-slash.js +36 -0
  432. package/.next/standalone/node_modules/next/dist/client/remove-base-path.js +32 -0
  433. package/.next/standalone/node_modules/next/dist/client/route-params.js +230 -0
  434. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
  435. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
  436. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
  437. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
  438. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
  439. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
  440. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
  441. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
  442. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
  443. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
  444. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
  445. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
  446. package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
  447. package/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
  448. package/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
  449. package/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
  450. package/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
  451. package/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
  452. package/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
  453. package/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
  454. package/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
  455. package/.next/standalone/node_modules/next/dist/compiled/async-retry/index.js +1 -0
  456. package/.next/standalone/node_modules/next/dist/compiled/async-retry/package.json +1 -0
  457. package/.next/standalone/node_modules/next/dist/compiled/async-sema/index.js +1 -0
  458. package/.next/standalone/node_modules/next/dist/compiled/async-sema/package.json +1 -0
  459. package/.next/standalone/node_modules/next/dist/compiled/busboy/index.js +1 -0
  460. package/.next/standalone/node_modules/next/dist/compiled/busboy/package.json +1 -0
  461. package/.next/standalone/node_modules/next/dist/compiled/bytes/index.js +8 -0
  462. package/.next/standalone/node_modules/next/dist/compiled/bytes/package.json +1 -0
  463. package/.next/standalone/node_modules/next/dist/compiled/ci-info/index.js +1 -0
  464. package/.next/standalone/node_modules/next/dist/compiled/ci-info/package.json +1 -0
  465. package/.next/standalone/node_modules/next/dist/compiled/commander/index.js +1 -0
  466. package/.next/standalone/node_modules/next/dist/compiled/commander/package.json +1 -0
  467. package/.next/standalone/node_modules/next/dist/compiled/comment-json/index.js +7 -0
  468. package/.next/standalone/node_modules/next/dist/compiled/comment-json/package.json +1 -0
  469. package/.next/standalone/node_modules/next/dist/compiled/compression/index.js +58 -0
  470. package/.next/standalone/node_modules/next/dist/compiled/compression/package.json +1 -0
  471. package/.next/standalone/node_modules/next/dist/compiled/conf/index.js +15 -0
  472. package/.next/standalone/node_modules/next/dist/compiled/conf/package.json +1 -0
  473. package/.next/standalone/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
  474. package/.next/standalone/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
  475. package/.next/standalone/node_modules/next/dist/compiled/cookie/index.js +7 -0
  476. package/.next/standalone/node_modules/next/dist/compiled/cookie/package.json +1 -0
  477. package/.next/standalone/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
  478. package/.next/standalone/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
  479. package/.next/standalone/node_modules/next/dist/compiled/debug/index.js +1 -0
  480. package/.next/standalone/node_modules/next/dist/compiled/debug/package.json +1 -0
  481. package/.next/standalone/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
  482. package/.next/standalone/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
  483. package/.next/standalone/node_modules/next/dist/compiled/find-up/index.js +1 -0
  484. package/.next/standalone/node_modules/next/dist/compiled/find-up/package.json +1 -0
  485. package/.next/standalone/node_modules/next/dist/compiled/fresh/index.js +8 -0
  486. package/.next/standalone/node_modules/next/dist/compiled/fresh/package.json +1 -0
  487. package/.next/standalone/node_modules/next/dist/compiled/http-proxy/index.js +34 -0
  488. package/.next/standalone/node_modules/next/dist/compiled/http-proxy/package.json +1 -0
  489. package/.next/standalone/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
  490. package/.next/standalone/node_modules/next/dist/compiled/image-size/index.js +1 -0
  491. package/.next/standalone/node_modules/next/dist/compiled/image-size/package.json +1 -0
  492. package/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
  493. package/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
  494. package/.next/standalone/node_modules/next/dist/compiled/is-animated/index.js +1 -0
  495. package/.next/standalone/node_modules/next/dist/compiled/is-animated/package.json +1 -0
  496. package/.next/standalone/node_modules/next/dist/compiled/is-docker/index.js +1 -0
  497. package/.next/standalone/node_modules/next/dist/compiled/is-docker/package.json +1 -0
  498. package/.next/standalone/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
  499. package/.next/standalone/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
  500. package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
  501. package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
  502. package/.next/standalone/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
  503. package/.next/standalone/node_modules/next/dist/compiled/nanoid/package.json +1 -0
  504. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +54 -0
  505. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +54 -0
  506. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
  507. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
  508. package/.next/standalone/node_modules/next/dist/compiled/p-limit/index.js +1 -0
  509. package/.next/standalone/node_modules/next/dist/compiled/p-limit/package.json +1 -0
  510. package/.next/standalone/node_modules/next/dist/compiled/p-queue/index.js +1 -0
  511. package/.next/standalone/node_modules/next/dist/compiled/p-queue/package.json +1 -0
  512. package/.next/standalone/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
  513. package/.next/standalone/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
  514. package/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
  515. package/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
  516. package/.next/standalone/node_modules/next/dist/compiled/picomatch/index.js +1 -0
  517. package/.next/standalone/node_modules/next/dist/compiled/picomatch/package.json +1 -0
  518. package/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
  519. package/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
  520. package/.next/standalone/node_modules/next/dist/compiled/react-is/index.js +7 -0
  521. package/.next/standalone/node_modules/next/dist/compiled/react-is/package.json +26 -0
  522. package/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
  523. package/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
  524. package/.next/standalone/node_modules/next/dist/compiled/semver/index.js +1 -0
  525. package/.next/standalone/node_modules/next/dist/compiled/semver/package.json +1 -0
  526. package/.next/standalone/node_modules/next/dist/compiled/send/index.js +70 -0
  527. package/.next/standalone/node_modules/next/dist/compiled/send/package.json +1 -0
  528. package/.next/standalone/node_modules/next/dist/compiled/source-map/package.json +1 -0
  529. package/.next/standalone/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
  530. package/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
  531. package/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
  532. package/.next/standalone/node_modules/next/dist/compiled/string-hash/index.js +1 -0
  533. package/.next/standalone/node_modules/next/dist/compiled/string-hash/package.json +1 -0
  534. package/.next/standalone/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
  535. package/.next/standalone/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
  536. package/.next/standalone/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
  537. package/.next/standalone/node_modules/next/dist/compiled/superstruct/package.json +1 -0
  538. package/.next/standalone/node_modules/next/dist/compiled/tar/index.min.js +1 -0
  539. package/.next/standalone/node_modules/next/dist/compiled/tar/package.json +1 -0
  540. package/.next/standalone/node_modules/next/dist/compiled/text-table/index.js +1 -0
  541. package/.next/standalone/node_modules/next/dist/compiled/text-table/package.json +1 -0
  542. package/.next/standalone/node_modules/next/dist/compiled/watchpack/package.json +1 -0
  543. package/.next/standalone/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
  544. package/.next/standalone/node_modules/next/dist/compiled/ws/index.js +1 -0
  545. package/.next/standalone/node_modules/next/dist/compiled/ws/package.json +1 -0
  546. package/.next/standalone/node_modules/next/dist/compiled/zod/index.cjs +1 -0
  547. package/.next/standalone/node_modules/next/dist/compiled/zod/package.json +1 -0
  548. package/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
  549. package/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
  550. package/.next/standalone/node_modules/next/dist/experimental/testmode/context.js +57 -0
  551. package/.next/standalone/node_modules/next/dist/experimental/testmode/fetch.js +142 -0
  552. package/.next/standalone/node_modules/next/dist/experimental/testmode/httpget.js +26 -0
  553. package/.next/standalone/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
  554. package/.next/standalone/node_modules/next/dist/experimental/testmode/server.js +62 -0
  555. package/.next/standalone/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
  556. package/.next/standalone/node_modules/next/dist/lib/batcher.js +65 -0
  557. package/.next/standalone/node_modules/next/dist/lib/build-custom-route.js +46 -0
  558. package/.next/standalone/node_modules/next/dist/lib/bundler.js +97 -0
  559. package/.next/standalone/node_modules/next/dist/lib/client-and-server-references.js +54 -0
  560. package/.next/standalone/node_modules/next/dist/lib/coalesced-function.js +39 -0
  561. package/.next/standalone/node_modules/next/dist/lib/compile-error.js +14 -0
  562. package/.next/standalone/node_modules/next/dist/lib/constants.js +420 -0
  563. package/.next/standalone/node_modules/next/dist/lib/create-client-router-filter.js +67 -0
  564. package/.next/standalone/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
  565. package/.next/standalone/node_modules/next/dist/lib/detached-promise.js +32 -0
  566. package/.next/standalone/node_modules/next/dist/lib/detect-typo.js +51 -0
  567. package/.next/standalone/node_modules/next/dist/lib/download-swc.js +183 -0
  568. package/.next/standalone/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
  569. package/.next/standalone/node_modules/next/dist/lib/fallback.js +100 -0
  570. package/.next/standalone/node_modules/next/dist/lib/fatal-error.js +14 -0
  571. package/.next/standalone/node_modules/next/dist/lib/file-exists.js +53 -0
  572. package/.next/standalone/node_modules/next/dist/lib/find-config.js +102 -0
  573. package/.next/standalone/node_modules/next/dist/lib/find-pages-dir.js +65 -0
  574. package/.next/standalone/node_modules/next/dist/lib/find-root.js +126 -0
  575. package/.next/standalone/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
  576. package/.next/standalone/node_modules/next/dist/lib/format-dynamic-import-path.js +24 -0
  577. package/.next/standalone/node_modules/next/dist/lib/format-server-error.js +75 -0
  578. package/.next/standalone/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
  579. package/.next/standalone/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
  580. package/.next/standalone/node_modules/next/dist/lib/fs/rename.js +87 -0
  581. package/.next/standalone/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
  582. package/.next/standalone/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
  583. package/.next/standalone/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
  584. package/.next/standalone/node_modules/next/dist/lib/get-network-host.js +44 -0
  585. package/.next/standalone/node_modules/next/dist/lib/get-package-version.js +118 -0
  586. package/.next/standalone/node_modules/next/dist/lib/get-project-dir.js +51 -0
  587. package/.next/standalone/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
  588. package/.next/standalone/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
  589. package/.next/standalone/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
  590. package/.next/standalone/node_modules/next/dist/lib/helpers/get-online.js +50 -0
  591. package/.next/standalone/node_modules/next/dist/lib/helpers/get-pkg-manager.js +63 -0
  592. package/.next/standalone/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
  593. package/.next/standalone/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
  594. package/.next/standalone/node_modules/next/dist/lib/helpers/install.js +83 -0
  595. package/.next/standalone/node_modules/next/dist/lib/import-next-warning.js +50 -0
  596. package/.next/standalone/node_modules/next/dist/lib/inline-static-env.js +112 -0
  597. package/.next/standalone/node_modules/next/dist/lib/install-dependencies.js +40 -0
  598. package/.next/standalone/node_modules/next/dist/lib/interop-default.js +16 -0
  599. package/.next/standalone/node_modules/next/dist/lib/is-api-route.js +15 -0
  600. package/.next/standalone/node_modules/next/dist/lib/is-app-page-route.js +15 -0
  601. package/.next/standalone/node_modules/next/dist/lib/is-app-route-route.js +15 -0
  602. package/.next/standalone/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
  603. package/.next/standalone/node_modules/next/dist/lib/is-error.js +78 -0
  604. package/.next/standalone/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
  605. package/.next/standalone/node_modules/next/dist/lib/is-internal-component.js +36 -0
  606. package/.next/standalone/node_modules/next/dist/lib/is-serializable-props.js +106 -0
  607. package/.next/standalone/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
  608. package/.next/standalone/node_modules/next/dist/lib/load-custom-routes.js +594 -0
  609. package/.next/standalone/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
  610. package/.next/standalone/node_modules/next/dist/lib/memory/shutdown.js +29 -0
  611. package/.next/standalone/node_modules/next/dist/lib/memory/startup.js +47 -0
  612. package/.next/standalone/node_modules/next/dist/lib/memory/trace.js +109 -0
  613. package/.next/standalone/node_modules/next/dist/lib/metadata/constants.js +40 -0
  614. package/.next/standalone/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
  615. package/.next/standalone/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
  616. package/.next/standalone/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
  617. package/.next/standalone/node_modules/next/dist/lib/metadata/get-metadata-route.js +123 -0
  618. package/.next/standalone/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
  619. package/.next/standalone/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
  620. package/.next/standalone/node_modules/next/dist/lib/metadata/metadata.js +1686 -0
  621. package/.next/standalone/node_modules/next/dist/lib/metadata/resolve-metadata.js +884 -0
  622. package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
  623. package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
  624. package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
  625. package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
  626. package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
  627. package/.next/standalone/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
  628. package/.next/standalone/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
  629. package/.next/standalone/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
  630. package/.next/standalone/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
  631. package/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
  632. package/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
  633. package/.next/standalone/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
  634. package/.next/standalone/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
  635. package/.next/standalone/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
  636. package/.next/standalone/node_modules/next/dist/lib/mime-type.js +20 -0
  637. package/.next/standalone/node_modules/next/dist/lib/mkcert.js +204 -0
  638. package/.next/standalone/node_modules/next/dist/lib/multi-file-writer.js +75 -0
  639. package/.next/standalone/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
  640. package/.next/standalone/node_modules/next/dist/lib/non-nullable.js +15 -0
  641. package/.next/standalone/node_modules/next/dist/lib/normalize-path.js +21 -0
  642. package/.next/standalone/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
  643. package/.next/standalone/node_modules/next/dist/lib/page-types.js +18 -0
  644. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
  645. package/.next/standalone/node_modules/next/dist/lib/pick.js +19 -0
  646. package/.next/standalone/node_modules/next/dist/lib/picocolors.js +177 -0
  647. package/.next/standalone/node_modules/next/dist/lib/pretty-bytes.js +74 -0
  648. package/.next/standalone/node_modules/next/dist/lib/realpath.js +20 -0
  649. package/.next/standalone/node_modules/next/dist/lib/recursive-copy.js +76 -0
  650. package/.next/standalone/node_modules/next/dist/lib/recursive-delete.js +137 -0
  651. package/.next/standalone/node_modules/next/dist/lib/recursive-readdir.js +124 -0
  652. package/.next/standalone/node_modules/next/dist/lib/redirect-status.js +46 -0
  653. package/.next/standalone/node_modules/next/dist/lib/require-instrumentation-client.js +26 -0
  654. package/.next/standalone/node_modules/next/dist/lib/resolve-build-paths.js +154 -0
  655. package/.next/standalone/node_modules/next/dist/lib/resolve-from.js +65 -0
  656. package/.next/standalone/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
  657. package/.next/standalone/node_modules/next/dist/lib/scheduler.js +64 -0
  658. package/.next/standalone/node_modules/next/dist/lib/semver-noop.js +18 -0
  659. package/.next/standalone/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
  660. package/.next/standalone/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
  661. package/.next/standalone/node_modules/next/dist/lib/static-env.js +92 -0
  662. package/.next/standalone/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
  663. package/.next/standalone/node_modules/next/dist/lib/turbopack-warning.js +185 -0
  664. package/.next/standalone/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
  665. package/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +153 -0
  666. package/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
  667. package/.next/standalone/node_modules/next/dist/lib/typescript/missingDependencyError.js +27 -0
  668. package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheck.js +149 -0
  669. package/.next/standalone/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
  670. package/.next/standalone/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +75 -0
  671. package/.next/standalone/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
  672. package/.next/standalone/node_modules/next/dist/lib/url.js +75 -0
  673. package/.next/standalone/node_modules/next/dist/lib/verify-partytown-setup.js +115 -0
  674. package/.next/standalone/node_modules/next/dist/lib/verify-root-layout.js +165 -0
  675. package/.next/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +228 -0
  676. package/.next/standalone/node_modules/next/dist/lib/wait.js +19 -0
  677. package/.next/standalone/node_modules/next/dist/lib/with-promise-cache.js +24 -0
  678. package/.next/standalone/node_modules/next/dist/lib/worker.js +234 -0
  679. package/.next/standalone/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
  680. package/.next/standalone/node_modules/next/dist/server/accept-header.js +132 -0
  681. package/.next/standalone/node_modules/next/dist/server/after/after-context.js +140 -0
  682. package/.next/standalone/node_modules/next/dist/server/after/after.js +26 -0
  683. package/.next/standalone/node_modules/next/dist/server/after/awaiter.js +74 -0
  684. package/.next/standalone/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
  685. package/.next/standalone/node_modules/next/dist/server/after/index.js +21 -0
  686. package/.next/standalone/node_modules/next/dist/server/after/run-with-after.js +35 -0
  687. package/.next/standalone/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
  688. package/.next/standalone/node_modules/next/dist/server/api-utils/index.js +201 -0
  689. package/.next/standalone/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
  690. package/.next/standalone/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
  691. package/.next/standalone/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +86 -0
  692. package/.next/standalone/node_modules/next/dist/server/api-utils/web.js +17 -0
  693. package/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
  694. package/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
  695. package/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +1020 -0
  696. package/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
  697. package/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
  698. package/.next/standalone/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +167 -0
  699. package/.next/standalone/node_modules/next/dist/server/app-render/app-render-render-utils.js +76 -0
  700. package/.next/standalone/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
  701. package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +4469 -0
  702. package/.next/standalone/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
  703. package/.next/standalone/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
  704. package/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +600 -0
  705. package/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
  706. package/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
  707. package/.next/standalone/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +33 -0
  708. package/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +840 -0
  709. package/.next/standalone/node_modules/next/dist/server/app-render/create-error-handler.js +189 -0
  710. package/.next/standalone/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +102 -0
  711. package/.next/standalone/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
  712. package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.js +30 -0
  713. package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.web.js +71 -0
  714. package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
  715. package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
  716. package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering.js +1144 -0
  717. package/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
  718. package/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
  719. package/.next/standalone/node_modules/next/dist/server/app-render/encryption.js +259 -0
  720. package/.next/standalone/node_modules/next/dist/server/app-render/entry-base.js +256 -0
  721. package/.next/standalone/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
  722. package/.next/standalone/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
  723. package/.next/standalone/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +49 -0
  724. package/.next/standalone/node_modules/next/dist/server/app-render/get-layer-assets.js +65 -0
  725. package/.next/standalone/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
  726. package/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +44 -0
  727. package/.next/standalone/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
  728. package/.next/standalone/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
  729. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +13 -0
  730. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +103 -0
  731. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +18 -0
  732. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +181 -0
  733. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples-client.js +128 -0
  734. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
  735. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
  736. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +713 -0
  737. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
  738. package/.next/standalone/node_modules/next/dist/server/app-render/interop-default.js +17 -0
  739. package/.next/standalone/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +92 -0
  740. package/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +264 -0
  741. package/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +28 -0
  742. package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
  743. package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
  744. package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +66 -0
  745. package/.next/standalone/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
  746. package/.next/standalone/node_modules/next/dist/server/app-render/postponed-state.js +157 -0
  747. package/.next/standalone/node_modules/next/dist/server/app-render/prospective-render-utils.js +74 -0
  748. package/.next/standalone/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
  749. package/.next/standalone/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
  750. package/.next/standalone/node_modules/next/dist/server/app-render/render-css-resource.js +52 -0
  751. package/.next/standalone/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
  752. package/.next/standalone/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
  753. package/.next/standalone/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
  754. package/.next/standalone/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
  755. package/.next/standalone/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
  756. package/.next/standalone/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
  757. package/.next/standalone/node_modules/next/dist/server/app-render/staged-rendering.js +343 -0
  758. package/.next/standalone/node_modules/next/dist/server/app-render/stale-time.js +111 -0
  759. package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.js +106 -0
  760. package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.web.js +163 -0
  761. package/.next/standalone/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
  762. package/.next/standalone/node_modules/next/dist/server/app-render/types.js +65 -0
  763. package/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +214 -0
  764. package/.next/standalone/node_modules/next/dist/server/app-render/vary-params.js +336 -0
  765. package/.next/standalone/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +232 -0
  766. package/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
  767. package/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
  768. package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
  769. package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +280 -0
  770. package/.next/standalone/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
  771. package/.next/standalone/node_modules/next/dist/server/async-storage/request-store.js +144 -0
  772. package/.next/standalone/node_modules/next/dist/server/async-storage/with-store.js +6 -0
  773. package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +91 -0
  774. package/.next/standalone/node_modules/next/dist/server/base-http/helpers.js +36 -0
  775. package/.next/standalone/node_modules/next/dist/server/base-http/index.js +54 -0
  776. package/.next/standalone/node_modules/next/dist/server/base-http/node.js +147 -0
  777. package/.next/standalone/node_modules/next/dist/server/base-http/web.js +124 -0
  778. package/.next/standalone/node_modules/next/dist/server/base-server.js +1874 -0
  779. package/.next/standalone/node_modules/next/dist/server/body-streams.js +114 -0
  780. package/.next/standalone/node_modules/next/dist/server/cache-dir.js +26 -0
  781. package/.next/standalone/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
  782. package/.next/standalone/node_modules/next/dist/server/ci-info.js +41 -0
  783. package/.next/standalone/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
  784. package/.next/standalone/node_modules/next/dist/server/config-schema.js +718 -0
  785. package/.next/standalone/node_modules/next/dist/server/config-shared.js +369 -0
  786. package/.next/standalone/node_modules/next/dist/server/config-utils.js +185 -0
  787. package/.next/standalone/node_modules/next/dist/server/config.js +1545 -0
  788. package/.next/standalone/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
  789. package/.next/standalone/node_modules/next/dist/server/crypto-utils.js +70 -0
  790. package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
  791. package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +558 -0
  792. package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
  793. package/.next/standalone/node_modules/next/dist/server/dev/debug-channel.js +87 -0
  794. package/.next/standalone/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
  795. package/.next/standalone/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
  796. package/.next/standalone/node_modules/next/dist/server/dev/hot-middleware.js +274 -0
  797. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
  798. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
  799. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1475 -0
  800. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-types.js +58 -0
  801. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1386 -0
  802. package/.next/standalone/node_modules/next/dist/server/dev/log-requests.js +149 -0
  803. package/.next/standalone/node_modules/next/dist/server/dev/messages.js +74 -0
  804. package/.next/standalone/node_modules/next/dist/server/dev/middleware-turbopack.js +403 -0
  805. package/.next/standalone/node_modules/next/dist/server/dev/middleware-webpack.js +483 -0
  806. package/.next/standalone/node_modules/next/dist/server/dev/node-stack-frames.js +72 -0
  807. package/.next/standalone/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
  808. package/.next/standalone/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
  809. package/.next/standalone/node_modules/next/dist/server/dev/require-cache.js +79 -0
  810. package/.next/standalone/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
  811. package/.next/standalone/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
  812. package/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +104 -0
  813. package/.next/standalone/node_modules/next/dist/server/dev/turbopack-utils.js +687 -0
  814. package/.next/standalone/node_modules/next/dist/server/dynamic-rendering-utils.js +108 -0
  815. package/.next/standalone/node_modules/next/dist/server/font-utils.js +43 -0
  816. package/.next/standalone/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
  817. package/.next/standalone/node_modules/next/dist/server/get-page-files.js +23 -0
  818. package/.next/standalone/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
  819. package/.next/standalone/node_modules/next/dist/server/htmlescape.js +37 -0
  820. package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +1220 -0
  821. package/.next/standalone/node_modules/next/dist/server/instrumentation/types.js +6 -0
  822. package/.next/standalone/node_modules/next/dist/server/instrumentation/utils.js +21 -0
  823. package/.next/standalone/node_modules/next/dist/server/internal-utils.js +39 -0
  824. package/.next/standalone/node_modules/next/dist/server/is-private-ip.js +36 -0
  825. package/.next/standalone/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
  826. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +132 -0
  827. package/.next/standalone/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
  828. package/.next/standalone/node_modules/next/dist/server/lib/cache-control.js +22 -0
  829. package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
  830. package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.js +160 -0
  831. package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
  832. package/.next/standalone/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
  833. package/.next/standalone/node_modules/next/dist/server/lib/clone-response.js +77 -0
  834. package/.next/standalone/node_modules/next/dist/server/lib/cpu-profile.js +59 -0
  835. package/.next/standalone/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
  836. package/.next/standalone/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
  837. package/.next/standalone/node_modules/next/dist/server/lib/dev-bundler-service.js +95 -0
  838. package/.next/standalone/node_modules/next/dist/server/lib/disk-lru-cache.external.js +57 -0
  839. package/.next/standalone/node_modules/next/dist/server/lib/etag.js +56 -0
  840. package/.next/standalone/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
  841. package/.next/standalone/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
  842. package/.next/standalone/node_modules/next/dist/server/lib/find-page-file.js +147 -0
  843. package/.next/standalone/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
  844. package/.next/standalone/node_modules/next/dist/server/lib/format-hostname.js +16 -0
  845. package/.next/standalone/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
  846. package/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +77 -0
  847. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +335 -0
  848. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +501 -0
  849. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +57 -0
  850. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
  851. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
  852. package/.next/standalone/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
  853. package/.next/standalone/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
  854. package/.next/standalone/node_modules/next/dist/server/lib/lazy-result.js +46 -0
  855. package/.next/standalone/node_modules/next/dist/server/lib/lru-cache.js +191 -0
  856. package/.next/standalone/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
  857. package/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +416 -0
  858. package/.next/standalone/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
  859. package/.next/standalone/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
  860. package/.next/standalone/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
  861. package/.next/standalone/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
  862. package/.next/standalone/node_modules/next/dist/server/lib/parse-stack.js +46 -0
  863. package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +978 -0
  864. package/.next/standalone/node_modules/next/dist/server/lib/patch-set-header.js +38 -0
  865. package/.next/standalone/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
  866. package/.next/standalone/node_modules/next/dist/server/lib/render-server.js +155 -0
  867. package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +696 -0
  868. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
  869. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
  870. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
  871. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +211 -0
  872. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
  873. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/filesystem.js +591 -0
  874. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
  875. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +96 -0
  876. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
  877. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +118 -0
  878. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +629 -0
  879. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +286 -0
  880. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
  881. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/typegen.js +858 -0
  882. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
  883. package/.next/standalone/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
  884. package/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +81 -0
  885. package/.next/standalone/node_modules/next/dist/server/lib/source-maps.js +196 -0
  886. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +494 -0
  887. package/.next/standalone/node_modules/next/dist/server/lib/streaming-metadata.js +38 -0
  888. package/.next/standalone/node_modules/next/dist/server/lib/to-route.js +37 -0
  889. package/.next/standalone/node_modules/next/dist/server/lib/trace/constants.js +203 -0
  890. package/.next/standalone/node_modules/next/dist/server/lib/trace/tracer.js +280 -0
  891. package/.next/standalone/node_modules/next/dist/server/lib/trace/utils.js +16 -0
  892. package/.next/standalone/node_modules/next/dist/server/lib/types.js +6 -0
  893. package/.next/standalone/node_modules/next/dist/server/lib/utils.js +278 -0
  894. package/.next/standalone/node_modules/next/dist/server/lib/worker-utils.js +36 -0
  895. package/.next/standalone/node_modules/next/dist/server/load-components.js +179 -0
  896. package/.next/standalone/node_modules/next/dist/server/load-default-error-components.js +41 -0
  897. package/.next/standalone/node_modules/next/dist/server/load-manifest.external.js +117 -0
  898. package/.next/standalone/node_modules/next/dist/server/match-bundle.js +25 -0
  899. package/.next/standalone/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
  900. package/.next/standalone/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +41 -0
  901. package/.next/standalone/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
  902. package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
  903. package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
  904. package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
  905. package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
  906. package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
  907. package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
  908. package/.next/standalone/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
  909. package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
  910. package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
  911. package/.next/standalone/node_modules/next/dist/server/next-server.js +1429 -0
  912. package/.next/standalone/node_modules/next/dist/server/next-typescript.js +13 -0
  913. package/.next/standalone/node_modules/next/dist/server/next.js +455 -0
  914. package/.next/standalone/node_modules/next/dist/server/node-environment-baseline.js +25 -0
  915. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
  916. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
  917. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
  918. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
  919. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
  920. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
  921. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
  922. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/io-utils.js +195 -0
  923. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
  924. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +91 -0
  925. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
  926. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +508 -0
  927. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
  928. package/.next/standalone/node_modules/next/dist/server/node-environment.js +19 -0
  929. package/.next/standalone/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
  930. package/.next/standalone/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
  931. package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
  932. package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
  933. package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
  934. package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
  935. package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
  936. package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
  937. package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
  938. package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
  939. package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
  940. package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
  941. package/.next/standalone/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
  942. package/.next/standalone/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
  943. package/.next/standalone/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
  944. package/.next/standalone/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
  945. package/.next/standalone/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
  946. package/.next/standalone/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
  947. package/.next/standalone/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
  948. package/.next/standalone/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
  949. package/.next/standalone/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
  950. package/.next/standalone/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
  951. package/.next/standalone/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
  952. package/.next/standalone/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
  953. package/.next/standalone/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
  954. package/.next/standalone/node_modules/next/dist/server/og/image-response.js +53 -0
  955. package/.next/standalone/node_modules/next/dist/server/patch-error-inspect.js +453 -0
  956. package/.next/standalone/node_modules/next/dist/server/pipe-readable.js +140 -0
  957. package/.next/standalone/node_modules/next/dist/server/post-process.js +39 -0
  958. package/.next/standalone/node_modules/next/dist/server/render-result.js +204 -0
  959. package/.next/standalone/node_modules/next/dist/server/render.js +1140 -0
  960. package/.next/standalone/node_modules/next/dist/server/request/connection.js +133 -0
  961. package/.next/standalone/node_modules/next/dist/server/request/cookies.js +235 -0
  962. package/.next/standalone/node_modules/next/dist/server/request/draft-mode.js +230 -0
  963. package/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +69 -0
  964. package/.next/standalone/node_modules/next/dist/server/request/headers.js +229 -0
  965. package/.next/standalone/node_modules/next/dist/server/request/params.js +527 -0
  966. package/.next/standalone/node_modules/next/dist/server/request/pathname.js +119 -0
  967. package/.next/standalone/node_modules/next/dist/server/request/root-params.js +194 -0
  968. package/.next/standalone/node_modules/next/dist/server/request/search-params.js +526 -0
  969. package/.next/standalone/node_modules/next/dist/server/request/utils.js +51 -0
  970. package/.next/standalone/node_modules/next/dist/server/request-meta.js +55 -0
  971. package/.next/standalone/node_modules/next/dist/server/require-hook.js +82 -0
  972. package/.next/standalone/node_modules/next/dist/server/require.js +109 -0
  973. package/.next/standalone/node_modules/next/dist/server/response-cache/index.js +311 -0
  974. package/.next/standalone/node_modules/next/dist/server/response-cache/types.js +41 -0
  975. package/.next/standalone/node_modules/next/dist/server/response-cache/utils.js +104 -0
  976. package/.next/standalone/node_modules/next/dist/server/response-cache/web.js +101 -0
  977. package/.next/standalone/node_modules/next/dist/server/resume-data-cache/cache-store.js +96 -0
  978. package/.next/standalone/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +124 -0
  979. package/.next/standalone/node_modules/next/dist/server/revalidation-utils.js +157 -0
  980. package/.next/standalone/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
  981. package/.next/standalone/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
  982. package/.next/standalone/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
  983. package/.next/standalone/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
  984. package/.next/standalone/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
  985. package/.next/standalone/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
  986. package/.next/standalone/node_modules/next/dist/server/route-kind.js +32 -0
  987. package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
  988. package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
  989. package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
  990. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
  991. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
  992. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
  993. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
  994. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
  995. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
  996. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
  997. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
  998. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
  999. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
  1000. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
  1001. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
  1002. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
  1003. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
  1004. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
  1005. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
  1006. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
  1007. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
  1008. package/.next/standalone/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
  1009. package/.next/standalone/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
  1010. package/.next/standalone/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
  1011. package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
  1012. package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
  1013. package/.next/standalone/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
  1014. package/.next/standalone/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
  1015. package/.next/standalone/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
  1016. package/.next/standalone/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
  1017. package/.next/standalone/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
  1018. package/.next/standalone/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
  1019. package/.next/standalone/node_modules/next/dist/server/route-matches/route-match.js +6 -0
  1020. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
  1021. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
  1022. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.js +162 -0
  1023. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
  1024. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +25 -0
  1025. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
  1026. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
  1027. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
  1028. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
  1029. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
  1030. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
  1031. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
  1032. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
  1033. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
  1034. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
  1035. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
  1036. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
  1037. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
  1038. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
  1039. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
  1040. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
  1041. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
  1042. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
  1043. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
  1044. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
  1045. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
  1046. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
  1047. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
  1048. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
  1049. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
  1050. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
  1051. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
  1052. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
  1053. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
  1054. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
  1055. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
  1056. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
  1057. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +914 -0
  1058. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
  1059. package/.next/standalone/node_modules/next/dist/server/route-modules/checks.js +45 -0
  1060. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
  1061. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
  1062. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
  1063. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
  1064. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/pages-handler.js +545 -0
  1065. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
  1066. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
  1067. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
  1068. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
  1069. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
  1070. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
  1071. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
  1072. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
  1073. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
  1074. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
  1075. package/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
  1076. package/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
  1077. package/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +650 -0
  1078. package/.next/standalone/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
  1079. package/.next/standalone/node_modules/next/dist/server/send-payload.js +88 -0
  1080. package/.next/standalone/node_modules/next/dist/server/send-response.js +70 -0
  1081. package/.next/standalone/node_modules/next/dist/server/serve-static.js +66 -0
  1082. package/.next/standalone/node_modules/next/dist/server/server-route-utils.js +30 -0
  1083. package/.next/standalone/node_modules/next/dist/server/server-utils.js +323 -0
  1084. package/.next/standalone/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
  1085. package/.next/standalone/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
  1086. package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +918 -0
  1087. package/.next/standalone/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
  1088. package/.next/standalone/node_modules/next/dist/server/typescript/constant.js +98 -0
  1089. package/.next/standalone/node_modules/next/dist/server/typescript/index.js +199 -0
  1090. package/.next/standalone/node_modules/next/dist/server/typescript/rules/client-boundary.js +97 -0
  1091. package/.next/standalone/node_modules/next/dist/server/typescript/rules/config.js +512 -0
  1092. package/.next/standalone/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
  1093. package/.next/standalone/node_modules/next/dist/server/typescript/rules/error.js +38 -0
  1094. package/.next/standalone/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
  1095. package/.next/standalone/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
  1096. package/.next/standalone/node_modules/next/dist/server/typescript/rules/server.js +79 -0
  1097. package/.next/standalone/node_modules/next/dist/server/typescript/utils.js +212 -0
  1098. package/.next/standalone/node_modules/next/dist/server/use-cache/cache-life.js +163 -0
  1099. package/.next/standalone/node_modules/next/dist/server/use-cache/cache-tag.js +52 -0
  1100. package/.next/standalone/node_modules/next/dist/server/use-cache/constants.js +28 -0
  1101. package/.next/standalone/node_modules/next/dist/server/use-cache/handlers.js +121 -0
  1102. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-errors.js +36 -0
  1103. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1588 -0
  1104. package/.next/standalone/node_modules/next/dist/server/utils.js +73 -0
  1105. package/.next/standalone/node_modules/next/dist/server/web/adapter.js +392 -0
  1106. package/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +123 -0
  1107. package/.next/standalone/node_modules/next/dist/server/web/error.js +54 -0
  1108. package/.next/standalone/node_modules/next/dist/server/web/exports/index.js +56 -0
  1109. package/.next/standalone/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
  1110. package/.next/standalone/node_modules/next/dist/server/web/globals.js +128 -0
  1111. package/.next/standalone/node_modules/next/dist/server/web/http.js +39 -0
  1112. package/.next/standalone/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
  1113. package/.next/standalone/node_modules/next/dist/server/web/next-url.js +199 -0
  1114. package/.next/standalone/node_modules/next/dist/server/web/sandbox/context.js +462 -0
  1115. package/.next/standalone/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
  1116. package/.next/standalone/node_modules/next/dist/server/web/sandbox/index.js +28 -0
  1117. package/.next/standalone/node_modules/next/dist/server/web/sandbox/resource-managers.js +88 -0
  1118. package/.next/standalone/node_modules/next/dist/server/web/sandbox/sandbox.js +137 -0
  1119. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +192 -0
  1120. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
  1121. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
  1122. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +211 -0
  1123. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
  1124. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
  1125. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
  1126. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
  1127. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
  1128. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +214 -0
  1129. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +289 -0
  1130. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
  1131. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/url-pattern.js +14 -0
  1132. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
  1133. package/.next/standalone/node_modules/next/dist/server/web/types.js +6 -0
  1134. package/.next/standalone/node_modules/next/dist/server/web/utils.js +151 -0
  1135. package/.next/standalone/node_modules/next/dist/server/web/web-on-close.js +87 -0
  1136. package/.next/standalone/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
  1137. package/.next/standalone/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
  1138. package/.next/standalone/node_modules/next/dist/shared/lib/app-router-types.js +46 -0
  1139. package/.next/standalone/node_modules/next/dist/shared/lib/constants.js +448 -0
  1140. package/.next/standalone/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
  1141. package/.next/standalone/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
  1142. package/.next/standalone/node_modules/next/dist/shared/lib/dset.js +34 -0
  1143. package/.next/standalone/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
  1144. package/.next/standalone/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
  1145. package/.next/standalone/node_modules/next/dist/shared/lib/error-source.js +36 -0
  1146. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +39 -0
  1147. package/.next/standalone/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
  1148. package/.next/standalone/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
  1149. package/.next/standalone/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +24 -0
  1150. package/.next/standalone/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +20 -0
  1151. package/.next/standalone/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
  1152. package/.next/standalone/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
  1153. package/.next/standalone/node_modules/next/dist/shared/lib/hash.js +42 -0
  1154. package/.next/standalone/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
  1155. package/.next/standalone/node_modules/next/dist/shared/lib/head.js +163 -0
  1156. package/.next/standalone/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
  1157. package/.next/standalone/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
  1158. package/.next/standalone/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
  1159. package/.next/standalone/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
  1160. package/.next/standalone/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
  1161. package/.next/standalone/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
  1162. package/.next/standalone/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
  1163. package/.next/standalone/node_modules/next/dist/shared/lib/image-config.js +77 -0
  1164. package/.next/standalone/node_modules/next/dist/shared/lib/invariant-error.js +18 -0
  1165. package/.next/standalone/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
  1166. package/.next/standalone/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
  1167. package/.next/standalone/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
  1168. package/.next/standalone/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
  1169. package/.next/standalone/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
  1170. package/.next/standalone/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
  1171. package/.next/standalone/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
  1172. package/.next/standalone/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
  1173. package/.next/standalone/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
  1174. package/.next/standalone/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
  1175. package/.next/standalone/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
  1176. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
  1177. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
  1178. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
  1179. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
  1180. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
  1181. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
  1182. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
  1183. package/.next/standalone/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
  1184. package/.next/standalone/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
  1185. package/.next/standalone/node_modules/next/dist/shared/lib/router/adapters.js +136 -0
  1186. package/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +122 -0
  1187. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
  1188. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
  1189. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
  1190. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/app-paths.js +62 -0
  1191. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
  1192. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +24 -0
  1193. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
  1194. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
  1195. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
  1196. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
  1197. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
  1198. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
  1199. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
  1200. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
  1201. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
  1202. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
  1203. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
  1204. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
  1205. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
  1206. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
  1207. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
  1208. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
  1209. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
  1210. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
  1211. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
  1212. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
  1213. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +292 -0
  1214. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
  1215. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
  1216. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
  1217. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +21 -0
  1218. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
  1219. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
  1220. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
  1221. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
  1222. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
  1223. package/.next/standalone/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
  1224. package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
  1225. package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +32 -0
  1226. package/.next/standalone/node_modules/next/dist/shared/lib/segment.js +102 -0
  1227. package/.next/standalone/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
  1228. package/.next/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +56 -0
  1229. package/.next/standalone/node_modules/next/dist/shared/lib/side-effect.js +63 -0
  1230. package/.next/standalone/node_modules/next/dist/shared/lib/size-limit.js +40 -0
  1231. package/.next/standalone/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
  1232. package/.next/standalone/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
  1233. package/.next/standalone/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
  1234. package/.next/standalone/node_modules/next/dist/shared/lib/utils.js +207 -0
  1235. package/.next/standalone/node_modules/next/dist/shared/lib/zod.js +101 -0
  1236. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +89 -0
  1237. package/.next/standalone/node_modules/next/dist/telemetry/detached-flush.js +56 -0
  1238. package/.next/standalone/node_modules/next/dist/telemetry/events/build.js +174 -0
  1239. package/.next/standalone/node_modules/next/dist/telemetry/events/index.js +41 -0
  1240. package/.next/standalone/node_modules/next/dist/telemetry/events/plugins.js +51 -0
  1241. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
  1242. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +66 -0
  1243. package/.next/standalone/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
  1244. package/.next/standalone/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
  1245. package/.next/standalone/node_modules/next/dist/telemetry/project-id.js +48 -0
  1246. package/.next/standalone/node_modules/next/dist/telemetry/storage.js +301 -0
  1247. package/.next/standalone/node_modules/next/dist/trace/index.js +58 -0
  1248. package/.next/standalone/node_modules/next/dist/trace/report/index.js +37 -0
  1249. package/.next/standalone/node_modules/next/dist/trace/report/to-json-build.js +40 -0
  1250. package/.next/standalone/node_modules/next/dist/trace/report/to-json.js +165 -0
  1251. package/.next/standalone/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
  1252. package/.next/standalone/node_modules/next/dist/trace/shared.js +39 -0
  1253. package/.next/standalone/node_modules/next/dist/trace/trace.js +211 -0
  1254. package/.next/standalone/node_modules/next/package.json +378 -0
  1255. package/.next/standalone/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
  1256. package/.next/standalone/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
  1257. package/.next/standalone/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
  1258. package/.next/standalone/node_modules/react/cjs/react.development.js +1284 -0
  1259. package/.next/standalone/node_modules/react/cjs/react.production.js +542 -0
  1260. package/.next/standalone/node_modules/react/compiler-runtime.js +14 -0
  1261. package/.next/standalone/node_modules/react/index.js +7 -0
  1262. package/.next/standalone/node_modules/react/jsx-dev-runtime.js +7 -0
  1263. package/.next/standalone/node_modules/react/jsx-runtime.js +7 -0
  1264. package/.next/standalone/node_modules/react/package.json +51 -0
  1265. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
  1266. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
  1267. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
  1268. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
  1269. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
  1270. package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +210 -0
  1271. package/.next/standalone/node_modules/react-dom/index.js +38 -0
  1272. package/.next/standalone/node_modules/react-dom/package.json +117 -0
  1273. package/.next/standalone/node_modules/react-dom/server.browser.js +16 -0
  1274. package/.next/standalone/node_modules/react-dom/server.edge.js +17 -0
  1275. package/.next/standalone/node_modules/react-dom/server.node.js +18 -0
  1276. package/.next/standalone/node_modules/react-dom/static.node.js +14 -0
  1277. package/.next/standalone/node_modules/sharp/lib/channel.js +177 -0
  1278. package/.next/standalone/node_modules/sharp/lib/colour.js +195 -0
  1279. package/.next/standalone/node_modules/sharp/lib/composite.js +212 -0
  1280. package/.next/standalone/node_modules/sharp/lib/constructor.js +499 -0
  1281. package/.next/standalone/node_modules/sharp/lib/index.js +16 -0
  1282. package/.next/standalone/node_modules/sharp/lib/input.js +809 -0
  1283. package/.next/standalone/node_modules/sharp/lib/is.js +143 -0
  1284. package/.next/standalone/node_modules/sharp/lib/libvips.js +207 -0
  1285. package/.next/standalone/node_modules/sharp/lib/operation.js +1016 -0
  1286. package/.next/standalone/node_modules/sharp/lib/output.js +1666 -0
  1287. package/.next/standalone/node_modules/sharp/lib/resize.js +595 -0
  1288. package/.next/standalone/node_modules/sharp/lib/sharp.js +121 -0
  1289. package/.next/standalone/node_modules/sharp/lib/utility.js +291 -0
  1290. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +143 -0
  1291. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +557 -0
  1292. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +333 -0
  1293. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +54 -0
  1294. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +62 -0
  1295. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +7 -0
  1296. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +5 -0
  1297. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +5 -0
  1298. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +5 -0
  1299. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +5 -0
  1300. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +5 -0
  1301. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +5 -0
  1302. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +18 -0
  1303. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +12 -0
  1304. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +37 -0
  1305. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +11 -0
  1306. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +29 -0
  1307. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +42 -0
  1308. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +17 -0
  1309. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +223 -0
  1310. package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +78 -0
  1311. package/.next/standalone/node_modules/sharp/package.json +202 -0
  1312. package/.next/standalone/node_modules/styled-jsx/dist/index/index.js +499 -0
  1313. package/.next/standalone/node_modules/styled-jsx/index.js +1 -0
  1314. package/.next/standalone/node_modules/styled-jsx/package.json +132 -0
  1315. package/.next/standalone/node_modules/styled-jsx/style.js +1 -0
  1316. package/.next/standalone/package.json +94 -0
  1317. package/.next/standalone/postcss.config.mjs +8 -0
  1318. package/.next/standalone/proxy.ts +24 -0
  1319. package/.next/standalone/public/exospheresmall-dark.png +0 -0
  1320. package/.next/standalone/public/exospheresmall.png +0 -0
  1321. package/.next/standalone/scripts/dev.ts +3 -0
  1322. package/.next/standalone/scripts/install-telemetry.mjs +108 -0
  1323. package/.next/standalone/scripts/launch.ts +67 -0
  1324. package/.next/standalone/scripts/parse-script-args.ts +77 -0
  1325. package/.next/standalone/scripts/postinstall.mjs +110 -0
  1326. package/.next/standalone/scripts/preuninstall.mjs +131 -0
  1327. package/.next/standalone/scripts/start.ts +3 -0
  1328. package/.next/standalone/server.js +38 -0
  1329. package/.next/standalone/src/hooks/builtin-policies.ts +1070 -0
  1330. package/.next/standalone/src/hooks/custom-hooks-loader.ts +61 -0
  1331. package/.next/standalone/src/hooks/custom-hooks-registry.ts +30 -0
  1332. package/.next/standalone/src/hooks/handler.ts +175 -0
  1333. package/.next/standalone/src/hooks/hook-activity-store.ts +344 -0
  1334. package/.next/standalone/src/hooks/hook-logger.ts +133 -0
  1335. package/.next/standalone/src/hooks/hook-telemetry.ts +43 -0
  1336. package/.next/standalone/src/hooks/hooks-config.ts +121 -0
  1337. package/.next/standalone/src/hooks/install-prompt.ts +357 -0
  1338. package/.next/standalone/src/hooks/llm-client.ts +90 -0
  1339. package/.next/standalone/src/hooks/loader-utils.ts +178 -0
  1340. package/.next/standalone/src/hooks/manager.ts +619 -0
  1341. package/.next/standalone/src/hooks/policy-evaluator.ts +171 -0
  1342. package/.next/standalone/src/hooks/policy-helpers.ts +16 -0
  1343. package/.next/standalone/src/hooks/policy-registry.ts +90 -0
  1344. package/.next/standalone/src/hooks/policy-types.ts +77 -0
  1345. package/.next/standalone/src/hooks/types.ts +54 -0
  1346. package/.next/standalone/src/index.ts +19 -0
  1347. package/.next/standalone/src/posthog-key.ts +5 -0
  1348. package/.next/standalone/tailwind.config.ts +11 -0
  1349. package/.next/standalone/tsconfig.json +42 -0
  1350. package/.next/standalone/vitest.config.e2e.mts +21 -0
  1351. package/.next/standalone/vitest.config.mts +20 -0
  1352. package/LICENSE +42 -0
  1353. package/README.md +247 -0
  1354. package/bin/failproofai.mjs +94 -0
  1355. package/lib/claude-config.ts +36 -0
  1356. package/lib/client-telemetry.ts +37 -0
  1357. package/lib/concurrency.ts +26 -0
  1358. package/lib/date-filters.ts +123 -0
  1359. package/lib/extract-subagent-ids.ts +21 -0
  1360. package/lib/format-duration.ts +29 -0
  1361. package/lib/log-entries.ts +460 -0
  1362. package/lib/log-format.ts +56 -0
  1363. package/lib/log-stats.ts +54 -0
  1364. package/lib/logger.ts +70 -0
  1365. package/lib/paths.ts +42 -0
  1366. package/lib/projects.ts +181 -0
  1367. package/lib/resolve-subagent-path.ts +36 -0
  1368. package/lib/runtime-cache.ts +59 -0
  1369. package/lib/telemetry-id.ts +97 -0
  1370. package/lib/telemetry.ts +148 -0
  1371. package/lib/url-filter-serializers.ts +111 -0
  1372. package/lib/use-filter-state.ts +68 -0
  1373. package/lib/use-url-params.ts +66 -0
  1374. package/lib/utils/session-id.ts +4 -0
  1375. package/lib/utils.ts +31 -0
  1376. package/package.json +94 -0
  1377. package/scripts/dev.ts +3 -0
  1378. package/scripts/install-telemetry.mjs +108 -0
  1379. package/scripts/launch.ts +67 -0
  1380. package/scripts/parse-script-args.ts +77 -0
  1381. package/scripts/postinstall.mjs +110 -0
  1382. package/scripts/preuninstall.mjs +131 -0
  1383. package/scripts/start.ts +3 -0
  1384. package/src/hooks/builtin-policies.ts +1070 -0
  1385. package/src/hooks/custom-hooks-loader.ts +61 -0
  1386. package/src/hooks/custom-hooks-registry.ts +30 -0
  1387. package/src/hooks/handler.ts +175 -0
  1388. package/src/hooks/hook-activity-store.ts +344 -0
  1389. package/src/hooks/hook-logger.ts +133 -0
  1390. package/src/hooks/hook-telemetry.ts +43 -0
  1391. package/src/hooks/hooks-config.ts +121 -0
  1392. package/src/hooks/install-prompt.ts +357 -0
  1393. package/src/hooks/llm-client.ts +90 -0
  1394. package/src/hooks/loader-utils.ts +178 -0
  1395. package/src/hooks/manager.ts +619 -0
  1396. package/src/hooks/policy-evaluator.ts +171 -0
  1397. package/src/hooks/policy-helpers.ts +16 -0
  1398. package/src/hooks/policy-registry.ts +90 -0
  1399. package/src/hooks/policy-types.ts +77 -0
  1400. package/src/hooks/types.ts +54 -0
  1401. package/src/index.ts +19 -0
  1402. package/src/posthog-key.ts +5 -0
@@ -0,0 +1,1269 @@
1
+ "use client";
2
+
3
+ import React, { useState, useEffect, useCallback, useRef, useTransition } from "react";
4
+ import { createPortal } from "react-dom";
5
+ import Link from "next/link";
6
+ import {
7
+ ArrowLeft,
8
+ ShieldCheck,
9
+ ShieldX,
10
+ ShieldAlert,
11
+ Shield,
12
+ ChevronDown,
13
+ Copy,
14
+ Check,
15
+ Settings,
16
+ Code,
17
+ X,
18
+ } from "lucide-react";
19
+ import PaginationControls from "@/app/components/pagination-controls";
20
+ import { getHookActivityAction, searchHookActivityAction } from "@/app/actions/get-hook-activity";
21
+ import type { HookActivityPayload } from "@/app/actions/get-hook-activity";
22
+ import { getHooksConfigAction } from "@/app/actions/get-hooks-config";
23
+ import type { HooksConfigPayload, PolicyInfo, CustomPolicyInfo } from "@/app/actions/get-hooks-config";
24
+ import { togglePolicyAction } from "@/app/actions/update-hooks-config";
25
+ import { installHooksWebAction, removeHooksWebAction } from "@/app/actions/install-hooks-web";
26
+ import { updatePolicyParamsAction } from "@/app/actions/update-policy-params";
27
+ import { useAutoRefresh } from "@/contexts/AutoRefreshContext";
28
+ import { useUrlParams } from "@/lib/use-url-params";
29
+ import { pageToParam, paramToPage } from "@/lib/url-filter-serializers";
30
+ import { formatRelativeTime } from "@/lib/format-duration";
31
+ import { Button } from "@/components/ui/button";
32
+
33
+ function formatAbsoluteTime(ts: number): string {
34
+ return new Date(ts).toLocaleString(undefined, {
35
+ month: "short",
36
+ day: "numeric",
37
+ hour: "2-digit",
38
+ minute: "2-digit",
39
+ second: "2-digit",
40
+ });
41
+ }
42
+
43
+ function formatDuration(ms: number): string {
44
+ if (ms < 1000) return `${ms}ms`;
45
+ return `${(ms / 1000).toFixed(1)}s`;
46
+ }
47
+
48
+
49
+ function shortenSession(sessionId: string | undefined): string {
50
+ if (!sessionId) return "\u2014";
51
+ return sessionId.slice(0, 8);
52
+ }
53
+
54
+ /**
55
+ * Best-effort extraction of the Claude project folder name from a transcript path.
56
+ */
57
+ function projectFromTranscriptPath(transcriptPath: string): string | null {
58
+ const normalized = transcriptPath.replace(/\\/g, '/');
59
+ const parts = normalized.split('/').filter(Boolean);
60
+ if (parts.length < 2) return null;
61
+ const folder = parts[parts.length - 2];
62
+ if (!folder || folder.startsWith('.')) return null;
63
+ return folder;
64
+ }
65
+
66
+ function SessionCell({ sessionId, transcriptPath }: { sessionId?: string; transcriptPath?: string }) {
67
+ if (!sessionId) return <span className="text-muted-foreground">\u2014</span>;
68
+ const project = transcriptPath ? projectFromTranscriptPath(transcriptPath) : null;
69
+ const short = shortenSession(sessionId);
70
+ if (project) {
71
+ return (
72
+ <Link
73
+ href={`/project/${encodeURIComponent(project)}/session/${encodeURIComponent(sessionId)}`}
74
+ className="text-primary hover:underline font-mono"
75
+ onClick={(e) => e.stopPropagation()}
76
+ >
77
+ {short}
78
+ </Link>
79
+ );
80
+ }
81
+ return <span className="text-muted-foreground font-mono">{short}</span>;
82
+ }
83
+
84
+ // -- Badge Components --
85
+
86
+ function DecisionBadge({ decision }: { decision: "allow" | "deny" | "instruct" }) {
87
+ if (decision === "deny") {
88
+ return (
89
+ <span className="inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-red-500/10 text-red-400 border border-red-500/20">
90
+ <ShieldX className="h-3 w-3" />
91
+ Deny
92
+ </span>
93
+ );
94
+ }
95
+ if (decision === "instruct") {
96
+ return (
97
+ <span className="inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-amber-500/10 text-amber-400 border border-amber-500/20">
98
+ <ShieldAlert className="h-3 w-3" />
99
+ Instruct
100
+ </span>
101
+ );
102
+ }
103
+ return (
104
+ <span className="inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-emerald-500/10 text-emerald-400 border border-emerald-500/20">
105
+ <ShieldCheck className="h-3 w-3" />
106
+ Allow
107
+ </span>
108
+ );
109
+ }
110
+
111
+ function EventTypeBadge({ eventType }: { eventType: string }) {
112
+ return (
113
+ <span className="inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium bg-muted text-muted-foreground border border-border/50">
114
+ {eventType}
115
+ </span>
116
+ );
117
+ }
118
+
119
+ function ModeBadge({ mode }: { mode: string }) {
120
+ const isDefault = mode === "default";
121
+ return (
122
+ <span
123
+ className={`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium border ${
124
+ isDefault
125
+ ? "bg-sky-500/10 text-sky-400 border-sky-500/20"
126
+ : "bg-amber-500/10 text-amber-400 border-amber-500/20"
127
+ }`}
128
+ >
129
+ {mode}
130
+ </span>
131
+ );
132
+ }
133
+
134
+ function DurationDisplay({ ms }: { ms: number }) {
135
+ const color =
136
+ ms > 500
137
+ ? "text-red-400"
138
+ : ms > 100
139
+ ? "text-amber-400"
140
+ : "text-muted-foreground";
141
+ return <span className={`font-mono text-[0.7rem] ${color}`}>{formatDuration(ms)}</span>;
142
+ }
143
+
144
+ // -- Copy Button --
145
+
146
+ function CopyButton({ text }: { text: string }) {
147
+ const [copied, setCopied] = useState(false);
148
+ const handleCopy = async (e: React.MouseEvent) => {
149
+ e.stopPropagation();
150
+ try {
151
+ await navigator.clipboard.writeText(text);
152
+ setCopied(true);
153
+ setTimeout(() => setCopied(false), 1500);
154
+ } catch {
155
+ const ta = document.createElement("textarea");
156
+ ta.value = text;
157
+ ta.style.position = "fixed";
158
+ ta.style.opacity = "0";
159
+ document.body.appendChild(ta);
160
+ ta.select();
161
+ document.execCommand("copy");
162
+ document.body.removeChild(ta);
163
+ setCopied(true);
164
+ setTimeout(() => setCopied(false), 1500);
165
+ }
166
+ };
167
+ return (
168
+ <button
169
+ onClick={handleCopy}
170
+ className="inline-flex items-center justify-center h-5 w-5 rounded hover:bg-muted/50 text-muted-foreground hover:text-foreground transition-colors"
171
+ title="Copy"
172
+ >
173
+ {copied ? <Check className="h-3 w-3 text-emerald-400" /> : <Copy className="h-3 w-3" />}
174
+ </button>
175
+ );
176
+ }
177
+
178
+ // -- Decision Pill Toggle --
179
+
180
+ function DecisionPills({
181
+ value,
182
+ onChange,
183
+ }: {
184
+ value: "" | "allow" | "deny" | "instruct";
185
+ onChange: (v: "" | "allow" | "deny" | "instruct") => void;
186
+ }) {
187
+ const opts: { label: string; value: "" | "allow" | "deny" | "instruct" }[] = [
188
+ { label: "All", value: "" },
189
+ { label: "Allow", value: "allow" },
190
+ { label: "Instruct", value: "instruct" },
191
+ { label: "Deny", value: "deny" },
192
+ ];
193
+ return (
194
+ <div className="inline-flex items-center rounded-md border border-border bg-muted/30 p-0.5">
195
+ {opts.map((opt) => (
196
+ <button
197
+ key={opt.value}
198
+ onClick={() => onChange(opt.value)}
199
+ className={`px-2.5 py-1 text-[0.65rem] font-medium rounded transition-all ${
200
+ value === opt.value
201
+ ? opt.value === "deny"
202
+ ? "bg-red-500/15 text-red-400 shadow-sm"
203
+ : opt.value === "allow"
204
+ ? "bg-emerald-500/15 text-emerald-400 shadow-sm"
205
+ : opt.value === "instruct"
206
+ ? "bg-amber-500/15 text-amber-400 shadow-sm"
207
+ : "bg-background text-foreground shadow-sm"
208
+ : "text-muted-foreground hover:text-foreground"
209
+ }`}
210
+ >
211
+ {opt.label}
212
+ </button>
213
+ ))}
214
+ </div>
215
+ );
216
+ }
217
+
218
+ // -- Stats Bar --
219
+
220
+ function StatsBar({ stats }: { stats: HookActivityPayload["stats"] }) {
221
+ const denyRate = stats.totalEvents > 0 ? ((stats.denyCount / stats.totalEvents) * 100).toFixed(0) : "0";
222
+
223
+ return (
224
+ <div className="flex items-center gap-6 text-[0.7rem] text-muted-foreground">
225
+ <div>
226
+ <span className="text-foreground font-mono font-semibold">{stats.totalEvents}</span> total events
227
+ </div>
228
+ <div>
229
+ <span className={`font-mono font-semibold ${stats.denyCount > 0 ? "text-red-400" : "text-foreground"}`}>
230
+ {denyRate}%
231
+ </span>{" "}
232
+ deny rate
233
+ </div>
234
+ <div className="hidden sm:block">
235
+ top policy:{" "}
236
+ <span className="font-mono text-foreground">{stats.topPolicy ?? "\u2014"}</span>
237
+ </div>
238
+ </div>
239
+ );
240
+ }
241
+
242
+ // -- Expandable Detail Panel --
243
+
244
+ function DetailPanel({
245
+ item,
246
+ }: {
247
+ item: HookActivityPayload["entries"][number];
248
+ }) {
249
+ return (
250
+ <tr>
251
+ <td colSpan={10} className="px-0 py-0">
252
+ <div className="px-6 py-3 bg-muted/20 border-t border-border/30 space-y-2 text-xs animate-expand">
253
+ <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-1.5">
254
+ <div>
255
+ <span className="text-muted-foreground">Session ID: </span>
256
+ <span className="font-mono text-foreground">
257
+ {item.sessionId ?? "\u2014"}
258
+ </span>
259
+ {item.sessionId && <CopyButton text={item.sessionId} />}
260
+ </div>
261
+ <div>
262
+ <span className="text-muted-foreground">CWD: </span>
263
+ <span className="font-mono text-foreground">{item.cwd ?? "\u2014"}</span>
264
+ {item.cwd && <CopyButton text={item.cwd} />}
265
+ </div>
266
+ <div>
267
+ <span className="text-muted-foreground">Transcript: </span>
268
+ <span className="font-mono text-foreground break-all">
269
+ {item.transcriptPath ?? "\u2014"}
270
+ </span>
271
+ </div>
272
+ </div>
273
+ {item.reason && (
274
+ <div>
275
+ <span className="text-muted-foreground">Full reason: </span>
276
+ <span className="text-foreground">{item.reason}</span>
277
+ </div>
278
+ )}
279
+ </div>
280
+ </td>
281
+ </tr>
282
+ );
283
+ }
284
+
285
+ // -- Activity Tab --
286
+
287
+ function ActivityTab({
288
+ hooksInstalled,
289
+ onSwitchTab,
290
+ }: {
291
+ hooksInstalled?: boolean;
292
+ onSwitchTab?: (tab: "activity" | "policies") => void;
293
+ }) {
294
+ const { intervalSec } = useAutoRefresh();
295
+ const url = useUrlParams();
296
+ const mountedRef = useRef(false);
297
+
298
+ const [page, setPage] = useState(() => paramToPage(url.get("page")));
299
+ const [data, setData] = useState<HookActivityPayload | null>(null);
300
+ const [expandedRow, setExpandedRow] = useState<number | null>(null);
301
+
302
+ const [filterDecision, setFilterDecision] = useState<"" | "allow" | "deny" | "instruct">(() => {
303
+ const v = url.get("decision");
304
+ return v === "allow" || v === "deny" || v === "instruct" ? v : "";
305
+ });
306
+ const [filterEventType, setFilterEventType] = useState(() => url.get("event") ?? "");
307
+ const [filterPolicy, setFilterPolicy] = useState(() => url.get("policy") ?? "");
308
+ const [filterSessionId, setFilterSessionId] = useState(() => url.get("session") ?? "");
309
+ const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);
310
+ const filtersRef = useRef({ filterDecision, filterEventType, filterPolicy, filterSessionId });
311
+ filtersRef.current = { filterDecision, filterEventType, filterPolicy, filterSessionId };
312
+
313
+ useEffect(() => {
314
+ if (!mountedRef.current) {
315
+ mountedRef.current = true;
316
+ return;
317
+ }
318
+ url.setAll({
319
+ decision: filterDecision || undefined,
320
+ event: filterEventType || undefined,
321
+ policy: filterPolicy || undefined,
322
+ session: filterSessionId || undefined,
323
+ page: pageToParam(page),
324
+ });
325
+ // eslint-disable-next-line react-hooks/exhaustive-deps
326
+ }, [filterDecision, filterEventType, filterPolicy, filterSessionId, page]);
327
+
328
+ const hasActiveFilters = filterDecision !== "" || filterEventType !== "" || filterPolicy !== "" || filterSessionId !== "";
329
+
330
+ const fetchData = useCallback(async (p: number) => {
331
+ try {
332
+ const { filterDecision: fd, filterEventType: fe, filterPolicy: fp, filterSessionId: fs } = filtersRef.current;
333
+ const active = fd !== "" || fe !== "" || fp !== "" || fs !== "";
334
+ let result: HookActivityPayload;
335
+ if (active) {
336
+ result = await searchHookActivityAction(
337
+ {
338
+ decision: fd || undefined,
339
+ eventType: fe || undefined,
340
+ policyName: fp || undefined,
341
+ sessionId: fs || undefined,
342
+ },
343
+ p,
344
+ );
345
+ } else {
346
+ result = await getHookActivityAction(p);
347
+ }
348
+ setData(result);
349
+ } catch {
350
+ // Non-critical
351
+ }
352
+ }, []);
353
+
354
+ useEffect(() => {
355
+ fetchData(page);
356
+ const ms = intervalSec > 0 ? intervalSec * 1000 : 5000;
357
+ const id = setInterval(() => fetchData(page), ms);
358
+ return () => clearInterval(id);
359
+ }, [page, fetchData, intervalSec]);
360
+
361
+ useEffect(() => {
362
+ if (debounceRef.current) clearTimeout(debounceRef.current);
363
+ debounceRef.current = setTimeout(() => {
364
+ setPage(1);
365
+ setExpandedRow(null);
366
+ fetchData(1);
367
+ }, 300);
368
+ return () => {
369
+ if (debounceRef.current) clearTimeout(debounceRef.current);
370
+ };
371
+ // eslint-disable-next-line react-hooks/exhaustive-deps
372
+ }, [filterDecision, filterEventType, filterPolicy, filterSessionId]);
373
+
374
+ const items = data?.entries ?? [];
375
+ const totalPages = data?.totalPages ?? 1;
376
+
377
+ const toggleRow = (idx: number) => {
378
+ setExpandedRow((prev) => (prev === idx ? null : idx));
379
+ };
380
+
381
+ return (
382
+ <>
383
+ {data?.stats && data.stats.totalEvents > 0 && (
384
+ <div className="mb-4">
385
+ <StatsBar stats={data.stats} />
386
+ </div>
387
+ )}
388
+ <div className="bg-card border border-border rounded-lg overflow-hidden">
389
+ {/* Filter bar */}
390
+ <div className="flex flex-wrap items-center gap-3 px-4 py-2.5 border-b border-border bg-muted/20">
391
+ <DecisionPills value={filterDecision} onChange={setFilterDecision} />
392
+ <select
393
+ value={filterEventType}
394
+ onChange={(e) => setFilterEventType(e.target.value)}
395
+ className="h-7 rounded-md border border-border bg-background px-2 text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow"
396
+ >
397
+ <option value="">All Events</option>
398
+ <option value="PreToolUse">PreToolUse</option>
399
+ <option value="PostToolUse">PostToolUse</option>
400
+ <option value="SessionStart">SessionStart</option>
401
+ <option value="SessionEnd">SessionEnd</option>
402
+ <option value="UserPromptSubmit">UserPromptSubmit</option>
403
+ <option value="PermissionRequest">PermissionRequest</option>
404
+ </select>
405
+ <div className="relative">
406
+ <input
407
+ type="text"
408
+ value={filterPolicy}
409
+ onChange={(e) => setFilterPolicy(e.target.value)}
410
+ placeholder="Filter by policy\u2026"
411
+ className="h-7 rounded-md border border-border bg-background px-2.5 text-xs text-foreground placeholder:text-muted-foreground w-44 focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow"
412
+ />
413
+ </div>
414
+ <div className="relative">
415
+ <input
416
+ type="text"
417
+ value={filterSessionId}
418
+ onChange={(e) => setFilterSessionId(e.target.value)}
419
+ placeholder="Filter by session…"
420
+ className="h-7 rounded-md border border-border bg-background px-2.5 text-xs text-foreground placeholder:text-muted-foreground w-44 focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow"
421
+ />
422
+ </div>
423
+ </div>
424
+
425
+ {items.length === 0 ? (
426
+ <div className="flex flex-col items-center justify-center py-16 px-4 text-center">
427
+ <Shield className="h-12 w-12 text-muted-foreground/30" />
428
+ {hooksInstalled === false ? (
429
+ <>
430
+ <p className="text-sm text-muted-foreground mt-4 font-medium">Policies are not installed</p>
431
+ <p className="text-xs text-muted-foreground mt-1 max-w-sm">
432
+ Go to the{" "}
433
+ <button
434
+ className="underline hover:text-foreground transition-colors"
435
+ onClick={() => onSwitchTab?.("policies")}
436
+ >
437
+ Policies tab
438
+ </button>
439
+ {" "}and click <span className="font-mono bg-muted px-1 rounded">Install</span> to enable policy monitoring.
440
+ </p>
441
+ </>
442
+ ) : (
443
+ <p className="text-sm text-muted-foreground mt-4">
444
+ {hasActiveFilters
445
+ ? "No matching activity."
446
+ : "Waiting for hook events\u2026"}
447
+ </p>
448
+ )}
449
+ </div>
450
+ ) : (
451
+ <div className="overflow-x-auto">
452
+ <table className="w-full text-xs">
453
+ <thead>
454
+ <tr className="text-left text-muted-foreground border-b border-border bg-muted/30">
455
+ <th className="px-4 py-2.5 font-medium w-6" />
456
+ <th className="px-3 py-2.5 font-medium">Decision</th>
457
+ <th className="px-3 py-2.5 font-medium">Event</th>
458
+ <th className="px-3 py-2.5 font-medium">Tool</th>
459
+ <th className="px-3 py-2.5 font-medium">Policy</th>
460
+ <th className="px-3 py-2.5 font-medium">Reason</th>
461
+ <th className="px-3 py-2.5 font-medium">Duration</th>
462
+ <th className="px-3 py-2.5 font-medium">Session</th>
463
+ <th className="px-3 py-2.5 font-medium">Mode</th>
464
+ <th className="px-3 py-2.5 font-medium text-right">Time</th>
465
+ </tr>
466
+ </thead>
467
+ <tbody className="divide-y divide-border/30">
468
+ {items.map((item, i) => {
469
+ const isDeny = item.decision === "deny";
470
+ const isExpanded = expandedRow === i;
471
+ const isInstruct = item.decision === "instruct";
472
+ return (
473
+ <React.Fragment key={`${item.timestamp}-${i}`}>
474
+ <tr
475
+ onClick={() => toggleRow(i)}
476
+ className={`cursor-pointer transition-colors ${
477
+ isDeny
478
+ ? "bg-red-500/[0.03] hover:bg-red-500/[0.07] border-l-2 border-l-red-500/40"
479
+ : isInstruct
480
+ ? "bg-amber-500/[0.03] hover:bg-amber-500/[0.07] border-l-2 border-l-amber-500/40"
481
+ : i % 2 === 0
482
+ ? "hover:bg-muted/30"
483
+ : "bg-muted/[0.04] hover:bg-muted/30"
484
+ } ${isExpanded ? "bg-muted/20" : ""}`}
485
+ >
486
+ <td className="px-4 py-2">
487
+ <ChevronDown
488
+ className={`h-3.5 w-3.5 text-muted-foreground transition-transform duration-150 ${
489
+ isExpanded ? "rotate-0" : "-rotate-90"
490
+ }`}
491
+ />
492
+ </td>
493
+ <td className="px-3 py-2">
494
+ <DecisionBadge decision={item.decision} />
495
+ </td>
496
+ <td className="px-3 py-2">
497
+ <EventTypeBadge eventType={item.eventType} />
498
+ </td>
499
+ <td className="px-3 py-2 font-mono text-foreground">
500
+ {item.toolName ?? "\u2014"}
501
+ </td>
502
+ <td className="px-3 py-2 font-mono text-foreground">
503
+ {item.policyName ?? "\u2014"}
504
+ </td>
505
+ <td
506
+ className="px-3 py-2 text-muted-foreground truncate max-w-[240px]"
507
+ title={item.reason ?? ""}
508
+ >
509
+ {item.reason ?? "\u2014"}
510
+ </td>
511
+ <td className="px-3 py-2">
512
+ <DurationDisplay ms={item.durationMs} />
513
+ </td>
514
+ <td className="px-3 py-2" title={item.sessionId ?? ""}>
515
+ <SessionCell sessionId={item.sessionId} transcriptPath={item.transcriptPath} />
516
+ </td>
517
+ <td className="px-3 py-2">
518
+ {item.permissionMode ? (
519
+ <ModeBadge mode={item.permissionMode} />
520
+ ) : (
521
+ "\u2014"
522
+ )}
523
+ </td>
524
+ <td
525
+ className="px-3 py-2 text-right text-muted-foreground whitespace-nowrap"
526
+ title={formatAbsoluteTime(item.timestamp)}
527
+ >
528
+ {formatRelativeTime(item.timestamp)}
529
+ </td>
530
+ </tr>
531
+ {isExpanded && <DetailPanel item={item} />}
532
+ </React.Fragment>
533
+ );
534
+ })}
535
+ </tbody>
536
+ </table>
537
+ </div>
538
+ )}
539
+ <PaginationControls
540
+ currentPage={page}
541
+ totalPages={totalPages}
542
+ onPageChange={(p) => {
543
+ setPage(p);
544
+ setExpandedRow(null);
545
+ }}
546
+ />
547
+ </div>
548
+ </>
549
+ );
550
+ }
551
+
552
+ // -- Policies Tab --
553
+
554
+ function PolicyToggle({
555
+ enabled,
556
+ onChange,
557
+ disabled,
558
+ }: {
559
+ enabled: boolean;
560
+ onChange: () => void;
561
+ disabled?: boolean;
562
+ }) {
563
+ return (
564
+ <button
565
+ onClick={onChange}
566
+ disabled={disabled}
567
+ className={`relative inline-flex h-4 w-7 shrink-0 items-center rounded-full transition-colors disabled:opacity-40 ${
568
+ enabled ? "bg-emerald-500" : "bg-muted-foreground/30"
569
+ }`}
570
+ aria-label={enabled ? "Disable policy" : "Enable policy"}
571
+ >
572
+ <span
573
+ className={`inline-block h-3 w-3 rounded-full bg-white shadow transition-transform ${
574
+ enabled ? "translate-x-3.5" : "translate-x-0.5"
575
+ }`}
576
+ />
577
+ </button>
578
+ );
579
+ }
580
+
581
+ // -- Policy Config Modal --
582
+
583
+ function PolicyConfigModal({
584
+ policy,
585
+ onClose,
586
+ onSave,
587
+ }: {
588
+ policy: PolicyInfo;
589
+ onClose: () => void;
590
+ onSave: (params: Record<string, unknown>) => void;
591
+ }) {
592
+ const params = policy.params ?? {};
593
+ const current = policy.currentParams ?? {};
594
+
595
+ // Initialize state for each param
596
+ const [values, setValues] = useState<Record<string, unknown>>(() => {
597
+ const init: Record<string, unknown> = {};
598
+ for (const [key, spec] of Object.entries(params)) {
599
+ const stored = key in current ? current[key] : spec.default;
600
+ init[key] = stored;
601
+ }
602
+ return init;
603
+ });
604
+
605
+ useEffect(() => {
606
+ const handleKey = (e: KeyboardEvent) => { if (e.key === "Escape") onClose(); };
607
+ document.addEventListener("keydown", handleKey);
608
+ return () => document.removeEventListener("keydown", handleKey);
609
+ }, [onClose]);
610
+
611
+ const updateValue = (key: string, val: unknown) => {
612
+ setValues((prev) => ({ ...prev, [key]: val }));
613
+ };
614
+
615
+ const renderInput = (key: string, spec: { type: string; description: string; default: unknown }) => {
616
+ const val = values[key];
617
+
618
+ if (spec.type === "boolean") {
619
+ return (
620
+ <label className="flex items-center gap-2 cursor-pointer">
621
+ <input
622
+ type="checkbox"
623
+ checked={!!val}
624
+ onChange={(e) => updateValue(key, e.target.checked)}
625
+ className="rounded border-border"
626
+ />
627
+ <span className="text-xs text-muted-foreground">{spec.description}</span>
628
+ </label>
629
+ );
630
+ }
631
+
632
+ if (spec.type === "number") {
633
+ return (
634
+ <input
635
+ type="number"
636
+ value={typeof val === "number" ? val : ""}
637
+ onChange={(e) => updateValue(key, Number(e.target.value))}
638
+ className="w-full h-7 rounded border border-border bg-background px-2 text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-primary/40"
639
+ />
640
+ );
641
+ }
642
+
643
+ if (spec.type === "string[]") {
644
+ const lines = Array.isArray(val) ? (val as string[]).join("\n") : "";
645
+ return (
646
+ <textarea
647
+ value={lines}
648
+ onChange={(e) => updateValue(key, e.target.value.split("\n").filter((l) => l.trim() !== ""))}
649
+ rows={4}
650
+ placeholder={"One entry per line"}
651
+ className="w-full rounded border border-border bg-background px-2 py-1.5 text-xs text-foreground font-mono focus:outline-none focus:ring-2 focus:ring-primary/40 resize-y"
652
+ />
653
+ );
654
+ }
655
+
656
+ if (spec.type === "pattern[]") {
657
+ const patterns = Array.isArray(val) ? (val as { regex: string; label: string }[]) : [];
658
+ return (
659
+ <div className="space-y-1.5">
660
+ {patterns.map((p, i) => (
661
+ <div key={i} className="flex gap-1.5 items-center">
662
+ <input
663
+ type="text"
664
+ value={p.regex}
665
+ onChange={(e) => {
666
+ const next = [...patterns];
667
+ next[i] = { ...next[i], regex: e.target.value };
668
+ updateValue(key, next);
669
+ }}
670
+ placeholder="regex"
671
+ className="flex-1 h-6 rounded border border-border bg-background px-2 text-xs font-mono focus:outline-none focus:ring-2 focus:ring-primary/40"
672
+ />
673
+ <input
674
+ type="text"
675
+ value={p.label}
676
+ onChange={(e) => {
677
+ const next = [...patterns];
678
+ next[i] = { ...next[i], label: e.target.value };
679
+ updateValue(key, next);
680
+ }}
681
+ placeholder="label"
682
+ className="flex-1 h-6 rounded border border-border bg-background px-2 text-xs focus:outline-none focus:ring-2 focus:ring-primary/40"
683
+ />
684
+ <button
685
+ onClick={() => updateValue(key, patterns.filter((_, j) => j !== i))}
686
+ className="text-muted-foreground/50 hover:text-destructive transition-colors"
687
+ >
688
+ <X className="h-3.5 w-3.5" />
689
+ </button>
690
+ </div>
691
+ ))}
692
+ <button
693
+ onClick={() => updateValue(key, [...patterns, { regex: "", label: "" }])}
694
+ className="text-xs text-primary hover:underline"
695
+ >
696
+ + Add pattern
697
+ </button>
698
+ </div>
699
+ );
700
+ }
701
+
702
+ // Default: string
703
+ return (
704
+ <input
705
+ type="text"
706
+ value={typeof val === "string" ? val : ""}
707
+ onChange={(e) => updateValue(key, e.target.value)}
708
+ className="w-full h-7 rounded border border-border bg-background px-2 text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-primary/40"
709
+ />
710
+ );
711
+ };
712
+
713
+ return (
714
+ <div
715
+ className="fixed inset-0 z-50 flex items-center justify-center bg-black/50"
716
+ onClick={(e) => { if (e.target === e.currentTarget) onClose(); }}
717
+ >
718
+ <div className="bg-card border border-border rounded-lg shadow-xl w-full max-w-lg mx-4 max-h-[80vh] flex flex-col">
719
+ {/* Header */}
720
+ <div className="flex items-center justify-between px-4 py-3 border-b border-border">
721
+ <div>
722
+ <p className="text-sm font-mono font-semibold text-foreground">{policy.name}</p>
723
+ <p className="text-xs text-muted-foreground mt-0.5">{policy.description}</p>
724
+ </div>
725
+ <button onClick={onClose} className="text-muted-foreground hover:text-foreground transition-colors">
726
+ <X className="h-4 w-4" />
727
+ </button>
728
+ </div>
729
+ {/* Params */}
730
+ <div className="overflow-y-auto flex-1 px-4 py-4 space-y-4">
731
+ {Object.entries(params).map(([key, spec]) => (
732
+ <div key={key}>
733
+ <label className="block text-xs font-semibold text-foreground mb-1 font-mono">{key}</label>
734
+ <p className="text-[0.65rem] text-muted-foreground mb-1.5">{spec.description}</p>
735
+ {renderInput(key, spec)}
736
+ </div>
737
+ ))}
738
+ </div>
739
+ {/* Footer */}
740
+ <div className="flex items-center justify-end gap-2 px-4 py-3 border-t border-border">
741
+ <Button variant="outline" size="sm" onClick={onClose} className="h-7 text-xs">
742
+ Cancel
743
+ </Button>
744
+ <Button size="sm" onClick={() => onSave(values)} className="h-7 text-xs">
745
+ Save
746
+ </Button>
747
+ </div>
748
+ </div>
749
+ </div>
750
+ );
751
+ }
752
+
753
+ function formatParamValue(type: string, value: unknown): string {
754
+ if (type === "string[]" || type === "pattern[]") {
755
+ const arr = Array.isArray(value) ? value : [];
756
+ if (arr.length === 0) return "none";
757
+ if (type === "pattern[]") return `${arr.length} pattern${arr.length !== 1 ? "s" : ""}`;
758
+ if (arr.length === 1) return String(arr[0]).slice(0, 24);
759
+ return `${arr.length} values`;
760
+ }
761
+ if (type === "boolean") return value ? "on" : "off";
762
+ if (value === null || value === undefined || value === "") return "—";
763
+ return String(value).slice(0, 32);
764
+ }
765
+
766
+ function ErrorToast({
767
+ message,
768
+ onDismiss,
769
+ onInstall,
770
+ isPending,
771
+ }: {
772
+ message: string;
773
+ onDismiss: () => void;
774
+ onInstall: () => void;
775
+ isPending: boolean;
776
+ }) {
777
+ return createPortal(
778
+ <div
779
+ className="fixed top-4 right-4 z-[9999] w-full max-w-sm"
780
+ style={{ animation: "slideInFromRight 0.25s ease-out" }}
781
+ >
782
+ <style>{`
783
+ @keyframes slideInFromRight {
784
+ from { transform: translateX(calc(100% + 1rem)); opacity: 0; }
785
+ to { transform: translateX(0); opacity: 1; }
786
+ }
787
+ `}</style>
788
+ <div className="rounded-lg border border-red-500/40 bg-red-950/95 shadow-2xl shadow-red-900/40 overflow-hidden backdrop-blur-sm">
789
+ {/* Top accent bar */}
790
+ <div className="h-0.5 w-full bg-gradient-to-r from-red-600 via-red-400 to-red-600" />
791
+ <div className="p-4">
792
+ <div className="flex items-start gap-3">
793
+ {/* Error icon */}
794
+ <div className="shrink-0 mt-0.5 flex h-5 w-5 items-center justify-center rounded-full bg-red-500 ring-2 ring-red-500/30">
795
+ <X className="h-3 w-3 text-white" strokeWidth={3} />
796
+ </div>
797
+ <div className="flex-1 min-w-0">
798
+ <p className="text-[0.65rem] font-bold uppercase tracking-widest text-red-400 mb-0.5">
799
+ Error
800
+ </p>
801
+ <p className="text-sm text-red-100 leading-snug">{message}</p>
802
+ </div>
803
+ <button
804
+ onClick={onDismiss}
805
+ className="shrink-0 -mt-0.5 -mr-0.5 rounded p-0.5 text-red-400/60 transition-colors hover:bg-red-500/20 hover:text-red-200"
806
+ aria-label="Dismiss"
807
+ >
808
+ <X className="h-4 w-4" />
809
+ </button>
810
+ </div>
811
+ <div className="mt-3 flex gap-2">
812
+ <Button
813
+ size="sm"
814
+ onClick={() => { onDismiss(); onInstall(); }}
815
+ disabled={isPending}
816
+ className="h-7 flex-1 border-0 bg-red-500 px-3 text-xs font-semibold text-white hover:bg-red-400 disabled:opacity-50"
817
+ >
818
+ Install hooks
819
+ </Button>
820
+ <Button
821
+ variant="ghost"
822
+ size="sm"
823
+ onClick={onDismiss}
824
+ className="h-7 px-3 text-xs text-red-400 hover:bg-red-500/10 hover:text-red-200"
825
+ >
826
+ Dismiss
827
+ </Button>
828
+ </div>
829
+ </div>
830
+ </div>
831
+ </div>,
832
+ document.body,
833
+ );
834
+ }
835
+
836
+ function PoliciesTab({ onHooksInstallChange }: { onHooksInstallChange?: (installed: boolean) => void }) {
837
+ const [config, setConfig] = useState<HooksConfigPayload | null>(null);
838
+ const [isPending, startTransition] = useTransition();
839
+ const [actionError, setActionError] = useState<string | null>(null);
840
+ const [hooksWarning, setHooksWarning] = useState<string | null>(null);
841
+ const [configuringPolicy, setConfiguringPolicy] = useState<PolicyInfo | null>(null);
842
+
843
+ const reload = useCallback(async () => {
844
+ try {
845
+ const data = await getHooksConfigAction();
846
+ setConfig(data);
847
+ onHooksInstallChange?.(data.installedScopes.length > 0);
848
+ } catch {
849
+ // Non-critical
850
+ }
851
+ }, [onHooksInstallChange]);
852
+
853
+ // eslint-disable-next-line react-hooks/set-state-in-effect
854
+ useEffect(() => { reload(); }, [reload]);
855
+
856
+ const handleToggle = (name: string, currentlyEnabled: boolean) => {
857
+ if (!config) return;
858
+ const installed = config.installedScopes.length > 0;
859
+ if (!installed) {
860
+ setHooksWarning("Policies are not installed. Install policies to continue.");
861
+ return;
862
+ }
863
+ setHooksWarning(null);
864
+ // Optimistic update
865
+ setConfig((prev) => {
866
+ if (!prev) return prev;
867
+ return {
868
+ ...prev,
869
+ policies: prev.policies.map((p) =>
870
+ p.name === name ? { ...p, enabled: !currentlyEnabled } : p,
871
+ ),
872
+ enabledPolicies: currentlyEnabled
873
+ ? prev.enabledPolicies.filter((n) => n !== name)
874
+ : [...prev.enabledPolicies, name],
875
+ };
876
+ });
877
+ startTransition(async () => {
878
+ try {
879
+ await togglePolicyAction(name, !currentlyEnabled);
880
+ } catch {
881
+ setActionError("Failed to save policy change.");
882
+ reload();
883
+ }
884
+ });
885
+ };
886
+
887
+ const handleInstall = () => {
888
+ startTransition(async () => {
889
+ try {
890
+ setActionError(null);
891
+ await installHooksWebAction("user");
892
+ await reload();
893
+ } catch (e) {
894
+ setActionError(e instanceof Error ? e.message : "Failed to install hooks.");
895
+ }
896
+ });
897
+ };
898
+
899
+ const handleRemove = () => {
900
+ startTransition(async () => {
901
+ try {
902
+ setActionError(null);
903
+ await removeHooksWebAction("user");
904
+ await reload();
905
+ } catch (e) {
906
+ setActionError(e instanceof Error ? e.message : "Failed to remove hooks.");
907
+ }
908
+ });
909
+ };
910
+
911
+ const handleSaveParams = (params: Record<string, unknown>) => {
912
+ if (!configuringPolicy) return;
913
+ const policyName = configuringPolicy.name;
914
+ setConfiguringPolicy(null);
915
+ startTransition(async () => {
916
+ try {
917
+ setActionError(null);
918
+ await updatePolicyParamsAction(policyName, params);
919
+ await reload();
920
+ } catch (e) {
921
+ setActionError(e instanceof Error ? e.message : "Failed to save configuration.");
922
+ }
923
+ });
924
+ };
925
+
926
+ if (!config) {
927
+ return (
928
+ <div className="flex items-center justify-center py-16">
929
+ <span className="text-sm text-muted-foreground">Loading\u2026</span>
930
+ </div>
931
+ );
932
+ }
933
+
934
+ const installed = config.installedScopes.length > 0;
935
+
936
+ // Group policies by category
937
+ const categories = Array.from(new Set(config.policies.map((p) => p.category)));
938
+
939
+ return (
940
+ <>
941
+ {configuringPolicy && (
942
+ <PolicyConfigModal
943
+ policy={configuringPolicy}
944
+ onClose={() => setConfiguringPolicy(null)}
945
+ onSave={handleSaveParams}
946
+ />
947
+ )}
948
+ <div className="bg-card border border-border rounded-lg overflow-hidden">
949
+ {/* Install status banner */}
950
+ <div className="flex items-center justify-between px-4 py-3 border-b border-border bg-muted/10">
951
+ <div className="flex items-center gap-2.5">
952
+ <span
953
+ className={`h-2 w-2 rounded-full shrink-0 ${installed ? "bg-emerald-500" : "bg-muted-foreground/50"}`}
954
+ />
955
+ <span className="text-sm text-foreground">
956
+ {installed ? "Policies installed" : "Policies not installed"}
957
+ </span>
958
+ {installed && (
959
+ <span className="text-xs text-muted-foreground font-mono hidden sm:inline">
960
+ · {config.installedScopes.join(", ")} scope · {config.settingsPath}
961
+ </span>
962
+ )}
963
+ </div>
964
+ <div className="flex items-center gap-2 shrink-0">
965
+ {installed && (
966
+ <Button
967
+ variant="outline"
968
+ size="sm"
969
+ onClick={handleRemove}
970
+ disabled={isPending}
971
+ className="text-xs h-7 px-3"
972
+ >
973
+ Remove
974
+ </Button>
975
+ )}
976
+ <Button
977
+ variant={installed ? "outline" : "default"}
978
+ size="sm"
979
+ onClick={handleInstall}
980
+ disabled={isPending}
981
+ className="text-xs h-7 px-3"
982
+ >
983
+ {installed ? "Reinstall" : "Install policies"}
984
+ </Button>
985
+ </div>
986
+ </div>
987
+
988
+ {/* Policy summary */}
989
+ <div className="flex items-center gap-2 px-4 py-2 border-b border-border/40 bg-muted/5">
990
+ <span className="text-xs text-muted-foreground">
991
+ <span className="font-semibold text-foreground">{config.enabledPolicies.length}</span>
992
+ {" / "}
993
+ {config.policies.length + (config.customPolicies?.length ?? 0)}{" "}
994
+ policies enabled
995
+ </span>
996
+ {installed && (
997
+ <span className="text-[0.65rem] text-muted-foreground/60">
998
+ · active in {config.installedScopes.join(", ")} scope
999
+ </span>
1000
+ )}
1001
+ </div>
1002
+
1003
+ {actionError && (
1004
+ <div className="px-4 py-2 bg-red-500/10 border-b border-red-500/20 text-xs text-red-400">
1005
+ {actionError}
1006
+ </div>
1007
+ )}
1008
+ {hooksWarning && (
1009
+ <ErrorToast
1010
+ message={hooksWarning}
1011
+ onDismiss={() => setHooksWarning(null)}
1012
+ onInstall={handleInstall}
1013
+ isPending={isPending}
1014
+ />
1015
+ )}
1016
+
1017
+ {/* Policy categories */}
1018
+ {categories.map((category) => {
1019
+ const policies = config.policies.filter((p) => p.category === category);
1020
+ const enabledCount = policies.filter((p) => p.enabled).length;
1021
+ return (
1022
+ <div key={category}>
1023
+ {/* Category header */}
1024
+ <div className="flex items-center justify-between px-4 py-2.5 bg-muted/20 border-b border-border/50">
1025
+ <span className="text-[0.7rem] font-semibold uppercase tracking-wider text-muted-foreground">
1026
+ {category}
1027
+ </span>
1028
+ <span className="text-[0.7rem] text-muted-foreground">
1029
+ {enabledCount} / {policies.length} enabled
1030
+ </span>
1031
+ </div>
1032
+ {/* Policy rows */}
1033
+ {policies.map((policy) => (
1034
+ <div
1035
+ key={policy.name}
1036
+ className="flex items-start gap-3 px-4 py-3 border-b border-border/20 hover:bg-muted/20 transition-colors"
1037
+ >
1038
+ <div className="mt-0.5 shrink-0">
1039
+ <PolicyToggle
1040
+ enabled={policy.enabled}
1041
+ onChange={() => handleToggle(policy.name, policy.enabled)}
1042
+ disabled={isPending}
1043
+ />
1044
+ </div>
1045
+ <div className="flex items-center gap-1.5 min-w-0 w-56 shrink-0 mt-0.5">
1046
+ <span className="text-xs font-mono text-foreground truncate">{policy.name}</span>
1047
+ {policy.beta && (
1048
+ <span className="shrink-0 text-[0.6rem] px-1 py-0.5 rounded border bg-violet-500/10 text-violet-400 border-violet-500/20">
1049
+ beta
1050
+ </span>
1051
+ )}
1052
+ </div>
1053
+ <div className="flex-1 min-w-0">
1054
+ <span className="text-xs text-muted-foreground leading-relaxed">
1055
+ {policy.description}
1056
+ </span>
1057
+ {policy.eventScope && (
1058
+ <span className="block text-[0.65rem] text-muted-foreground/40 font-mono mt-0.5 hidden lg:block">
1059
+ {policy.eventScope}
1060
+ </span>
1061
+ )}
1062
+ {policy.params && Object.keys(policy.params).length > 0 && (
1063
+ <div className="flex flex-wrap gap-1 mt-1.5">
1064
+ {Object.entries(policy.params).map(([key, spec]) => {
1065
+ const currentVal = policy.currentParams?.[key] ?? spec.default;
1066
+ const isCustomized = JSON.stringify(currentVal) !== JSON.stringify(spec.default);
1067
+ return (
1068
+ <span
1069
+ key={key}
1070
+ className={`inline-flex items-center gap-1 font-mono text-[0.6rem] px-1.5 py-0.5 rounded border ${
1071
+ isCustomized
1072
+ ? "bg-primary/10 text-primary/70 border-primary/20"
1073
+ : "bg-muted/40 text-muted-foreground/55 border-border/40"
1074
+ }`}
1075
+ >
1076
+ <span className="opacity-70">{key}:</span>
1077
+ <span>{formatParamValue(spec.type, currentVal)}</span>
1078
+ </span>
1079
+ );
1080
+ })}
1081
+ </div>
1082
+ )}
1083
+ </div>
1084
+ {policy.params && Object.keys(policy.params).length > 0 && (
1085
+ <button
1086
+ className="shrink-0 mt-0.5 text-muted-foreground hover:text-primary transition-colors"
1087
+ onClick={() => setConfiguringPolicy(policy)}
1088
+ title="Edit parameters"
1089
+ >
1090
+ <Settings className="h-3.5 w-3.5" />
1091
+ </button>
1092
+ )}
1093
+ </div>
1094
+ ))}
1095
+ </div>
1096
+ );
1097
+ })}
1098
+
1099
+ {/* Custom policies section */}
1100
+ {config.customHooksPath && (
1101
+ <div>
1102
+ {/* Section header — matches category header style */}
1103
+ <div className="flex items-center justify-between px-4 py-2.5 bg-muted/20 border-b border-border/50">
1104
+ <span className="text-[0.7rem] font-semibold uppercase tracking-wider text-muted-foreground">
1105
+ Custom Policies
1106
+ </span>
1107
+ <span className="text-[0.7rem] text-muted-foreground">
1108
+ {config.customPolicies?.length ?? 0} detected
1109
+ </span>
1110
+ </div>
1111
+ {/* File path row */}
1112
+ <div className="flex items-center gap-3 px-4 py-3 border-b border-border/20">
1113
+ <Code className="h-3.5 w-3.5 text-muted-foreground shrink-0" />
1114
+ <span className="text-xs font-mono text-muted-foreground truncate">{config.customHooksPath}</span>
1115
+ </div>
1116
+ {/* Reconfigure notice */}
1117
+ <div className="flex items-start gap-2 px-4 py-2.5 border-b border-border/20 bg-muted/10">
1118
+ <Shield className="h-3.5 w-3.5 text-muted-foreground/60 shrink-0 mt-0.5" />
1119
+ <p className="text-[0.7rem] text-muted-foreground/70 leading-relaxed">
1120
+ Custom policies are always active. To add, remove, or reorder them, edit the JS file above.
1121
+ </p>
1122
+ </div>
1123
+ {/* Rich policy rows — mirrors built-in layout without toggle */}
1124
+ {config.customPolicies?.map((policy) => (
1125
+ <div
1126
+ key={policy.name}
1127
+ className="flex items-start gap-3 px-4 py-3 border-b border-border/20 hover:bg-muted/20 transition-colors"
1128
+ >
1129
+ {/* Invisible spacer matching PolicyToggle dimensions (h-4 w-7) */}
1130
+ <div className="h-4 w-7 shrink-0 mt-0.5" />
1131
+ <div className="flex items-center gap-1.5 min-w-0 w-56 shrink-0 mt-0.5">
1132
+ <span className="text-xs font-mono text-foreground truncate">{policy.name}</span>
1133
+ </div>
1134
+ <div className="flex-1 min-w-0">
1135
+ {policy.description && (
1136
+ <span className="text-xs text-muted-foreground leading-relaxed">
1137
+ {policy.description}
1138
+ </span>
1139
+ )}
1140
+ {policy.eventScope && (
1141
+ <span className="block text-[0.65rem] text-muted-foreground/40 font-mono mt-0.5 hidden lg:block">
1142
+ {policy.eventScope}
1143
+ </span>
1144
+ )}
1145
+ </div>
1146
+ </div>
1147
+ ))}
1148
+ </div>
1149
+ )}
1150
+ </div>
1151
+ </>
1152
+ );
1153
+ }
1154
+
1155
+ // -- Tab Bar --
1156
+
1157
+ function TabBar({
1158
+ activeTab,
1159
+ onChange,
1160
+ }: {
1161
+ activeTab: "activity" | "policies";
1162
+ onChange: (tab: "activity" | "policies") => void;
1163
+ }) {
1164
+ const tabs: { id: "activity" | "policies"; label: string }[] = [
1165
+ { id: "activity", label: "Activity" },
1166
+ { id: "policies", label: "Configure" },
1167
+ ];
1168
+ return (
1169
+ <div className="inline-flex items-center rounded-md border border-border bg-muted/30 p-0.5 mb-5">
1170
+ {tabs.map((tab) => (
1171
+ <button
1172
+ key={tab.id}
1173
+ onClick={() => onChange(tab.id)}
1174
+ className={`px-3 py-1.5 text-xs font-medium rounded transition-all ${
1175
+ activeTab === tab.id
1176
+ ? "bg-background text-foreground shadow-sm"
1177
+ : "text-muted-foreground hover:text-foreground"
1178
+ }`}
1179
+ >
1180
+ {tab.label}
1181
+ </button>
1182
+ ))}
1183
+ </div>
1184
+ );
1185
+ }
1186
+
1187
+ // -- Main Component --
1188
+
1189
+ export default function HooksClient({ initialTab = "activity" }: { initialTab?: "activity" | "policies" }) {
1190
+ const url = useUrlParams();
1191
+ const [activeTab, setActiveTab] = useState<"activity" | "policies">(initialTab);
1192
+ const [hooksInstalled, setHooksInstalled] = useState<boolean | undefined>(undefined);
1193
+ const [policyCounts, setPolicyCounts] = useState<{ enabled: number; total: number } | null>(null);
1194
+
1195
+ useEffect(() => {
1196
+ getHooksConfigAction()
1197
+ .then((cfg) => {
1198
+ setHooksInstalled(cfg.installedScopes.length > 0);
1199
+ setPolicyCounts({
1200
+ enabled: cfg.enabledPolicies.length,
1201
+ total: cfg.policies.length + (cfg.customPolicies?.length ?? 0),
1202
+ });
1203
+ })
1204
+ .catch(() => setHooksInstalled(undefined));
1205
+ }, []);
1206
+
1207
+ const handleTabChange = (tab: "activity" | "policies") => {
1208
+ setActiveTab(tab);
1209
+ url.setAll({ tab: tab === "activity" ? undefined : tab });
1210
+ };
1211
+
1212
+ return (
1213
+ <div className="min-h-screen bg-background px-4 py-6 sm:px-6 lg:px-10">
1214
+ {/* Header */}
1215
+ <div className="mb-6">
1216
+ <Link
1217
+ href="/projects"
1218
+ className="inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors"
1219
+ >
1220
+ <ArrowLeft className="h-3.5 w-3.5" />
1221
+ Back
1222
+ </Link>
1223
+ <div className="flex items-center gap-3 mt-3">
1224
+ <h1 className="text-2xl font-bold text-foreground tracking-tight">
1225
+ Policies
1226
+ </h1>
1227
+ {activeTab === "activity" && (
1228
+ <span className="relative flex h-2.5 w-2.5 mt-0.5">
1229
+ <span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-emerald-400 opacity-75" />
1230
+ <span className="relative inline-flex rounded-full h-2.5 w-2.5 bg-emerald-500" />
1231
+ </span>
1232
+ )}
1233
+ </div>
1234
+ <p className="text-sm text-muted-foreground mt-1">
1235
+ {activeTab === "activity" ? (
1236
+ <>
1237
+ Policy evaluations for Claude
1238
+ {policyCounts && (
1239
+ <span className="text-muted-foreground/60">
1240
+ {" · "}enabled policies{" "}
1241
+ <span className="font-mono text-foreground/70">{policyCounts.enabled}/{policyCounts.total}</span>
1242
+ </span>
1243
+ )}
1244
+ <span className="block text-xs text-muted-foreground/50 mt-0.5">
1245
+ To configure policies,{" "}
1246
+ <button
1247
+ className="underline underline-offset-2 hover:text-foreground transition-colors"
1248
+ onClick={() => handleTabChange("policies")}
1249
+ >
1250
+ go here
1251
+ </button>
1252
+ </span>
1253
+ </>
1254
+ ) : (
1255
+ "Configure Policies"
1256
+ )}
1257
+ </p>
1258
+ </div>
1259
+
1260
+ <TabBar activeTab={activeTab} onChange={handleTabChange} />
1261
+
1262
+ {activeTab === "activity" ? (
1263
+ <ActivityTab hooksInstalled={hooksInstalled} onSwitchTab={handleTabChange} />
1264
+ ) : (
1265
+ <PoliciesTab onHooksInstallChange={setHooksInstalled} />
1266
+ )}
1267
+ </div>
1268
+ );
1269
+ }