@sifxprime/krouter 0.5.166 → 0.5.168

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 (865) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +15 -15
  3. package/app/.next-cli-build/build-manifest.json +5 -5
  4. package/app/.next-cli-build/prerender-manifest.json +29 -29
  5. package/app/.next-cli-build/react-loadable-manifest.json +2 -2
  6. package/app/.next-cli-build/required-server-files.json +16 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/_global-error/page.js +1 -1
  58. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  60. package/app/.next-cli-build/server/app/_global-error.rsc +15 -11
  61. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +15 -11
  62. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -16
  63. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +3 -1
  64. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  65. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  67. package/app/.next-cli-build/server/app/_not-found.rsc +26 -16
  68. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +26 -16
  69. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +32 -22
  70. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -1
  71. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  72. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  73. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  74. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  75. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  76. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  78. package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
  79. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +6 -6
  80. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  81. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  82. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  83. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +3 -3
  84. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  86. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  87. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  88. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  89. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  90. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  91. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +4 -4
  92. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  93. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  94. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  95. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  96. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/import/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/mitm/cert/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/models/live/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/models/live-by-connection/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/models/preview/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/providers/health/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/providers/zenith/log/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/providers/zenith/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  160. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  162. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  163. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  164. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  166. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  167. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  168. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  169. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/settings/environment/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/settings/presidio/route.js +3 -3
  172. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  179. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  190. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +2 -2
  201. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/v1/search/route.js +2 -2
  214. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  224. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  225. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  226. package/app/.next-cli-build/server/app/callback.html +1 -1
  227. package/app/.next-cli-build/server/app/callback.rsc +29 -18
  228. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +29 -18
  229. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -1
  230. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +37 -26
  231. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  232. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +31 -18
  233. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +38 -26
  234. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +31 -18
  235. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +5 -1
  236. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  237. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +34 -19
  238. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +40 -27
  239. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +34 -19
  240. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +5 -1
  241. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  242. package/app/.next-cli-build/server/app/dashboard/combos.rsc +35 -21
  243. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +42 -30
  244. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +35 -21
  245. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +5 -1
  246. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  247. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +33 -19
  248. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +39 -27
  249. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +33 -19
  250. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +5 -1
  251. package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
  252. package/app/.next-cli-build/server/app/dashboard/environment.rsc +34 -21
  253. package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +41 -30
  254. package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +34 -21
  255. package/app/.next-cli-build/server/app/dashboard/environment.segments/_tree.segment.rsc +5 -1
  256. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  257. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +36 -23
  258. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +44 -32
  259. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +36 -23
  260. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +6 -1
  261. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  262. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +33 -18
  263. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +40 -26
  264. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +33 -18
  265. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +5 -1
  266. package/app/.next-cli-build/server/app/dashboard/presidio.html +1 -1
  267. package/app/.next-cli-build/server/app/dashboard/presidio.rsc +34 -21
  268. package/app/.next-cli-build/server/app/dashboard/presidio.segments/!KGRhc2hib2FyZCk/dashboard/presidio/__PAGE__.segment.rsc +41 -30
  269. package/app/.next-cli-build/server/app/dashboard/presidio.segments/_full.segment.rsc +34 -21
  270. package/app/.next-cli-build/server/app/dashboard/presidio.segments/_tree.segment.rsc +5 -1
  271. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  272. package/app/.next-cli-build/server/app/dashboard/profile.rsc +34 -21
  273. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +41 -30
  274. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +34 -21
  275. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +5 -1
  276. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  277. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +35 -23
  278. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +44 -32
  279. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +35 -23
  280. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +6 -1
  281. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  282. package/app/.next-cli-build/server/app/dashboard/providers.rsc +34 -21
  283. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +41 -30
  284. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +34 -21
  285. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +5 -1
  286. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +34 -21
  288. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +41 -30
  289. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +34 -21
  290. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +5 -1
  291. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  292. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +31 -18
  293. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +38 -26
  294. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +31 -18
  295. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +5 -1
  296. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  297. package/app/.next-cli-build/server/app/dashboard/quota.rsc +32 -19
  298. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +39 -28
  299. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +32 -19
  300. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +5 -1
  301. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  302. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  303. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +31 -18
  305. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +31 -18
  306. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +5 -1
  307. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +40 -27
  308. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  309. package/app/.next-cli-build/server/app/dashboard/skills.rsc +34 -21
  310. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +41 -30
  311. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +34 -21
  312. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +5 -1
  313. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +31 -18
  315. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +38 -26
  316. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +31 -18
  317. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +5 -1
  318. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  319. package/app/.next-cli-build/server/app/dashboard/translator.rsc +34 -21
  320. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +41 -30
  321. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +34 -21
  322. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +5 -1
  323. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/usage.rsc +34 -21
  325. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +41 -30
  326. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +34 -21
  327. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +5 -1
  328. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  329. package/app/.next-cli-build/server/app/dashboard.rsc +32 -19
  330. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +38 -25
  331. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +32 -19
  332. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -1
  333. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  334. package/app/.next-cli-build/server/app/index.html +1 -1
  335. package/app/.next-cli-build/server/app/index.rsc +24 -15
  336. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +29 -20
  337. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +24 -15
  338. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -1
  339. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  340. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  341. package/app/.next-cli-build/server/app/landing.html +1 -1
  342. package/app/.next-cli-build/server/app/landing.rsc +30 -18
  343. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +30 -18
  344. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -1
  345. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +38 -26
  346. package/app/.next-cli-build/server/app/login/page.js +1 -1
  347. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  348. package/app/.next-cli-build/server/app/login.html +1 -1
  349. package/app/.next-cli-build/server/app/login.rsc +29 -18
  350. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +29 -18
  351. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +3 -1
  352. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +37 -26
  353. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  354. package/app/.next-cli-build/server/app/page.js +1 -1
  355. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  356. package/app/.next-cli-build/server/app-paths-manifest.json +15 -15
  357. package/app/.next-cli-build/server/chunks/1220.js +3 -3
  358. package/app/.next-cli-build/server/chunks/1344.js +2 -2
  359. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  360. package/app/.next-cli-build/server/chunks/1450.js +1 -1
  361. package/app/.next-cli-build/server/chunks/1738.js +1 -1
  362. package/app/.next-cli-build/server/chunks/1813.js +23 -1
  363. package/app/.next-cli-build/server/chunks/2430.js +215 -31
  364. package/app/.next-cli-build/server/chunks/2722.js +6 -6
  365. package/app/.next-cli-build/server/chunks/2750.js +1 -1
  366. package/app/.next-cli-build/server/chunks/2970.js +163 -23
  367. package/app/.next-cli-build/server/chunks/3120.js +2 -2
  368. package/app/.next-cli-build/server/chunks/369.js +5 -5
  369. package/app/.next-cli-build/server/chunks/412.js +1 -1
  370. package/app/.next-cli-build/server/chunks/4161.js +1 -1
  371. package/app/.next-cli-build/server/chunks/4177.js +1 -1
  372. package/app/.next-cli-build/server/chunks/4306.js +1 -1
  373. package/app/.next-cli-build/server/chunks/4315.js +1 -1
  374. package/app/.next-cli-build/server/chunks/4380.js +1 -1
  375. package/app/.next-cli-build/server/chunks/4730.js +2 -2
  376. package/app/.next-cli-build/server/chunks/4884.js +4 -4
  377. package/app/.next-cli-build/server/chunks/523.js +1 -1
  378. package/app/.next-cli-build/server/chunks/5330.js +4 -4
  379. package/app/.next-cli-build/server/chunks/5433.js +1 -1
  380. package/app/.next-cli-build/server/chunks/5470.js +3 -3
  381. package/app/.next-cli-build/server/chunks/5573.js +1 -1
  382. package/app/.next-cli-build/server/chunks/5718.js +1 -1
  383. package/app/.next-cli-build/server/chunks/595.js +1 -1
  384. package/app/.next-cli-build/server/chunks/6182.js +2 -2
  385. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  386. package/app/.next-cli-build/server/chunks/7774.js +13 -13
  387. package/app/.next-cli-build/server/chunks/7833.js +1 -1
  388. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  389. package/app/.next-cli-build/server/chunks/8895.js +1 -1
  390. package/app/.next-cli-build/server/chunks/8962.js +1 -1
  391. package/app/.next-cli-build/server/chunks/9055.js +2 -2
  392. package/app/.next-cli-build/server/chunks/9958.js +1 -1
  393. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  394. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  395. package/app/.next-cli-build/server/middleware.js +186 -24
  396. package/app/.next-cli-build/server/pages/404.html +1 -1
  397. package/app/.next-cli-build/server/pages/500.html +1 -1
  398. package/app/.next-cli-build/server/preview-props.json +5 -0
  399. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  400. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  401. package/app/.next-cli-build/static/chunks/1321-91a272a5139df5f2.js +1 -0
  402. package/app/.next-cli-build/static/chunks/3794-39f2d5bb0d40336b.js +52 -0
  403. package/app/.next-cli-build/static/chunks/4bd1b696-8cd12253b448cc13.js +1 -0
  404. package/app/.next-cli-build/static/chunks/5353-0085e26d68aca1f0.js +1 -0
  405. package/app/.next-cli-build/static/chunks/{5497-1af4fbf829c885c4.js → 5497-ff8c2e5da835ea40.js} +1 -1
  406. package/app/.next-cli-build/static/chunks/5772-9e7c7f235304c527.js +3 -0
  407. package/app/.next-cli-build/static/chunks/6069-31c2febe26d36d92.js +73 -0
  408. package/app/.next-cli-build/static/chunks/{6357.aa5754cdb37976a7.js → 6357.5f2532e76bf2cc51.js} +1 -1
  409. package/app/.next-cli-build/static/chunks/7504-5249aa88b6205df1.js +64 -0
  410. package/app/.next-cli-build/static/chunks/8202.69dace5daa86686d.js +1 -0
  411. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-8a99890727166f8a.js +1 -0
  412. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ce0c6b650a822e25.js +1 -0
  413. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-589743e8ea1d9673.js +11 -0
  414. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-eacf2780757238ff.js +1 -0
  415. package/app/.next-cli-build/static/chunks/main-00cd8c01f6f6e461.js +5 -0
  416. package/app/.next-cli-build/static/chunks/{webpack-53609978799ebbca.js → webpack-cc312041cf710f25.js} +1 -1
  417. package/app/cli/package.json +1 -1
  418. package/app/node_modules/@next/env/package.json +1 -1
  419. package/app/node_modules/nanoid/package.json +3 -3
  420. package/app/node_modules/next/dist/build/analysis/get-page-static-info.js +58 -76
  421. package/app/node_modules/next/dist/build/babel/loader/get-config.js +7 -16
  422. package/app/node_modules/next/dist/build/babel/plugins/next-font-unsupported.js +1 -5
  423. package/app/node_modules/next/dist/build/babel/plugins/next-page-config.js +5 -25
  424. package/app/node_modules/next/dist/build/babel/plugins/next-page-disallow-re-export-all-exports.js +1 -5
  425. package/app/node_modules/next/dist/build/babel/plugins/next-ssg-transform.js +4 -20
  426. package/app/node_modules/next/dist/build/browser-variant-modules.js +1 -0
  427. package/app/node_modules/next/dist/build/create-compiler-aliases.js +19 -11
  428. package/app/node_modules/next/dist/build/define-env.js +12 -18
  429. package/app/node_modules/next/dist/build/entries.js +132 -8
  430. package/app/node_modules/next/dist/build/get-babel-loader-config.js +10 -10
  431. package/app/node_modules/next/dist/build/get-convention-file-base-name.js +29 -0
  432. package/app/node_modules/next/dist/build/get-static-info-including-layouts.js +0 -1
  433. package/app/node_modules/next/dist/build/handle-externals.js +1 -5
  434. package/app/node_modules/next/dist/build/load-jsconfig.js +1 -5
  435. package/app/node_modules/next/dist/build/lockfile.js +1 -5
  436. package/app/node_modules/next/dist/build/next-config-ts/transpile-config.js +1 -5
  437. package/app/node_modules/next/dist/build/nft.js +119 -0
  438. package/app/node_modules/next/dist/build/normalize-catchall-routes.js +18 -66
  439. package/app/node_modules/next/dist/build/print-build-errors.js +57 -7
  440. package/app/node_modules/next/dist/build/route-discovery.js +32 -4
  441. package/app/node_modules/next/dist/build/segment-config/app/app-segment-config.js +19 -5
  442. package/app/node_modules/next/dist/build/segment-config/app/app-segments.js +120 -29
  443. package/app/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +1 -5
  444. package/app/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +8 -2
  445. package/app/node_modules/next/dist/build/static-paths/app.js +230 -133
  446. package/app/node_modules/next/dist/build/static-paths/pages.js +8 -40
  447. package/app/node_modules/next/dist/build/static-paths/param-matching.js +200 -0
  448. package/app/node_modules/next/dist/build/swc/index.js +92 -162
  449. package/app/node_modules/next/dist/build/utils.js +180 -90
  450. package/app/node_modules/next/dist/build/webpack/cache-invalidation.js +1 -5
  451. package/app/node_modules/next/dist/build/webpack/config/blocks/css/plugins.js +7 -35
  452. package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/CssSyntaxError.js +0 -5
  453. package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/camelcase.js +1 -5
  454. package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js +5 -25
  455. package/app/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-import-parser.js +4 -20
  456. package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/index.js +3 -16
  457. package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/interface.js +0 -1
  458. package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +2 -10
  459. package/app/node_modules/next/dist/build/webpack/loaders/next-flight-css-loader.js +1 -5
  460. package/app/node_modules/next/dist/build/webpack/loaders/next-flight-loader/index.js +3 -15
  461. package/app/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js +3 -15
  462. package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Error.js +0 -5
  463. package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Warning.js +0 -5
  464. package/app/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js +2 -10
  465. package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js +2 -6
  466. package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/file-protocol.js +2 -10
  467. package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/join-function.js +1 -5
  468. package/app/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/postcss.js +1 -5
  469. package/app/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin.js +1 -5
  470. package/app/node_modules/next/dist/build/webpack/plugins/deferred-entries-plugin.js +9 -0
  471. package/app/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.js +2 -6
  472. package/app/node_modules/next/dist/build/webpack/plugins/middleware-plugin.js +1 -5
  473. package/app/node_modules/next/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +2 -10
  474. package/app/node_modules/next/dist/build/webpack/plugins/next-types-plugin/index.js +3 -1
  475. package/app/node_modules/next/dist/build/webpack/plugins/slow-module-detection-plugin.js +3 -15
  476. package/app/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.js +1 -5
  477. package/app/node_modules/next/dist/build/webpack-config.js +16 -33
  478. package/app/node_modules/next/dist/cli/next-test.js +4 -0
  479. package/app/node_modules/next/dist/client/app-call-server.js +16 -18
  480. package/app/node_modules/next/dist/client/components/app-router-instance.js +43 -187
  481. package/app/node_modules/next/dist/client/components/{segment-cache/navigation.js → app-router-state.js} +88 -334
  482. package/app/node_modules/next/dist/client/components/app-router-utils.js +1 -5
  483. package/app/node_modules/next/dist/client/components/app-router.js +83 -74
  484. package/app/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +1 -5
  485. package/app/node_modules/next/dist/client/components/forbidden.js +2 -10
  486. package/app/node_modules/next/dist/client/components/handle-isr-error.js +19 -4
  487. package/app/node_modules/next/dist/client/components/instant-samples.js +4 -11
  488. package/app/node_modules/next/dist/client/components/links.js +6 -7
  489. package/app/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +3 -3
  490. package/app/node_modules/next/dist/client/components/navigation-untracked.js +1 -2
  491. package/app/node_modules/next/dist/client/components/navigation.js +2 -6
  492. package/app/node_modules/next/dist/client/components/navigation.react-server.js +1 -5
  493. package/app/node_modules/next/dist/client/components/navigator.js +73 -0
  494. package/app/node_modules/next/dist/client/components/not-found.js +1 -5
  495. package/app/node_modules/next/dist/client/components/prefetch.js +83 -0
  496. package/app/node_modules/next/dist/client/components/readonly-url-search-params.js +0 -5
  497. package/app/node_modules/next/dist/client/components/redirect.js +3 -15
  498. package/app/node_modules/next/dist/client/components/{router-reducer/ppr-navigations.js → render-tree.js} +365 -400
  499. package/app/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +13 -5
  500. package/app/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +67 -54
  501. package/app/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +1 -7
  502. package/app/node_modules/next/dist/client/components/router-reducer/create-segment-key.js +42 -0
  503. package/app/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +71 -50
  504. package/app/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +4 -4
  505. package/app/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +2 -2
  506. package/app/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +5 -5
  507. package/app/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +11 -8
  508. package/app/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +12 -9
  509. package/app/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +30 -29
  510. package/app/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +5 -5
  511. package/app/node_modules/next/dist/client/components/router-reducer/router-reducer.js +2 -10
  512. package/app/node_modules/next/dist/client/components/segment-cache/bfcache.js +11 -21
  513. package/app/node_modules/next/dist/client/components/segment-cache/cache.js +1168 -1181
  514. package/app/node_modules/next/dist/client/components/segment-cache/decode-server-response.js +419 -0
  515. package/app/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +1 -1
  516. package/app/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +77 -82
  517. package/app/node_modules/next/dist/client/components/segment-cache/scheduler.js +464 -425
  518. package/app/node_modules/next/dist/client/components/segment-cache/types.js +12 -3
  519. package/app/node_modules/next/dist/client/components/segment-cache/vary-path.js +140 -126
  520. package/app/node_modules/next/dist/client/components/sequential-router-queue.js +163 -0
  521. package/app/node_modules/next/dist/client/components/unauthorized.js +2 -10
  522. package/app/node_modules/next/dist/client/components/unstable-rethrow.js +1 -2
  523. package/app/node_modules/next/dist/client/components/use-action-queue.js +2 -10
  524. package/app/node_modules/next/dist/client/dev/debug-channel.js +6 -323
  525. package/app/node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js +49 -31
  526. package/app/node_modules/next/dist/client/dev/hot-reloader/app/web-socket.js +14 -21
  527. package/app/node_modules/next/dist/client/dev/hot-reloader/pages/hot-reloader-pages.js +15 -6
  528. package/app/node_modules/next/dist/client/dev/hot-reloader/runtime-error-state.js +72 -0
  529. package/app/node_modules/next/dist/client/flight-data-helpers.js +41 -94
  530. package/app/node_modules/next/dist/client/route-loader.js +6 -30
  531. package/app/node_modules/next/dist/client/route-params.js +34 -12
  532. package/app/node_modules/next/dist/client/router.js +2 -10
  533. package/app/node_modules/next/dist/client/sequential-call-server.js +45 -0
  534. package/app/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -1
  535. package/app/node_modules/next/dist/compiled/next-devtools/index.js +279 -229
  536. package/app/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +203 -59
  537. package/app/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +203 -59
  538. package/app/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +203 -59
  539. package/app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +203 -59
  540. package/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +5 -3
  541. package/app/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +13 -13
  542. package/app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +13 -13
  543. package/app/node_modules/next/dist/compiled/react-is/package.json +1 -1
  544. package/app/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -1
  545. package/app/node_modules/next/dist/compiled/unistore/unistore.js +1 -1
  546. package/app/node_modules/next/dist/experimental/testmode/fetch.js +2 -10
  547. package/app/node_modules/next/dist/export/helpers/create-incremental-cache.js +21 -16
  548. package/app/node_modules/next/dist/export/utils.js +21 -8
  549. package/app/node_modules/next/dist/lib/batcher.js +2 -2
  550. package/app/node_modules/next/dist/lib/dist-dir.js +88 -0
  551. package/app/node_modules/next/dist/lib/download-swc.js +2 -10
  552. package/app/node_modules/next/dist/lib/fallback.js +3 -15
  553. package/app/node_modules/next/dist/lib/find-pages-dir.js +2 -10
  554. package/app/node_modules/next/dist/lib/helpers/get-cache-directory.js +1 -5
  555. package/app/node_modules/next/dist/lib/helpers/get-registry.js +1 -5
  556. package/app/node_modules/next/dist/lib/is-error.js +3 -15
  557. package/app/node_modules/next/dist/lib/is-serializable-props.js +6 -35
  558. package/app/node_modules/next/dist/lib/patch-incorrect-lockfile.js +4 -8
  559. package/app/node_modules/next/dist/lib/picocolors.js +10 -0
  560. package/app/node_modules/next/dist/lib/recursive-delete.js +50 -11
  561. package/app/node_modules/next/dist/lib/resolve-from.js +2 -10
  562. package/app/node_modules/next/dist/lib/static-env.js +1 -5
  563. package/app/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +3 -15
  564. package/app/node_modules/next/dist/lib/typescript/missingDependencyError.js +1 -5
  565. package/app/node_modules/next/dist/lib/typescript/runTypeCheck.js +1 -9
  566. package/app/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +0 -1
  567. package/app/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +4 -16
  568. package/app/node_modules/next/dist/lib/verify-partytown-setup.js +1 -5
  569. package/app/node_modules/next/dist/lib/warn-missing-react-dependencies.js +33 -0
  570. package/app/node_modules/next/dist/next-devtools/server/attach-nodejs-debugger-middleware.js +1 -5
  571. package/app/node_modules/next/dist/next-devtools/server/shared.js +3 -2
  572. package/app/node_modules/next/dist/next-devtools/shared/console-error.js +1 -5
  573. package/app/node_modules/next/dist/next-devtools/userspace/app/errors/replay-ssr-only-errors.js +1 -5
  574. package/app/node_modules/next/dist/next-devtools/userspace/app/errors/runtime-error-metadata.js +39 -0
  575. package/app/node_modules/next/dist/next-devtools/userspace/app/errors/stitched-error.js +1 -5
  576. package/app/node_modules/next/dist/next-devtools/userspace/app/errors/use-error-handler.js +48 -19
  577. package/app/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js +1 -5
  578. package/app/node_modules/next/dist/server/accept-header.js +3 -15
  579. package/app/node_modules/next/dist/server/after/after-context.js +5 -25
  580. package/app/node_modules/next/dist/server/after/awaiter.js +1 -5
  581. package/app/node_modules/next/dist/server/after/run-with-after.js +2 -2
  582. package/app/node_modules/next/dist/server/api-utils/index.js +1 -10
  583. package/app/node_modules/next/dist/server/api-utils/node/parse-body.js +3 -15
  584. package/app/node_modules/next/dist/server/app-render/action-async-storage-instance.js +1 -1
  585. package/app/node_modules/next/dist/server/app-render/action-handler.js +104 -141
  586. package/app/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +1 -1
  587. package/app/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +6 -30
  588. package/app/node_modules/next/dist/server/app-render/app-render-render-utils.js +1 -5
  589. package/app/node_modules/next/dist/server/app-render/app-render-scheduling.js +3 -15
  590. package/app/node_modules/next/dist/server/app-render/app-render.js +1346 -1211
  591. package/app/node_modules/next/dist/server/app-render/async-local-storage.js +11 -6
  592. package/app/node_modules/next/dist/server/app-render/blocking-route-messages.js +119 -70
  593. package/app/node_modules/next/dist/server/app-render/cache-signal.js +61 -35
  594. package/app/node_modules/next/dist/server/app-render/console-async-storage-instance.js +1 -1
  595. package/app/node_modules/next/dist/server/app-render/create-component-tree.js +136 -160
  596. package/app/node_modules/next/dist/server/app-render/create-error-handler.js +12 -6
  597. package/app/node_modules/next/dist/server/app-render/create-transport-tree-from-loader-tree.js +190 -0
  598. package/app/node_modules/next/dist/server/app-render/debug-channel-server.web.js +1 -5
  599. package/app/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +4 -5
  600. package/app/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +3 -1
  601. package/app/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +1 -1
  602. package/app/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +26 -3
  603. package/app/node_modules/next/dist/server/app-render/dynamic-rendering-client.js +124 -0
  604. package/app/node_modules/next/dist/server/app-render/dynamic-rendering.js +260 -329
  605. package/app/node_modules/next/dist/server/app-render/encryption-utils.js +1 -5
  606. package/app/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +2 -2
  607. package/app/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +4 -12
  608. package/app/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +13 -62
  609. package/app/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +2 -10
  610. package/app/node_modules/next/dist/server/app-render/manifests-singleton.js +110 -38
  611. package/app/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +1 -1
  612. package/app/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +3 -15
  613. package/app/node_modules/next/dist/server/app-render/postponed-state.js +87 -51
  614. package/app/node_modules/next/dist/server/app-render/prospective-render-utils.js +2 -6
  615. package/app/node_modules/next/dist/server/app-render/render-in-browser.js +27 -0
  616. package/app/node_modules/next/dist/server/app-render/required-scripts.js +1 -5
  617. package/app/node_modules/next/dist/server/app-render/segment-config/ensure-static.js +206 -0
  618. package/app/node_modules/next/dist/server/app-render/staged-rendering.js +46 -54
  619. package/app/node_modules/next/dist/server/app-render/stream-ops.node.js +18 -12
  620. package/app/node_modules/next/dist/server/app-render/stream-ops.web.js +4 -20
  621. package/app/node_modules/next/dist/server/app-render/sync-io-messages.js +2 -10
  622. package/app/node_modules/next/dist/server/app-render/types.js +2 -1
  623. package/app/node_modules/next/dist/server/app-render/use-flight-response.js +4 -17
  624. package/app/node_modules/next/dist/server/app-render/vary-params.js +12 -11
  625. package/app/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +95 -97
  626. package/app/node_modules/next/dist/server/app-render/work-async-storage-instance.js +1 -1
  627. package/app/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +1 -1
  628. package/app/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +36 -26
  629. package/app/node_modules/next/dist/server/async-storage/draft-mode-provider.js +1 -5
  630. package/app/node_modules/next/dist/server/async-storage/request-store.js +6 -5
  631. package/app/node_modules/next/dist/server/async-storage/work-store.js +24 -26
  632. package/app/node_modules/next/dist/server/base-http/node.js +1 -5
  633. package/app/node_modules/next/dist/server/base-server.js +346 -155
  634. package/app/node_modules/next/dist/server/client-component-renderer-logger.js +129 -28
  635. package/app/node_modules/next/dist/server/config-schema.js +61 -9
  636. package/app/node_modules/next/dist/server/config-shared.js +26 -4
  637. package/app/node_modules/next/dist/server/config.js +154 -332
  638. package/app/node_modules/next/dist/server/dev/debug-channel.js +1 -5
  639. package/app/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +1 -0
  640. package/app/node_modules/next/dist/server/dev/get-source-map-from-file.js +5 -25
  641. package/app/node_modules/next/dist/server/dev/hot-middleware.js +27 -1
  642. package/app/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +338 -200
  643. package/app/node_modules/next/dist/server/dev/hot-reloader-types.js +3 -0
  644. package/app/node_modules/next/dist/server/dev/hot-reloader-webpack.js +26 -20
  645. package/app/node_modules/next/dist/server/dev/messages.js +2 -10
  646. package/app/node_modules/next/dist/server/dev/middleware-turbopack.js +4 -20
  647. package/app/node_modules/next/dist/server/dev/middleware-webpack.js +2 -10
  648. package/app/node_modules/next/dist/server/dev/next-dev-server.js +33 -95
  649. package/app/node_modules/next/dist/server/dev/node-stack-frames.js +2 -19
  650. package/app/node_modules/next/dist/server/dev/on-demand-entry-handler.js +12 -12
  651. package/app/node_modules/next/dist/server/dev/runtime-error-state.js +220 -0
  652. package/app/node_modules/next/dist/server/dev/serialized-errors.js +1 -5
  653. package/app/node_modules/next/dist/server/dev/static-paths-worker.js +16 -15
  654. package/app/node_modules/next/dist/server/dev/turbopack-utils.js +20 -36
  655. package/app/node_modules/next/dist/server/dev/use-cache-probe-pool.js +1 -0
  656. package/app/node_modules/next/dist/server/dynamic-rendering-utils.js +298 -55
  657. package/app/node_modules/next/dist/server/image-optimizer/detect-content-type.js +229 -0
  658. package/app/node_modules/next/dist/server/image-optimizer/extract-etag.js +53 -0
  659. package/app/node_modules/next/dist/server/image-optimizer/get-image-size.js +25 -0
  660. package/app/node_modules/next/dist/server/image-optimizer/get-max-age.js +41 -0
  661. package/app/node_modules/next/dist/server/image-optimizer/get-previously-cached-image-or-null.js +22 -0
  662. package/app/node_modules/next/dist/server/image-optimizer/image-error.js +23 -0
  663. package/app/node_modules/next/dist/server/image-optimizer/image-type.js +86 -0
  664. package/app/node_modules/next/dist/server/image-optimizer/transform.js +227 -0
  665. package/app/node_modules/next/dist/server/image-optimizer.js +78 -674
  666. package/app/node_modules/next/dist/server/lib/app-info-log.js +19 -9
  667. package/app/node_modules/next/dist/server/lib/cache-handlers/default.js +9 -13
  668. package/app/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +1 -5
  669. package/app/node_modules/next/dist/server/lib/dedupe-fetch.js +1 -5
  670. package/app/node_modules/next/dist/server/lib/dev-bundler-service.js +6 -6
  671. package/app/node_modules/next/dist/server/lib/generate-agent-files.js +158 -35
  672. package/app/node_modules/next/dist/server/lib/i18n-provider.js +1 -5
  673. package/app/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +14 -20
  674. package/app/node_modules/next/dist/server/lib/incremental-cache/index.js +19 -29
  675. package/app/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +1 -5
  676. package/app/node_modules/next/dist/server/lib/lru-cache.js +1 -5
  677. package/app/node_modules/next/dist/server/lib/mock-request.js +24 -120
  678. package/app/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +1 -5
  679. package/app/node_modules/next/dist/server/lib/patch-fetch.js +44 -38
  680. package/app/node_modules/next/dist/server/lib/postponed-request-body.js +1 -5
  681. package/app/node_modules/next/dist/server/lib/render-server.js +2 -10
  682. package/app/node_modules/next/dist/server/lib/router-server.js +106 -36
  683. package/app/node_modules/next/dist/server/lib/router-utils/build-data-route.js +26 -3
  684. package/app/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +14 -45
  685. package/app/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +1 -5
  686. package/app/node_modules/next/dist/server/lib/router-utils/filesystem.js +212 -31
  687. package/app/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +61 -1
  688. package/app/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +1 -5
  689. package/app/node_modules/next/dist/server/lib/router-utils/normalize-catchall-routes.js +320 -0
  690. package/app/node_modules/next/dist/server/lib/router-utils/proxy-request.js +2 -2
  691. package/app/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +17 -11
  692. package/app/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js +258 -76
  693. package/app/node_modules/next/dist/server/lib/router-utils/strict-route-matching-config.js +28 -0
  694. package/app/node_modules/next/dist/server/lib/router-utils/typegen.js +56 -10
  695. package/app/node_modules/next/dist/server/lib/start-server.js +48 -38
  696. package/app/node_modules/next/dist/server/lib/trace/constants.js +40 -0
  697. package/app/node_modules/next/dist/server/lib/trace/request-insights-identity.js +1 -3
  698. package/app/node_modules/next/dist/server/lib/trace/tracer.js +10 -10
  699. package/app/node_modules/next/dist/server/lib/utils.js +66 -15
  700. package/app/node_modules/next/dist/server/load-components.js +7 -2
  701. package/app/node_modules/next/dist/server/load-manifest.external.js +16 -17
  702. package/app/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +2 -10
  703. package/app/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +5 -5
  704. package/app/node_modules/next/dist/server/next-server.js +130 -124
  705. package/app/node_modules/next/dist/server/next.js +25 -37
  706. package/app/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +1 -2
  707. package/app/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +115 -62
  708. package/app/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +1 -5
  709. package/app/node_modules/next/dist/server/node-environment-extensions/io-utils.js +11 -10
  710. package/app/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +0 -9
  711. package/app/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +1 -12
  712. package/app/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +1 -1
  713. package/app/node_modules/next/dist/server/normalizers/request/base-path.js +1 -5
  714. package/app/node_modules/next/dist/server/normalizers/request/next-data.js +1 -5
  715. package/app/node_modules/next/dist/server/normalizers/request/prefix.js +1 -5
  716. package/app/node_modules/next/dist/server/patch-error-inspect.js +19 -11
  717. package/app/node_modules/next/dist/server/pipe-readable.js +42 -30
  718. package/app/node_modules/next/dist/server/render-result.js +5 -17
  719. package/app/node_modules/next/dist/server/render.js +37 -183
  720. package/app/node_modules/next/dist/server/request/fallback-params.js +23 -9
  721. package/app/node_modules/next/dist/server/response-cache/index.js +54 -32
  722. package/app/node_modules/next/dist/server/response-cache/utils.js +1 -5
  723. package/app/node_modules/next/dist/server/resume-data-cache/cache-store.js +18 -0
  724. package/app/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +51 -49
  725. package/app/node_modules/next/dist/server/revalidation-utils.js +15 -13
  726. package/app/node_modules/next/dist/server/route-modules/app-page/dev-render-context.js +23 -0
  727. package/app/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +5 -4
  728. package/app/node_modules/next/dist/server/route-modules/app-page/module.js +13 -1
  729. package/app/node_modules/next/dist/server/route-modules/app-page/module.render.js +26 -11
  730. package/app/node_modules/next/dist/server/route-modules/app-page/parse-request-headers.js +58 -0
  731. package/app/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +1 -5
  732. package/app/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +1 -5
  733. package/app/node_modules/next/dist/server/route-modules/pages/module.render.js +1 -5
  734. package/app/node_modules/next/dist/server/route-modules/pages/pages-handler.js +20 -16
  735. package/app/node_modules/next/dist/server/route-modules/route-module.js +57 -61
  736. package/app/node_modules/next/dist/server/serve-static.js +1 -5
  737. package/app/node_modules/next/dist/server/setup-http-agent-env.js +1 -5
  738. package/app/node_modules/next/dist/server/stream-utils/encoded-tags.js +1 -1
  739. package/app/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +7 -11
  740. package/app/node_modules/next/dist/server/typescript/constant.js +2 -0
  741. package/app/node_modules/next/dist/server/typescript/rules/config.js +29 -2
  742. package/app/node_modules/next/dist/server/use-cache/cache-life-profile.js +6 -30
  743. package/app/node_modules/next/dist/server/use-cache/constants.js +1 -5
  744. package/app/node_modules/next/dist/server/use-cache/handlers.js +27 -36
  745. package/app/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +6 -4
  746. package/app/node_modules/next/dist/server/web/adapter.js +14 -35
  747. package/app/node_modules/next/dist/server/web/error.js +0 -15
  748. package/app/node_modules/next/dist/server/web/globals.js +3 -15
  749. package/app/node_modules/next/dist/server/web/next-url.js +1 -5
  750. package/app/node_modules/next/dist/server/web/sandbox/context.js +10 -34
  751. package/app/node_modules/next/dist/server/web/sandbox/sandbox.js +1 -5
  752. package/app/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +0 -5
  753. package/app/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +1 -5
  754. package/app/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +0 -5
  755. package/app/node_modules/next/dist/server/web/spec-extension/fetch-event.js +2 -10
  756. package/app/node_modules/next/dist/server/web/spec-extension/response.js +2 -10
  757. package/app/node_modules/next/dist/server/web/utils.js +1 -5
  758. package/app/node_modules/next/dist/server/web/web-on-close.js +2 -10
  759. package/app/node_modules/next/dist/shared/lib/app-router-types.js +38 -28
  760. package/app/node_modules/next/dist/shared/lib/constants.js +5 -0
  761. package/app/node_modules/next/dist/shared/lib/deployment-id.js +1 -1
  762. package/app/node_modules/next/dist/shared/lib/errors/code-frame.js +3 -2
  763. package/app/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +1 -5
  764. package/app/node_modules/next/dist/shared/lib/errors/ensure-static-gsp-errors.js +30 -0
  765. package/app/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +0 -5
  766. package/app/node_modules/next/dist/shared/lib/errors/incompatible-parallel-route-slots-error.js +36 -0
  767. package/app/node_modules/next/dist/shared/lib/errors/missing-canonical-interception-routes-error.js +20 -0
  768. package/app/node_modules/next/dist/shared/lib/errors/unmatched-app-pages-error.js +20 -0
  769. package/app/node_modules/next/dist/shared/lib/get-rspack.js +1 -5
  770. package/app/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +1 -5
  771. package/app/node_modules/next/dist/shared/lib/image-config.js +52 -1
  772. package/app/node_modules/next/dist/shared/lib/instant-messages.js +2 -10
  773. package/app/node_modules/next/dist/shared/lib/invariant-error.js +0 -5
  774. package/app/node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js +45 -0
  775. package/app/node_modules/next/dist/shared/lib/magic-identifier.js +5 -25
  776. package/app/node_modules/next/dist/shared/lib/match-remote-pattern.js +1 -5
  777. package/app/node_modules/next/dist/shared/lib/router/router.js +95 -77
  778. package/app/node_modules/next/dist/shared/lib/router/routes/app.js +3 -15
  779. package/app/node_modules/next/dist/shared/lib/router/utils/app-paths.js +6 -1
  780. package/app/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +4 -12
  781. package/app/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +63 -20
  782. package/app/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +1 -5
  783. package/app/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +1 -5
  784. package/app/node_modules/next/dist/shared/lib/router/utils/querystring.js +31 -0
  785. package/app/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +1 -5
  786. package/app/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +1 -5
  787. package/app/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +11 -55
  788. package/app/node_modules/next/dist/shared/lib/rsc-transport.js +108 -0
  789. package/app/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +0 -13
  790. package/app/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +48 -27
  791. package/app/node_modules/next/dist/shared/lib/segment.js +1 -13
  792. package/app/node_modules/next/dist/shared/lib/turbopack/compilation-events.js +7 -7
  793. package/app/node_modules/next/dist/shared/lib/turbopack/internal-error.js +2 -7
  794. package/app/node_modules/next/dist/shared/lib/turbopack/manifest-loader.js +2 -6
  795. package/app/node_modules/next/dist/shared/lib/turbopack/utils.js +3 -11
  796. package/app/node_modules/next/dist/shared/lib/utils.js +2 -11
  797. package/app/node_modules/next/dist/shared/lib/zod.js +2 -6
  798. package/app/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  799. package/app/node_modules/next/dist/telemetry/detached-flush.js +8 -15
  800. package/app/node_modules/next/dist/telemetry/events/build.js +1 -2
  801. package/app/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  802. package/app/node_modules/next/dist/telemetry/events/version.js +2 -2
  803. package/app/node_modules/next/dist/telemetry/post-telemetry-payload.js +1 -5
  804. package/app/node_modules/next/dist/telemetry/storage.js +31 -19
  805. package/app/node_modules/next/dist/trace/report/index.js +5 -2
  806. package/app/node_modules/next/dist/trace/report/to-json-build.js +4 -2
  807. package/app/node_modules/next/dist/trace/report/to-json.js +141 -97
  808. package/app/node_modules/next/dist/trace/trace.js +14 -9
  809. package/app/node_modules/next/package.json +12 -11
  810. package/app/package.json +4 -4
  811. package/app/server.js +1 -1
  812. package/app/src/mitm/server.js +43 -39
  813. package/package.json +1 -1
  814. package/app/.next-cli-build/static/chunks/1321-c5b3011761e0228b.js +0 -1
  815. package/app/.next-cli-build/static/chunks/3794-83acfce05009cf38.js +0 -52
  816. package/app/.next-cli-build/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +0 -1
  817. package/app/.next-cli-build/static/chunks/5353-d31cc8d476bc534e.js +0 -1
  818. package/app/.next-cli-build/static/chunks/5772-6cf78180ecf9dce0.js +0 -3
  819. package/app/.next-cli-build/static/chunks/6069-7e7f824c6e2d4291.js +0 -73
  820. package/app/.next-cli-build/static/chunks/7504-6f7ca1eab428dd5e.js +0 -64
  821. package/app/.next-cli-build/static/chunks/8202.1ffc6ce531e066ce.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-90b9aed7279ea50e.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-eaf6e24edeca4e51.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-2f53d5dd5b247cf1.js +0 -11
  825. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-bbc10fd10f7af626.js +0 -1
  826. package/app/.next-cli-build/static/chunks/main-1eaba0b776683ce7.js +0 -5
  827. package/app/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/minify.js +0 -94
  828. package/app/node_modules/next/dist/client/components/match-segments.js +0 -32
  829. package/app/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +0 -63
  830. package/app/node_modules/next/dist/client/components/segment-cache/prefetch.js +0 -32
  831. package/app/node_modules/next/dist/compiled/webpack-sources3/index.js +0 -1
  832. package/app/node_modules/next/dist/compiled/webpack-sources3/package.json +0 -1
  833. package/app/node_modules/next/dist/lib/detached-promise.js +0 -32
  834. package/app/node_modules/next/dist/lib/error-telemetry-utils.js +0 -42
  835. package/app/node_modules/next/dist/next-devtools/server/get-next-error-feedback-middleware.js +0 -42
  836. package/app/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +0 -154
  837. package/app/node_modules/next/dist/server/lib/experimental/ppr.js +0 -47
  838. package/app/node_modules/next/dist/server/lib/params-utils.js +0 -70
  839. package/app/node_modules/next/dist/server/lib/router-utils/is-postpone.js +0 -16
  840. package/app/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +0 -239
  841. package/app/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +0 -120
  842. package/app/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +0 -55
  843. package/app/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +0 -43
  844. package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +0 -91
  845. package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +0 -112
  846. package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +0 -77
  847. package/app/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +0 -77
  848. package/app/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +0 -28
  849. package/app/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +0 -106
  850. package/app/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +0 -42
  851. package/app/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +0 -30
  852. package/app/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +0 -34
  853. package/app/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +0 -20
  854. package/app/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +0 -21
  855. package/app/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +0 -55
  856. package/app/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +0 -64
  857. package/app/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +0 -18
  858. package/app/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +0 -15
  859. package/app/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +0 -68
  860. package/app/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +0 -30
  861. package/app/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +0 -30
  862. package/app/node_modules/next/dist/server/route-matchers/route-matcher.js +0 -54
  863. package/app/node_modules/next/dist/telemetry/events/error-feedback.js +0 -31
  864. /package/app/.next-cli-build/static/{i0cMBMqFdYWpbajovDyfY → em-yyr0O7qRIA9N8Clc4I}/_buildManifest.js +0 -0
  865. /package/app/.next-cli-build/static/{i0cMBMqFdYWpbajovDyfY → em-yyr0O7qRIA9N8Clc4I}/_ssgManifest.js +0 -0
@@ -1,25 +1,35 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[90484,[],"OutletBoundary"]
3
- 3:"$Sreact.suspense"
4
- 7:I[90484,[],"ViewportBoundary"]
5
- 8:I[90484,[],"MetadataBoundary"]
6
- 9:I[86869,[],"IconMark"]
7
- b:I[57121,[],""]
8
- c:I[74581,[],""]
9
- f:I[21110,["7504","static/chunks/7504-6f7ca1eab428dd5e.js","1321","static/chunks/1321-c5b3011761e0228b.js","5497","static/chunks/5497-1af4fbf829c885c4.js","9305","static/chunks/app/(dashboard)/layout-799f966f7a1927db.js"],"ThemeProvider"]
10
- 10:I[94635,["1321","static/chunks/1321-c5b3011761e0228b.js","7177","static/chunks/app/layout-3909a5381d71cda6.js"],"RuntimeI18nProvider"]
2
+ 2:"static/chunks/7504-5249aa88b6205df1.js"
3
+ 3:"static/chunks/1321-91a272a5139df5f2.js"
4
+ 4:"static/chunks/5497-ff8c2e5da835ea40.js"
5
+ 5:"static/chunks/app/(dashboard)/layout-799f966f7a1927db.js"
6
+ 6:I[21110,["7504","$2","1321","$3","5497","$4","9305","$5"],"ThemeProvider"]
7
+ 7:"static/chunks/app/layout-3909a5381d71cda6.js"
8
+ 8:"RuntimeI18nProvider"
9
+ 9:I[94635,["1321","$3","7177","$7"],"$8"]
10
+ a:I[57121,[],""]
11
+ b:I[74581,[],""]
12
+ 12:I[90484,[],"OutletBoundary"]
13
+ 13:"$Sreact.suspense"
14
+ 16:"ViewportBoundary"
15
+ 17:I[90484,[],"$16"]
16
+ 18:"MetadataBoundary"
17
+ 19:I[90484,[],"$18"]
18
+ 1a:I[86869,[],"IconMark"]
11
19
  :HL["/_next/static/css/64fc7ce1f4c9684d.css","style"]
12
20
  :HL["/_next/static/css/e8f53fd8cd2766ce.css","style"]
13
- 6:X
14
- e:X
15
- e:C
16
- 0:{"buildId":"i0cMBMqFdYWpbajovDyfY","data":[{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":"$@5","staleTime":"$6","varyParams":null},{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L7",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","div",null,{"hidden":true,"children":["$","$L8",null,{"children":["$","$3",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"kRouter — Kodelyth AI Infrastructure"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly. By Kodelyth."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L9","5",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@a","staleTime":"$6","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}]}]]}],"isPartial":"$@d","staleTime":"$6","varyParams":"$e"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/64fc7ce1f4c9684d.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e8f53fd8cd2766ce.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_5e81af font-sans antialiased","suppressHydrationWarning":true,"children":["$","$Lf",null,{"children":["$","$L10",null,{"children":["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}]}]}]}]}]]}]]}],"isPartial":"$@11","staleTime":"$6","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@12","rootVaryParams":null,"needsRuntimeRequest":"$@13"}
17
- 4:null
18
- 6:300
19
- 13:true
20
- 6:C
21
- 12:0
22
- a:"$undefined"
23
- d:"$undefined"
24
- 11:"$undefined"
25
- 5:"$undefined"
21
+ d:X
22
+ 10:X
23
+ 10:C
24
+ 11:[["children",{"s":"__PAGE__","h":160,"d":{"r":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L12",null,{"children":["$","$13",null,{"name":"Next.MetadataOutlet","children":"$@14"}]}]]}],"p":"$@15","v":null,"s":"$d"}}]]
25
+ e:[["children",{"s":"_not-found","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$La",null,{"parallelRouterKey":"children","template":["$","$Lb",null,{}]}]]}],"p":"$@f","v":"$10","s":"$d"},"c":"$Q11"}]]
26
+ 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/64fc7ce1f4c9684d.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e8f53fd8cd2766ce.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_5e81af font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L6",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"parallelRouterKey":"children","template":["$","$Lb",null,{}]}]}]}]}]]}]]}],"p":"$@c","v":null,"s":"$d"},"c":"$Qe"},"h":{"r":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L17",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","$L19",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$13",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"kRouter — Kodelyth AI Infrastructure"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly. By Kodelyth."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L1a","5",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@1b","v":null,"s":"$d"}},"a":"$@1c","u":"$@1d","b":"em-yyr0O7qRIA9N8Clc4I"}
27
+ 14:null
28
+ d:300
29
+ 1d:true
30
+ d:C
31
+ 1c:0
32
+ f:"$undefined"
33
+ c:"$undefined"
34
+ 1b:"$undefined"
35
+ 15:"$undefined"
@@ -2,4 +2,6 @@
2
2
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
3
  :HL["/_next/static/css/64fc7ce1f4c9684d.css","style"]
4
4
  :HL["/_next/static/css/e8f53fd8cd2766ce.css","style"]
5
- 0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"_not-found","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"i0cMBMqFdYWpbajovDyfY"}
5
+ 2:[["children",{"s":"__PAGE__","h":160}]]
6
+ 1:[["children",{"s":"_not-found","h":96,"c":"$Q2"}]]
7
+ 0:{"b":"em-yyr0O7qRIA9N8Clc4I","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=7758,a.ids=[7758],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},7603:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/login/route",pathname:"/api/auth/login",filename:"route",bundlePath:"app/api/auth/login/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/login/route.js",nextConfigOutput:"standalone",userland:()=>c(85356),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/login/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},85356:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>n});var d=c(23211),e=c(89718),f=c(34013),g=c(65573),h=c(33792),i=c(77309),j=c(8303),k=c(81307);let l=new Set(Object.freeze(["123456","change-me","your-first-login-password","...","your-password","your-secure-password","votre-mot-de-passe","tu-contrase\xf1a"])),m="Forgot password? npm install: kRouter CLI → Settings → Reset Password to Default. Docker: docker exec <container> node scripts/reset-password.js";async function n(a){try{let b,c,n,o=(0,j.T1)(a),p=(0,j.sv)(o);if(p.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${p.retryAfter}s. ${m}`,retryAfter:p.retryAfter,resetHint:m},{status:429,headers:{"Retry-After":String(p.retryAfter)}});let{password:q}=await a.json(),r=await (0,e.mt)();if(b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),c=r.tunnelUrl?new URL(r.tunnelUrl).hostname.toLowerCase():"",n=r.tailscaleUrl?new URL(r.tailscaleUrl).hostname.toLowerCase():"",(c&&b===c||n&&b===n)&&!0!==r.tunnelDashboardAccess)return d.NextResponse.json({error:"Dashboard access via tunnel is disabled"},{status:403});let s=r.password;if("oidc"===r.authMode&&(0,i.EJ)(r))return d.NextResponse.json({error:"Password login is disabled. Use OIDC sign in."},{status:403});let t=!1;if(s)t=await f.Ay.compare(q,s);else{let a=process.env.INITIAL_PASSWORD||"123456";t=q===a}if(t){let b=process.env.INITIAL_PASSWORD;if(!s&&(!b||"string"==typeof b&&l.has(b.trim().normalize("NFC").toLowerCase()))&&!(0,k.v5)(a))return d.NextResponse.json({error:"This instance has no password yet (or INITIAL_PASSWORD is a documentation placeholder), and the default only works from the machine running kRouter. In Docker, behind a reverse proxy or on a server, start kRouter with INITIAL_PASSWORD set (Docker: -e INITIAL_PASSWORD=...) and log in with that; otherwise open the dashboard on that machine and set a password under Settings → Security.",mustChangePassword:!0},{status:403});(0,j.B3)(o);let c=await (0,g.UL)();return await (0,h.tm)(c,a),d.NextResponse.json({success:!0,mustChangePassword:!1})}let{remainingBeforeLock:u}=(0,j.im)(o),v=(0,j.sv)(o);if(v.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${v.retryAfter}s. ${m}`,retryAfter:v.retryAfter,resetHint:m},{status:429,headers:{"Retry-After":String(v.retryAfter)}});return d.NextResponse.json({error:`Invalid password. ${u} attempt(s) left before lockout.`,remainingBeforeLock:u},{status:401})}catch(a){return d.NextResponse.json({error:a.message},{status:500})}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884,9958,1307],()=>b(b.s=7603));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=7758,a.ids=[7758],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},74355:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/login/route",pathname:"/api/auth/login",filename:"route",bundlePath:"app/api/auth/login/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/login/route.js",nextConfigOutput:"standalone",userland:()=>c(85356),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/login/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},85356:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>n});var d=c(23211),e=c(89718),f=c(34013),g=c(65573),h=c(33792),i=c(77309),j=c(8303),k=c(81307);let l=new Set(Object.freeze(["123456","change-me","your-first-login-password","...","your-password","your-secure-password","votre-mot-de-passe","tu-contrase\xf1a"])),m="Forgot password? npm install: kRouter CLI → Settings → Reset Password to Default. Docker: docker exec <container> node scripts/reset-password.js";async function n(a){try{let b,c,n,o=(0,j.T1)(a),p=(0,j.sv)(o);if(p.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${p.retryAfter}s. ${m}`,retryAfter:p.retryAfter,resetHint:m},{status:429,headers:{"Retry-After":String(p.retryAfter)}});let{password:q}=await a.json(),r=await (0,e.mt)();if(b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),c=r.tunnelUrl?new URL(r.tunnelUrl).hostname.toLowerCase():"",n=r.tailscaleUrl?new URL(r.tailscaleUrl).hostname.toLowerCase():"",(c&&b===c||n&&b===n)&&!0!==r.tunnelDashboardAccess)return d.NextResponse.json({error:"Dashboard access via tunnel is disabled"},{status:403});let s=r.password;if("oidc"===r.authMode&&(0,i.EJ)(r))return d.NextResponse.json({error:"Password login is disabled. Use OIDC sign in."},{status:403});let t=!1;if(s)t=await f.Ay.compare(q,s);else{let a=process.env.INITIAL_PASSWORD||"123456";t=q===a}if(t){let b=process.env.INITIAL_PASSWORD;if(!s&&(!b||"string"==typeof b&&l.has(b.trim().normalize("NFC").toLowerCase()))&&!(0,k.v5)(a))return d.NextResponse.json({error:"This instance has no password yet (or INITIAL_PASSWORD is a documentation placeholder), and the default only works from the machine running kRouter. In Docker, behind a reverse proxy or on a server, start kRouter with INITIAL_PASSWORD set (Docker: -e INITIAL_PASSWORD=...) and log in with that; otherwise open the dashboard on that machine and set a password under Settings → Security.",mustChangePassword:!0},{status:403});(0,j.B3)(o);let c=await (0,g.UL)();return await (0,h.tm)(c,a),d.NextResponse.json({success:!0,mustChangePassword:!1})}let{remainingBeforeLock:u}=(0,j.im)(o),v=(0,j.sv)(o);if(v.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${v.retryAfter}s. ${m}`,retryAfter:v.retryAfter,resetHint:m},{status:429,headers:{"Retry-After":String(v.retryAfter)}});return d.NextResponse.json({error:`Invalid password. ${u} attempt(s) left before lockout.`,remainingBeforeLock:u},{status:401})}catch(a){return d.NextResponse.json({error:a.message},{status:500})}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884,9958,1307],()=>b(b.s=74355));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=8489,a.ids=[8489],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},27147:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/logout/route",pathname:"/api/auth/logout",filename:"route",bundlePath:"app/api/auth/logout/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/logout/route.js",nextConfigOutput:"standalone",userland:()=>c(83723),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/logout/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69614:(a,b,c)=>{c.d(b,{V:()=>p});var d=c(88888),e=c(91356),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(24762),k=c(80308),l=c(11980);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(17347);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},83723:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>g});var d=c(23211),e=c(65573),f=c(33792);async function g(){let a=await (0,e.UL)();return(0,f.OZ)(a),a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier"),d.NextResponse.json({success:!0})}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4884],()=>b(b.s=27147));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=8489,a.ids=[8489],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21531:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/logout/route",pathname:"/api/auth/logout",filename:"route",bundlePath:"app/api/auth/logout/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/logout/route.js",nextConfigOutput:"standalone",userland:()=>c(83723),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/logout/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69614:(a,b,c)=>{c.d(b,{V:()=>p});var d=c(88888),e=c(91356),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(24762),k=c(80308),l=c(11980);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(17347);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},83723:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>g});var d=c(23211),e=c(65573),f=c(33792);async function g(){let a=await (0,e.UL)();return(0,f.OZ)(a),a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier"),d.NextResponse.json({success:!0})}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4884],()=>b(b.s=21531));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=4674,a.ids=[4674],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31551:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/callback/route",pathname:"/api/auth/oidc/callback",filename:"route",bundlePath:"app/api/auth/oidc/callback/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/oidc/callback/route.js",nextConfigOutput:"standalone",userland:()=>c(34932),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/callback/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},34932:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>i});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);function h(a){a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier")}async function i(a){let b=new URL(a.url),c=b.searchParams.get("error");if(c)return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(c)}`,(0,f.iw)(a)));let i=b.searchParams.get("code"),j=b.searchParams.get("state");if(!i||!j)return d.NextResponse.redirect(new URL("/login?error=oidc_missing_code",(0,f.iw)(a)));let k=await (0,e.UL)(),l=k.get("oidc_state")?.value,m=k.get("oidc_nonce")?.value,n=k.get("oidc_code_verifier")?.value;if(!l||!m||!n||l!==j)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_invalid_state",(0,f.iw)(a)));try{let b=await (0,f.Mj)();if(!b)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),e=c.issuer||b.issuerUrl,j=`${(0,f.iw)(a)}/api/auth/oidc/callback`,l=await (0,f.sP)({tokenEndpoint:c.token_endpoint,clientId:b.clientId,clientSecret:b.clientSecret,code:i,redirectUri:j,codeVerifier:n});if(!l.id_token)throw Error("OIDC provider did not return an id_token");let o=await (0,f.x8)({idToken:l.id_token,issuer:e,audience:b.clientId,jwksUri:c.jwks_uri,nonce:m});return h(k),await (0,g.tm)(k,a,{oidc:!0,oidcSub:o.sub||null,oidcEmail:(0,f.Rj)(o)||null,oidcName:(0,f.Ui)(o)}),d.NextResponse.redirect(new URL("/dashboard",(0,f.iw)(a)))}catch(b){return h(k),d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_callback_failed")}`,(0,f.iw)(a)))}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884],()=>b(b.s=31551));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=4674,a.ids=[4674],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},34932:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>i});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);function h(a){a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier")}async function i(a){let b=new URL(a.url),c=b.searchParams.get("error");if(c)return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(c)}`,(0,f.iw)(a)));let i=b.searchParams.get("code"),j=b.searchParams.get("state");if(!i||!j)return d.NextResponse.redirect(new URL("/login?error=oidc_missing_code",(0,f.iw)(a)));let k=await (0,e.UL)(),l=k.get("oidc_state")?.value,m=k.get("oidc_nonce")?.value,n=k.get("oidc_code_verifier")?.value;if(!l||!m||!n||l!==j)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_invalid_state",(0,f.iw)(a)));try{let b=await (0,f.Mj)();if(!b)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),e=c.issuer||b.issuerUrl,j=`${(0,f.iw)(a)}/api/auth/oidc/callback`,l=await (0,f.sP)({tokenEndpoint:c.token_endpoint,clientId:b.clientId,clientSecret:b.clientSecret,code:i,redirectUri:j,codeVerifier:n});if(!l.id_token)throw Error("OIDC provider did not return an id_token");let o=await (0,f.x8)({idToken:l.id_token,issuer:e,audience:b.clientId,jwksUri:c.jwks_uri,nonce:m});return h(k),await (0,g.tm)(k,a,{oidc:!0,oidcSub:o.sub||null,oidcEmail:(0,f.Rj)(o)||null,oidcName:(0,f.Ui)(o)}),d.NextResponse.redirect(new URL("/dashboard",(0,f.iw)(a)))}catch(b){return h(k),d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_callback_failed")}`,(0,f.iw)(a)))}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},57623:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/callback/route",pathname:"/api/auth/oidc/callback",filename:"route",bundlePath:"app/api/auth/oidc/callback/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/oidc/callback/route.js",nextConfigOutput:"standalone",userland:()=>c(34932),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/callback/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884],()=>b(b.s=57623));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=9709,a.ids=[9709],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},24503:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>h});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);async function h(a){try{let b=await (0,f.Mj)();if(!b)return d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),h=(0,f.Pf)(),i=(0,f.hT)(),{verifier:j,challenge:k}=(0,f.GY)(),l=`${(0,f.iw)(a)}/api/auth/oidc/callback`,m=(0,f.gR)({authorizationEndpoint:c.authorization_endpoint,clientId:b.clientId,redirectUri:l,scopes:b.scopes,state:h,nonce:i,codeChallenge:k}),n=await (0,e.UL)(),o={httpOnly:!0,secure:(0,g.YK)(a),sameSite:"lax",path:"/",maxAge:600};return n.set("oidc_state",h,o),n.set("oidc_nonce",i,o),n.set("oidc_code_verifier",j,o),d.NextResponse.redirect(m)}catch(b){return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_start_failed")}`,(0,f.iw)(a)))}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},85979:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/start/route",pathname:"/api/auth/oidc/start",filename:"route",bundlePath:"app/api/auth/oidc/start/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/oidc/start/route.js",nextConfigOutput:"standalone",userland:()=>c(24503),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/start/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884],()=>b(b.s=85979));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=9709,a.ids=[9709],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},24503:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>h});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);async function h(a){try{let b=await (0,f.Mj)();if(!b)return d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),h=(0,f.Pf)(),i=(0,f.hT)(),{verifier:j,challenge:k}=(0,f.GY)(),l=`${(0,f.iw)(a)}/api/auth/oidc/callback`,m=(0,f.gR)({authorizationEndpoint:c.authorization_endpoint,clientId:b.clientId,redirectUri:l,scopes:b.scopes,state:h,nonce:i,codeChallenge:k}),n=await (0,e.UL)(),o={httpOnly:!0,secure:(0,g.YK)(a),sameSite:"lax",path:"/",maxAge:600};return n.set("oidc_state",h,o),n.set("oidc_nonce",i,o),n.set("oidc_code_verifier",j,o),d.NextResponse.redirect(m)}catch(b){return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_start_failed")}`,(0,f.iw)(a)))}}},25355:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/start/route",pathname:"/api/auth/oidc/start",filename:"route",bundlePath:"app/api/auth/oidc/start/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/oidc/start/route.js",nextConfigOutput:"standalone",userland:()=>c(24503),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/start/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884],()=>b(b.s=25355));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6091,a.ids=[6091],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},55807:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>j});var d=c(23211),e=c(65573),f=c(89718),g=c(77309),h=c(33792);async function i(){if(!1===(await (0,f.mt)()).requireLogin)return!0;let a=await (0,e.UL)(),b=a.get("auth_token")?.value;return await (0,h.Dc)(b)}async function j(a){try{if(!await i())return d.NextResponse.json({error:"Unauthorized"},{status:401});let b=await a.json().catch(()=>({})),c=await (0,f.mt)(),e=String(b.issuerUrl||c.oidcIssuerUrl||"").trim(),h=String(b.clientId||c.oidcClientId||"").trim(),j=String(b.scopes||c.oidcScopes||"openid profile email").trim()||"openid profile email",k=String(Object.prototype.hasOwnProperty.call(b,"clientSecret")?b.clientSecret:c.oidcClientSecret||"").trim();if(!e)return d.NextResponse.json({error:"Issuer URL is required"},{status:400});if(!h)return d.NextResponse.json({error:"Client ID is required"},{status:400});let l=await (0,g.Ir)(e),m=`${(0,g.iw)(a)}/api/auth/oidc/callback`,n=await (0,g.HO)({tokenEndpoint:l.token_endpoint,clientId:h,clientSecret:k,redirectUri:m});if(n.tested&&!1===n.valid)return d.NextResponse.json({ok:!1,discoveryOk:!0,clientSecretTested:!0,clientSecretValid:!1,issuerUrl:e,clientId:h,scopes:j,redirectUri:m,authorizationEndpoint:l.authorization_endpoint||"",tokenEndpoint:l.token_endpoint||"",jwksUri:l.jwks_uri||"",error:`Discovery loaded, but the client secret is not valid: ${n.message}`});return d.NextResponse.json({ok:!0,discoveryOk:!0,clientSecretTested:n.tested,clientSecretValid:n.valid,issuerUrl:e,clientId:h,scopes:j,redirectUri:m,authorizationEndpoint:l.authorization_endpoint||"",tokenEndpoint:l.token_endpoint||"",jwksUri:l.jwks_uri||"",message:n.message})}catch(a){return d.NextResponse.json({error:a.message||"OIDC test failed"},{status:500})}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")},98669:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/test/route",pathname:"/api/auth/oidc/test",filename:"route",bundlePath:"app/api/auth/oidc/test/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/oidc/test/route.js",nextConfigOutput:"standalone",userland:()=>c(55807),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/test/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884],()=>b(b.s=98669));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6091,a.ids=[6091],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{c.d(b,{Dc:()=>s,OZ:()=>v,YK:()=>q,dY:()=>t,nz:()=>w,tm:()=>u});var d=c(86935),e=c(69614),f=c(34013),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(77598),l=c.n(k),m=c(49120),n=c(89718);let o=new Set(["...","generate-a-long-random-string","change-me-to-a-long-random-secret","your-secure-secret-change-this-to-random-string","your-secure-secret-change-this","9router-default-secret-change-me","votre-secret-s\xe9curis\xe9-changez-le","tu-secreto-seguro-c\xe1mbialo","your-secure-secret","your-secret","generated-secret-here"]),p=new TextEncoder().encode(function(){let a,b=process.env.JWT_SECRET,c=b?(a=b.trim().normalize("NFC"),o.has(a.toLowerCase())?"a documentation placeholder":a.length<32?"shorter than 32 characters":null):null;if(b&&!c)return b;let d=j().join(m.n,"jwt-secret"),e=a=>{b&&!globalThis.__krouterJwtSecretWarned&&(globalThis.__krouterJwtSecretWarned=!0,console.warn(`[auth] Ignoring JWT_SECRET: it is ${c}, so anyone could forge dashboard sessions. ${a} Sessions are no longer shared with other instances using that JWT_SECRET; to share them, set the same long random value on each (openssl rand -hex 32).`))};try{let a=h().readFileSync(d,"utf8").trim();return e(`Using the secret saved in ${d}.`),a}catch{}e(`Generated a new secret in ${d}; existing sessions must log in again.`),h().mkdirSync(m.n,{recursive:!0});let f=l().randomBytes(32).toString("hex");return h().writeFileSync(d,f,{mode:384}),f}());function q(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function r(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("24h").sign(p)}async function s(a){if(!a)return!1;try{return await (0,e.V)(a,p),!0}catch{return!1}}async function t(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,p);return b}catch{return null}}async function u(a,b,c={}){let d=await r(c);a.set("auth_token",d,{httpOnly:!0,secure:q(b),sameSite:"lax",path:"/"})}function v(a){a.delete("auth_token")}async function w(a){if("string"!=typeof a||!a)return!1;let b=await (0,n.mt)(),c=b?.password;return c?f.Ay.compare(a,c):a===(process.env.INITIAL_PASSWORD||"123456")}},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},51905:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/test/route",pathname:"/api/auth/oidc/test",filename:"route",bundlePath:"app/api/auth/oidc/test/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/oidc/test/route.js",nextConfigOutput:"standalone",userland:()=>c(55807),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/test/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},55511:a=>{a.exports=require("crypto")},55807:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>j});var d=c(23211),e=c(65573),f=c(89718),g=c(77309),h=c(33792);async function i(){if(!1===(await (0,f.mt)()).requireLogin)return!0;let a=await (0,e.UL)(),b=a.get("auth_token")?.value;return await (0,h.Dc)(b)}async function j(a){try{if(!await i())return d.NextResponse.json({error:"Unauthorized"},{status:401});let b=await a.json().catch(()=>({})),c=await (0,f.mt)(),e=String(b.issuerUrl||c.oidcIssuerUrl||"").trim(),h=String(b.clientId||c.oidcClientId||"").trim(),j=String(b.scopes||c.oidcScopes||"openid profile email").trim()||"openid profile email",k=String(Object.prototype.hasOwnProperty.call(b,"clientSecret")?b.clientSecret:c.oidcClientSecret||"").trim();if(!e)return d.NextResponse.json({error:"Issuer URL is required"},{status:400});if(!h)return d.NextResponse.json({error:"Client ID is required"},{status:400});let l=await (0,g.Ir)(e),m=`${(0,g.iw)(a)}/api/auth/oidc/callback`,n=await (0,g.HO)({tokenEndpoint:l.token_endpoint,clientId:h,clientSecret:k,redirectUri:m});if(n.tested&&!1===n.valid)return d.NextResponse.json({ok:!1,discoveryOk:!0,clientSecretTested:!0,clientSecretValid:!1,issuerUrl:e,clientId:h,scopes:j,redirectUri:m,authorizationEndpoint:l.authorization_endpoint||"",tokenEndpoint:l.token_endpoint||"",jwksUri:l.jwks_uri||"",error:`Discovery loaded, but the client secret is not valid: ${n.message}`});return d.NextResponse.json({ok:!0,discoveryOk:!0,clientSecretTested:n.tested,clientSecretValid:n.valid,issuerUrl:e,clientId:h,scopes:j,redirectUri:m,authorizationEndpoint:l.authorization_endpoint||"",tokenEndpoint:l.token_endpoint||"",jwksUri:l.jwks_uri||"",message:n.message})}catch(a){return d.NextResponse.json({error:a.message||"OIDC test failed"},{status:500})}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77309:(a,b,c)=>{c.d(b,{EJ:()=>n,GY:()=>q,HO:()=>v,Ir:()=>p,Mj:()=>o,Pf:()=>r,Rj:()=>y,Ui:()=>x,gR:()=>t,hT:()=>s,iw:()=>m,sP:()=>u,x8:()=>w});var d=c(77598),e=c.n(d),f=c(37221),g=c(69614),h=c(89718);let i="openid profile email",j="Sign in with OIDC";function k(a){return(a||"").trim().replace(/\/+$/,"")}function l(a){return(a||i).trim()||i}function m(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return k(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return k(new URL(a.url).origin)}function n(a){return!!(k(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function o(){let a=await (0,h.mt)();return["oidc","both"].includes(a.authMode)&&n(a)?{issuerUrl:k(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:l(a.oidcScopes),loginLabel:(a.oidcLoginLabel||j).trim()||j}:null}async function p(a){let b=`${k(a)}/.well-known/openid-configuration`,c=await fetch(b,{cache:"no-store"});if(!c.ok)throw Error(`Failed to load OIDC discovery document from ${b}`);return await c.json()}function q(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function r(){return e().randomBytes(16).toString("base64url")}function s(){return e().randomBytes(16).toString("base64url")}function t({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=i,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",l(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function u({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function v({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function w({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let h=(0,f.RD)(new URL(d)),{payload:i}=await (0,g.V)(a,h,{issuer:b,audience:c,nonce:e});return i}function x(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function y(a={}){return a.email||""}},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,2391,5573,4306,4884],()=>b(b.s=51905));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6478,a.ids=[6478],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3325:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/reset-password/route",pathname:"/api/auth/reset-password",filename:"route",bundlePath:"app/api/auth/reset-password/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/reset-password/route.js",nextConfigOutput:"standalone",userland:()=>c(21894),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/reset-password/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},21894:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>f});var d=c(23211),e=c(89718);async function f(){try{return await (0,e.Xx)({password:null}),d.NextResponse.json({success:!0})}catch(a){return d.NextResponse.json({error:a.message},{status:500})}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,4884],()=>b(b.s=3325));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6478,a.ids=[6478],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},21894:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>f});var d=c(23211),e=c(89718);async function f(){try{return await (0,e.Xx)({password:null}),d.NextResponse.json({success:!0})}catch(a){return d.NextResponse.json({error:a.message},{status:500})}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},83601:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/reset-password/route",pathname:"/api/auth/reset-password",filename:"route",bundlePath:"app/api/auth/reset-password/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/auth/reset-password/route.js",nextConfigOutput:"standalone",userland:()=>c(21894),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/reset-password/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,4884],()=>b(b.s=83601));module.exports=c})();