nggrouter 0.1.20 → 0.1.21

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 (919) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +16 -16
  3. package/app/.next-cli-build/build-manifest.json +4 -4
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/react-loadable-manifest.json +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/addons/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/arena/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/system-status/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  39. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  41. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  42. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  43. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  44. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  45. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  46. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  47. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  48. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  49. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  50. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  51. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  52. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  53. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  54. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  55. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  56. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  57. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  58. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  59. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  60. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
  61. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  62. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  63. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  64. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  65. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  66. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  67. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  68. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  69. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +2 -2
  70. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
  71. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  72. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  73. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  74. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
  75. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  76. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  77. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  78. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
  79. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  80. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  81. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  82. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  83. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  84. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  85. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  86. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  87. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  88. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  89. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  90. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  91. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  92. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  93. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  94. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  95. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/providers/bulk-proxy/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  152. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  153. package/app/.next-cli-build/server/app/callback.html +1 -1
  154. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  155. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  156. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  157. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  158. package/app/.next-cli-build/server/app/dashboard/arena.html +2 -2
  159. package/app/.next-cli-build/server/app/dashboard/arena.rsc +4 -4
  160. package/app/.next-cli-build/server/app/dashboard/arena.segments/!KGRhc2hib2FyZCk/dashboard/arena/__PAGE__.segment.rsc +4 -4
  161. package/app/.next-cli-build/server/app/dashboard/arena.segments/_full.segment.rsc +4 -4
  162. package/app/.next-cli-build/server/app/dashboard/arena.segments/_tree.segment.rsc +1 -1
  163. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  164. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +4 -4
  165. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +4 -4
  166. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +4 -4
  167. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  168. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  169. package/app/.next-cli-build/server/app/dashboard/combos.rsc +4 -4
  170. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +4 -4
  171. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +4 -4
  172. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  173. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  174. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +4 -4
  175. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +4 -4
  176. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +4 -4
  177. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  178. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  179. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +4 -4
  180. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +4 -4
  181. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +4 -4
  182. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  183. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  184. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +4 -4
  185. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +4 -4
  186. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +4 -4
  187. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  188. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  189. package/app/.next-cli-build/server/app/dashboard/profile.rsc +4 -4
  190. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +4 -4
  191. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
  192. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  193. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  194. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +4 -4
  195. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +4 -4
  196. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +4 -4
  197. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  198. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  199. package/app/.next-cli-build/server/app/dashboard/providers.rsc +4 -4
  200. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
  201. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +4 -4
  202. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  203. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  204. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +4 -4
  205. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +4 -4
  206. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +4 -4
  207. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  208. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  209. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +4 -4
  210. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +4 -4
  211. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +4 -4
  212. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  213. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  214. package/app/.next-cli-build/server/app/dashboard/quota.rsc +4 -4
  215. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +4 -4
  216. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +4 -4
  217. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  218. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  219. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  220. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  221. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  222. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  223. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  224. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/skills.rsc +4 -4
  226. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +4 -4
  227. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +4 -4
  228. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  229. package/app/.next-cli-build/server/app/dashboard/system-status.html +1 -1
  230. package/app/.next-cli-build/server/app/dashboard/system-status.rsc +4 -4
  231. package/app/.next-cli-build/server/app/dashboard/system-status.segments/!KGRhc2hib2FyZCk/dashboard/system-status/__PAGE__.segment.rsc +4 -4
  232. package/app/.next-cli-build/server/app/dashboard/system-status.segments/_full.segment.rsc +4 -4
  233. package/app/.next-cli-build/server/app/dashboard/system-status.segments/_tree.segment.rsc +1 -1
  234. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  235. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +4 -4
  236. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +4 -4
  237. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +4 -4
  238. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  239. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  240. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  241. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
  242. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  243. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  244. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  245. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  246. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +5 -5
  247. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  248. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  249. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  250. package/app/.next-cli-build/server/app/dashboard.rsc +4 -4
  251. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +4 -4
  252. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +4 -4
  253. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  254. package/app/.next-cli-build/server/app/index.html +1 -1
  255. package/app/.next-cli-build/server/app/index.rsc +4 -4
  256. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  257. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  258. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  259. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  260. package/app/.next-cli-build/server/app/landing.html +1 -1
  261. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  262. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  263. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  264. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  265. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  266. package/app/.next-cli-build/server/app/login.html +1 -1
  267. package/app/.next-cli-build/server/app/login.rsc +4 -4
  268. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  269. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  270. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  271. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  272. package/app/.next-cli-build/server/app-paths-manifest.json +16 -16
  273. package/app/.next-cli-build/server/chunks/1132.js +1 -1
  274. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  275. package/app/.next-cli-build/server/chunks/1757.js +1 -1
  276. package/app/.next-cli-build/server/chunks/1998.js +1 -1
  277. package/app/.next-cli-build/server/chunks/2430.js +1 -1
  278. package/app/.next-cli-build/server/chunks/2559.js +1 -1
  279. package/app/.next-cli-build/server/chunks/2708.js +1 -1
  280. package/app/.next-cli-build/server/chunks/2970.js +2 -2
  281. package/app/.next-cli-build/server/chunks/3192.js +1 -1
  282. package/app/.next-cli-build/server/chunks/3277.js +1 -1
  283. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  284. package/app/.next-cli-build/server/chunks/412.js +5 -5
  285. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  286. package/app/.next-cli-build/server/chunks/4386.js +1 -1
  287. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  288. package/app/.next-cli-build/server/chunks/5081.js +5 -5
  289. package/app/.next-cli-build/server/chunks/5330.js +1 -1
  290. package/app/.next-cli-build/server/chunks/5390.js +1 -1
  291. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  292. package/app/.next-cli-build/server/chunks/6921.js +22 -24
  293. package/app/.next-cli-build/server/chunks/7373.js +1 -1
  294. package/app/.next-cli-build/server/chunks/7811.js +1 -1
  295. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  296. package/app/.next-cli-build/server/chunks/915.js +1 -1
  297. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  298. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  299. package/app/.next-cli-build/server/middleware.js +3 -3
  300. package/app/.next-cli-build/server/pages/404.html +1 -1
  301. package/app/.next-cli-build/server/pages/500.html +1 -1
  302. package/app/.next-cli-build/server/preview-props.json +3 -3
  303. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  304. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  305. package/app/.next-cli-build/static/chunks/{3794-ba54cbd6a46cf18d.js → 3794-39f2d5bb0d40336b.js} +1 -1
  306. package/app/.next-cli-build/static/chunks/{5497-77c1e669b0fa87b5.js → 5497-bdb464e8bf997966.js} +5 -5
  307. package/app/.next-cli-build/static/chunks/{620-34e54cb68dbd1c04.js → 620-eb4703fefb0a8224.js} +1 -1
  308. package/app/.next-cli-build/static/chunks/{6808-89583fa8f1c517b5.js → 6808-e6340e2d4cfe01fe.js} +1 -1
  309. package/app/.next-cli-build/static/chunks/{8105-e01154a0855d3a4c.js → 8105-5dd3fc022d984a17.js} +1 -1
  310. package/app/.next-cli-build/static/chunks/9233.b5ad25d75f88baa7.js +65 -0
  311. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-b6170c51df54f400.js → page-deb38e87524ff14e.js} +2 -2
  312. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-a7e10190924841de.js → page-e2e50aefcea07c9b.js} +1 -1
  313. package/app/.next-cli-build/static/chunks/{main-39ed0ef7f2dd4724.js → main-00cd8c01f6f6e461.js} +1 -1
  314. package/app/.next-cli-build/static/chunks/{webpack-01342e1402621ba9.js → webpack-c056b5babdc7a81f.js} +1 -1
  315. package/app/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +12 -3
  316. package/app/node_modules/@aws-sdk/core/package.json +1 -1
  317. package/app/node_modules/@aws-sdk/credential-provider-cognito-identity/package.json +2 -2
  318. package/app/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  319. package/app/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  320. package/app/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  321. package/app/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  322. package/app/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  323. package/app/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  324. package/app/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  325. package/app/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  326. package/app/node_modules/@aws-sdk/credential-providers/package.json +12 -12
  327. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  328. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  329. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  330. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  331. package/app/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  332. package/app/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  333. package/app/node_modules/@aws-sdk/token-providers/package.json +3 -3
  334. package/app/node_modules/@next/env/package.json +1 -1
  335. package/app/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +1695 -3
  336. package/app/node_modules/@smithy/core/package.json +2 -1
  337. package/app/node_modules/caniuse-lite/data/agents.js +1 -1
  338. package/app/node_modules/caniuse-lite/data/features/aac.js +1 -1
  339. package/app/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  340. package/app/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  341. package/app/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  342. package/app/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  343. package/app/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  344. package/app/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  345. package/app/node_modules/caniuse-lite/data/features/apng.js +1 -1
  346. package/app/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  347. package/app/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  348. package/app/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  349. package/app/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  350. package/app/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  351. package/app/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  352. package/app/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  353. package/app/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  354. package/app/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  355. package/app/node_modules/caniuse-lite/data/features/audio.js +1 -1
  356. package/app/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  357. package/app/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  358. package/app/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  359. package/app/node_modules/caniuse-lite/data/features/av1.js +1 -1
  360. package/app/node_modules/caniuse-lite/data/features/avif.js +1 -1
  361. package/app/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  362. package/app/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  363. package/app/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  364. package/app/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  365. package/app/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  366. package/app/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  367. package/app/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  368. package/app/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  369. package/app/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  370. package/app/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  371. package/app/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  372. package/app/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  373. package/app/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  374. package/app/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  375. package/app/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  376. package/app/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  377. package/app/node_modules/caniuse-lite/data/features/calc.js +1 -1
  378. package/app/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  379. package/app/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  380. package/app/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  381. package/app/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  382. package/app/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  383. package/app/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  384. package/app/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  385. package/app/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  386. package/app/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  387. package/app/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  388. package/app/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  389. package/app/node_modules/caniuse-lite/data/features/colr.js +1 -1
  390. package/app/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  391. package/app/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  392. package/app/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  393. package/app/node_modules/caniuse-lite/data/features/const.js +1 -1
  394. package/app/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  395. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  396. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  397. package/app/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  398. package/app/node_modules/caniuse-lite/data/features/cors.js +1 -1
  399. package/app/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  400. package/app/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  401. package/app/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  402. package/app/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  403. package/app/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  404. package/app/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  405. package/app/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  406. package/app/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  407. package/app/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  408. package/app/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  409. package/app/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  410. package/app/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  411. package/app/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  412. package/app/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  413. package/app/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  414. package/app/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  415. package/app/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  416. package/app/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  417. package/app/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  418. package/app/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  419. package/app/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  420. package/app/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  421. package/app/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  422. package/app/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  423. package/app/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  424. package/app/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  425. package/app/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  426. package/app/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  427. package/app/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  428. package/app/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  429. package/app/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  430. package/app/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  431. package/app/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  432. package/app/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  433. package/app/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  434. package/app/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  435. package/app/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  436. package/app/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  437. package/app/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  438. package/app/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  439. package/app/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  440. package/app/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  441. package/app/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  442. package/app/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  443. package/app/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  444. package/app/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  445. package/app/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  446. package/app/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  447. package/app/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  448. package/app/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  449. package/app/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  450. package/app/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  451. package/app/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  452. package/app/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  453. package/app/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  454. package/app/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  455. package/app/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  456. package/app/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  457. package/app/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  458. package/app/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  459. package/app/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  460. package/app/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  461. package/app/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  462. package/app/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  463. package/app/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  464. package/app/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  465. package/app/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  466. package/app/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  467. package/app/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  468. package/app/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  469. package/app/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  470. package/app/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  471. package/app/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  472. package/app/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  473. package/app/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  474. package/app/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  475. package/app/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  476. package/app/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  477. package/app/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  478. package/app/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  479. package/app/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  480. package/app/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  481. package/app/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  482. package/app/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  483. package/app/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  484. package/app/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  485. package/app/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  486. package/app/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  487. package/app/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  488. package/app/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  489. package/app/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  490. package/app/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  491. package/app/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  492. package/app/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  493. package/app/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  494. package/app/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  495. package/app/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  496. package/app/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  497. package/app/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  498. package/app/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  499. package/app/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  500. package/app/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  501. package/app/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  502. package/app/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  503. package/app/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  504. package/app/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  505. package/app/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  506. package/app/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  507. package/app/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  508. package/app/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  509. package/app/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  510. package/app/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  511. package/app/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  512. package/app/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  513. package/app/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  514. package/app/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  515. package/app/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  516. package/app/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  517. package/app/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  518. package/app/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  519. package/app/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  520. package/app/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  521. package/app/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  522. package/app/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  523. package/app/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  524. package/app/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  525. package/app/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  526. package/app/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  527. package/app/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  528. package/app/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  529. package/app/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  530. package/app/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  531. package/app/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  532. package/app/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  533. package/app/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  534. package/app/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  535. package/app/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  536. package/app/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  537. package/app/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  538. package/app/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  539. package/app/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  540. package/app/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  541. package/app/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  542. package/app/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  543. package/app/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  544. package/app/node_modules/caniuse-lite/data/features/details.js +1 -1
  545. package/app/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  546. package/app/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  547. package/app/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  548. package/app/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  549. package/app/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  550. package/app/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  551. package/app/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  552. package/app/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  553. package/app/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  554. package/app/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  555. package/app/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  556. package/app/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  557. package/app/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  558. package/app/node_modules/caniuse-lite/data/features/download.js +1 -1
  559. package/app/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  560. package/app/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  561. package/app/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  562. package/app/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  563. package/app/node_modules/caniuse-lite/data/features/eme.js +1 -1
  564. package/app/node_modules/caniuse-lite/data/features/eot.js +1 -1
  565. package/app/node_modules/caniuse-lite/data/features/es5.js +1 -1
  566. package/app/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  567. package/app/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  568. package/app/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  569. package/app/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  570. package/app/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  571. package/app/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  572. package/app/node_modules/caniuse-lite/data/features/es6.js +1 -1
  573. package/app/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  574. package/app/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  575. package/app/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  576. package/app/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  577. package/app/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  578. package/app/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  579. package/app/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  580. package/app/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  581. package/app/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  582. package/app/node_modules/caniuse-lite/data/features/flac.js +1 -1
  583. package/app/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  584. package/app/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  585. package/app/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  586. package/app/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  587. package/app/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  588. package/app/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  589. package/app/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  590. package/app/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  591. package/app/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  592. package/app/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  593. package/app/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  594. package/app/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  595. package/app/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  596. package/app/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  597. package/app/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  598. package/app/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  599. package/app/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  600. package/app/node_modules/caniuse-lite/data/features/forms.js +1 -1
  601. package/app/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  602. package/app/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  603. package/app/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  604. package/app/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  605. package/app/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  606. package/app/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  607. package/app/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  608. package/app/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  609. package/app/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  610. package/app/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  611. package/app/node_modules/caniuse-lite/data/features/heif.js +1 -1
  612. package/app/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  613. package/app/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  614. package/app/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  615. package/app/node_modules/caniuse-lite/data/features/history.js +1 -1
  616. package/app/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  617. package/app/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  618. package/app/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  619. package/app/node_modules/caniuse-lite/data/features/http2.js +1 -1
  620. package/app/node_modules/caniuse-lite/data/features/http3.js +1 -1
  621. package/app/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  622. package/app/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  623. package/app/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  624. package/app/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  625. package/app/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  626. package/app/node_modules/caniuse-lite/data/features/imports.js +1 -1
  627. package/app/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  628. package/app/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  629. package/app/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  630. package/app/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  631. package/app/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  632. package/app/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  633. package/app/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  634. package/app/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  635. package/app/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  636. package/app/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  637. package/app/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  638. package/app/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  639. package/app/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  640. package/app/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  641. package/app/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  642. package/app/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  643. package/app/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  644. package/app/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  645. package/app/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  646. package/app/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  647. package/app/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  648. package/app/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  649. package/app/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  650. package/app/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  651. package/app/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  652. package/app/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  653. package/app/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  654. package/app/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  655. package/app/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  656. package/app/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  657. package/app/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  658. package/app/node_modules/caniuse-lite/data/features/json.js +1 -1
  659. package/app/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  660. package/app/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  661. package/app/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  662. package/app/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  663. package/app/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  664. package/app/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  665. package/app/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  666. package/app/node_modules/caniuse-lite/data/features/let.js +1 -1
  667. package/app/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  668. package/app/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  669. package/app/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  670. package/app/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  671. package/app/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  672. package/app/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  673. package/app/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  674. package/app/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  675. package/app/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  676. package/app/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  677. package/app/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  678. package/app/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  679. package/app/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  680. package/app/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  681. package/app/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  682. package/app/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  683. package/app/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  684. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  685. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  686. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  687. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  688. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  689. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  690. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  691. package/app/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  692. package/app/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  693. package/app/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  694. package/app/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  695. package/app/node_modules/caniuse-lite/data/features/menu.js +1 -1
  696. package/app/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  697. package/app/node_modules/caniuse-lite/data/features/meter.js +1 -1
  698. package/app/node_modules/caniuse-lite/data/features/midi.js +1 -1
  699. package/app/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  700. package/app/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  701. package/app/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  702. package/app/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  703. package/app/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  704. package/app/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  705. package/app/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  706. package/app/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  707. package/app/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  708. package/app/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  709. package/app/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  710. package/app/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  711. package/app/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  712. package/app/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  713. package/app/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  714. package/app/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  715. package/app/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  716. package/app/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  717. package/app/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  718. package/app/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  719. package/app/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  720. package/app/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  721. package/app/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  722. package/app/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  723. package/app/node_modules/caniuse-lite/data/features/opus.js +1 -1
  724. package/app/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  725. package/app/node_modules/caniuse-lite/data/features/outline.js +1 -1
  726. package/app/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  727. package/app/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  728. package/app/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  729. package/app/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  730. package/app/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  731. package/app/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  732. package/app/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  733. package/app/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  734. package/app/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  735. package/app/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  736. package/app/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  737. package/app/node_modules/caniuse-lite/data/features/picture.js +1 -1
  738. package/app/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  739. package/app/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  740. package/app/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  741. package/app/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  742. package/app/node_modules/caniuse-lite/data/features/portals.js +1 -1
  743. package/app/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  744. package/app/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  745. package/app/node_modules/caniuse-lite/data/features/progress.js +1 -1
  746. package/app/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  747. package/app/node_modules/caniuse-lite/data/features/promises.js +1 -1
  748. package/app/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  749. package/app/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  750. package/app/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  751. package/app/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  752. package/app/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  753. package/app/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  754. package/app/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  755. package/app/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  756. package/app/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  757. package/app/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  758. package/app/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  759. package/app/node_modules/caniuse-lite/data/features/rem.js +1 -1
  760. package/app/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  761. package/app/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  762. package/app/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  763. package/app/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  764. package/app/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  765. package/app/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  766. package/app/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  767. package/app/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  768. package/app/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  769. package/app/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  770. package/app/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  771. package/app/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  772. package/app/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  773. package/app/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  774. package/app/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  775. package/app/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  776. package/app/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  777. package/app/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  778. package/app/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  779. package/app/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  780. package/app/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  781. package/app/node_modules/caniuse-lite/data/features/sni.js +1 -1
  782. package/app/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  783. package/app/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  784. package/app/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  785. package/app/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  786. package/app/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  787. package/app/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  788. package/app/node_modules/caniuse-lite/data/features/stream.js +1 -1
  789. package/app/node_modules/caniuse-lite/data/features/streams.js +1 -1
  790. package/app/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  791. package/app/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  792. package/app/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  793. package/app/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  794. package/app/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  795. package/app/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  796. package/app/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  797. package/app/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  798. package/app/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  799. package/app/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  800. package/app/node_modules/caniuse-lite/data/features/svg.js +1 -1
  801. package/app/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  802. package/app/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  803. package/app/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  804. package/app/node_modules/caniuse-lite/data/features/template.js +1 -1
  805. package/app/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  806. package/app/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  807. package/app/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  808. package/app/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  809. package/app/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  810. package/app/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  811. package/app/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  812. package/app/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  813. package/app/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  814. package/app/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  815. package/app/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  816. package/app/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  817. package/app/node_modules/caniuse-lite/data/features/touch.js +1 -1
  818. package/app/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  819. package/app/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  820. package/app/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  821. package/app/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  822. package/app/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  823. package/app/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  824. package/app/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  825. package/app/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  826. package/app/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  827. package/app/node_modules/caniuse-lite/data/features/url.js +1 -1
  828. package/app/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  829. package/app/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  830. package/app/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  831. package/app/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  832. package/app/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  833. package/app/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  834. package/app/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  835. package/app/node_modules/caniuse-lite/data/features/video.js +1 -1
  836. package/app/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  837. package/app/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  838. package/app/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  839. package/app/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  840. package/app/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  841. package/app/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  842. package/app/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  843. package/app/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  844. package/app/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  845. package/app/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  846. package/app/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  847. package/app/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  848. package/app/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  849. package/app/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  850. package/app/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  851. package/app/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  852. package/app/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  853. package/app/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  854. package/app/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  855. package/app/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  856. package/app/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  857. package/app/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  858. package/app/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  859. package/app/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  860. package/app/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  861. package/app/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  862. package/app/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  863. package/app/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  864. package/app/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  865. package/app/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  866. package/app/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  867. package/app/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  868. package/app/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  869. package/app/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  870. package/app/node_modules/caniuse-lite/data/features/webm.js +1 -1
  871. package/app/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  872. package/app/node_modules/caniuse-lite/data/features/webp.js +1 -1
  873. package/app/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  874. package/app/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  875. package/app/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  876. package/app/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  877. package/app/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  878. package/app/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  879. package/app/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  880. package/app/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  881. package/app/node_modules/caniuse-lite/data/features/woff.js +1 -1
  882. package/app/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  883. package/app/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  884. package/app/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  885. package/app/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  886. package/app/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  887. package/app/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  888. package/app/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  889. package/app/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  890. package/app/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  891. package/app/node_modules/caniuse-lite/data/versionGroups.js +1 -1
  892. package/app/node_modules/caniuse-lite/package.json +1 -1
  893. package/app/node_modules/next/dist/build/swc/index.js +1 -1
  894. package/app/node_modules/next/dist/build/webpack-config.js +3 -3
  895. package/app/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +2 -2
  896. package/app/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +2 -2
  897. package/app/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +2 -2
  898. package/app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +2 -2
  899. package/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
  900. package/app/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  901. package/app/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
  902. package/app/node_modules/next/dist/server/config.js +1 -1
  903. package/app/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  904. package/app/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  905. package/app/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  906. package/app/node_modules/next/dist/server/lib/router-server.js +1 -1
  907. package/app/node_modules/next/dist/server/lib/start-server.js +1 -1
  908. package/app/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
  909. package/app/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  910. package/app/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  911. package/app/node_modules/next/dist/telemetry/events/version.js +2 -2
  912. package/app/node_modules/next/package.json +11 -11
  913. package/app/node_modules/sql.js/dist/sql-wasm.js +93 -93
  914. package/app/node_modules/sql.js/package.json +14 -14
  915. package/app/package.json +1 -1
  916. package/package.json +1 -1
  917. package/app/.next-cli-build/static/chunks/9233.e0ace25b5b543835.js +0 -67
  918. /package/app/.next-cli-build/static/{PDpzJec3Lz1lBuf7HCyjQ → -A8yVxeQUhunMwVeISlwZ}/_buildManifest.js +0 -0
  919. /package/app/.next-cli-build/static/{PDpzJec3Lz1lBuf7HCyjQ → -A8yVxeQUhunMwVeISlwZ}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- (()=>{var a={};a.id=1110,a.ids=[1110],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4126:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>y,GET:()=>v,POST:()=>x});var d=c(49796),e=c(23211),f=c(79646),g=c(28354),h=c(79748),i=c.n(h),j=c(33873),k=c.n(j),l=c(21820),m=c.n(l),n=c(24424);let o=(0,g.promisify)(f.exec),p=a=>"string"==typeof a?a:a&&"object"==typeof a?a.primary??"":"",q=()=>k().join(m().homedir(),".openclaw"),r=()=>k().join(q(),"openclaw.json"),s=async()=>{try{let a="win32"===m().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await o(a?"where openclaw":"which openclaw",{windowsHide:!0,env:b}),!0}catch{try{return await i().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=r(),b=(await i().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},u=async a=>{try{let b=k().join(a,"models.json"),c=await i().readFile(b,"utf-8"),d=JSON.parse(c),e=d?.providers?.["9router"]?.models;return e?.[0]?.id||null}catch{return null}};async function v(){try{if(!await s())return e.NextResponse.json({installed:!1,settings:null,message:"Open Claw CLI is not installed"});let a=await t(),b=a?.agents?.list||[],c=await Promise.all(b.map(async a=>{let b=a.agentDir?await u(a.agentDir):null;return{...a,model:p(a.model),currentModel:b}}));return e.NextResponse.json({installed:!0,settings:a,agents:c,has9Router:!!a&&!!a.models&&!!a.models.providers&&!!a.models.providers["9router"],settingsPath:r()})}catch(a){return console.log("Error checking openclaw settings:",a),e.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}let w=async(a,b,c,d)=>{await i().mkdir(a,{recursive:!0});let e=k().join(a,"models.json"),f={};try{let a=await i().readFile(e,"utf-8");f=JSON.parse(a)}catch{}f.providers||(f.providers={}),f.providers["9router"]={baseUrl:c,apiKey:d||"your_api_key",api:"openai-completions",models:[{id:b,name:b.split("/").pop()||b}]},await i().writeFile(e,JSON.stringify(f,null,2))};async function x(a){try{let{baseUrl:b,apiKey:c,model:d,agentModels:f={}}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and model are required"},{status:400});let g=q(),h=r();await i().mkdir(g,{recursive:!0});let j={};try{let a=await i().readFile(h,"utf-8");j=JSON.parse(a)}catch{}j.agents||(j.agents={}),j.agents.defaults||(j.agents.defaults={}),j.agents.defaults.model||(j.agents.defaults.model={}),j.agents.defaults.models||(j.agents.defaults.models={}),j.models||(j.models={}),j.models.providers||(j.models.providers={});let k=b.endsWith("/v1")?b:`${b}/v1`,l=`9router/${d}`;Object.keys(j.agents.defaults.models).filter(a=>a.startsWith("9router/")).forEach(a=>{delete j.agents.defaults.models[a]}),j.agents.defaults.model.primary=l;let m=new Set([d]);return Object.values(f).forEach(a=>{a&&m.add(a)}),m.forEach(a=>{j.agents.defaults.models[`9router/${a}`]={}}),j.agents.list&&(j.agents.list=j.agents.list.map(a=>{if(p(a.model).startsWith("9router/")){let{model:b,...c}=a;return c}return a})),j.models.providers["9router"]={baseUrl:k,apiKey:c||"your_api_key",api:"openai-completions",models:[...m].map(a=>({id:a,name:a.split("/").pop()||a}))},j.agents.list&&(j.agents.list=j.agents.list.map(a=>{let b=f[a.id];return b?{...a,model:`9router/${b}`}:a}),await Promise.all(j.agents.list.map(async a=>{if(!a.agentDir)return;let b=f[a.id];await w(a.agentDir,b||d,k,c)}))),await i().writeFile(h,JSON.stringify(j,null,2)),e.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:h})}catch(a){return console.log("Error updating openclaw settings:",a),e.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function y(){try{let a=r(),b={};try{let c=await i().readFile(a,"utf-8");b=JSON.parse(c)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No settings file to reset"});throw a}if(b.models&&b.models.providers&&(delete b.models.providers["9router"],0===Object.keys(b.models.providers).length&&delete b.models.providers),b.agents?.defaults?.models){for(let a of Object.keys(b.agents.defaults.models).filter(a=>a.startsWith("9router/")))delete b.agents.defaults.models[a];0===Object.keys(b.agents.defaults.models).length&&delete b.agents.defaults.models}return b.agents?.defaults?.model?.primary?.startsWith("9router/")&&delete b.agents.defaults.model.primary,await i().writeFile(a,JSON.stringify(b,null,2)),e.NextResponse.json({success:!0,message:"9Router settings removed successfully"})}catch(a){return console.log("Error resetting openclaw settings:",a),e.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,n.D)([v,x,y]),(0,d.A)(v,"00d356691d253cdfd7cc7216e5fc90a1744897e3b7",null),(0,d.A)(x,"40c0cedb27791b2bb2cc19ed3ef72b482fd6070840",null),(0,d.A)(y,"007cc7ba9c718e023c273e9d7dbb2158d072741531",null)},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},24424:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49796:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},77943:(a,b,c)=>{"use strict";a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},80637:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"007cc7ba9c718e023c273e9d7dbb2158d072741531":()=>d.DELETE,"00d356691d253cdfd7cc7216e5fc90a1744897e3b7":()=>d.GET,"40c0cedb27791b2bb2cc19ed3ef72b482fd6070840":()=>d.POST});var d=c(4126)},81525:(a,b,c)=>{"use strict";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/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:"app/api/cli-tools/openclaw-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/openclaw-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(4126),...{}}),{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/cli-tools/openclaw-settings/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=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=81525));module.exports=c})();
1
+ (()=>{var a={};a.id=1110,a.ids=[1110],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4126:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>y,GET:()=>v,POST:()=>x});var d=c(49796),e=c(23211),f=c(79646),g=c(28354),h=c(79748),i=c.n(h),j=c(33873),k=c.n(j),l=c(21820),m=c.n(l),n=c(24424);let o=(0,g.promisify)(f.exec),p=a=>"string"==typeof a?a:a&&"object"==typeof a?a.primary??"":"",q=()=>k().join(m().homedir(),".openclaw"),r=()=>k().join(q(),"openclaw.json"),s=async()=>{try{let a="win32"===m().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await o(a?"where openclaw":"which openclaw",{windowsHide:!0,env:b}),!0}catch{try{return await i().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=r(),b=(await i().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},u=async a=>{try{let b=k().join(a,"models.json"),c=await i().readFile(b,"utf-8"),d=JSON.parse(c),e=d?.providers?.["9router"]?.models;return e?.[0]?.id||null}catch{return null}};async function v(){try{if(!await s())return e.NextResponse.json({installed:!1,settings:null,message:"Open Claw CLI is not installed"});let a=await t(),b=a?.agents?.list||[],c=await Promise.all(b.map(async a=>{let b=a.agentDir?await u(a.agentDir):null;return{...a,model:p(a.model),currentModel:b}}));return e.NextResponse.json({installed:!0,settings:a,agents:c,has9Router:!!a&&!!a.models&&!!a.models.providers&&!!a.models.providers["9router"],settingsPath:r()})}catch(a){return console.log("Error checking openclaw settings:",a),e.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}let w=async(a,b,c,d)=>{await i().mkdir(a,{recursive:!0});let e=k().join(a,"models.json"),f={};try{let a=await i().readFile(e,"utf-8");f=JSON.parse(a)}catch{}f.providers||(f.providers={}),f.providers["9router"]={baseUrl:c,apiKey:d||"your_api_key",api:"openai-completions",models:[{id:b,name:b.split("/").pop()||b}]},await i().writeFile(e,JSON.stringify(f,null,2))};async function x(a){try{let{baseUrl:b,apiKey:c,model:d,agentModels:f={}}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and model are required"},{status:400});let g=q(),h=r();await i().mkdir(g,{recursive:!0});let j={};try{let a=await i().readFile(h,"utf-8");j=JSON.parse(a)}catch{}j.agents||(j.agents={}),j.agents.defaults||(j.agents.defaults={}),j.agents.defaults.model||(j.agents.defaults.model={}),j.agents.defaults.models||(j.agents.defaults.models={}),j.models||(j.models={}),j.models.providers||(j.models.providers={});let k=b.endsWith("/v1")?b:`${b}/v1`,l=`9router/${d}`;Object.keys(j.agents.defaults.models).filter(a=>a.startsWith("9router/")).forEach(a=>{delete j.agents.defaults.models[a]}),j.agents.defaults.model.primary=l;let m=new Set([d]);return Object.values(f).forEach(a=>{a&&m.add(a)}),m.forEach(a=>{j.agents.defaults.models[`9router/${a}`]={}}),j.agents.list&&(j.agents.list=j.agents.list.map(a=>{if(p(a.model).startsWith("9router/")){let{model:b,...c}=a;return c}return a})),j.models.providers["9router"]={baseUrl:k,apiKey:c||"your_api_key",api:"openai-completions",models:[...m].map(a=>({id:a,name:a.split("/").pop()||a}))},j.agents.list&&(j.agents.list=j.agents.list.map(a=>{let b=f[a.id];return b?{...a,model:`9router/${b}`}:a}),await Promise.all(j.agents.list.map(async a=>{if(!a.agentDir)return;let b=f[a.id];await w(a.agentDir,b||d,k,c)}))),await i().writeFile(h,JSON.stringify(j,null,2)),e.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:h})}catch(a){return console.log("Error updating openclaw settings:",a),e.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function y(){try{let a=r(),b={};try{let c=await i().readFile(a,"utf-8");b=JSON.parse(c)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No settings file to reset"});throw a}if(b.models&&b.models.providers&&(delete b.models.providers["9router"],0===Object.keys(b.models.providers).length&&delete b.models.providers),b.agents?.defaults?.models){for(let a of Object.keys(b.agents.defaults.models).filter(a=>a.startsWith("9router/")))delete b.agents.defaults.models[a];0===Object.keys(b.agents.defaults.models).length&&delete b.agents.defaults.models}return b.agents?.defaults?.model?.primary?.startsWith("9router/")&&delete b.agents.defaults.model.primary,await i().writeFile(a,JSON.stringify(b,null,2)),e.NextResponse.json({success:!0,message:"9Router settings removed successfully"})}catch(a){return console.log("Error resetting openclaw settings:",a),e.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,n.D)([v,x,y]),(0,d.A)(v,"00ca91af6e1c9ca79274c04e1415bd9d41daee4458",null),(0,d.A)(x,"40d0370c6e4d732efad3b405c50ce0d3f1990c1602",null),(0,d.A)(y,"00abdd1dbf495d804a6a6d2510810f65bac05f110f",null)},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},24424:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49796:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63496:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00abdd1dbf495d804a6a6d2510810f65bac05f110f":()=>d.DELETE,"00ca91af6e1c9ca79274c04e1415bd9d41daee4458":()=>d.GET,"40d0370c6e4d732efad3b405c50ce0d3f1990c1602":()=>d.POST});var d=c(4126)},77943:(a,b,c)=>{"use strict";a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},81525:(a,b,c)=>{"use strict";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/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:"app/api/cli-tools/openclaw-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/openclaw-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(4126),...{}}),{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/cli-tools/openclaw-settings/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=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=81525));module.exports=c})();
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{var a={};a.id=7508,a.ids=[7508],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")},10703:(a,b,c)=>{c.r(b),c.d(b,{"00b36f712e411b470f6c68533d8bd8c78e83aa6f67":()=>d.GET,"40001a09e0608c4d437458841f9d2c81078d4cff4b":()=>d.PATCH,"407fee00e4e5b67d15166f7603200cbd353fcc0074":()=>d.POST,"40fbc185e46e5a86938a74aa14efdbd3ea02ce02cb":()=>d.DELETE});var d=c(72452)},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")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},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")},48385:(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/cli-tools/opencode-settings/route",pathname:"/api/cli-tools/opencode-settings",filename:"route",bundlePath:"app/api/cli-tools/opencode-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/opencode-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(72452),...{}}),{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/cli-tools/opencode-settings/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)}}},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},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")},72452:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>x,GET:()=>u,PATCH:()=>w,POST:()=>v});var d=c(49796),e=c(23211),f=c(79984),g=c(79646),h=c(28354),i=c(79748),j=c.n(i),k=c(33873),l=c.n(k),m=c(21820),n=c.n(m),o=c(24424);let p=(0,h.promisify)(g.exec),q=()=>l().join(n().homedir(),".config","opencode"),r=()=>l().join(q(),"opencode.json"),s=async()=>{try{let a="win32"===n().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await p(a?"where opencode":"which opencode",{windowsHide:!0,env:b}),!0}catch{try{return await j().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=(await j().readFile(r(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)}catch(a){return a.code,null}};async function u(){try{if(!await s())return e.NextResponse.json({installed:!1,config:null,message:"OpenCode CLI is not installed"});let a=await t(),b=a?.provider?.["9router"],c=b?.models||{};return e.NextResponse.json({installed:!0,config:a,has9Router:!!a?.provider&&!!a.provider["9router"],configPath:r(),opencode:{models:Object.keys(c),activeModel:a?.model?.startsWith("9router/")?a.model.replace(/^9router\//,""):null,baseURL:b?.options?.baseURL||null}})}catch(a){return console.log("Error checking opencode settings:",a),e.NextResponse.json({error:"Failed to check opencode settings"},{status:500})}}async function v(a){try{let{baseUrl:b,apiKey:c,model:d,models:g,activeModel:h,subagentModel:i}=await a.json(),k=Array.isArray(g)?g.slice():"string"==typeof d?[d]:[];if(!b||0===k.length)return e.NextResponse.json({error:"baseUrl and at least one model are required"},{status:400});let l=q(),m=r();await j().mkdir(l,{recursive:!0});let n={};try{let a=await j().readFile(m,"utf-8");n=JSON.parse(a)}catch{}let o=b.endsWith("/v1")?b:`${b}/v1`,p=await (0,f.k)(c),s=i||k[0];n.provider||(n.provider={});let t=n.provider["9router"]||{npm:"@ai-sdk/openai-compatible",options:{},models:{}};for(let a of(t.options={...t.options,baseURL:o,apiKey:p},t.models=t.models||{},k))a&&"string"==typeof a&&(t.models[a]={name:a,modalities:{input:["text","image"],output:["text"]}});if(n.provider["9router"]=t,""===h)n.model="";else{let a=h||k[0];a&&(n.model=`9router/${a}`)}return n.agent||(n.agent={}),n.agent.explorer={description:"Fast explorer subagent for codebase exploration",mode:"subagent",model:`9router/${s}`},await j().writeFile(m,JSON.stringify(n,null,2)),e.NextResponse.json({success:!0,message:"OpenCode settings applied successfully!",configPath:m})}catch(a){return console.log("Error applying opencode settings:",a),e.NextResponse.json({error:"Failed to apply settings"},{status:500})}}async function w(a){try{let{clearActiveModel:b}=await a.json(),c=r(),d={};try{let a=await j().readFile(c,"utf-8");d=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file found"});throw a}return!0===b&&d.model?.startsWith("9router/")&&(d.model=""),await j().writeFile(c,JSON.stringify(d,null,2)),e.NextResponse.json({success:!0,message:"Settings updated"})}catch(a){return console.log("Error patching opencode settings:",a),e.NextResponse.json({error:"Failed to patch settings"},{status:500})}}async function x(a){try{let{searchParams:b}=new URL(a.url),c=b.get("model"),d=r(),f={};try{let a=await j().readFile(d,"utf-8");f=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file to reset"});throw a}if(c&&f.provider?.["9router"]?.models){if(delete f.provider["9router"].models[c],0===Object.keys(f.provider["9router"].models).length)delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;else if(f.model===`9router/${c}`){let a=Object.keys(f.provider["9router"].models);f.model=`9router/${a[0]}`}}else f.provider&&delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;return f.agent?.explorer?.model?.startsWith("9router/")&&(delete f.agent.explorer,0===Object.keys(f.agent).length&&delete f.agent),await j().writeFile(d,JSON.stringify(f,null,2)),e.NextResponse.json({success:!0,message:c?`Model "${c}" removed`:"9Router settings removed from OpenCode"})}catch(a){return console.log("Error resetting opencode settings:",a),e.NextResponse.json({error:"Failed to reset opencode settings"},{status:500})}}(0,o.D)([u,v,w,x]),(0,d.A)(u,"00b36f712e411b470f6c68533d8bd8c78e83aa6f67",null),(0,d.A)(v,"407fee00e4e5b67d15166f7603200cbd353fcc0074",null),(0,d.A)(w,"40001a09e0608c4d437458841f9d2c81078d4cff4b",null),(0,d.A)(x,"40fbc185e46e5a86938a74aa14efdbd3ea02ce02cb",null)},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},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")},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,5390,9269,3192],()=>b(b.s=48385));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=7508,a.ids=[7508],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")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},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")},48385:(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/cli-tools/opencode-settings/route",pathname:"/api/cli-tools/opencode-settings",filename:"route",bundlePath:"app/api/cli-tools/opencode-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/opencode-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(72452),...{}}),{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/cli-tools/opencode-settings/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)}}},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},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")},66613:(a,b,c)=>{c.r(b),c.d(b,{"000becb62d92d406e968bcbdd7db4d867ebee192d2":()=>d.GET,"403137c8f546d2f523a618ae00131cab40d999ffd7":()=>d.POST,"4032ed2a77abb0e2c49501e5f453bd567697dd2896":()=>d.DELETE,"409633f51d97dcf0c616b3c56b644b3e148f86a300":()=>d.PATCH});var d=c(72452)},72452:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>x,GET:()=>u,PATCH:()=>w,POST:()=>v});var d=c(49796),e=c(23211),f=c(79984),g=c(79646),h=c(28354),i=c(79748),j=c.n(i),k=c(33873),l=c.n(k),m=c(21820),n=c.n(m),o=c(24424);let p=(0,h.promisify)(g.exec),q=()=>l().join(n().homedir(),".config","opencode"),r=()=>l().join(q(),"opencode.json"),s=async()=>{try{let a="win32"===n().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await p(a?"where opencode":"which opencode",{windowsHide:!0,env:b}),!0}catch{try{return await j().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=(await j().readFile(r(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)}catch(a){return a.code,null}};async function u(){try{if(!await s())return e.NextResponse.json({installed:!1,config:null,message:"OpenCode CLI is not installed"});let a=await t(),b=a?.provider?.["9router"],c=b?.models||{};return e.NextResponse.json({installed:!0,config:a,has9Router:!!a?.provider&&!!a.provider["9router"],configPath:r(),opencode:{models:Object.keys(c),activeModel:a?.model?.startsWith("9router/")?a.model.replace(/^9router\//,""):null,baseURL:b?.options?.baseURL||null}})}catch(a){return console.log("Error checking opencode settings:",a),e.NextResponse.json({error:"Failed to check opencode settings"},{status:500})}}async function v(a){try{let{baseUrl:b,apiKey:c,model:d,models:g,activeModel:h,subagentModel:i}=await a.json(),k=Array.isArray(g)?g.slice():"string"==typeof d?[d]:[];if(!b||0===k.length)return e.NextResponse.json({error:"baseUrl and at least one model are required"},{status:400});let l=q(),m=r();await j().mkdir(l,{recursive:!0});let n={};try{let a=await j().readFile(m,"utf-8");n=JSON.parse(a)}catch{}let o=b.endsWith("/v1")?b:`${b}/v1`,p=await (0,f.k)(c),s=i||k[0];n.provider||(n.provider={});let t=n.provider["9router"]||{npm:"@ai-sdk/openai-compatible",options:{},models:{}};for(let a of(t.options={...t.options,baseURL:o,apiKey:p},t.models=t.models||{},k))a&&"string"==typeof a&&(t.models[a]={name:a,modalities:{input:["text","image"],output:["text"]}});if(n.provider["9router"]=t,""===h)n.model="";else{let a=h||k[0];a&&(n.model=`9router/${a}`)}return n.agent||(n.agent={}),n.agent.explorer={description:"Fast explorer subagent for codebase exploration",mode:"subagent",model:`9router/${s}`},await j().writeFile(m,JSON.stringify(n,null,2)),e.NextResponse.json({success:!0,message:"OpenCode settings applied successfully!",configPath:m})}catch(a){return console.log("Error applying opencode settings:",a),e.NextResponse.json({error:"Failed to apply settings"},{status:500})}}async function w(a){try{let{clearActiveModel:b}=await a.json(),c=r(),d={};try{let a=await j().readFile(c,"utf-8");d=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file found"});throw a}return!0===b&&d.model?.startsWith("9router/")&&(d.model=""),await j().writeFile(c,JSON.stringify(d,null,2)),e.NextResponse.json({success:!0,message:"Settings updated"})}catch(a){return console.log("Error patching opencode settings:",a),e.NextResponse.json({error:"Failed to patch settings"},{status:500})}}async function x(a){try{let{searchParams:b}=new URL(a.url),c=b.get("model"),d=r(),f={};try{let a=await j().readFile(d,"utf-8");f=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file to reset"});throw a}if(c&&f.provider?.["9router"]?.models){if(delete f.provider["9router"].models[c],0===Object.keys(f.provider["9router"].models).length)delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;else if(f.model===`9router/${c}`){let a=Object.keys(f.provider["9router"].models);f.model=`9router/${a[0]}`}}else f.provider&&delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;return f.agent?.explorer?.model?.startsWith("9router/")&&(delete f.agent.explorer,0===Object.keys(f.agent).length&&delete f.agent),await j().writeFile(d,JSON.stringify(f,null,2)),e.NextResponse.json({success:!0,message:c?`Model "${c}" removed`:"9Router settings removed from OpenCode"})}catch(a){return console.log("Error resetting opencode settings:",a),e.NextResponse.json({error:"Failed to reset opencode settings"},{status:500})}}(0,o.D)([u,v,w,x]),(0,d.A)(u,"000becb62d92d406e968bcbdd7db4d867ebee192d2",null),(0,d.A)(v,"403137c8f546d2f523a618ae00131cab40d999ffd7",null),(0,d.A)(w,"409633f51d97dcf0c616b3c56b644b3e148f86a300",null),(0,d.A)(x,"4032ed2a77abb0e2c49501e5f453bd567697dd2896",null)},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},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")},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,5390,9269,3192],()=>b(b.s=48385));module.exports=c})();
@@ -1,2 +1,2 @@
1
1
  "use strict";(()=>{var a={};a.id=1626,a.ids=[1626],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")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},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")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},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()}},51324:(a,b,c)=>{c.r(b),c.d(b,{"005d7d3271a7ef71af4c4140b94e952ef598b535ba":()=>d.DELETE,"006b3fed6ff33c1daa5f516a4eda86012c5886dcf1":()=>d.GET,"40deaabdd6391f35ea8645a5f509451b23f3b3a6dd":()=>d.POST});var d=c(92770)},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")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},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")},88197:(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/cli-tools/pi-settings/route",pathname:"/api/cli-tools/pi-settings",filename:"route",bundlePath:"app/api/cli-tools/pi-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/pi-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(92770),...{}}),{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/cli-tools/pi-settings/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)}}},92770:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=async()=>{let a="win32"===l().platform();try{return await p(a?"where pi":"which pi",{windowsHide:!0}),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","agent","models.json")),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","models.json")),!0}catch{return!1}}}},r=async()=>{let a=j().join(l().homedir(),".pi","agent","models.json"),b=j().join(l().homedir(),".pi","models.json");try{return await h().access(a),a}catch{try{return await h().access(b),b}catch{return a}}},s=async()=>{try{let a=await r(),b=await h().readFile(a,"utf-8");return JSON.parse(b)}catch{return null}};async function t(){try{if(!await q())return e.NextResponse.json({installed:!1,config:null,message:"Pi CLI is not installed"});let a=await s(),b=await r();return e.NextResponse.json({installed:!0,config:a,has9Router:(a=>{if(!a||!a.providers)return!1;let b=a.providers["9router"];if(b&&b.baseUrl)return!0;for(let b of Object.values(a.providers))if(b.baseUrl&&b.baseUrl.includes("20128"))return!0;return!1})(a),configPath:b})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=await r();await h().mkdir(j().dirname(g),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}i.providers||(i.providers={});let k=a.endsWith("/v1")?a:`${a}/v1`,l=[];if(Array.isArray(b.models)&&b.models.length>0)l=b.models.map(a=>"string"==typeof a?{id:a,name:a,contextWindow:128e3,maxTokens:16384}:{id:a.id||"provider/model-id",name:a.name||a.id||"provider/model-id",contextWindow:a.contextWindow||128e3,maxTokens:a.maxTokens||16384});else{let a=d||"provider/model-id";l=[{id:a,name:a,contextWindow:128e3,maxTokens:16384}]}return i.providers["9router"]={...existingProvider,baseUrl:k,apiKey:c||existingProvider.apiKey||await (0,f.k)(null),api:existingProvider.api||"openai-completions",models:l},await h().writeFile(g,JSON.stringify(i,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Pi settings applied! Use /model in Pi to select the 9Router model.",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=await r(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return b.providers&&b.providers["9router"]&&(delete b.providers["9router"],0===Object.keys(b.providers).length&&delete b.providers,await h().writeFile(a,JSON.stringify(b,null,2),"utf-8")),e.NextResponse.json({success:!0,message:"9Router removed from Pi"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"006b3fed6ff33c1daa5f516a4eda86012c5886dcf1",null),(0,d.A)(u,"40deaabdd6391f35ea8645a5f509451b23f3b3a6dd",null),(0,d.A)(v,"005d7d3271a7ef71af4c4140b94e952ef598b535ba",null)},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,5390,9269,3192],()=>b(b.s=88197));module.exports=c})();
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},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")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},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")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},80420:(a,b,c)=>{c.r(b),c.d(b,{"0079be21395814d8b8bf92c442c223bff293b32a69":()=>d.GET,"00fa769a962d7f03ae0ac7ef7923138f22bfdabbef":()=>d.DELETE,"40a859082ee4350a50234ae14d5a22145c697c0eba":()=>d.POST});var d=c(92770)},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")},88197:(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/cli-tools/pi-settings/route",pathname:"/api/cli-tools/pi-settings",filename:"route",bundlePath:"app/api/cli-tools/pi-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/pi-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(92770),...{}}),{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/cli-tools/pi-settings/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)}}},92770:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=async()=>{let a="win32"===l().platform();try{return await p(a?"where pi":"which pi",{windowsHide:!0}),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","agent","models.json")),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","models.json")),!0}catch{return!1}}}},r=async()=>{let a=j().join(l().homedir(),".pi","agent","models.json"),b=j().join(l().homedir(),".pi","models.json");try{return await h().access(a),a}catch{try{return await h().access(b),b}catch{return a}}},s=async()=>{try{let a=await r(),b=await h().readFile(a,"utf-8");return JSON.parse(b)}catch{return null}};async function t(){try{if(!await q())return e.NextResponse.json({installed:!1,config:null,message:"Pi CLI is not installed"});let a=await s(),b=await r();return e.NextResponse.json({installed:!0,config:a,has9Router:(a=>{if(!a||!a.providers)return!1;let b=a.providers["9router"];if(b&&b.baseUrl)return!0;for(let b of Object.values(a.providers))if(b.baseUrl&&b.baseUrl.includes("20128"))return!0;return!1})(a),configPath:b})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=await r();await h().mkdir(j().dirname(g),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}i.providers||(i.providers={});let k=a.endsWith("/v1")?a:`${a}/v1`,l=[];if(Array.isArray(b.models)&&b.models.length>0)l=b.models.map(a=>"string"==typeof a?{id:a,name:a,contextWindow:128e3,maxTokens:16384}:{id:a.id||"provider/model-id",name:a.name||a.id||"provider/model-id",contextWindow:a.contextWindow||128e3,maxTokens:a.maxTokens||16384});else{let a=d||"provider/model-id";l=[{id:a,name:a,contextWindow:128e3,maxTokens:16384}]}return i.providers["9router"]={...existingProvider,baseUrl:k,apiKey:c||existingProvider.apiKey||await (0,f.k)(null),api:existingProvider.api||"openai-completions",models:l},await h().writeFile(g,JSON.stringify(i,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Pi settings applied! Use /model in Pi to select the 9Router model.",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=await r(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return b.providers&&b.providers["9router"]&&(delete b.providers["9router"],0===Object.keys(b.providers).length&&delete b.providers,await h().writeFile(a,JSON.stringify(b,null,2),"utf-8")),e.NextResponse.json({success:!0,message:"9Router removed from Pi"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"0079be21395814d8b8bf92c442c223bff293b32a69",null),(0,d.A)(u,"40a859082ee4350a50234ae14d5a22145c697c0eba",null),(0,d.A)(v,"00fa769a962d7f03ae0ac7ef7923138f22bfdabbef",null)},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,5390,9269,3192],()=>b(b.s=88197));module.exports=c})();
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{var a={};a.id=7852,a.ids=[7852],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")},21171:(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/cli-tools/smelt-settings/route",pathname:"/api/cli-tools/smelt-settings",filename:"route",bundlePath:"app/api/cli-tools/smelt-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/smelt-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(62306),...{}}),{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/cli-tools/smelt-settings/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")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},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")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},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")},62306:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=()=>j().join(l().homedir(),".smelt","config.json"),r=async()=>{let a="win32"===l().platform();try{return await p(a?"where smelt":"which smelt",{windowsHide:!0}),!0}catch{try{return await h().access(q()),!0}catch{return!1}}},s=async()=>{try{let a=await h().readFile(q(),"utf-8");return JSON.parse(a)}catch{return null}};async function t(){try{if(!await r())return e.NextResponse.json({installed:!1,config:null,message:"Smelt CLI is not installed"});let a=await s();return e.NextResponse.json({installed:!0,config:a,has9Router:!!a&&("9router"===a._managedBy||"string"==typeof a.baseUrl&&a.baseUrl.length>0&&a.baseUrl.includes("20128")),configPath:q()})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=q();await h().mkdir(j().dirname(q()),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}let k=a.endsWith("/v1")?a:`${a}/v1`,l={...i,baseUrl:k,apiKey:await (0,f.k)(c),model:d||i.model||"provider/model-id",_managedBy:"9router"};return await h().writeFile(g,JSON.stringify(l,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt settings applied successfully!",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=q(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return delete b.baseUrl,delete b.apiKey,delete b.model,delete b._managedBy,0===Object.keys(b).length?await h().rm(a,{force:!0}):await h().writeFile(a,JSON.stringify(b,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt 9Router settings removed"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"00ed226769442cfbaa24ac2a71e8827a99f7d6222d",null),(0,d.A)(u,"40adbd35ad95085386fa994b1d78d40577da3c9e40",null),(0,d.A)(v,"0034fcd025960fdbb4e19948d5498b51586e120228",null)},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")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},81787:a=>{a.exports=require("bun:sqlite")},82973:(a,b,c)=>{c.r(b),c.d(b,{"0034fcd025960fdbb4e19948d5498b51586e120228":()=>d.DELETE,"00ed226769442cfbaa24ac2a71e8827a99f7d6222d":()=>d.GET,"40adbd35ad95085386fa994b1d78d40577da3c9e40":()=>d.POST});var d=c(62306)},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")},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,5390,9269,3192],()=>b(b.s=21171));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=7852,a.ids=[7852],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")},7303:(a,b,c)=>{c.r(b),c.d(b,{"00b2e8743d8973daaa11a61ff82a544dd93d55fbe9":()=>d.DELETE,"00c44e390f357270fb4d59290b86fcb7166ade5874":()=>d.GET,"40e23413d4b1d1a5e285767dcbd5ebcf48aacf68c0":()=>d.POST});var d=c(62306)},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")},21171:(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/cli-tools/smelt-settings/route",pathname:"/api/cli-tools/smelt-settings",filename:"route",bundlePath:"app/api/cli-tools/smelt-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/smelt-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(62306),...{}}),{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/cli-tools/smelt-settings/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")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},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")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},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")},62306:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=()=>j().join(l().homedir(),".smelt","config.json"),r=async()=>{let a="win32"===l().platform();try{return await p(a?"where smelt":"which smelt",{windowsHide:!0}),!0}catch{try{return await h().access(q()),!0}catch{return!1}}},s=async()=>{try{let a=await h().readFile(q(),"utf-8");return JSON.parse(a)}catch{return null}};async function t(){try{if(!await r())return e.NextResponse.json({installed:!1,config:null,message:"Smelt CLI is not installed"});let a=await s();return e.NextResponse.json({installed:!0,config:a,has9Router:!!a&&("9router"===a._managedBy||"string"==typeof a.baseUrl&&a.baseUrl.length>0&&a.baseUrl.includes("20128")),configPath:q()})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=q();await h().mkdir(j().dirname(q()),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}let k=a.endsWith("/v1")?a:`${a}/v1`,l={...i,baseUrl:k,apiKey:await (0,f.k)(c),model:d||i.model||"provider/model-id",_managedBy:"9router"};return await h().writeFile(g,JSON.stringify(l,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt settings applied successfully!",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=q(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return delete b.baseUrl,delete b.apiKey,delete b.model,delete b._managedBy,0===Object.keys(b).length?await h().rm(a,{force:!0}):await h().writeFile(a,JSON.stringify(b,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt 9Router settings removed"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"00c44e390f357270fb4d59290b86fcb7166ade5874",null),(0,d.A)(u,"40e23413d4b1d1a5e285767dcbd5ebcf48aacf68c0",null),(0,d.A)(v,"00b2e8743d8973daaa11a61ff82a544dd93d55fbe9",null)},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")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},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")},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,5390,9269,3192],()=>b(b.s=21171));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=335,a.ids=[335],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2097:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>j,GET:()=>h,PUT:()=>i});var d=c(23211),e=c(89718),f=c(18910);let g=/^[a-zA-Z0-9_.\-]+$/;async function h(a,{params:b}){try{let{id:a}=await b,c=await (0,e.L)(a);if(!c)return d.NextResponse.json({error:"Combo not found"},{status:404});return d.NextResponse.json(c)}catch(a){return console.log("Error fetching combo:",a),d.NextResponse.json({error:"Failed to fetch combo"},{status:500})}}async function i(a,{params:b}){try{let{id:c}=await b,h=await a.json();if(h.name){if(!g.test(h.name))return d.NextResponse.json({error:"Name can only contain letters, numbers, -, _ and ."},{status:400});let a=await (0,e.Dj)(h.name);if(a&&a.id!==c)return d.NextResponse.json({error:"Combo name already exists"},{status:400})}let i=await (0,e.L)(c),j=await (0,e.oG)(c,h);if(!j)return d.NextResponse.json({error:"Combo not found"},{status:404});return i?.name&&(0,f.UP)(i.name),j.name&&j.name!==i?.name&&(0,f.UP)(j.name),d.NextResponse.json(j)}catch(a){return console.log("Error updating combo:",a),d.NextResponse.json({error:"Failed to update combo"},{status:500})}}async function j(a,{params:b}){try{let{id:a}=await b,c=await (0,e.L)(a);if(!await (0,e.CG)(a))return d.NextResponse.json({error:"Combo not found"},{status:404});return c?.name&&(0,f.UP)(c.name),d.NextResponse.json({success:!0})}catch(a){return console.log("Error deleting combo:",a),d.NextResponse.json({error:"Failed to delete combo"},{status:500})}}},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")},12557:(a,b,c)=>{c.d(b,{Bl:()=>j,Qo:()=>f,S5:()=>l,hk:()=>e,kJ:()=>k});var d=c(3662);function e(a,b,c=0,f=null){let g=b?("string"==typeof b?b:JSON.stringify(b)).toLowerCase():"";for(let b of d.t2)if((!b.provider||b.provider===f)&&(b.text&&g&&g.includes(b.text)||b.status&&b.status===a)){if(b.backoff){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:function(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}(a),newBackoffLevel:a}}return{shouldFallback:!0,cooldownMs:b.cooldownMs}}return a>=400&&a<500&&401!==a&&402!==a&&403!==a&&429!==a?{shouldFallback:!1,cooldownMs:0}:{shouldFallback:!0,cooldownMs:d.wf}}function f(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}let g="modelLock_",h=`${g}__all`;function i(a){return a?`${g}${a}`:h}function j(a,b){let c=a[i(b)]||a[h];return!!c&&new Date(c).getTime()>Date.now()}function k(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(g)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function l(a,b){return{[i(a)]:new Date(Date.now()+b).toISOString()}}},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")},43659:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,xJ:()=>e,yj:()=>f,zL:()=>g});var d=c(3662);function e(a,b){let c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""});return{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}}}function f(a,b,c=null){return new Response(JSON.stringify(e(a,b)),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*",...c}})}async function g(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function h(a,b,c,d=null){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(a,b,c,d,e=null){let f=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{...e,"Content-Type":"application/json","retry-after":String(f)}})}function j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,M2:()=>d.M2,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(83192)},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")},61451:(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/combos/[id]/route",pathname:"/api/combos/[id]",filename:"route",bundlePath:"app/api/combos/[id]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/combos/[id]/route.js",nextConfigOutput:"standalone",userland:()=>c(2097),...{}}),{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/combos/[id]/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")},77598:a=>{a.exports=require("node:crypto")},79868: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,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(83192)},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,5390,9269,3192,8920,24,6922,8910],()=>b(b.s=61451));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=335,a.ids=[335],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2097:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>j,GET:()=>h,PUT:()=>i});var d=c(23211),e=c(89718),f=c(18910);let g=/^[a-zA-Z0-9_.\-]+$/;async function h(a,{params:b}){try{let{id:a}=await b,c=await (0,e.L)(a);if(!c)return d.NextResponse.json({error:"Combo not found"},{status:404});return d.NextResponse.json(c)}catch(a){return console.log("Error fetching combo:",a),d.NextResponse.json({error:"Failed to fetch combo"},{status:500})}}async function i(a,{params:b}){try{let{id:c}=await b,h=await a.json();if(h.name){if(!g.test(h.name))return d.NextResponse.json({error:"Name can only contain letters, numbers, -, _ and ."},{status:400});let a=await (0,e.Dj)(h.name);if(a&&a.id!==c)return d.NextResponse.json({error:"Combo name already exists"},{status:400})}let i=await (0,e.L)(c),j=await (0,e.oG)(c,h);if(!j)return d.NextResponse.json({error:"Combo not found"},{status:404});return i?.name&&(0,f.UP)(i.name),j.name&&j.name!==i?.name&&(0,f.UP)(j.name),d.NextResponse.json(j)}catch(a){return console.log("Error updating combo:",a),d.NextResponse.json({error:"Failed to update combo"},{status:500})}}async function j(a,{params:b}){try{let{id:a}=await b,c=await (0,e.L)(a);if(!await (0,e.CG)(a))return d.NextResponse.json({error:"Combo not found"},{status:404});return c?.name&&(0,f.UP)(c.name),d.NextResponse.json({success:!0})}catch(a){return console.log("Error deleting combo:",a),d.NextResponse.json({error:"Failed to delete combo"},{status:500})}}},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")},12557:(a,b,c)=>{c.d(b,{Bl:()=>j,Qo:()=>f,S5:()=>l,hk:()=>e,kJ:()=>k});var d=c(3662);function e(a,b,c=0,f=null){let g=b?("string"==typeof b?b:JSON.stringify(b)).toLowerCase():"";for(let b of d.t2)if((!b.provider||b.provider===f)&&(b.text&&g&&g.includes(b.text)||b.status&&b.status===a)){if(b.backoff){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:function(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}(a),newBackoffLevel:a}}return{shouldFallback:!0,cooldownMs:b.cooldownMs}}return a>=400&&a<500&&401!==a&&402!==a&&403!==a&&429!==a?{shouldFallback:!1,cooldownMs:0}:{shouldFallback:!0,cooldownMs:d.wf}}function f(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}let g="modelLock_",h=`${g}__all`;function i(a){return a?`${g}${a}`:h}function j(a,b){let c=a[i(b)]||a[h];return!!c&&new Date(c).getTime()>Date.now()}function k(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(g)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function l(a,b){return{[i(a)]:new Date(Date.now()+b).toISOString()}}},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")},43659:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,xJ:()=>e,yj:()=>f,zL:()=>g});var d=c(3662);function e(a,b){let c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""});return{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}}}function f(a,b,c=null){return new Response(JSON.stringify(e(a,b)),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*",...c}})}async function g(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function h(a,b,c,d=null){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b,d)}}function i(a,b,c,d,e=null){let f=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{...e,"Content-Type":"application/json","retry-after":String(f)}})}function j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,M2:()=>d.M2,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(83192)},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")},61451:(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/combos/[id]/route",pathname:"/api/combos/[id]",filename:"route",bundlePath:"app/api/combos/[id]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/combos/[id]/route.js",nextConfigOutput:"standalone",userland:()=>c(2097),...{}}),{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/combos/[id]/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")},77598:a=>{a.exports=require("node:crypto")},79868: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,Lf:()=>d.Lf,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,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(83192)},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,5390,9269,3192,8920,24,6922,8910],()=>b(b.s=61451));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=4242,a.ids=[4242],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")},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()}},50703:(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/combos/presets/route",pathname:"/api/combos/presets",filename:"route",bundlePath:"app/api/combos/presets/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/combos/presets/route.js",nextConfigOutput:"standalone",userland:()=>c(75321),...{}}),{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/combos/presets/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")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75321:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>r,POST:()=>s,dynamic:()=>n});var d=c(23211),e=c(89718),f=c(57247),g=c(83966);let h=/^[a-zA-Z0-9_.\-]+$/,i=new Set(["cursor","claude"]),j={default:"cc/claude-sonnet-5",opusplan:"cc/claude-opus-5"};function k(a,b,c){return!("string"==typeof a&&a.length>0&&h.test(a))||c?.has(a)||!Array.isArray(b)||0===b.length?null:(c?.add(a),{name:a,models:b})}function l(a,b,c){let d=[];for(let e of a||[]){let a="string"==typeof e?e:e?.id;if(!a)continue;let f=k(a,[`${b}/${a}`],c);f&&d.push(f)}return d}var m=c(82578);let n="force-dynamic";async function o(){try{let a=(await (0,e.getProviderConnections)()||[]).find(a=>"cursor"===a.provider&&!1!==a.isActive);if(!a)return null;let b=await (0,m.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?b.models:null}catch(a){return console.log("combo presets: cursor live catalog failed",a?.message||a),null}}async function p(a){let b=(await (0,e.Uv)()||[]).map(a=>a.name),c="cursor"===a?await o():null;return function(a,b={}){if(!i.has(a))return[];let c="cursor"===a?function(a={}){let b=new Set,c=Array.isArray(a.liveModels)?a.liveModels:null;return c?.length?l(c,"cu",b):l((0,f.SM)("cu"),"cu",b)}({liveModels:b.liveModels}):function(){let a=new Set,b=l((0,f.SM)("cc"),"cc",a),c=g.dM.claude||{};for(let d of c.defaultModels||[]){let c=d.alias||d.id,e=d.defaultValue;if(!c||!e)continue;let f=k(c,[e],a);f&&b.push(f)}for(let d of c.modelAliases||[]){if(a.has(d))continue;let c=j[d];if(!c)continue;let e=k(d,[c],a);e&&b.push(e)}return b}(),d=new Set(b.existingNames||[]);return c.map(a=>({...a,exists:d.has(a.name)}))}(a,{liveModels:c||void 0,existingNames:b})}function q(a){return a&&i.has(a)?a:null}async function r(a){try{let{searchParams:b}=new URL(a.url),c=q(b.get("source"));if(!c)return d.NextResponse.json({error:"source must be 'cursor' or 'claude'"},{status:400});let e=await p(c);return d.NextResponse.json({source:c,items:e,toCreate:e.filter(a=>!a.exists).length,toSkip:e.filter(a=>a.exists).length})}catch(a){return console.log("Error previewing combo presets:",a),d.NextResponse.json({error:"Failed to preview combo presets"},{status:500})}}async function s(a){try{let b=await a.json().catch(()=>({})),c=q(b?.source);if(!c)return d.NextResponse.json({error:"source must be 'cursor' or 'claude'"},{status:400});let f=await p(c),g=[],h=[];for(let a of f){if(a.exists){h.push(a.name);continue}let b=await (0,e.jd)({name:a.name,models:a.models});g.push(b)}return d.NextResponse.json({source:c,created:g,skipped:h,createdCount:g.length,skippedCount:h.length})}catch(a){return console.log("Error creating combo presets:",a),d.NextResponse.json({error:"Failed to create combo presets"},{status:500})}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},82578:(a,b,c)=>{c.d(b,{FD:()=>n});var d=c(55511),e=c.n(d),f=c(73496),g=c.n(f),h=c(6118),i=c(81756),j=c(55456);let k=new Map;function l(a,b){let c=a.get(b)?.[0]?.value;return c&&"number"!=typeof c?Buffer.from(c).toString("utf8"):""}async function m(a,b){var c;let d,e=a?.accessToken,f=a?.providerSpecificData?.machineId,k=(d=h.sr.cursor,d?.agentEndpoint&&d?.modelsEndpoint?`${d.agentEndpoint.replace(/\/$/,"")}${d.modelsEndpoint}`:null);if(!e||!f||!k)return null;let m={...(0,i.JA)(e,f,a?.providerSpecificData?.ghostMode!==!1),accept:"application/proto","content-type":"application/proto"};delete m["connect-accept-encoding"],delete m["connect-protocol-version"];let n=await (c=new Uint8Array,new Promise((a,d)=>{let e=new URL(k),f=g().connect(`https://${e.host}`),h=[],i={},j=!1,l=a=>(...b)=>{if(!j){j=!0,clearTimeout(n);try{f.close()}catch{}a(...b)}},n=setTimeout(l(()=>{d(Error("Cursor GetUsableModels timed out"))}),1e4);f.on("error",l(d));let o=f.request({":method":"POST",":path":e.pathname,":authority":e.host,":scheme":"https",...m});if(o.on("response",a=>{i=a}),o.on("data",a=>{h.push(a)}),o.on("end",l(()=>{a({status:Number(i[":status"]||0),body:Buffer.concat(h)})})),o.on("error",l(d)),b){let a=l(()=>d(Error("Request aborted")));b.aborted?a():b.addEventListener("abort",a,{once:!0})}o.end(c&&c.length?Buffer.from(c):void 0)}));if(200!==n.status){let a=Error(`Cursor GetUsableModels returned ${n.status}`);throw a.status=n.status,a}return function(a){let b=(0,j.Y8)(a),c=new Set,d=[];for(let a of b.get(1)||[]){if(!a?.value||"number"==typeof a.value)continue;let b=(0,j.Y8)(a.value),e=l(b,1).trim();if(!e||c.has(e))continue;c.add(e);let f=(l(b,4)||l(b,5)||l(b,3)||e).trim();d.push({id:e,name:f})}return d}(new Uint8Array(n.body))}async function n(a,b={}){let c;if(!a?.accessToken||!a?.providerSpecificData?.machineId)return b.log?.debug?.("CURSOR_MODELS","No Cursor access token or machine ID; skipping live fetch"),null;let d=(c=[a?.providerSpecificData?.machineId,a?.accessToken].filter(Boolean).join(":"))?e().createHash("sha256").update(`cursor:${c}`).digest("hex"):"cursor-anonymous",f=Date.now();if(!b.forceRefresh){let a=k.get(d);if(a?.expiresAt>f)return{models:a.models}}try{let c=await m(a,b.signal);if(!c?.length)return null;return k.set(d,{expiresAt:f+3e5,models:c}),{models:c}}catch(a){return b.log?.warn?.("CURSOR_MODELS",`Live model fetch failed: ${a?.message||a}`),null}}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},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,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(83192)},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,5390,9269,3192,6118,1851,3966],()=>b(b.s=50703));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=4242,a.ids=[4242],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")},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()}},50703:(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/combos/presets/route",pathname:"/api/combos/presets",filename:"route",bundlePath:"app/api/combos/presets/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/combos/presets/route.js",nextConfigOutput:"standalone",userland:()=>c(75321),...{}}),{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/combos/presets/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")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75321:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>r,POST:()=>s,dynamic:()=>n});var d=c(23211),e=c(89718),f=c(57247),g=c(83966);let h=/^[a-zA-Z0-9_.\-]+$/,i=new Set(["cursor","claude"]),j={default:"cc/claude-sonnet-5",opusplan:"cc/claude-opus-5"};function k(a,b,c){return!("string"==typeof a&&a.length>0&&h.test(a))||c?.has(a)||!Array.isArray(b)||0===b.length?null:(c?.add(a),{name:a,models:b})}function l(a,b,c){let d=[];for(let e of a||[]){let a="string"==typeof e?e:e?.id;if(!a)continue;let f=k(a,[`${b}/${a}`],c);f&&d.push(f)}return d}var m=c(82578);let n="force-dynamic";async function o(){try{let a=(await (0,e.getProviderConnections)()||[]).find(a=>"cursor"===a.provider&&!1!==a.isActive);if(!a)return null;let b=await (0,m.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?b.models:null}catch(a){return console.log("combo presets: cursor live catalog failed",a?.message||a),null}}async function p(a){let b=(await (0,e.Uv)()||[]).map(a=>a.name),c="cursor"===a?await o():null;return function(a,b={}){if(!i.has(a))return[];let c="cursor"===a?function(a={}){let b=new Set,c=Array.isArray(a.liveModels)?a.liveModels:null;return c?.length?l(c,"cu",b):l((0,f.SM)("cu"),"cu",b)}({liveModels:b.liveModels}):function(){let a=new Set,b=l((0,f.SM)("cc"),"cc",a),c=g.dM.claude||{};for(let d of c.defaultModels||[]){let c=d.alias||d.id,e=d.defaultValue;if(!c||!e)continue;let f=k(c,[e],a);f&&b.push(f)}for(let d of c.modelAliases||[]){if(a.has(d))continue;let c=j[d];if(!c)continue;let e=k(d,[c],a);e&&b.push(e)}return b}(),d=new Set(b.existingNames||[]);return c.map(a=>({...a,exists:d.has(a.name)}))}(a,{liveModels:c||void 0,existingNames:b})}function q(a){return a&&i.has(a)?a:null}async function r(a){try{let{searchParams:b}=new URL(a.url),c=q(b.get("source"));if(!c)return d.NextResponse.json({error:"source must be 'cursor' or 'claude'"},{status:400});let e=await p(c);return d.NextResponse.json({source:c,items:e,toCreate:e.filter(a=>!a.exists).length,toSkip:e.filter(a=>a.exists).length})}catch(a){return console.log("Error previewing combo presets:",a),d.NextResponse.json({error:"Failed to preview combo presets"},{status:500})}}async function s(a){try{let b=await a.json().catch(()=>({})),c=q(b?.source);if(!c)return d.NextResponse.json({error:"source must be 'cursor' or 'claude'"},{status:400});let f=await p(c),g=[],h=[];for(let a of f){if(a.exists){h.push(a.name);continue}let b=await (0,e.jd)({name:a.name,models:a.models});g.push(b)}return d.NextResponse.json({source:c,created:g,skipped:h,createdCount:g.length,skippedCount:h.length})}catch(a){return console.log("Error creating combo presets:",a),d.NextResponse.json({error:"Failed to create combo presets"},{status:500})}}},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},82578:(a,b,c)=>{c.d(b,{FD:()=>n});var d=c(55511),e=c.n(d),f=c(73496),g=c.n(f),h=c(6118),i=c(81756),j=c(55456);let k=new Map;function l(a,b){let c=a.get(b)?.[0]?.value;return c&&"number"!=typeof c?Buffer.from(c).toString("utf8"):""}async function m(a,b){var c;let d,e=a?.accessToken,f=a?.providerSpecificData?.machineId,k=(d=h.sr.cursor,d?.agentEndpoint&&d?.modelsEndpoint?`${d.agentEndpoint.replace(/\/$/,"")}${d.modelsEndpoint}`:null);if(!e||!f||!k)return null;let m={...(0,i.JA)(e,f,a?.providerSpecificData?.ghostMode!==!1),accept:"application/proto","content-type":"application/proto"};delete m["connect-accept-encoding"],delete m["connect-protocol-version"];let n=await (c=new Uint8Array,new Promise((a,d)=>{let e=new URL(k),f=g().connect(`https://${e.host}`),h=[],i={},j=!1,l=a=>(...b)=>{if(!j){j=!0,clearTimeout(n);try{f.close()}catch{}a(...b)}},n=setTimeout(l(()=>{d(Error("Cursor GetUsableModels timed out"))}),1e4);f.on("error",l(d));let o=f.request({":method":"POST",":path":e.pathname,":authority":e.host,":scheme":"https",...m});if(o.on("response",a=>{i=a}),o.on("data",a=>{h.push(a)}),o.on("end",l(()=>{a({status:Number(i[":status"]||0),body:Buffer.concat(h)})})),o.on("error",l(d)),b){let a=l(()=>d(Error("Request aborted")));b.aborted?a():b.addEventListener("abort",a,{once:!0})}o.end(c&&c.length?Buffer.from(c):void 0)}));if(200!==n.status){let a=Error(`Cursor GetUsableModels returned ${n.status}`);throw a.status=n.status,a}return function(a){let b=(0,j.Y8)(a),c=new Set,d=[];for(let a of b.get(1)||[]){if(!a?.value||"number"==typeof a.value)continue;let b=(0,j.Y8)(a.value),e=l(b,1).trim();if(!e||c.has(e))continue;c.add(e);let f=(l(b,4)||l(b,5)||l(b,3)||e).trim();d.push({id:e,name:f})}return d}(new Uint8Array(n.body))}async function n(a,b={}){let c;if(!a?.accessToken||!a?.providerSpecificData?.machineId)return b.log?.debug?.("CURSOR_MODELS","No Cursor access token or machine ID; skipping live fetch"),null;let d=(c=[a?.providerSpecificData?.machineId,a?.accessToken].filter(Boolean).join(":"))?e().createHash("sha256").update(`cursor:${c}`).digest("hex"):"cursor-anonymous",f=Date.now();if(!b.forceRefresh){let a=k.get(d);if(a?.expiresAt>f)return{models:a.models}}try{let c=await m(a,b.signal);if(!c?.length)return null;return k.set(d,{expiresAt:f+3e5,models:c}),{models:c}}catch(a){return b.log?.warn?.("CURSOR_MODELS",`Live model fetch failed: ${a?.message||a}`),null}}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},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,Lf:()=>d.Lf,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,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(83192)},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,5390,9269,3192,6118,1851,3966],()=>b(b.s=50703));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=931,a.ids=[931],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")},22389:(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/combos/route",pathname:"/api/combos",filename:"route",bundlePath:"app/api/combos/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/combos/route.js",nextConfigOutput:"standalone",userland:()=>c(97171),...{}}),{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/combos/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")},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")},79868: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,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(83192)},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)}},97171:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>h,POST:()=>i,dynamic:()=>f});var d=c(23211),e=c(89718);let f="force-dynamic",g=/^[a-zA-Z0-9_.\-]+$/;async function h(){try{let a=await (0,e.Uv)();return d.NextResponse.json({combos:a})}catch(a){return console.log("Error fetching combos:",a),d.NextResponse.json({error:"Failed to fetch combos"},{status:500})}}async function i(a){try{let{name:b,models:c,kind:f}=await a.json();if(!b)return d.NextResponse.json({error:"Name is required"},{status:400});if(!g.test(b))return d.NextResponse.json({error:"Name can only contain letters, numbers, -, _ and ."},{status:400});if(await (0,e.Dj)(b))return d.NextResponse.json({error:"Combo name already exists"},{status:400});let h=await (0,e.jd)({name:b,models:c||[],kind:f||null});return d.NextResponse.json(h,{status:201})}catch(a){return console.log("Error creating combo:",a),d.NextResponse.json({error:"Failed to create combo"},{status:500})}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,5390,9269,3192],()=>b(b.s=22389));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=931,a.ids=[931],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")},22389:(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/combos/route",pathname:"/api/combos",filename:"route",bundlePath:"app/api/combos/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/combos/route.js",nextConfigOutput:"standalone",userland:()=>c(97171),...{}}),{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/combos/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")},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")},79868: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,Lf:()=>d.Lf,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,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(83192)},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)}},97171:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>h,POST:()=>i,dynamic:()=>f});var d=c(23211),e=c(89718);let f="force-dynamic",g=/^[a-zA-Z0-9_.\-]+$/;async function h(){try{let a=await (0,e.Uv)();return d.NextResponse.json({combos:a})}catch(a){return console.log("Error fetching combos:",a),d.NextResponse.json({error:"Failed to fetch combos"},{status:500})}}async function i(a){try{let{name:b,models:c,kind:f}=await a.json();if(!b)return d.NextResponse.json({error:"Name is required"},{status:400});if(!g.test(b))return d.NextResponse.json({error:"Name can only contain letters, numbers, -, _ and ."},{status:400});if(await (0,e.Dj)(b))return d.NextResponse.json({error:"Combo name already exists"},{status:400});let h=await (0,e.jd)({name:b,models:c||[],kind:f||null});return d.NextResponse.json(h,{status:201})}catch(a){return console.log("Error creating combo:",a),d.NextResponse.json({error:"Failed to create combo"},{status:500})}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,5390,9269,3192],()=>b(b.s=22389));module.exports=c})();