@sifxprime/krouter 0.5.165 → 0.5.166

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 (322) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +8 -8
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  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.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  57. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  58. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  59. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  60. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  61. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  62. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  64. package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  65. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  66. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  67. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  68. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +7 -7
  69. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  70. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  71. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  72. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  73. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  74. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  75. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  76. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -2
  77. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +5 -5
  78. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  79. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  80. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -2
  81. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  82. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  83. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  84. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +51 -1
  85. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  86. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  87. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  88. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  89. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  90. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  91. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  92. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +2 -2
  93. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  94. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  95. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -51
  100. package/app/.next-cli-build/server/app/api/settings/route.js +51 -1
  101. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  103. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  106. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +51 -1
  109. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +51 -1
  110. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  113. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/v1/search/route.js +51 -1
  121. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +51 -1
  126. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  131. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  132. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  133. package/app/.next-cli-build/server/app/callback.html +1 -1
  134. package/app/.next-cli-build/server/app/callback.rsc +3 -3
  135. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  136. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  137. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
  138. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  139. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  140. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +5 -5
  141. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  142. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  143. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  144. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  145. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +5 -5
  146. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  147. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  148. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  149. package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  150. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +5 -5
  151. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  152. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  153. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  154. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  155. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +5 -5
  156. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  157. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  158. package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
  159. package/app/.next-cli-build/server/app/dashboard/environment.rsc +5 -5
  160. package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +5 -5
  161. package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +5 -5
  162. package/app/.next-cli-build/server/app/dashboard/environment.segments/_tree.segment.rsc +1 -1
  163. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  164. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  165. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +5 -5
  166. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  167. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  168. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  169. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  170. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +5 -5
  171. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  172. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  173. package/app/.next-cli-build/server/app/dashboard/presidio.html +1 -1
  174. package/app/.next-cli-build/server/app/dashboard/presidio.rsc +4 -4
  175. package/app/.next-cli-build/server/app/dashboard/presidio.segments/!KGRhc2hib2FyZCk/dashboard/presidio/__PAGE__.segment.rsc +4 -4
  176. package/app/.next-cli-build/server/app/dashboard/presidio.segments/_full.segment.rsc +4 -4
  177. package/app/.next-cli-build/server/app/dashboard/presidio.segments/_tree.segment.rsc +1 -1
  178. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  179. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  180. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +5 -5
  181. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  182. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  183. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  184. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  185. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +5 -5
  186. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  187. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  188. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  189. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  190. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +5 -5
  191. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  192. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  193. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  194. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  195. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +5 -5
  196. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  197. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  198. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  199. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  200. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +5 -5
  201. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  202. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  203. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  204. package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  205. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +6 -6
  206. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  207. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  208. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  209. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  210. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  211. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  212. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  213. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  214. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
  215. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  216. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  217. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +5 -5
  218. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  219. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  220. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  221. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  222. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +5 -5
  223. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  224. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  226. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  227. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
  228. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  229. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  230. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  231. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  232. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +5 -5
  233. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  234. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  235. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  236. package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  237. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +5 -5
  238. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  239. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  240. package/app/.next-cli-build/server/app/index.html +1 -1
  241. package/app/.next-cli-build/server/app/index.rsc +3 -3
  242. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  243. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  244. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  245. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  246. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  247. package/app/.next-cli-build/server/app/landing.html +1 -1
  248. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  249. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  250. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  251. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
  252. package/app/.next-cli-build/server/app/login/page.js +1 -1
  253. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  254. package/app/.next-cli-build/server/app/login.html +1 -1
  255. package/app/.next-cli-build/server/app/login.rsc +4 -4
  256. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  257. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  258. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  259. package/app/.next-cli-build/server/app/page.js +1 -1
  260. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  261. package/app/.next-cli-build/server/app-paths-manifest.json +8 -8
  262. package/app/.next-cli-build/server/chunks/1318.js +51 -0
  263. package/app/.next-cli-build/server/chunks/1350.js +1 -0
  264. package/app/.next-cli-build/server/chunks/1450.js +1 -1
  265. package/app/.next-cli-build/server/chunks/1738.js +2 -2
  266. package/app/.next-cli-build/server/chunks/2557.js +1 -0
  267. package/app/.next-cli-build/server/chunks/2722.js +7 -7
  268. package/app/.next-cli-build/server/chunks/2750.js +2 -2
  269. package/app/.next-cli-build/server/chunks/3120.js +60 -12
  270. package/app/.next-cli-build/server/chunks/{9528.js → 369.js} +2 -3
  271. package/app/.next-cli-build/server/chunks/412.js +5 -5
  272. package/app/.next-cli-build/server/chunks/4161.js +1 -1
  273. package/app/.next-cli-build/server/chunks/4315.js +1 -1
  274. package/app/.next-cli-build/server/chunks/4404.js +1 -1
  275. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  276. package/app/.next-cli-build/server/chunks/4884.js +3 -3
  277. package/app/.next-cli-build/server/chunks/5024.js +1 -1
  278. package/app/.next-cli-build/server/chunks/5330.js +28 -20
  279. package/app/.next-cli-build/server/chunks/5470.js +1 -1
  280. package/app/.next-cli-build/server/chunks/5681.js +1 -1
  281. package/app/.next-cli-build/server/chunks/5718.js +1 -1
  282. package/app/.next-cli-build/server/chunks/6108.js +1 -1
  283. package/app/.next-cli-build/server/chunks/6182.js +1 -1
  284. package/app/.next-cli-build/server/chunks/6200.js +1 -1
  285. package/app/.next-cli-build/server/chunks/6457.js +1 -1
  286. package/app/.next-cli-build/server/chunks/7153.js +1 -0
  287. package/app/.next-cli-build/server/chunks/7341.js +1 -1
  288. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  289. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  290. package/app/.next-cli-build/server/chunks/8590.js +1 -1
  291. package/app/.next-cli-build/server/chunks/8895.js +6 -6
  292. package/app/.next-cli-build/server/chunks/8962.js +1 -1
  293. package/app/.next-cli-build/server/chunks/{2365.js → 9055.js} +2 -1
  294. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  295. package/app/.next-cli-build/server/middleware.js +5 -5
  296. package/app/.next-cli-build/server/pages/404.html +1 -1
  297. package/app/.next-cli-build/server/pages/500.html +1 -1
  298. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  299. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  300. package/app/.next-cli-build/static/chunks/1321-c5b3011761e0228b.js +1 -0
  301. package/app/.next-cli-build/static/chunks/5497-1af4fbf829c885c4.js +7 -0
  302. package/app/.next-cli-build/static/chunks/{6069-cd255683a4a76ed3.js → 6069-7e7f824c6e2d4291.js} +6 -6
  303. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-e7fe548bb32bb43c.js +1 -0
  304. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-4bcade1442e6c0b5.js → page-66d4b33890b140ae.js} +7 -7
  305. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-c88a929e34f9b002.js → page-2f53d5dd5b247cf1.js} +4 -4
  306. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-a6d8744e27e7dd87.js +1 -0
  307. package/app/cli/package.json +1 -1
  308. package/app/package.json +1 -1
  309. package/app/src/mitm/server.js +1 -1
  310. package/package.json +1 -1
  311. package/src/cli/menus/combos.js +11 -2
  312. package/src/cli/utils/comboModelId.js +14 -0
  313. package/app/.next-cli-build/server/chunks/4746.js +0 -51
  314. package/app/.next-cli-build/server/chunks/6306.js +0 -1
  315. package/app/.next-cli-build/server/chunks/8319.js +0 -1
  316. package/app/.next-cli-build/server/chunks/9376.js +0 -51
  317. package/app/.next-cli-build/static/chunks/1321-ff45959ff6580781.js +0 -1
  318. package/app/.next-cli-build/static/chunks/5497-71ac1eaeaacd3abb.js +0 -7
  319. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-18d8f169d8c3de33.js +0 -1
  320. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-a1e95f4a56398b5f.js +0 -1
  321. /package/app/.next-cli-build/static/{8BL7P4wrNCaFJbJqldneC → i0cMBMqFdYWpbajovDyfY}/_buildManifest.js +0 -0
  322. /package/app/.next-cli-build/static/{8BL7P4wrNCaFJbJqldneC → i0cMBMqFdYWpbajovDyfY}/_ssgManifest.js +0 -0
@@ -1 +1,51 @@
1
- "use strict";(()=>{var a={};a.id=3883,a.ids=[3883],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},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){let f=b?("string"==typeof b?b:JSON.stringify(b)).toLowerCase():"";for(let b of d.t2)if(b.text&&f&&f.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}}if(!1===b.shouldFallback)return{shouldFallback:!1,cooldownMs:b.cooldownMs,accountLock:b.accountLock||!1,permanent:b.permanent||!1};return{shouldFallback:!0,cooldownMs:b.cooldownMs,accountLock:b.accountLock||!1,permanent:b.permanent||!1}}return{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=>a&&new Date(a).getTime()||0;return Math.max(c(a[i(b)]),c(a[h]))>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()}}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(3662);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let e="";try{e=await a.text()}catch{e=""}let g=null;try{let{parseRetryAfterHeaders:b}=await c.e(8905).then(c.bind(c,68905)),{resetsAtMs:d}=b(a);d&&(g=d)}catch{}if(b&&"function"==typeof b.parseError)try{let c=b.parseError(a,e);if(c&&"object"==typeof c){let b=c.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:c.status||a.status,message:b,resetsAtMs:c.resetsAtMs||g}}}catch{}let h="";try{let a=JSON.parse(e);h=a.error?.message||a.message||a.error||e}catch{h=e}let i=("string"==typeof h?h:JSON.stringify(h))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:i,resetsAtMs:g||void 0}}function g(a,b,c,d={}){return{success:!1,status:a,error:b,resetsAtMs:c,response:e(a,b),...d}}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(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")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},52408:(a,b,c)=>{c.r(b),c.d(b,{OPTIONS:()=>x,POST:()=>y});var d=c(80238),e=c(89718),f=c(75681);async function g(a,b,c){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{...b,headers:function(a){if(!a)return a;let b={};for(let[c,d]of Object.entries(a))b[c]="string"==typeof d?d.replace(/[^\x00-\xFF]/g,"").trim():d;return b}(b.headers),signal:d.signal});return{ok:!0,res:c}}catch(a){return{ok:!1,timeout:a?.name==="AbortError",error:a?.message||String(a)}}finally{clearTimeout(e)}}function h(a,b){return a&&"string"==typeof a?!b||b<=0?a:a.length>b?a.slice(0,b):a:a||""}function i({provider:a,url:b,title:c,format:d,text:e,costUsd:f,responseMs:g,upstreamMs:h}){return{provider:a,url:b,title:c||null,content:{format:d,text:e||"",length:(e||"").length},metadata:{author:null,published_at:null,language:null},usage:{fetch_cost_usd:f??null},metrics:{response_time_ms:g,upstream_latency_ms:h}}}async function j(a){if((a.headers.get("content-type")||"").includes("application/json"))try{return{json:await a.json()}}catch{return{text:""}}return{text:await a.text()}}async function k({url:a,format:b,maxCharacters:c,provider:d,providerConfig:e,credentials:f,log:g}){if(!a||"string"!=typeof a)return{success:!1,status:400,error:"url is required"};if(!d)return{success:!1,status:400,error:"provider is required"};let h=b||"markdown",i=e?.timeoutMs||15e3,j=f?.apiKey||f?.key||f?.token||"",p=e?.costPerQuery??null,q=Date.now();try{if("firecrawl"===d)return await l({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("jina-reader"===d)return await m({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("tavily"===d)return await n({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("exa"===d)return await o({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});return{success:!1,status:400,error:`Unsupported provider: ${d}`}}catch(a){return g?.("fetch handler error:",a?.message||a),{success:!1,status:502,error:a?.message||"Internal fetch error"}}}async function l({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let m=Date.now(),n=await g("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({url:a,formats:[b]})},c);if(!n.ok)return{success:!1,status:n.timeout?504:502,error:n.error};let o=Date.now()-m,{json:p}=await j(n.res);if(!n.res.ok)return{success:!1,status:n.res.status,error:p?.error||`Firecrawl error: ${n.res.status}`};let q=p?.data||{},r=h(q.markdown||q.html||q.text||"",e);return{success:!0,data:i({provider:"firecrawl",url:a,title:q.metadata?.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}}async function m({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:j}){let k,l=`https://r.jina.ai/${encodeURIComponent(a)}`,n=Date.now(),o=await g(l,{method:"GET",headers:d?{authorization:`Bearer ${d}`}:{}},c);if(!o.ok)return{success:!1,status:o.timeout?504:502,error:o.error};let p=Date.now()-n,q=await o.res.text();if(!o.res.ok)return{success:!1,status:o.res.status,error:q?.slice(0,500)||`Jina error: ${o.res.status}`};let r=h(q,e);return{success:!0,data:i({provider:"jina-reader",url:a,title:(k=String(q||"").match(/^\s*#\s+(.+)$/m))?k[1].trim():null,format:b,text:r,costUsd:f,responseMs:Date.now()-j,upstreamMs:p})}}async function n({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.tavily.com/extract",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({urls:[a],extract_depth:"basic"})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let o=Date.now()-l,{json:p}=await j(m.res);return m.res.ok?{success:!0,data:i({provider:"tavily",url:a,title:null,format:b,text:h((p?.results?.[0]||{}).raw_content||"",e),costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}:{success:!1,status:m.res.status,error:p?.error||`Tavily error: ${m.res.status}`}}async function o({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.exa.ai/contents",{method:"POST",headers:{"content-type":"application/json",...d?{"x-api-key":d}:{}},body:JSON.stringify({ids:[a],text:!0})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let n=Date.now()-l,{json:p}=await j(m.res);if(!m.res.ok)return{success:!1,status:m.res.status,error:p?.error||`Exa error: ${m.res.status}`};let q=p?.results?.[0]||{},r=h(q.text||"",e);return{success:!0,data:i({provider:"exa",url:a,title:q.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:n})}}var p=c(43659),q=c(41004),r=c(7803),s=c(67828),t=c(38962),u=c(88556);async function v(a){let b;try{b=await a.json()}catch{return r.warn("FETCH","Invalid JSON body"),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),f=b.provider||b.model,g=b.url;b.format,b.max_characters,r.request("POST",`${c.pathname} | ${f}`);let h=(0,d.Tr)(a);h?r.debug("AUTH",`API Key: ${r.maskKey(h)}`):r.debug("AUTH","No API key provided (local mode)");let i=await (0,e.mt)();if(i.requireApiKey){if(!h)return r.warn("AUTH","Missing API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(h))return r.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Invalid API key")}if(!f||"string"!=typeof f)return r.warn("FETCH","Missing provider/model"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!g||"string"!=typeof g)return r.warn("FETCH","Missing url"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: url");try{new URL(g)}catch{return r.warn("FETCH","Invalid URL",{url:g}),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid URL format")}try{await (0,u.hX)(g)}catch(a){return r.warn("FETCH","Blocked URL",{url:g}),(0,p.yj)(q.gx.BAD_REQUEST,a.message)}let j=await (0,e.Uv)(),k=(0,t.Vu)(f,j);if(k){let c=i.comboStrategies||{},d=c[f]?.fallbackStrategy||i.comboStrategy||"fallback",e=i.comboStickyRoundRobinLimit;return r.info("FETCH",`Combo "${f}" with ${k.length} providers (strategy: ${d}, sticky: ${e})`),(0,t.Pr)({body:b,models:k,handleSingleModel:(b,c)=>w(b,c,a,h,i),log:r,comboName:f,comboStrategy:d,comboStickyLimit:e})}return w(b,f,a,h,i)}async function w(a,b,c,e,g){let h=a.url,i=a.format,j=a.max_characters,l=(0,f.rs)(b),m=f.AI_PROVIDERS[l];if(!m)return r.warn("FETCH","Unknown provider",{provider:b}),(0,p.yj)(q.gx.BAD_REQUEST,`Unknown provider: ${b}`);let n=m.fetchConfig;if(!n)return r.warn("FETCH","Provider does not support web fetch",{provider:l}),(0,p.yj)(q.gx.BAD_REQUEST,`Provider ${l} does not support web fetch`);if(b!==l?r.info("ROUTING",`${b} → ${l}`):r.info("ROUTING",`Provider: ${l}`),m.noAuth){r.info("AUTH",`\x1b[32m${l} no-auth mode\x1b[0m`);let a=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:null,log:r});return a.success?new Response(JSON.stringify(a.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}}):(0,p.yj)(a.status||q.gx.BAD_GATEWAY,a.error||"Fetch failed")}let o=new Set,t=null,u=null;for(;;){let a=await (0,d.c1)(l,o);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=t||a.lastError||"Unavailable",c=u||Number(a.lastErrorCode)||q.gx.SERVICE_UNAVAILABLE;return r.warn("FETCH",`[${l}] ${b} (${a.retryAfterHuman})`),(0,p.wO)(c,`[${l}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===o.size)return r.error("AUTH",`No credentials for provider: ${l}`),(0,p.yj)(q.gx.BAD_REQUEST,`No credentials for provider: ${l}`);return r.warn("FETCH","No more accounts available",{provider:l}),(0,p.yj)(u||q.gx.SERVICE_UNAVAILABLE,t||"All accounts unavailable")}r.info("AUTH",`\x1b[32mUsing ${l} account: ${a.connectionName}\x1b[0m`);let b=await (0,s.eU)(l,a),c=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:b,log:r,onCredentialsRefreshed:async b=>{await (0,s.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,d.Pt)(a.connectionId,a)}});if(c.success)return new Response(JSON.stringify(c.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let{shouldFallback:e}=await (0,d.vk)(a.connectionId,c.status,c.error,l);if(e){r.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),o.add(a.connectionId),t=c.error,u=c.status;continue}return(0,p.yj)(c.status||q.gx.BAD_GATEWAY,c.error||"Fetch failed")}}async function x(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function y(a){return await v(a)}},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67277:(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/v1/web/fetch/route",pathname:"/api/v1/web/fetch",filename:"route",bundlePath:"app/api/v1/web/fetch/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/v1/web/fetch/route.js",nextConfigOutput:"standalone",userland:()=>c(52408),...{}}),{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/v1/web/fetch/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},80099:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},88556:(a,b,c)=>{c.d(b,{PA:()=>q,er:()=>s,hX:()=>r});var d=c(40610),e=c.n(d);let f=new Set(["localhost","ip6-localhost","ip6-loopback"]),g=[".internal",".local",".localhost"];function h(a){let b=a.split(".");if(4!==b.length)return null;let c=0;for(let a of b){if(!/^\d{1,3}$/.test(a))return null;let b=Number(a);if(b>255)return null;c=256*c+b}return c>>>0}let i=[[h("0.0.0.0"),8],[h("10.0.0.0"),8],[h("100.64.0.0"),10],[h("127.0.0.0"),8],[h("169.254.0.0"),16],[h("172.16.0.0"),12],[h("192.168.0.0"),16]];function j(a){return i.some(([b,c])=>{let d=0===c?0:0xffffffff<<32-c>>>0;return(a&d)==(b&d)})}function k(a){let b=h(a);return null!==b&&j(b)}function l(a){if(""===a)return[];let b=a.split(":"),c=[];for(let a of b){if(!/^[0-9a-f]{1,4}$/.test(a))return null;c.push(parseInt(a,16))}return c}function m(a){let b,c=a.toLowerCase(),d=c.match(/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/),e=null;if(d){let a=h(d[1]);if(null===a)return null;e=[a>>>16&65535,65535&a],(c=c.slice(0,c.length-d[1].length)).endsWith("::")||c.endsWith(":")&&(c=c.slice(0,-1))}let f=c.split("::");if(f.length>2)return null;if(2===f.length){let a=l(f[0]),c=l(f[1]);if(null===a||null===c)return null;let d=e?e.length:0,g=8-a.length-c.length-d;if(g<0)return null;b=[...a,...Array(g).fill(0),...c,...e||[]]}else{let a=l(c);if(null===a)return null;b=[...a,...e||[]]}return 8===b.length?b:null}function n(a){let b=b=>0===a[b];if([0,1,2,3,4,5,6].every(b)&&1===a[7]||a.every(a=>0===a)||(65472&a[0])==65152||(65024&a[0])==64512)return!0;let c=(a[6]<<16|a[7])>>>0;return!!([0,1,2,3,4].every(b)&&65535===a[5]||100===a[0]&&65435===a[1]&&[2,3,4,5].every(b)||[0,1,2,3,4,5].every(b)&&0!==c&&1!==c)&&j(c)}function o(a){return a.toLowerCase().replace(/\.+$/,"")}function p(a){if(f.has(a)||g.some(b=>a.endsWith(b))||k(a))return!0;if(a.includes(":")){let b=m(a.replace(/^\[|\]$/g,""));if(b&&n(b))return!0}return!1}function q(a){if(p(o(new URL(a).hostname)))throw Error("Blocked URL: internal host")}async function r(a){let b,c=o(new URL(a).hostname);if(p(c))throw Error("Blocked URL: internal host");let d=c.replace(/^\[|\]$/g,"");if(!(null!==h(d)||d.includes(":"))){try{b=await e().promises.lookup(c,{all:!0,verbatim:!0})}catch{return}for(let{address:a,family:c}of b)if(4===c?k(a):n(m(a)||[]))throw Error("Blocked URL: hostname resolves to an internal host")}}async function s(a,b={},{maxRedirects:c=5}={}){await r(a);let d=a;for(let a=0;;a++){let e=await fetch(d,{...b,redirect:"manual"}),f=e.status>=300&&e.status<400?e.headers.get("location"):null;if(!f)return e;if(a>=c)throw Error("Blocked URL: too many redirects");let g=new URL(f,d).toString();await r(g),d=g}}},93943:(a,b,c)=>{c.d(b,{Vq:()=>i,fp:()=>g});var d=c(8590);let e=new Map;function f(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function g(a,b,c=Date.now()){if(!b)return!1;let e=f(b?.expiresAt??b?.tokenExpiresAt);return!!(null!==e&&e-c<(0,d.Og)(a)||"codex"===a&&b.refreshToken&&function(a,b=Date.now()){let c=f(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!c||b-c>=6912e5}(b,c))}async function h(a,b,c){let d,f=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),g=e.get(f);if(g)return g;let h=Promise.resolve().then(c).finally(()=>{e.delete(f)});return e.set(f,h),h}async function i(a,b,c){return b?h(a,b,async()=>{let e=await (0,d.$B)(a,b,c);return function(a,b,c,e=Date.now()){var f,g;if(!c)return null;if((0,d.jT)(c))return c;let h={},i=new Date(e).toISOString();c.accessToken&&(h.accessToken=c.accessToken),c.apiKey&&(h.apiKey=c.apiKey),c.token&&(h.token=c.token);let j=c.refreshToken??b?.refreshToken;j&&(h.refreshToken=j);let k=c.idToken??b?.idToken;return k&&(h.idToken=k),c.expiresIn?(h.expiresIn=c.expiresIn,h.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,e)):c.expiresAt&&(h.expiresAt=c.expiresAt),c.projectId&&(h.projectId=c.projectId),c.providerSpecificData&&(f=b?.providerSpecificData,h.providerSpecificData=(g=c.providerSpecificData)&&"object"==typeof g?{...f||{},...g}:f),c.copilotToken&&(h.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(h.copilotTokenExpiresAt=c.copilotTokenExpiresAt),("codex"===a||h.accessToken||h.apiKey||h.token||h.refreshToken||h.copilotToken)&&(h.lastRefreshAt=c.lastRefreshAt||i),h}(a,b,e)}):null}},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,4884,5024,5681,4315,8590,4746,6306,1450,4161,7828,8962],()=>b(b.s=67277));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=3883,a.ids=[3883],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},6382:(a,b,c)=>{c.d(b,{$D:()=>m,P9:()=>j,We:()=>f,aZ:()=>n,gI:()=>i,rG:()=>h});let d="-agentic",e="-thinking";function f(a){return"google"===a||"github"===a?"arn:aws:codewhisperer:us-east-1:699475941385:profile/EHGA3GRVQMUK":"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX"}let g={none:0,minimal:512,low:1024,medium:8192,high:24576,xhigh:32768,max:128e3},h=`
2
+ # CRITICAL: CHUNKED WRITE PROTOCOL (MANDATORY)
3
+
4
+ You MUST follow these rules for ALL file operations. Violation causes server timeouts and task failure.
5
+
6
+ ## ABSOLUTE LIMITS
7
+ - **MAXIMUM 350 LINES** per single write/edit operation - NO EXCEPTIONS
8
+ - **RECOMMENDED 300 LINES** or less for optimal performance
9
+ - **NEVER** write entire files in one operation if >300 lines
10
+
11
+ ## MANDATORY CHUNKED WRITE STRATEGY
12
+
13
+ ### For NEW FILES (>300 lines total):
14
+ 1. FIRST: Write initial chunk (first 250-300 lines) using write_to_file/fsWrite
15
+ 2. THEN: Append remaining content in 250-300 line chunks using file append operations
16
+ 3. REPEAT: Continue appending until complete
17
+
18
+ ### For EDITING EXISTING FILES:
19
+ 1. Use surgical edits (apply_diff/targeted edits) - change ONLY what's needed
20
+ 2. NEVER rewrite entire files - use incremental modifications
21
+ 3. Split large refactors into multiple small, focused edits
22
+
23
+ ### For LARGE CODE GENERATION:
24
+ 1. Generate in logical sections (imports, types, functions separately)
25
+ 2. Write each section as a separate operation
26
+ 3. Use append operations for subsequent sections
27
+
28
+ ## EXAMPLES OF CORRECT BEHAVIOR
29
+
30
+ CORRECT: Writing a 600-line file
31
+ - Operation 1: Write lines 1-300 (initial file creation)
32
+ - Operation 2: Append lines 301-600
33
+
34
+ CORRECT: Editing multiple functions
35
+ - Operation 1: Edit function A
36
+ - Operation 2: Edit function B
37
+ - Operation 3: Edit function C
38
+
39
+ WRONG: Writing 500 lines in single operation -> TIMEOUT
40
+ WRONG: Rewriting entire file to change 5 lines -> TIMEOUT
41
+ WRONG: Generating massive code blocks without chunking -> TIMEOUT
42
+
43
+ ## WHY THIS MATTERS
44
+ - Server has 2-3 minute timeout for operations
45
+ - Large writes exceed timeout and FAIL completely
46
+ - Chunked writes are FASTER and more RELIABLE
47
+ - Failed writes waste time and require retry
48
+
49
+ REMEMBER: When in doubt, write LESS per operation. Multiple small operations > one large operation.
50
+ `.trim();function i(a,b,c){return null!==j(a,b,c)}function j(a,b,c){if(a&&"object"==typeof a){let b=a.thinking;if(b&&"object"==typeof b){if("disabled"===b.type||"off"===b.type||"none"===b.type)return null;let a=Number(b.budget_tokens);if(Number.isFinite(a)&&a>0)return a;if("enabled"===b.type)return 16e3}let c=a.output_config?.effort??a.reasoning_effort??(a.reasoning&&"object"==typeof a.reasoning?a.reasoning.effort:null);if("string"==typeof c&&c){let a=c.toLowerCase();if("none"===a||"off"===a||"disabled"===a)return null;if(Object.prototype.hasOwnProperty.call(g,a)){let b=g[a];return 0===b?null:b}if("auto"===a)return 16e3}}if(b){let a=function(a,b){if(!a)return;if("function"==typeof a.get)return a.get(b);let c=b.toLowerCase();for(let b of Object.keys(a))if(b.toLowerCase()===c)return a[b]}(b,"anthropic-beta");if("string"==typeof a&&a.toLowerCase().includes("interleaved-thinking"))return 16e3}if(function(a){for(let b of Array.isArray(a?.messages)?a.messages:[]){if(!b||"system"!==b.role&&"user"!==b.role)continue;let a=b.content;if("string"==typeof a){if(o(a))return!0}else if(Array.isArray(a))for(let b of a){let a=b?.text;if("string"==typeof a&&o(a))return!0}}return!!("string"==typeof a?.system&&o(a.system))}(a))return 16e3;if("string"==typeof c&&c){let a=c.toLowerCase();if(a.includes("thinking")||a.includes("-reason"))return 16e3}return null}function k(a){return"string"==typeof a&&a.endsWith(d)}function l(a){return"string"==typeof a&&a.endsWith(e)}function m(a){var b,c;let f=a,g=!1,h=!1;return k(f)&&(g=!0,f=k(b=f)?b.slice(0,-d.length):b),l(f)&&(h=!0,f=l(c=f)?c.slice(0,-e.length):c),{upstream:f,agentic:g,thinking:h}}function n(a=16e3){let b=Math.max(1,Math.min(32e3,Number(a)||16e3));return`<thinking_mode>enabled</thinking_mode>
51
+ <max_thinking_length>${b}</max_thinking_length>`}function o(a){return!!a&&!!a.includes("<thinking_mode>")&&(a.includes("<thinking_mode>enabled</thinking_mode>")||a.includes("<thinking_mode>interleaved</thinking_mode>"))}},7066:a=>{a.exports=require("node:tty")},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")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},39418:(a,b,c)=>{c.d(b,{Ul:()=>f,V6:()=>e});let d=new Set(["max_tokens","length","MAX_TOKENS"]);function e({finishReason:a,text:b,toolCalls:c,usage:f,maxTokens:g}={}){if(Array.isArray(c)&&c.length>0||"string"==typeof b&&""!==b.trim())return null;let h=function(a){if(!a||"object"!=typeof a)return 0;let b=a.completion_tokens_details?.reasoning_tokens??a.output_tokens_details?.reasoning_tokens??a.reasoning_tokens??0;return Number.isFinite(b)?b:0}(f),i=function(a){if(!a||"object"!=typeof a)return 0;let b=a.completion_tokens??a.output_tokens??0;return Number.isFinite(b)?b:0}(f);if(h>0&&i>0&&i-h>0)return null;let j=null!=a&&d.has(String(a));if(h>0&&i>0&&i-h<=0){let b=Number.isFinite(g)?` of a max_tokens of ${g}`:"";return{code:"empty_completion_reasoning_budget",finishReason:a??null,reasoningTokens:h,completionTokens:i,message:`The model spent ${h} token(s)${b} on internal reasoning and had none left to answer with. This is a token budget problem, not a provider failure — raise max_tokens and retry.`}}return j?{code:"empty_completion_truncated",finishReason:a??null,reasoningTokens:h,completionTokens:i,message:"The response hit the token limit before producing any output. Raise max_tokens and retry."}:{code:"empty_completion_no_output",finishReason:a??null,reasoningTokens:h,completionTokens:i,message:`The provider returned no output and reported finish_reason "${a??"unknown"}". This is a provider-side fault rather than a token budget problem.`}}function f(a){let b={text:"",finishReason:null,toolCalls:[],usage:null};if(!a||"object"!=typeof a)return b;let c=a.usage&&"object"==typeof a.usage?a.usage:null,d=Array.isArray(a.response?.candidates)?a.response:Array.isArray(a.candidates)?a:null;if(d){let a=d.candidates[0]?.content?.parts||[],b=d.usageMetadata||{};return{text:a.filter(a=>a&&!0!==a.thought&&"string"==typeof a.text).map(a=>a.text).join(""),finishReason:d.candidates[0]?.finishReason??null,toolCalls:a.filter(a=>a&&a.functionCall),usage:{completion_tokens:b.candidatesTokenCount||0,completion_tokens_details:{reasoning_tokens:b.thoughtsTokenCount||0}}}}if(Array.isArray(a.content)){let b=a.content.filter(Boolean);return{text:b.filter(a=>"text"===a.type).map(a=>a.text||"").join(""),finishReason:a.stop_reason??null,toolCalls:b.filter(a=>"tool_use"===a.type),usage:c}}let e=Array.isArray(a.choices)?a.choices[0]:null;if(!e)return{...b,usage:c};let f=e.message||e.delta||{},g=f.content;return{text:"string"==typeof g?g:Array.isArray(g)?g.filter(a=>a&&("text"===a.type||"string"==typeof a.text)).map(a=>a.text||"").join(""):"",finishReason:e.finish_reason??null,toolCalls:Array.isArray(f.tool_calls)?f.tool_calls:[],usage:c}}},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},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){return new Response(JSON.stringify(e(a,b)),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function g(a,b=null){let e="";try{e=await a.text()}catch{e=""}let f=null;try{let{parseRetryAfterHeaders:b}=await c.e(8905).then(c.bind(c,68905)),{resetsAtMs:d}=b(a);d&&(f=d)}catch{}if(b&&"function"==typeof b.parseError)try{let c=b.parseError(a,e);if(c&&"object"==typeof c){let b=c.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:c.status||a.status,message:b,resetsAtMs:c.resetsAtMs||f}}}catch{}let h="";try{let a=JSON.parse(e);h=a.error?.message||a.message||a.error||e}catch{h=e}let i=("string"==typeof h?h:JSON.stringify(h))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:i,resetsAtMs:f||void 0}}function h(a,b,c,d={}){return{success:!1,status:a,error:b,resetsAtMs:c,response:f(a,b),...d}}function i(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}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")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},52408:(a,b,c)=>{c.r(b),c.d(b,{OPTIONS:()=>x,POST:()=>y});var d=c(80238),e=c(89718),f=c(75681);async function g(a,b,c){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{...b,headers:function(a){if(!a)return a;let b={};for(let[c,d]of Object.entries(a))b[c]="string"==typeof d?d.replace(/[^\x00-\xFF]/g,"").trim():d;return b}(b.headers),signal:d.signal});return{ok:!0,res:c}}catch(a){return{ok:!1,timeout:a?.name==="AbortError",error:a?.message||String(a)}}finally{clearTimeout(e)}}function h(a,b){return a&&"string"==typeof a?!b||b<=0?a:a.length>b?a.slice(0,b):a:a||""}function i({provider:a,url:b,title:c,format:d,text:e,costUsd:f,responseMs:g,upstreamMs:h}){return{provider:a,url:b,title:c||null,content:{format:d,text:e||"",length:(e||"").length},metadata:{author:null,published_at:null,language:null},usage:{fetch_cost_usd:f??null},metrics:{response_time_ms:g,upstream_latency_ms:h}}}async function j(a){if((a.headers.get("content-type")||"").includes("application/json"))try{return{json:await a.json()}}catch{return{text:""}}return{text:await a.text()}}async function k({url:a,format:b,maxCharacters:c,provider:d,providerConfig:e,credentials:f,log:g}){if(!a||"string"!=typeof a)return{success:!1,status:400,error:"url is required"};if(!d)return{success:!1,status:400,error:"provider is required"};let h=b||"markdown",i=e?.timeoutMs||15e3,j=f?.apiKey||f?.key||f?.token||"",p=e?.costPerQuery??null,q=Date.now();try{if("firecrawl"===d)return await l({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("jina-reader"===d)return await m({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("tavily"===d)return await n({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("exa"===d)return await o({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});return{success:!1,status:400,error:`Unsupported provider: ${d}`}}catch(a){return g?.("fetch handler error:",a?.message||a),{success:!1,status:502,error:a?.message||"Internal fetch error"}}}async function l({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let m=Date.now(),n=await g("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({url:a,formats:[b]})},c);if(!n.ok)return{success:!1,status:n.timeout?504:502,error:n.error};let o=Date.now()-m,{json:p}=await j(n.res);if(!n.res.ok)return{success:!1,status:n.res.status,error:p?.error||`Firecrawl error: ${n.res.status}`};let q=p?.data||{},r=h(q.markdown||q.html||q.text||"",e);return{success:!0,data:i({provider:"firecrawl",url:a,title:q.metadata?.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}}async function m({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:j}){let k,l=`https://r.jina.ai/${encodeURIComponent(a)}`,n=Date.now(),o=await g(l,{method:"GET",headers:d?{authorization:`Bearer ${d}`}:{}},c);if(!o.ok)return{success:!1,status:o.timeout?504:502,error:o.error};let p=Date.now()-n,q=await o.res.text();if(!o.res.ok)return{success:!1,status:o.res.status,error:q?.slice(0,500)||`Jina error: ${o.res.status}`};let r=h(q,e);return{success:!0,data:i({provider:"jina-reader",url:a,title:(k=String(q||"").match(/^\s*#\s+(.+)$/m))?k[1].trim():null,format:b,text:r,costUsd:f,responseMs:Date.now()-j,upstreamMs:p})}}async function n({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.tavily.com/extract",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({urls:[a],extract_depth:"basic"})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let o=Date.now()-l,{json:p}=await j(m.res);return m.res.ok?{success:!0,data:i({provider:"tavily",url:a,title:null,format:b,text:h((p?.results?.[0]||{}).raw_content||"",e),costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}:{success:!1,status:m.res.status,error:p?.error||`Tavily error: ${m.res.status}`}}async function o({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.exa.ai/contents",{method:"POST",headers:{"content-type":"application/json",...d?{"x-api-key":d}:{}},body:JSON.stringify({ids:[a],text:!0})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let n=Date.now()-l,{json:p}=await j(m.res);if(!m.res.ok)return{success:!1,status:m.res.status,error:p?.error||`Exa error: ${m.res.status}`};let q=p?.results?.[0]||{},r=h(q.text||"",e);return{success:!0,data:i({provider:"exa",url:a,title:q.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:n})}}var p=c(43659),q=c(41004),r=c(7803),s=c(67828),t=c(38962),u=c(88556);async function v(a){let b;try{b=await a.json()}catch{return r.warn("FETCH","Invalid JSON body"),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),f=b.provider||b.model,g=b.url;b.format,b.max_characters,r.request("POST",`${c.pathname} | ${f}`);let h=(0,d.Tr)(a);h?r.debug("AUTH",`API Key: ${r.maskKey(h)}`):r.debug("AUTH","No API key provided (local mode)");let i=await (0,e.mt)();if(i.requireApiKey){if(!h)return r.warn("AUTH","Missing API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(h))return r.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Invalid API key")}if(!f||"string"!=typeof f)return r.warn("FETCH","Missing provider/model"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!g||"string"!=typeof g)return r.warn("FETCH","Missing url"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: url");try{new URL(g)}catch{return r.warn("FETCH","Invalid URL",{url:g}),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid URL format")}try{await (0,u.hX)(g)}catch(a){return r.warn("FETCH","Blocked URL",{url:g}),(0,p.yj)(q.gx.BAD_REQUEST,a.message)}let j=await (0,e.Uv)(),k=(0,t.Vu)(f,j);if(k){let c=i.comboStrategies||{},d=c[f]?.fallbackStrategy||i.comboStrategy||"fallback",e=i.comboStickyRoundRobinLimit;return r.info("FETCH",`Combo "${f}" with ${k.length} providers (strategy: ${d}, sticky: ${e})`),(0,t.Pr)({body:b,models:k,handleSingleModel:(b,c)=>w(b,c,a,h,i),log:r,comboName:f,comboStrategy:d,comboStickyLimit:e})}return w(b,f,a,h,i)}async function w(a,b,c,e,g){let h=a.url,i=a.format,j=a.max_characters,l=(0,f.rs)(b),m=f.AI_PROVIDERS[l];if(!m)return r.warn("FETCH","Unknown provider",{provider:b}),(0,p.yj)(q.gx.BAD_REQUEST,`Unknown provider: ${b}`);let n=m.fetchConfig;if(!n)return r.warn("FETCH","Provider does not support web fetch",{provider:l}),(0,p.yj)(q.gx.BAD_REQUEST,`Provider ${l} does not support web fetch`);if(b!==l?r.info("ROUTING",`${b} → ${l}`):r.info("ROUTING",`Provider: ${l}`),m.noAuth){r.info("AUTH",`\x1b[32m${l} no-auth mode\x1b[0m`);let a=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:null,log:r});return a.success?new Response(JSON.stringify(a.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}}):(0,p.yj)(a.status||q.gx.BAD_GATEWAY,a.error||"Fetch failed")}let o=new Set,t=null,u=null,v=`webfetch:${l}`;for(;;){let a=await (0,d.c1)(l,o,v);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=t||a.lastError||"Unavailable",c=q.gx.SERVICE_UNAVAILABLE;return r.warn("FETCH",`[${l}] ${b} (${a.retryAfterHuman})`),(0,p.wO)(c,`[${l}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===o.size)return r.error("AUTH",`No credentials for provider: ${l}`),(0,p.yj)(q.gx.BAD_REQUEST,`No credentials for provider: ${l}`);return r.warn("FETCH","No more accounts available",{provider:l}),(0,p.yj)(u||q.gx.SERVICE_UNAVAILABLE,t||"All accounts unavailable")}r.info("AUTH",`\x1b[32mUsing ${l} account: ${a.connectionName}\x1b[0m`);let b=await (0,s.eU)(l,a),c=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:b,log:r,onCredentialsRefreshed:async b=>{await (0,s.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,d.Pt)(a.connectionId,a,v)}});if(c.success)return new Response(JSON.stringify(c.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let{shouldFallback:e}=await (0,d.vk)(a.connectionId,c.status,c.error,l,v);if(e){r.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),o.add(a.connectionId),t=c.error,u=c.status;continue}return(0,p.yj)(c.status||q.gx.BAD_GATEWAY,c.error||"Fetch failed")}}async function x(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function y(a){return await v(a)}},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67277:(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/v1/web/fetch/route",pathname:"/api/v1/web/fetch",filename:"route",bundlePath:"app/api/v1/web/fetch/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/v1/web/fetch/route.js",nextConfigOutput:"standalone",userland:()=>c(52408),...{}}),{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/v1/web/fetch/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},80099:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},88556:(a,b,c)=>{c.d(b,{PA:()=>q,er:()=>s,hX:()=>r});var d=c(40610),e=c.n(d);let f=new Set(["localhost","ip6-localhost","ip6-loopback"]),g=[".internal",".local",".localhost"];function h(a){let b=a.split(".");if(4!==b.length)return null;let c=0;for(let a of b){if(!/^\d{1,3}$/.test(a))return null;let b=Number(a);if(b>255)return null;c=256*c+b}return c>>>0}let i=[[h("0.0.0.0"),8],[h("10.0.0.0"),8],[h("100.64.0.0"),10],[h("127.0.0.0"),8],[h("169.254.0.0"),16],[h("172.16.0.0"),12],[h("192.168.0.0"),16]];function j(a){return i.some(([b,c])=>{let d=0===c?0:0xffffffff<<32-c>>>0;return(a&d)==(b&d)})}function k(a){let b=h(a);return null!==b&&j(b)}function l(a){if(""===a)return[];let b=a.split(":"),c=[];for(let a of b){if(!/^[0-9a-f]{1,4}$/.test(a))return null;c.push(parseInt(a,16))}return c}function m(a){let b,c=a.toLowerCase(),d=c.match(/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/),e=null;if(d){let a=h(d[1]);if(null===a)return null;e=[a>>>16&65535,65535&a],(c=c.slice(0,c.length-d[1].length)).endsWith("::")||c.endsWith(":")&&(c=c.slice(0,-1))}let f=c.split("::");if(f.length>2)return null;if(2===f.length){let a=l(f[0]),c=l(f[1]);if(null===a||null===c)return null;let d=e?e.length:0,g=8-a.length-c.length-d;if(g<0)return null;b=[...a,...Array(g).fill(0),...c,...e||[]]}else{let a=l(c);if(null===a)return null;b=[...a,...e||[]]}return 8===b.length?b:null}function n(a){let b=b=>0===a[b];if([0,1,2,3,4,5,6].every(b)&&1===a[7]||a.every(a=>0===a)||(65472&a[0])==65152||(65024&a[0])==64512)return!0;let c=(a[6]<<16|a[7])>>>0;return!!([0,1,2,3,4].every(b)&&65535===a[5]||100===a[0]&&65435===a[1]&&[2,3,4,5].every(b)||[0,1,2,3,4,5].every(b)&&0!==c&&1!==c)&&j(c)}function o(a){return a.toLowerCase().replace(/\.+$/,"")}function p(a){if(f.has(a)||g.some(b=>a.endsWith(b))||k(a))return!0;if(a.includes(":")){let b=m(a.replace(/^\[|\]$/g,""));if(b&&n(b))return!0}return!1}function q(a){if(p(o(new URL(a).hostname)))throw Error("Blocked URL: internal host")}async function r(a){let b,c=o(new URL(a).hostname);if(p(c))throw Error("Blocked URL: internal host");let d=c.replace(/^\[|\]$/g,"");if(!(null!==h(d)||d.includes(":"))){try{b=await e().promises.lookup(c,{all:!0,verbatim:!0})}catch{return}for(let{address:a,family:c}of b)if(4===c?k(a):n(m(a)||[]))throw Error("Blocked URL: hostname resolves to an internal host")}}async function s(a,b={},{maxRedirects:c=5}={}){await r(a);let d=a;for(let a=0;;a++){let e=await fetch(d,{...b,redirect:"manual"}),f=e.status>=300&&e.status<400?e.headers.get("location"):null;if(!f)return e;if(a>=c)throw Error("Blocked URL: too many redirects");let g=new URL(f,d).toString();await r(g),d=g}}},93943:(a,b,c)=>{c.d(b,{Dz:()=>g,Th:()=>h,Vq:()=>k,fp:()=>i});var d=c(8590);let e=new Map;function f(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function g(a){return f(a?.expiresAt??a?.tokenExpiresAt)}function h(a){return f(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt)}function i(a,b,c=Date.now()){if(!b)return!1;let e=g(b);return!!(null!==e&&e-c<(0,d.Og)(a)||"codex"===a&&b.refreshToken&&function(a,b=Date.now()){let c=h(a);return!c||b-c>=6912e5}(b,c))}async function j(a,b,c){let d,f=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),g=e.get(f);if(g)return g;let h=Promise.resolve().then(c).finally(()=>{e.delete(f)});return e.set(f,h),h}async function k(a,b,c){return b?j(a,b,async()=>{let e=await (0,d.$B)(a,b,c);return function(a,b,c,e=Date.now()){var f,g;if(!c)return null;if((0,d.jT)(c))return c;let h={},i=new Date(e).toISOString();c.accessToken&&(h.accessToken=c.accessToken),c.apiKey&&(h.apiKey=c.apiKey),c.token&&(h.token=c.token);let j=c.refreshToken??b?.refreshToken;j&&(h.refreshToken=j);let k=c.idToken??b?.idToken;return k&&(h.idToken=k),c.expiresIn?(h.expiresIn=c.expiresIn,h.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,e)):c.expiresAt&&(h.expiresAt=c.expiresAt),c.projectId&&(h.projectId=c.projectId),c.providerSpecificData&&(f=b?.providerSpecificData,h.providerSpecificData=(g=c.providerSpecificData)&&"object"==typeof g?{...f||{},...g}:f),c.copilotToken&&(h.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(h.copilotTokenExpiresAt=c.copilotTokenExpiresAt),("codex"===a||h.accessToken||h.apiKey||h.token||h.refreshToken||h.copilotToken)&&(h.lastRefreshAt=c.lastRefreshAt||i),h}(a,b,e)}):null}},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,4884,4404,5024,5681,4315,8590,2557,1450,4161,7828,8962],()=>b(b.s=67277));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=1566,a.ids=[1566],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},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")},14641:(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/v1beta/models/[...path]/route",pathname:"/api/v1beta/models/[...path]",filename:"route",bundlePath:"app/api/v1beta/models/[...path]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/v1beta/models/[...path]/route.js",nextConfigOutput:"standalone",userland:()=>c(75230),...{}}),{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/v1beta/models/[...path]/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75230:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{OPTIONS:()=>j,POST:()=>k});var e=c(79489),f=c(8361),g=c(25772),h=a([e]);e=(h.then?(await h)():h)[0];let m=!1,n=null;async function i(){m||(await (0,f.Ai)(),n=(0,g.WV)({sidecarUrl:process.env.SIDECAR_URL||"http://presidio-sidecar:5001/redact",enabled:"false"!==process.env.REDACTION_ENABLED}),m=!0)}async function j(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function k(a,{params:b}){await i();try{let f,g,{path:h}=await b;if(h.length>=2){let a=h[0],b=h[1];g=b.includes(":streamGenerateContent")?":streamGenerateContent":":generateContent";let c=b.replace(":streamGenerateContent","").replace(":generateContent","");f=a+"/"+c}else{let a=h[0];g=a.includes(":streamGenerateContent")?":streamGenerateContent":":generateContent",f=a.replace(":streamGenerateContent","").replace(":generateContent","")}let i=await a.json(),j=":streamGenerateContent"===g,k=function(a,b,c){let d=[];if(a.systemInstruction){let b=a.systemInstruction.parts?.map(a=>a.text).join("\n")||"";b&&d.push({role:"system",content:b})}if(a.contents)for(let b of a.contents){let a="model"===b.role?"assistant":"user",c=b.parts?.map(a=>a.text).join("\n")||"";d.push({role:a,content:c})}return{model:b,messages:d,stream:c,max_tokens:a.generationConfig?.maxOutputTokens,temperature:a.generationConfig?.temperature,top_p:a.generationConfig?.topP}}(i,f,j),m=new Request(a.url,{method:"POST",headers:a.headers,body:JSON.stringify(k)}),p=await n(m,a=>a);if(p instanceof Response)return p;let q=await (0,e.P)(p);if(j){var c=q,d=f;if(!c.ok||!c.body)return c;let a=new TextDecoder,b=new TextEncoder,e=new TransformStream({transform(c,e){for(let f of a.decode(c,{stream:!0}).split("\n")){let a;if(!f.startsWith("data:"))continue;let c=f.slice(5).trim();if(!c||"[DONE]"===c)continue;try{a=JSON.parse(c)}catch{continue}let g=a.choices?.[0];if(!g)continue;let h=g.delta||{},i=[];if(h.reasoning_content&&i.push({text:h.reasoning_content,thought:!0}),h.content&&i.push({text:h.content}),0===i.length&&!g.finish_reason)continue;let j={content:{role:"model",parts:i.length>0?i:[{text:""}]},index:0};g.finish_reason&&(j.finishReason=o[g.finish_reason]||"STOP");let k={candidates:[j]};if(g.finish_reason&&a.usage){k.usageMetadata={promptTokenCount:a.usage.prompt_tokens||0,candidatesTokenCount:a.usage.completion_tokens||0,totalTokenCount:a.usage.total_tokens||0};let b=a.usage.completion_tokens_details?.reasoning_tokens;b&&(k.usageMetadata.thoughtsTokenCount=b),k.modelVersion=a.model||d}e.enqueue(b.encode("data: "+JSON.stringify(k)+"\r\n\r\n"))}}});return new Response(c.body.pipeThrough(e),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","Access-Control-Allow-Origin":"*"}})}return await l(q,f)}catch(a){return console.log("Error handling Gemini request:",a),Response.json({error:{message:a.message,code:500}},{status:500})}}let o={stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"};async function l(a,b){let c;if(!a.ok)return a;try{c=await a.json()}catch{return a}if(c.candidates)return Response.json(c,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});if(c.error)return Response.json(c,{status:a.status,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let d=c.choices?.[0];if(!d)return Response.json(c,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let{message:e,finish_reason:f}=d,g=[];e.reasoning_content&&g.push({text:e.reasoning_content,thought:!0}),g.push({text:e.content||""});let h=o[f]||"STOP",i={candidates:[{content:{role:"model",parts:g},finishReason:h,index:0}],modelVersion:c.model||b};if(c.usage){i.usageMetadata={promptTokenCount:c.usage.prompt_tokens||0,candidatesTokenCount:c.usage.completion_tokens||0,totalTokenCount:c.usage.total_tokens||0};let a=c.usage.completion_tokens_details?.reasoning_tokens;a&&(i.usageMetadata.thoughtsTokenCount=a)}return Response.json(i,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}d()}catch(a){d(a)}})},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},80099:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,7774,5433,4884,5024,4404,5681,4315,8590,4746,6306,3120,1450,8335,5330,8895,4161,7828,8962,6200],()=>b(b.s=14641));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=1566,a.ids=[1566],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},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")},14641:(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/v1beta/models/[...path]/route",pathname:"/api/v1beta/models/[...path]",filename:"route",bundlePath:"app/api/v1beta/models/[...path]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/v1beta/models/[...path]/route.js",nextConfigOutput:"standalone",userland:()=>c(75230),...{}}),{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/v1beta/models/[...path]/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75230:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{OPTIONS:()=>j,POST:()=>k});var e=c(79489),f=c(8361),g=c(25772),h=a([e]);e=(h.then?(await h)():h)[0];let m=!1,n=null;async function i(){m||(await (0,f.Ai)(),n=(0,g.WV)({sidecarUrl:process.env.SIDECAR_URL||"http://presidio-sidecar:5001/redact",enabled:"false"!==process.env.REDACTION_ENABLED}),m=!0)}async function j(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function k(a,{params:b}){await i();try{let f,g,{path:h}=await b;if(h.length>=2){let a=h[0],b=h[1];g=b.includes(":streamGenerateContent")?":streamGenerateContent":":generateContent";let c=b.replace(":streamGenerateContent","").replace(":generateContent","");f=a+"/"+c}else{let a=h[0];g=a.includes(":streamGenerateContent")?":streamGenerateContent":":generateContent",f=a.replace(":streamGenerateContent","").replace(":generateContent","")}let i=await a.json(),j=":streamGenerateContent"===g,k=function(a,b,c){let d=[];if(a.systemInstruction){let b=a.systemInstruction.parts?.map(a=>a.text).join("\n")||"";b&&d.push({role:"system",content:b})}if(a.contents)for(let b of a.contents){let a="model"===b.role?"assistant":"user",c=b.parts?.map(a=>a.text).join("\n")||"";d.push({role:a,content:c})}return{model:b,messages:d,stream:c,max_tokens:a.generationConfig?.maxOutputTokens,temperature:a.generationConfig?.temperature,top_p:a.generationConfig?.topP}}(i,f,j),m=new Request(a.url,{method:"POST",headers:a.headers,body:JSON.stringify(k)}),p=await n(m,a=>a);if(p instanceof Response)return p;let q=await (0,e.P)(p);if(j){var c=q,d=f;if(!c.ok||!c.body)return c;let a=new TextDecoder,b=new TextEncoder,e=new TransformStream({transform(c,e){for(let f of a.decode(c,{stream:!0}).split("\n")){let a;if(!f.startsWith("data:"))continue;let c=f.slice(5).trim();if(!c||"[DONE]"===c)continue;try{a=JSON.parse(c)}catch{continue}let g=a.choices?.[0];if(!g)continue;let h=g.delta||{},i=[];if(h.reasoning_content&&i.push({text:h.reasoning_content,thought:!0}),h.content&&i.push({text:h.content}),0===i.length&&!g.finish_reason)continue;let j={content:{role:"model",parts:i.length>0?i:[{text:""}]},index:0};g.finish_reason&&(j.finishReason=o[g.finish_reason]||"STOP");let k={candidates:[j]};if(g.finish_reason&&a.usage){k.usageMetadata={promptTokenCount:a.usage.prompt_tokens||0,candidatesTokenCount:a.usage.completion_tokens||0,totalTokenCount:a.usage.total_tokens||0};let b=a.usage.completion_tokens_details?.reasoning_tokens;b&&(k.usageMetadata.thoughtsTokenCount=b),k.modelVersion=a.model||d}e.enqueue(b.encode("data: "+JSON.stringify(k)+"\r\n\r\n"))}}});return new Response(c.body.pipeThrough(e),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","Access-Control-Allow-Origin":"*"}})}return await l(q,f)}catch(a){return console.log("Error handling Gemini request:",a),Response.json({error:{message:a.message,code:500}},{status:500})}}let o={stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"};async function l(a,b){let c;if(!a.ok)return a;try{c=await a.json()}catch{return a}if(c.candidates)return Response.json(c,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});if(c.error)return Response.json(c,{status:a.status,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let d=c.choices?.[0];if(!d)return Response.json(c,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let{message:e,finish_reason:f}=d,g=[];e.reasoning_content&&g.push({text:e.reasoning_content,thought:!0}),g.push({text:e.content||""});let h=o[f]||"STOP",i={candidates:[{content:{role:"model",parts:g},finishReason:h,index:0}],modelVersion:c.model||b};if(c.usage){i.usageMetadata={promptTokenCount:c.usage.prompt_tokens||0,candidatesTokenCount:c.usage.completion_tokens||0,totalTokenCount:c.usage.total_tokens||0};let a=c.usage.completion_tokens_details?.reasoning_tokens;a&&(i.usageMetadata.thoughtsTokenCount=a)}return Response.json(i,{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}d()}catch(a){d(a)}})},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},80099:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,7774,5433,4884,4404,5024,5681,4315,8590,2557,3120,1450,8335,5330,8895,4161,7828,8962,6200],()=>b(b.s=14641));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=1860,a.ids=[1860],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},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")},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},21820:a=>{"use strict";a.exports=require("os")},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")},51892:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>f,OPTIONS:()=>e});var d=c(81329);async function e(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function f(){try{let a=[];for(let[b,c]of Object.entries(d.vq))for(let d of c)a.push({name:`models/${b}/${d.id}`,displayName:d.name||d.id,description:`${b} model: ${d.name||d.id}`,supportedGenerationMethods:["generateContent"],inputTokenLimit:128e3,outputTokenLimit:8192});return Response.json({models:a})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message}},{status:500})}}},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")},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90365:(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/v1beta/models/route",pathname:"/api/v1beta/models",filename:"route",bundlePath:"app/api/v1beta/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/v1beta/models/route.js",nextConfigOutput:"standalone",userland:()=>c(51892),...{}}),{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/v1beta/models/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,5024,4404,5681],()=>b(b.s=90365));module.exports=c})();
1
+ (()=>{var a={};a.id=1860,a.ids=[1860],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},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")},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},21820:a=>{"use strict";a.exports=require("os")},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")},51892:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>f,OPTIONS:()=>e});var d=c(81329);async function e(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function f(){try{let a=[];for(let[b,c]of Object.entries(d.vq))for(let d of c)a.push({name:`models/${b}/${d.id}`,displayName:d.name||d.id,description:`${b} model: ${d.name||d.id}`,supportedGenerationMethods:["generateContent"],inputTokenLimit:128e3,outputTokenLimit:8192});return Response.json({models:a})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message}},{status:500})}}},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")},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90365:(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/v1beta/models/route",pathname:"/api/v1beta/models",filename:"route",bundlePath:"app/api/v1beta/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/v1beta/models/route.js",nextConfigOutput:"standalone",userland:()=>c(51892),...{}}),{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/v1beta/models/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,4404,5024,5681],()=>b(b.s=90365));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=2922,a.ids=[2922],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")},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")},15209:(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/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/version/route.js",nextConfigOutput:"standalone",userland:()=>c(29529),...{}}),{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/version/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29529:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>l,dynamic:()=>k});var d=c(23211),e=c(55591),f=c.n(e);let g=JSON.parse('{"UU":"@sifxprime/krouter","rE":"0.5.165"}'),h=g.UU,i=g.rE,j=`https://registry.npmjs.org/${h}/latest`,k="force-dynamic";async function l(){let a=await new Promise(a=>{let b=f().get(j,{timeout:4e3},b=>{let c="";b.on("data",a=>{c+=a}),b.on("end",()=>{try{let b=JSON.parse(c);a(b?.version||null)}catch{a(null)}})});b.on("error",()=>a(null)),b.on("timeout",()=>{b.destroy(),a(null)})}),b=!!a&&1===function(a,b){let c=String(a||"0.0.0").split(".").map(a=>parseInt(a,10)||0),d=String(b||"0.0.0").split(".").map(a=>parseInt(a,10)||0);for(let a=0;a<3;a++){if((c[a]||0)>(d[a]||0))return 1;if((c[a]||0)<(d[a]||0))return -1}return 0}(a,i);return d.NextResponse.json({currentVersion:i,latestVersion:a||i,hasUpdate:b,packageName:h},{headers:{"Cache-Control":"no-store"}})}},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")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},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=15209));module.exports=c})();
1
+ (()=>{var a={};a.id=2922,a.ids=[2922],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")},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")},15209:(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/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/version/route.js",nextConfigOutput:"standalone",userland:()=>c(29529),...{}}),{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/version/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29529:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>l,dynamic:()=>k});var d=c(23211),e=c(55591),f=c.n(e);let g=JSON.parse('{"UU":"@sifxprime/krouter","rE":"0.5.166"}'),h=g.UU,i=g.rE,j=`https://registry.npmjs.org/${h}/latest`,k="force-dynamic";async function l(){let a=await new Promise(a=>{let b=f().get(j,{timeout:4e3},b=>{let c="";b.on("data",a=>{c+=a}),b.on("end",()=>{try{let b=JSON.parse(c);a(b?.version||null)}catch{a(null)}})});b.on("error",()=>a(null)),b.on("timeout",()=>{b.destroy(),a(null)})}),b=!!a&&1===function(a,b){let c=String(a||"0.0.0").split(".").map(a=>parseInt(a,10)||0),d=String(b||"0.0.0").split(".").map(a=>parseInt(a,10)||0);for(let a=0;a<3;a++){if((c[a]||0)>(d[a]||0))return 1;if((c[a]||0)<(d[a]||0))return -1}return 0}(a,i);return d.NextResponse.json({currentVersion:i,latestVersion:a||i,hasUpdate:b,packageName:h},{headers:{"Cache-Control":"no-store"}})}},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")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},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=15209));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=1907,a.ids=[1907],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")},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")},21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>n,l:()=>m});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869);function l(){return process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"krouter"):f().join(j().homedir(),".krouter")}async function m(){!function(){try{let a=f().join(l(),"mitm",".mitm.pid");if(!h().existsSync(a))return;let b=parseInt(h().readFileSync(a,"utf8").trim(),10);if(!b)return;if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}try{h().unlinkSync(a)}catch{}}catch{}}();let a=function(){let a=[];if("win32"===process.platform){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(b=>{let c=b.toLowerCase();if(c.includes("krouter")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=b.match(/^"(\d+)"/);c&&c[1]&&c[1]!==process.pid.toString()&&a.push(c[1])}})}catch{}for(let b of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${b} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(b=>{let c=b.trim();c&&!isNaN(c)&&a.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(b=>{if(b.includes("krouter")||b.includes("next-server")||b.includes("cloudflared")||b.includes("/bin/app/")||b.includes("tray_darwin")||b.includes("tray_linux")){let c=b.trim().split(/\s+/)[1];c&&!isNaN(c)&&c!==process.pid.toString()&&a.push(c)}})}catch{}return a}(),b=process.platform;a.forEach(a=>{try{"win32"===b?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),a.length>0&&await new Promise(a=>setTimeout(a,1500))}function n(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(l(),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--skip-update"];(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,UPDATER_PKG_NAME:a,UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:String(k.h0.appPort),UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(g)}}).unref(),setTimeout(()=>process.exit(0),k.h0.exitDelayMs)}},21820:a=>{"use strict";a.exports=require("os")},22119:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>f});var d=c(23211),e=c(21719);async function f(){try{await (0,e.l)()}catch{}let a=d.NextResponse.json({success:!0,message:"Shutting down for manual update..."});return setTimeout(()=>process.exit(0),500),a}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5-mini",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports={rE:"0.5.165"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},45401:(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/version/shutdown/route",pathname:"/api/version/shutdown",filename:"route",bundlePath:"app/api/version/shutdown/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/version/shutdown/route.js",nextConfigOutput:"standalone",userland:()=>c(22119),...{}}),{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/version/shutdown/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},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")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},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,5024,4404,5681],()=>b(b.s=45401));module.exports=c})();
1
+ (()=>{var a={};a.id=1907,a.ids=[1907],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")},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")},21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>n,l:()=>m});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869);function l(){return process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"krouter"):f().join(j().homedir(),".krouter")}async function m(){!function(){try{let a=f().join(l(),"mitm",".mitm.pid");if(!h().existsSync(a))return;let b=parseInt(h().readFileSync(a,"utf8").trim(),10);if(!b)return;if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}try{h().unlinkSync(a)}catch{}}catch{}}();let a=function(){let a=[];if("win32"===process.platform){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(b=>{let c=b.toLowerCase();if(c.includes("krouter")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=b.match(/^"(\d+)"/);c&&c[1]&&c[1]!==process.pid.toString()&&a.push(c[1])}})}catch{}for(let b of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${b} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(b=>{let c=b.trim();c&&!isNaN(c)&&a.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(b=>{if(b.includes("krouter")||b.includes("next-server")||b.includes("cloudflared")||b.includes("/bin/app/")||b.includes("tray_darwin")||b.includes("tray_linux")){let c=b.trim().split(/\s+/)[1];c&&!isNaN(c)&&c!==process.pid.toString()&&a.push(c)}})}catch{}return a}(),b=process.platform;a.forEach(a=>{try{"win32"===b?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),a.length>0&&await new Promise(a=>setTimeout(a,1500))}function n(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(l(),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--skip-update"];(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,UPDATER_PKG_NAME:a,UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:String(k.h0.appPort),UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(g)}}).unref(),setTimeout(()=>process.exit(0),k.h0.exitDelayMs)}},21820:a=>{"use strict";a.exports=require("os")},22119:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>f});var d=c(23211),e=c(21719);async function f(){try{await (0,e.l)()}catch{}let a=d.NextResponse.json({success:!0,message:"Shutting down for manual update..."});return setTimeout(()=>process.exit(0),500),a}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5.6-terra",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports={rE:"0.5.166"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},45401:(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/version/shutdown/route",pathname:"/api/version/shutdown",filename:"route",bundlePath:"app/api/version/shutdown/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/version/shutdown/route.js",nextConfigOutput:"standalone",userland:()=>c(22119),...{}}),{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/version/shutdown/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},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")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},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,4404,5024,5681],()=>b(b.s=45401));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=2198,a.ids=[2198],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1595:(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/version/update/route",pathname:"/api/version/update",filename:"route",bundlePath:"app/api/version/update/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/version/update/route.js",nextConfigOutput:"standalone",userland:()=>c(28368),...{}}),{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/version/update/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},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")},21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>n,l:()=>m});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869);function l(){return process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"krouter"):f().join(j().homedir(),".krouter")}async function m(){!function(){try{let a=f().join(l(),"mitm",".mitm.pid");if(!h().existsSync(a))return;let b=parseInt(h().readFileSync(a,"utf8").trim(),10);if(!b)return;if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}try{h().unlinkSync(a)}catch{}}catch{}}();let a=function(){let a=[];if("win32"===process.platform){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(b=>{let c=b.toLowerCase();if(c.includes("krouter")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=b.match(/^"(\d+)"/);c&&c[1]&&c[1]!==process.pid.toString()&&a.push(c[1])}})}catch{}for(let b of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${b} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(b=>{let c=b.trim();c&&!isNaN(c)&&a.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(b=>{if(b.includes("krouter")||b.includes("next-server")||b.includes("cloudflared")||b.includes("/bin/app/")||b.includes("tray_darwin")||b.includes("tray_linux")){let c=b.trim().split(/\s+/)[1];c&&!isNaN(c)&&c!==process.pid.toString()&&a.push(c)}})}catch{}return a}(),b=process.platform;a.forEach(a=>{try{"win32"===b?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),a.length>0&&await new Promise(a=>setTimeout(a,1500))}function n(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(l(),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--skip-update"];(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,UPDATER_PKG_NAME:a,UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:String(k.h0.appPort),UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(g)}}).unref(),setTimeout(()=>process.exit(0),k.h0.exitDelayMs)}},21820:a=>{"use strict";a.exports=require("os")},28368:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>f});var d=c(23211),e=c(21719);async function f(){try{await (0,e.l)()}catch{}return(0,e.g)(),d.NextResponse.json({success:!0,message:"Updater started. This app will exit shortly."})}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5-mini",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports={rE:"0.5.165"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},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")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},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,5024,4404,5681],()=>b(b.s=1595));module.exports=c})();
1
+ (()=>{var a={};a.id=2198,a.ids=[2198],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1595:(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/version/update/route",pathname:"/api/version/update",filename:"route",bundlePath:"app/api/version/update/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/krouter/krouter/src/app/api/version/update/route.js",nextConfigOutput:"standalone",userland:()=>c(28368),...{}}),{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/version/update/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},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")},21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>n,l:()=>m});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869);function l(){return process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"krouter"):f().join(j().homedir(),".krouter")}async function m(){!function(){try{let a=f().join(l(),"mitm",".mitm.pid");if(!h().existsSync(a))return;let b=parseInt(h().readFileSync(a,"utf8").trim(),10);if(!b)return;if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}try{h().unlinkSync(a)}catch{}}catch{}}();let a=function(){let a=[];if("win32"===process.platform){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(b=>{let c=b.toLowerCase();if(c.includes("krouter")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=b.match(/^"(\d+)"/);c&&c[1]&&c[1]!==process.pid.toString()&&a.push(c[1])}})}catch{}for(let b of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${b} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(b=>{let c=b.trim();c&&!isNaN(c)&&a.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(b=>{if(b.includes("krouter")||b.includes("next-server")||b.includes("cloudflared")||b.includes("/bin/app/")||b.includes("tray_darwin")||b.includes("tray_linux")){let c=b.trim().split(/\s+/)[1];c&&!isNaN(c)&&c!==process.pid.toString()&&a.push(c)}})}catch{}return a}(),b=process.platform;a.forEach(a=>{try{"win32"===b?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),a.length>0&&await new Promise(a=>setTimeout(a,1500))}function n(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(l(),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--skip-update"];(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,UPDATER_PKG_NAME:a,UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:String(k.h0.appPort),UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(g)}}).unref(),setTimeout(()=>process.exit(0),k.h0.exitDelayMs)}},21820:a=>{"use strict";a.exports=require("os")},28368:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>f});var d=c(23211),e=c(21719);async function f(){try{await (0,e.l)()}catch{}return(0,e.g)(),d.NextResponse.json({success:!0,message:"Updater started. This app will exit shortly."})}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5.6-terra",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports={rE:"0.5.166"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},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")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},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,4404,5024,5681],()=>b(b.s=1595));module.exports=c})();