omniroute 3.4.5 → 3.4.6
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.
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cache/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cache/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/memory/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +1 -1
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route.js +3 -3
- package/app/.next/server/app/api/provider-models/route.js +2 -2
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +2 -2
- package/app/.next/server/app/api/provider-nodes/route.js +3 -3
- package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/sync-models/route.js +3 -3
- package/app/.next/server/app/api/providers/[id]/sync-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +6 -6
- package/app/.next/server/app/api/providers/route.js +4 -4
- package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +5 -5
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/system/version/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +2 -2
- package/app/.next/server/app/api/usage/provider-limits/route.js +5 -5
- package/app/.next/server/app/api/usage/provider-limits/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route.js +4 -4
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/route.js +4 -4
- package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0.7zz6j._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0.lz97q._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0.m9_5-._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__00-bzx_._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__00hsd7k._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__00i_ryi._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__01fudn9._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__024slax._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__030_-af._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__03gl9dh._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__03x69ll._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__047np0t._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__04lc9.m._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__05u48b-._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__06dr~pl._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__06hr_sx._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__06r5eje._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__07.ui7z._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__075j.5s._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__07ju0wx._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__07wj.c4._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__08-9vz.._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0908q-_._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__09blmoy._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__09c50mp._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0a.3c_r._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0bkx9sd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0c4v_hg._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0c5t729._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0cem6i6._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0d-qyrk._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0d-rd-n._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0djfz6n._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0dmb7bd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0e7dp.z._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0el_v65._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0enebbv._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0enecpa._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0eps0zu._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0fbv0zh._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0fmf-tk._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0fw0v5q._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0g0b9au._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0gukblk._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0h-q5l0._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0h1fgwr._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0h86b7i._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0h~a5f1._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0irqapk._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0j0ez8_._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0jacr87._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0jnihz9._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0jp3yj4._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0llqbda._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0m-356c._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0mj7x5~._.js +8 -8
- package/app/.next/server/chunks/[root-of-the-server]__0mpnloa._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0n-~kvf._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0n.gjo8._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0n0nara._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0ncz8xj._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0oph175._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0p3a7_l._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0pl_899._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0prott7._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0pwiejj._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0pxqo8v._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0q04t~4._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0q9h_5u._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0qaruz-._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0qka2s7._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0rnvi83._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0rpwwig._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0rs2ec_._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0s1dq3.._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0s1ya.l._.js +5 -5
- package/app/.next/server/chunks/[root-of-the-server]__0svm~lc._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0t83olx._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0tsl88m._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0uctzvq._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0vkqjj1._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0vwq47l._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0vx1juw._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0vzvfbd._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0w39cdo._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0wc__c~._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0y2h760._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0y_c7uk._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0~8fltv._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0~dj8ev._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__10.x-iq._.js +4 -4
- package/app/.next/server/chunks/[root-of-the-server]__10e1a_z._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__10o_k-p._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__10smy7g._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__11wa4b~._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__11xpr8u._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__122-jdl._.js +8 -8
- package/app/.next/server/chunks/[root-of-the-server]__12e9-l1._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__12gh.g1._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__136nal9._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__13_i443._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__13c-d_4._.js +2 -2
- package/app/.next/server/chunks/_0-jnvci._.js +1 -1
- package/app/.next/server/chunks/_0-~thzo._.js +1 -1
- package/app/.next/server/chunks/_00.pgsp._.js +1 -1
- package/app/.next/server/chunks/_013gowh._.js +1 -1
- package/app/.next/server/chunks/{_03c-j3o._.js → _02~yzex._.js} +2 -2
- package/app/.next/server/chunks/_036lxbr._.js +1 -1
- package/app/.next/server/chunks/_05reh6o._.js +1 -1
- package/app/.next/server/chunks/_0a3.3sc._.js +1 -1
- package/app/.next/server/chunks/_0c.abwr._.js +1 -1
- package/app/.next/server/chunks/_0due8oe._.js +2 -2
- package/app/.next/server/chunks/_0h-j8c2._.js +1 -1
- package/app/.next/server/chunks/_0k43pd6._.js +3 -3
- package/app/.next/server/chunks/_0vx-r0i._.js +2 -2
- package/app/.next/server/chunks/_10.rw9f._.js +1 -1
- package/app/.next/server/chunks/_13mo7j5._.js +1 -1
- package/app/.next/server/chunks/src_0f_le~m._.js +1 -1
- package/app/.next/server/chunks/ssr/_008ht2n._.js +2 -2
- package/app/.next/server/chunks/ssr/_0oo1f90._.js +2 -2
- package/app/.next/server/chunks/ssr/_0~laquj._.js +1 -1
- package/app/.next/server/chunks/ssr/src_04gjot1._.js +1 -1
- package/app/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_cache_04_vca6._.js +1 -1
- package/app/.next/server/chunks/ssr/{src_app_(dashboard)_dashboard_settings_0ni3aus._.js → src_app_(dashboard)_dashboard_settings_09gq48u._.js} +2 -2
- package/app/.next/server/chunks/ssr/src_i18n_messages_en_json_[json]_cjs_13rg.m2._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pt-BR_json_[json]_cjs_01n5fvn._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pt_json_[json]_cjs_0fwb8p.._.js +1 -1
- package/app/.next/server/chunks/ssr/src_shared_0jy4djq._.js +3 -0
- package/app/.next/server/chunks/ssr/src_shared_components_0v5o286._.js +3 -0
- package/app/.next/server/middleware-build-manifest.js +3 -3
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{03~_6b5~n101_.js → 0.ap2gsi3d-1e.js} +1 -1
- package/app/.next/static/chunks/08iujr48xci8k.js +1 -0
- package/app/.next/static/chunks/{0up_y.7qkqwxz.js → 08n6n76lz~vt6.js} +1 -1
- package/app/.next/static/chunks/{060zmf~qn1q6y.js → 0f611s~575pn8.js} +1 -1
- package/app/.next/static/chunks/0y5kx9rgeb6~_.js +1 -0
- package/app/.next/static/chunks/13xz-222deqiy.js +1 -0
- package/app/CHANGELOG.md +18 -0
- package/app/docs/openapi.yaml +1 -1
- package/app/llm.txt +2 -2
- package/app/open-sse/handlers/chatCore.ts +2 -2
- package/app/open-sse/package.json +1 -1
- package/app/open-sse/translator/request/claude-to-gemini.ts +17 -0
- package/app/open-sse/translator/request/openai-to-gemini.ts +14 -3
- package/app/open-sse/utils/stream.ts +2 -2
- package/app/package-lock.json +3 -3
- package/app/package.json +1 -1
- package/app/src/app/(dashboard)/dashboard/cache/components/CacheTrends.tsx +19 -12
- package/app/src/app/(dashboard)/dashboard/cache/page.tsx +0 -3
- package/app/src/app/(dashboard)/dashboard/memory/page.tsx +20 -20
- package/app/src/i18n/messages/en.json +55 -1
- package/app/src/i18n/messages/pt-BR.json +53 -0
- package/app/src/i18n/messages/pt.json +54 -1
- package/app/src/shared/constants/providers.ts +40 -0
- package/app/src/shared/constants/sidebarVisibility.ts +6 -0
- package/app/src/shared/utils/circuitBreaker.ts +14 -4
- package/package.json +1 -1
- package/app/.next/server/chunks/ssr/src_05ekey-._.js +0 -3
- package/app/.next/server/chunks/ssr/src_100xxow._.js +0 -3
- package/app/.next/static/chunks/05tcrkqknq.20.js +0 -1
- package/app/.next/static/chunks/0eng4c9gz1s4..js +0 -1
- package/app/.next/static/chunks/0go~kwn1zgxnd.js +0 -1
- /package/app/.next/static/{Dbb1D6OoD7WlyZuPBm3L6 → ImZm5czz4prt8gnJPx7vv}/_buildManifest.js +0 -0
- /package/app/.next/static/{Dbb1D6OoD7WlyZuPBm3L6 → ImZm5czz4prt8gnJPx7vv}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{Dbb1D6OoD7WlyZuPBm3L6 → ImZm5czz4prt8gnJPx7vv}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>f,ResponseCookies:()=>
|
|
2
|
-
${e}`),Error(`Provider validation failed for ${t}`)}}]),r()}catch(e){r(e)}},!1),963219,e=>e.a(async(t,r)=>{try{var a=e.i(102835),i=t([a]);[a]=i.then?(await i)():i;let o={qoder:{id:"qoder",alias:"if",name:"Qoder AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gemini-cli",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationReason:"Google restricts third-party OAuth usage for Gemini CLI (Mar 2026). Pro models require paid plans. Use 'gemini' (API key) provider instead."},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},n={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:void 0,name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},s={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",name:"Alibaba Coding Plan",icon:"code",color:"#FF6A00",textIcon:"BCP",website:"https://www.alibabacloud.com/help/en/model-studio/coding-plan"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",name:"Kimi Coding (API Key)",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.com"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",hasFree:!0,freeNote:"Free tier: 30 RPM / 14.4K RPD — no credit card"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://inference.cerebras.ai",hasFree:!0,freeNote:"Free: 1M tokens/day, 60K TPM — world's fastest inference"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://build.nvidia.com",hasFree:!0,freeNote:"Free dev access: ~40 RPM, 70+ models (Kimi K2.5, GLM 4.7, DeepSeek V3.2...)"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",hasFree:!0,freeNote:"Free Inference API for thousands of models (Whisper, VITS, SDXL…)"},synthetic:{id:"synthetic",alias:"synthetic",name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new",passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai",passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VA",website:"https://cloud.google.com/vertex-ai",authHint:"Provide Service Account JSON or OAuth access_token"},zai:{id:"zai",alias:"zai",name:"Z.AI",icon:"psychology",color:"#2563EB",textIcon:"ZA",website:"https://open.bigmodel.cn",apiHint:"API key from https://open.bigmodel.cn/usercenter/apikeys"},"perplexity-search":{id:"perplexity-search",alias:"pplx-search",name:"Perplexity Search",icon:"search",color:"#20808D",textIcon:"PS",website:"https://docs.perplexity.ai/guides/search-quickstart",authHint:"Same API key as Perplexity (pplx-...)"},"serper-search":{id:"serper-search",alias:"serper-search",name:"Serper Search",icon:"search",color:"#4285F4",textIcon:"SP",website:"https://serper.dev",authHint:"API key from serper.dev dashboard"},"brave-search":{id:"brave-search",alias:"brave-search",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",authHint:"Subscription token from Brave Search API dashboard"},"exa-search":{id:"exa-search",alias:"exa-search",name:"Exa Search",icon:"neurology",color:"#1E40AF",textIcon:"EX",website:"https://exa.ai",authHint:"API key from dashboard.exa.ai"},"tavily-search":{id:"tavily-search",alias:"tavily-search",name:"Tavily Search",icon:"manage_search",color:"#5B4FDB",textIcon:"TV",website:"https://tavily.com",authHint:"API key from app.tavily.com (format: tvly-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0}},l="openai-compatible-",d="anthropic-compatible-",c="anthropic-compatible-cc-",u={...o,...n,...s,cliproxyapi:{id:"cliproxyapi",alias:"cpa",name:"CLIProxyAPI",icon:"proxy",color:"#6366F1",textIcon:"CPA",website:"https://github.com/router-for-me/CLIProxyAPI",defaultPort:8317,healthEndpoint:"/v1/models",managementPrefix:"/v0/management",configDir:"~/.cli-proxy-api",binaryName:"cli-proxy-api",githubRepo:"router-for-me/CLIProxyAPI"}},p=Object.values(u).reduce((e,t)=>(t.alias&&(e[t.alias]=t.id),e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias||t.id,e),{}),(0,a.validateProviders)(o,"FREE_PROVIDERS"),(0,a.validateProviders)(n,"OAUTH_PROVIDERS"),(0,a.validateProviders)(s,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,p,"ANTHROPIC_COMPATIBLE_PREFIX",0,d,"APIKEY_PROVIDERS",0,s,"CLAUDE_CODE_COMPATIBLE_PREFIX",0,c,"FREE_PROVIDERS",0,o,"OAUTH_PROVIDERS",0,n,"OPENAI_COMPATIBLE_PREFIX",0,l,"USAGE_SUPPORTED_PROVIDERS",0,["antigravity","gemini-cli","kiro","github","codex","claude","kimi-coding","glm"],"getProviderAlias",0,function(e){let t=u[e];return t?.alias||e},"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(d)},"isClaudeCodeCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(c)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(l)}]),r()}catch(e){r(e)}},!1),250875,e=>{"use strict";var t=e.i(233405),r=e.i(522734);async function a(i=null){let o=i||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=function(){try{throw Error("Not Windows")}catch{}try{throw Error("Not macOS")}catch{}try{for(let e of["/etc/machine-id","/var/lib/dbus/machine-id"])if((0,r.existsSync)(e)){let t=(0,r.readFileSync)(e,"utf8").trim().toLowerCase();if(t.length>8)return t}}catch{}try{let e=(0,t.execSync)("hostname",{encoding:"utf8",timeout:5e3}).trim().toLowerCase();if(e)return e}catch{}try{return e.r(446786).hostname().toLowerCase()}catch{}return"unknown-machine"}();return(await e.A(485685)).createHash("sha256").update(a+o).digest("hex").substring(0,16)}catch(t){console.log("Error getting machine ID:",t);try{return(await e.A(485685)).randomUUID()}catch{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})}}}e.s(["getConsistentMachineId",0,a])},639173,e=>{"use strict";e.i(245272);var t=e.i(385498),r=e.i(186920),a=e.i(151205),i=e.i(125852);let o=process.env.CLOUD_URL||process.env.NEXT_PUBLIC_CLOUD_URL,n=Number(process.env.CLOUD_SYNC_TIMEOUT_MS||12e3);function s(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function l(e){if("string"==typeof e||"number"==typeof e||e instanceof Date){let t=new Date(e).getTime();return Number.isFinite(t)?t:0}return 0}async function d(e,t={},r=n){let a=new AbortController,i=setTimeout(()=>a.abort(),r);try{return await fetch(e,{...t,signal:a.signal})}finally{clearTimeout(i)}}async function c(e,n=null){let s;if(!o)return{error:"NEXT_PUBLIC_CLOUD_URL is not configured"};let l=await (0,t.getProviderConnections)(),p=await (0,r.getModelAliases)(),h=await (0,a.getCombos)(),m=await (0,i.getApiKeys)();try{s=await d(`${o}/sync/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providers:l,modelAliases:p,combos:h,apiKeys:m})})}catch(e){return{error:e?.name==="AbortError"?"Cloud sync timeout":"Cloud sync request failed"}}if(!s.ok){let e=await s.text(),t=e.length>200?e.slice(0,200)+"…":e;return console.log(`Cloud sync failed (${s.status}):`,t),{error:"Cloud sync failed"}}let f=await s.json();f.data&&f.data.providers&&await u(f.data.providers);let v={success:!0,message:"Synced successfully",changes:f.changes};return n&&(v.createdKey=n),v}async function u(e){let r=s(e);for(let e of(await (0,t.getProviderConnections)())){var a;let i=s(e),o="string"==typeof(a=i.id)&&a.trim().length>0?a:null;if(!o)continue;let n=s(r[o]);if(0!==Object.keys(n).length){if(l(n.updatedAt)>l(i.updatedAt)){let e={accessToken:n.accessToken,refreshToken:n.refreshToken,expiresAt:n.expiresAt,expiresIn:n.expiresIn,providerSpecificData:n.providerSpecificData||i.providerSpecificData,testStatus:n.status||"active",lastError:n.lastError,lastErrorAt:n.lastErrorAt,errorCode:n.errorCode,rateLimitedUntil:n.rateLimitedUntil,updatedAt:n.updatedAt};await (0,t.updateProviderConnection)(o,e)}}}}e.s(["CLOUD_URL",0,o,"fetchWithTimeout",0,d,"syncToCloud",0,c])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},266240,e=>{"use strict";let t,r,a,i,o,n,s,l,d;var c=e.i(924868),u=e.i(522734),p=e.i(446786),h=e.i(814747),m=e.i(233405);let f=new Set(["auto","host","container"]),v=new Set(["0","false","no","off"]),g={claude:{defaultCommand:"claude",envBinKey:"CLI_CLAUDE_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{settings:".claude/settings.json"}},codex:{defaultCommand:"codex",envBinKey:"CLI_CODEX_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{config:".codex/config.toml",auth:".codex/auth.json"}},droid:{defaultCommand:"droid",envBinKey:"CLI_DROID_BIN",requiresBinary:!0,healthcheckTimeoutMs:8e3,paths:{settings:".factory/settings.json"}},openclaw:{defaultCommand:"openclaw",envBinKey:"CLI_OPENCLAW_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{settings:".openclaw/openclaw.json"}},cursor:{defaultCommands:["agent","cursor"],envBinKey:"CLI_CURSOR_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".cursor/cli-config.json",auth:".config/cursor/auth.json",state:".cursor/agent-cli-state.json"}},windsurf:{defaultCommand:null,envBinKey:"CLI_WINDSURF_BIN",requiresBinary:!1,healthcheckTimeoutMs:4e3,paths:{}},cline:{defaultCommand:"cline",envBinKey:"CLI_CLINE_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{globalState:".cline/data/globalState.json",secrets:".cline/data/secrets.json"}},kilo:{defaultCommand:"kilocode",envBinKey:"CLI_KILO_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{auth:".local/share/kilo/auth.json"}},continue:{defaultCommand:null,envBinKey:"CLI_CONTINUE_BIN",requiresBinary:!1,healthcheckTimeoutMs:15e3,paths:{settings:".continue/config.json"}},opencode:{defaultCommand:"opencode",envBinKey:"CLI_OPENCODE_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".config/opencode/opencode.json"}},qoder:{defaultCommand:"qodercli",envBinKey:"CLI_QODER_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{config:".qoder/settings.json",auth:".qoder/auth.json"}}},y=(e,t,{env:r,timeoutMs:a=3e3}={})=>new Promise(i=>{let o="",n="",s=!1,l=!1,d=(0,m.spawn)(e,t,{env:r,stdio:["ignore","pipe","pipe"],..."win32"===process.platform?"TURBOPACK unreachable":{}}),c=setTimeout(()=>{s=!0,d.kill("SIGKILL")},a),u=e=>{l||(l=!0,clearTimeout(c),i(e))};d.stdout.on("data",e=>{o+=e.toString()}),d.stderr.on("data",e=>{n+=e.toString()}),d.on("error",e=>{u({ok:!1,code:null,stdout:o.trim(),stderr:n.trim(),timedOut:s,error:e?.message||"spawn_error"})}),d.on("close",e=>{u({ok:!s&&0===e,code:e,stdout:o.trim(),stderr:n.trim(),timedOut:s,error:s?"timeout":null})})}),b=["&","|",";","<",">","(",")","`","$","^","%","!"],x=(e,t)=>{let r=e=>h.default.normalize(e).toLowerCase().replace(/\\/g,"/"),a=r(e),i=r(t);if(a===i)return!0;let o=i.endsWith("/")?i:i+"/";return a.startsWith(o)},w=e=>!(!e||!h.default.isAbsolute(e)||b.some(t=>e.includes(t))),C=(e,t)=>{if(!e)return"";let r=e.trim();if(!h.default.isAbsolute(r)||b.some(e=>r.includes(e)))return"";let a=h.default.normalize(r);return a.includes("..")||t.length>0&&!t.some(e=>x(a,e))?"":a},I=()=>{if(void 0!==t)return t;let e=String(process.env.npm_config_prefix||"").trim();if(e&&h.default.isAbsolute(e))return t=e;try{let e=(0,m.execFileSync)("npm",["config","get","prefix"],{timeout:5e3,encoding:"utf8",stdio:["ignore","pipe","ignore"],..."win32"===process.platform?"TURBOPACK unreachable":{}}).trim();if(e&&h.default.isAbsolute(e)&&!b.some(t=>e.includes(t)))return t=e}catch{}return t=""},A=(r=p.default.homedir(),a=process.env.USERPROFILE||r,i=C(process.env.APPDATA,[r,a]),o=C(process.env.LOCALAPPDATA,[h.default.join(r,"AppData","Local"),h.default.join(a,"AppData","Local"),a]),n=C(process.env.ProgramFiles,["C:\\Program Files","C:\\Program Files (x86)"]),s=C(process.env["ProgramFiles(x86)"],["C:\\Program Files","C:\\Program Files (x86)"]),l=I(),d=[h.default.join(r,"bin"),h.default.join(r,".local","bin")],[r,...d,a,i,o,n,s,l].filter(Boolean)),P=async e=>{if(!w(e))return{installed:!1,commandPath:null,reason:"unsafe_path"};try{await c.default.access(e,c.default.constants.F_OK)}catch{return{installed:!1,commandPath:null,reason:"not_found"}}try{return await c.default.access(e,c.default.constants.X_OK),{installed:!0,commandPath:e,reason:null}}catch{return{installed:!0,commandPath:e,reason:"not_executable"}}},_=async(e,t)=>{if(!e)return{installed:!1,commandPath:null,reason:"missing_command"};if(e.includes("/")||e.includes("\\"))return P(e);process.platform;let r=await y("sh",["-c",'command -v -- "$1"',"sh",e],{env:t,timeoutMs:3e3});return r.ok&&r.stdout?{installed:!0,commandPath:e,reason:null}:{installed:!1,commandPath:null,reason:"not_found"}},k=async e=>{if(!h.default.isAbsolute(e))return{installed:!1,commandPath:null,reason:"not_absolute"};if(!w(e))return{installed:!1,commandPath:null,reason:"unsafe_path"};try{let t=await c.default.realpath(e);if(!A.some(e=>x(t,e)))return{installed:!1,commandPath:null,reason:"symlink_escape"};let r=await c.default.stat(t);if(!r.isFile())return{installed:!1,commandPath:null,reason:"not_file"};if(r.size<30||r.size>0x15e00000)return{installed:!1,commandPath:null,reason:"suspicious_size"}}catch(t){let e=t.code;if("ENOENT"===e)return{installed:!1,commandPath:null,reason:"not_found"};if("EINVAL"===e)return{installed:!1,commandPath:null,reason:"invalid_path"};return{installed:!1,commandPath:null,reason:"access_error"}}try{return await c.default.access(e,c.default.constants.X_OK),{installed:!0,commandPath:e,reason:null}}catch{return{installed:!0,commandPath:e,reason:"not_executable"}}},E=async(e,t,r)=>{if(!Array.isArray(e)||0===e.length)return{command:null,installed:!1,commandPath:null,reason:"missing_command"};if(r)for(let t of(e=>{let t=p.default.homedir(),r=[],a=I();if(process.execPath.toLowerCase().includes("nvm")&&h.default.dirname(process.execPath),"win32"===process.platform);else for(let[,i]of({claude:[["claude.cmd","claude"],["claude.exe","claude"]],codex:[["codex.cmd","codex"]],droid:[["droid.cmd","droid"],["droid.exe","droid"]],openclaw:[["openclaw.cmd","openclaw"]],cursor:[["agent.cmd","agent"],["cursor.cmd","cursor"]],cline:[["cline.cmd","cline"]],kilo:[["kilocode.cmd","kilocode"]],opencode:[["opencode.cmd","opencode"]],qoder:[["qodercli.exe","qodercli"]]})[e]||[]){let o=h.default.dirname(process.execPath);r.push(h.default.join(o,i)),a&&r.push(h.default.join(a,"bin",i)),r.push(h.default.join(t,".local","bin",i)),u.default.existsSync("/usr/local/bin")&&r.push(h.default.join("/usr","local","bin",i)),u.default.existsSync("/usr/bin")&&r.push(h.default.join("/usr","bin",i)),"opencode"===e&&r.push(h.default.join(t,".opencode","bin",i)),"claude"===e&&r.push(h.default.join(t,".claude","bin",i))}return r})(r)){let r=await k(t);if(r.installed&&null===r.reason)return{command:e[0],installed:!0,commandPath:r.commandPath,reason:null}}for(let r of e){let e=await _(r,t);if(e.installed||"not_found"!==e.reason)return{command:r,...e}}return{command:e[0],installed:!1,commandPath:null,reason:"not_found"}},T=async(e,t,r=4e3)=>{let a={PATH:t.PATH,HOME:t.HOME||t.USERPROFILE,SystemRoot:t.SystemRoot,PATHEXT:t.PATHEXT};for(let t of[["--version"],["-v"]]){let i=await y(e,t,{env:a,timeoutMs:r});if(i.ok&&i.stdout.length>0&&i.stdout.length<4096)return{runnable:!0,reason:null,version:i.stdout.trim()}}return{runnable:!1,reason:"healthcheck_failed"}},S=()=>((e=process.platform,t=process.env,r=p.default.homedir())=>h.default.join(((e=process.platform,t=process.env,r=p.default.homedir())=>"win32"===e?String(t.APPDATA||"").trim()||h.default.join(r,"AppData","Roaming"):String(t.XDG_CONFIG_HOME||"").trim()||h.default.join(r,".config"))(e,t,r),"opencode","opencode.json"))(),O=e=>{let t=g[e];if(!t)return null;if("opencode"===e)return{config:S()};let r=(()=>{let e=String(process.env.CLI_CONFIG_HOME||"").trim();if(!e||!h.default.isAbsolute(e)||b.some(t=>e.includes(t))||h.default.normalize(e).includes(".."))return p.default.homedir();let t=p.default.homedir(),r=h.default.normalize(e);return x(r,t)?r:t})();return Object.fromEntries(Object.entries(t.paths).map(([e,t])=>[e,h.default.join(r,t)]))},R=async e=>{let t,r,a,i=g[e],o=(t=String(process.env.CLI_MODE||"auto").trim().toLowerCase(),f.has(t)?t:"auto");if(!i)return{installed:!1,runnable:!1,command:null,commandPath:null,reason:"unknown_tool",runtimeMode:o,requiresBinary:!1};let n=(r={...process.env},(a=String(process.env.CLI_EXTRA_PATHS||"").split(h.default.delimiter).map(e=>e.trim()).filter(Boolean).filter(e=>!(!h.default.isAbsolute(e)||b.some(t=>e.includes(t))||h.default.normalize(e).includes("..")))).length>0&&(r.PATH=[...a,r.PATH||""].filter(Boolean).join(h.default.delimiter)),r),s=(e=>{let t=g[e];if(!t)return[];let r=String(process.env[t.envBinKey]||"").trim();return r?[r]:Array.isArray(t.defaultCommands)&&t.defaultCommands.length>0?t.defaultCommands.filter(Boolean):t.defaultCommand?[t.defaultCommand]:[]})(e),l=!1!==i.requiresBinary;if(!l&&0===s.length)return{installed:!0,runnable:!0,command:null,commandPath:null,reason:"not_required",runtimeMode:o,requiresBinary:l};let d=String(process.env[i.envBinKey]||"").trim(),c=await E(s,n,d?void 0:e),u=c.command;if(!c.installed)return{installed:!1,runnable:!1,command:u,commandPath:null,reason:c.reason||"not_found",runtimeMode:o,requiresBinary:l};if("not_executable"===c.reason)return{installed:!0,runnable:!1,command:u,commandPath:c.commandPath,reason:"not_executable",runtimeMode:o,requiresBinary:l};let p=await T(c.commandPath,n,Number(i.healthcheckTimeoutMs||4e3));return{installed:!0,runnable:p.runnable,command:u,commandPath:c.commandPath,reason:p.reason,runtimeMode:o,requiresBinary:l}},F=Object.keys(g);e.s(["CLI_TOOL_IDS",0,F,"ensureCliConfigWriteAllowed",0,()=>((e,t=!0)=>null==e||""===e?t:!v.has(String(e).trim().toLowerCase()))(process.env.CLI_ALLOW_CONFIG_WRITES,!0)?null:"CLI config writes are disabled (CLI_ALLOW_CONFIG_WRITES=false)","getCliConfigPaths",0,O,"getCliPrimaryConfigPath",0,e=>{let t=O(e);if(!t)return null;let r=Object.keys(t)[0];return r?t[r]:null},"getCliRuntimeStatus",0,R,"getOpenCodeConfigPath",0,S])},383368,e=>e.a(async(t,r)=>{try{var a=e.i(828059),i=e.i(693602),o=e.i(963219),n=e.i(679468),s=t([o]);[o]=s.then?(await s)():s;let A=new Set(["openai","openai-responses"]),P=new Set(["gemini","gemini-cli"]);function l(e){return(e||"").trim().replace(/\/$/,"")}function d(e){return{"Content-Type":"application/json",Authorization:`Bearer ${e}`}}async function c({provider:e,apiKey:t,baseUrl:r,providerSpecificData:a={},modelId:i="gpt-4o-mini",modelsUrl:n}){if(!r)return{valid:!1,error:"Missing base URL"};let s=n||function(e){let t=l(e);if(!t)return"";for(let e of["/chat/completions","/responses","/chat","/messages"])if(t.endsWith(e))return`${t.slice(0,-e.length)}/models`;return`${t}/models`}(r);if(!s)return{valid:!1,error:"Invalid models endpoint"};let u=await fetch(s,{method:"GET",headers:d(t)});if(u.ok)return{valid:!0,error:null};if(401===u.status||403===u.status)return{valid:!1,error:"Invalid API key"};let p=function(e,t,r={}){let a=l(t);return a?(0,o.isOpenAICompatibleProvider)(e)?r?.chatPath?`${a}${r.chatPath}`:r?.apiType==="responses"?`${a}/responses`:`${a}/chat/completions`:a.endsWith("/chat/completions")||a.endsWith("/responses")||a.endsWith("/chat")?a:a.endsWith("/v1")?`${a}/chat/completions`:a:""}(e,r,a);if(!p)return{valid:!1,error:`Validation failed: ${u.status}`};let h=a?.validationModelId||i,m=await fetch(p,{method:"POST",headers:d(t),body:JSON.stringify({model:h,messages:[{role:"user",content:"test"}],max_tokens:1})});return m.ok?{valid:!0,error:null}:401===m.status||403===m.status?{valid:!1,error:"Invalid API key"}:404===m.status||405===m.status?{valid:!1,error:"Provider validation endpoint not supported"}:m.status>=500?{valid:!1,error:`Provider unavailable (${m.status})`}:{valid:!0,error:null}}async function u({apiKey:e,baseUrl:t,modelId:r,headers:a={},providerSpecificData:i={}}){if(!t)return{valid:!1,error:"Missing base URL"};let o={"Content-Type":"application/json",...a};o["x-api-key"]||o["X-API-Key"]||(o["x-api-key"]=e),o["anthropic-version"]||o["Anthropic-Version"]||(o["anthropic-version"]="2023-06-01");let n=i?.validationModelId||r||"claude-3-5-sonnet-20241022",s=await fetch(t,{method:"POST",headers:o,body:JSON.stringify({model:n,max_tokens:1,messages:[{role:"user",content:"test"}]})});return 401===s.status||403===s.status?{valid:!1,error:"Invalid API key"}:{valid:!0,error:null}}async function p({apiKey:e,baseUrl:t}){if(!t)return{valid:!1,error:"Missing base URL"};let r=t.includes("?")?"&":"?",a=await fetch(`${t}${r}key=${encodeURIComponent(e)}`,{method:"GET",headers:{"Content-Type":"application/json"}});return a.ok?{valid:!0,error:null}:401===a.status||403===a.status?{valid:!1,error:"Invalid API key"}:{valid:!1,error:`Validation failed: ${a.status}`}}async function h({apiKey:e}){try{let t=await fetch("https://api.deepgram.com/v1/auth/token",{method:"GET",headers:{Authorization:`Token ${e}`}});if(t.ok)return{valid:!0,error:null};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!1,error:`Validation failed: ${t.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function m({apiKey:e}){try{let t=await fetch("https://api.assemblyai.com/v2/transcript?limit=1",{method:"GET",headers:{Authorization:e,"Content-Type":"application/json"}});if(t.ok)return{valid:!0,error:null};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!1,error:`Validation failed: ${t.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function f({apiKey:e}){try{let t=await fetch("https://api.nanobananaapi.ai/api/v1/nanobanana/generate",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({prompt:"test",model:"nanobanana-flash"})});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function v({apiKey:e}){try{let t=await fetch("https://api.elevenlabs.io/v1/voices",{method:"GET",headers:{"xi-api-key":e,"Content-Type":"application/json"}});if(t.ok)return{valid:!0,error:null};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!1,error:`Validation failed: ${t.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function g({apiKey:e}){try{let t=await fetch("https://api.inworld.ai/tts/v1/voice",{method:"POST",headers:{Authorization:`Basic ${e}`,"Content-Type":"application/json"},body:JSON.stringify({text:"test",modelId:"inworld-tts-1.5-mini",audioConfig:{audioEncoding:"MP3"}})});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function y({apiKey:e,providerSpecificData:t={}}){try{let r=l(t.baseUrl)||"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1",a=r.endsWith("/messages")?r.slice(0,-9):r,i=`${a}/messages`,o=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":e,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:"qwen3-coder-plus",max_tokens:1,messages:[{role:"user",content:"test"}]})});if(401===o.status||403===o.status)return{valid:!1,error:"Invalid API key"};if(o.status>=400&&o.status<500||o.ok)return{valid:!0,error:null};return{valid:!1,error:`Validation failed: ${o.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function b({apiKey:e,providerSpecificData:t={}}){let r=l(t.baseUrl);if(!r)return{valid:!1,error:"No base URL configured for OpenAI compatible provider"};let a="string"==typeof t?.validationModelId?t.validationModelId.trim():"",i=!1;try{let t=await fetch(`${r}/models`,{method:"GET",headers:d(e)});if(i=!0,t.ok)return{valid:!0,error:null,method:"models_endpoint"};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};if(429===t.status)return{valid:!0,error:null,method:"models_endpoint",warning:"Rate limited, but credentials are valid"}}catch{}if(!a)return{valid:!1,error:"Endpoint /models unavailable. Provide a Model ID to validate via /chat/completions."};let o=t.apiType||"chat",n=`${r}${"responses"===o?"/responses":"/chat/completions"}`;try{let t=await fetch(n,{method:"POST",headers:d(e),body:JSON.stringify({model:a,messages:[{role:"user",content:"test"}],max_tokens:1})});if(t.ok)return{valid:!0,error:null,method:"chat_completions"};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};if(429===t.status)return{valid:!0,error:null,method:"chat_completions",warning:"Rate limited, but credentials are valid"};if(400===t.status)return{valid:!0,error:null,method:"inference_available",warning:"Model ID may be invalid, but credentials are valid"};if(t.status>=400&&t.status<500)return{valid:!0,error:null,method:"inference_available"};if(t.status>=500)return{valid:!1,error:`Provider unavailable (${t.status})`}}catch{}if(!i)return{valid:!1,error:"Connection failed while testing /chat/completions"};try{let t=await fetch(r,{method:"GET",headers:d(e),signal:AbortSignal.timeout(5e3)});if(t.status<500)return{valid:!0,error:null};return{valid:!1,error:`Provider unavailable (${t.status})`}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}}async function x({apiKey:e,providerSpecificData:t={}}){var r;let a=(r=t.baseUrl,(0,i.stripAnthropicMessagesSuffix)(r||""));if(!a)return{valid:!1,error:"No base URL configured for Anthropic compatible provider"};let o={"Content-Type":"application/json","x-api-key":e,"anthropic-version":"2023-06-01",Authorization:`Bearer ${e}`};try{let e=await fetch((0,i.joinBaseUrlAndPath)(a,t?.modelsPath||"/models"),{method:"GET",headers:o});if(e.ok)return{valid:!0,error:null};if(401===e.status||403===e.status)return{valid:!1,error:"Invalid API key"}}catch{}let n=t?.validationModelId||"claude-3-5-sonnet-20241022";try{let e=await fetch((0,i.joinBaseUrlAndPath)(a,t?.chatPath||"/messages"),{method:"POST",headers:o,body:JSON.stringify({model:n,max_tokens:1,messages:[{role:"user",content:"test"}]})});if(401===e.status||403===e.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}}async function w({apiKey:e,providerSpecificData:t={}}){var r;let a=(r=t.baseUrl,(0,i.stripClaudeCodeCompatibleEndpointSuffix)(r||""));if(!a)return{valid:!1,error:"No base URL configured for CC Compatible provider"};let o=t?.modelsPath||i.CLAUDE_CODE_COMPATIBLE_DEFAULT_MODELS_PATH,n=t?.chatPath||i.CLAUDE_CODE_COMPATIBLE_DEFAULT_CHAT_PATH,s=(0,i.buildClaudeCodeCompatibleHeaders)(e,!1);try{let e=await fetch((0,i.joinClaudeCodeCompatibleUrl)(a,o),{method:"GET",headers:s});if(e.ok)return{valid:!0,error:null,method:"models_endpoint"};if(401===e.status||403===e.status)return{valid:!1,error:"Invalid API key"}}catch{}let l=(0,i.buildClaudeCodeCompatibleValidationPayload)(t?.validationModelId||"claude-sonnet-4-6"),d=JSON.parse(l.metadata.user_id).session_id;try{let t=await fetch((0,i.joinClaudeCodeCompatibleUrl)(a,n),{method:"POST",headers:(0,i.buildClaudeCodeCompatibleHeaders)(e,!0,d),body:JSON.stringify(l)});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};if(429===t.status)return{valid:!0,error:null,method:"cc_bridge_request",warning:"Rate limited, but credentials are valid"};if(t.status>=400&&t.status<500)return{valid:!0,error:null,method:"cc_bridge_request",warning:"Bridge request reached upstream, but the model or payload was rejected"};return{valid:t.ok,error:t.ok?null:`Validation failed: ${t.status}`,method:"cc_bridge_request"}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}}async function C(e,t){try{let r=await fetch(e,t);if(r.ok)return{valid:!0,error:null,unsupported:!1};if(401===r.status||403===r.status)return{valid:!1,error:"Invalid API key",unsupported:!1};if(r.status<500)return{valid:!0,error:null,unsupported:!1};return{valid:!1,error:`Validation failed: ${r.status}`,unsupported:!1}}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}}let _={"serper-search":e=>({url:"https://google.serper.dev/search",init:{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":e},body:JSON.stringify({q:"test",num:1})}}),"brave-search":e=>({url:"https://api.search.brave.com/res/v1/web/search?q=test&count=1",init:{method:"GET",headers:{Accept:"application/json","X-Subscription-Token":e}}}),"perplexity-search":e=>({url:"https://api.perplexity.ai/search",init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({query:"test",max_results:1})}}),"exa-search":e=>({url:"https://api.exa.ai/search",init:{method:"POST",headers:{"Content-Type":"application/json","x-api-key":e},body:JSON.stringify({query:"test",numResults:1})}}),"tavily-search":e=>({url:"https://api.tavily.com/search",init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({query:"test",max_results:1})}})};async function I({provider:e,apiKey:t,providerSpecificData:r={}}){if(!e||!t)return{valid:!1,error:"Provider and API key required",unsupported:!1};if((0,o.isOpenAICompatibleProvider)(e))try{return await b({apiKey:t,providerSpecificData:r})}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}if((0,o.isAnthropicCompatibleProvider)(e))try{if((0,o.isClaudeCodeCompatibleProvider)(e))return await w({apiKey:t,providerSpecificData:r});return await x({apiKey:t,providerSpecificData:r})}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}let i={qoder:({apiKey:e,providerSpecificData:t})=>(0,n.validateQoderCliPat)({apiKey:e,providerSpecificData:t}),deepgram:h,assemblyai:m,nanobanana:f,elevenlabs:v,inworld:g,"bailian-coding-plan":y,longcat:async({apiKey:e})=>{try{let t=await fetch("https://api.longcat.chat/openai/v1/chat/completions",{method:"POST",headers:d(e),body:JSON.stringify({model:"longcat",messages:[{role:"user",content:"test"}],max_tokens:1})});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}},...Object.fromEntries(Object.entries(_).map(([e,t])=>[e,({apiKey:e})=>{let{url:r,init:a}=t(e);return C(r,a)}]))};if(i[e])try{return await i[e]({apiKey:t,providerSpecificData:r})}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}let s=(0,a.getRegistryEntry)(e);if(!s)return{valid:!1,error:"Provider validation not supported",unsupported:!0};let k=s.models?.[0]?.id||null,E=s.testKeyBaseUrl?{...s,baseUrl:s.testKeyBaseUrl}:s,T=function(e,t={}){return t?.baseUrl?l(t.baseUrl):e?.baseUrl?l(e.baseUrl):""}(E,r);try{if(A.has(s.format))return await c({provider:e,apiKey:t,baseUrl:T,providerSpecificData:r,modelId:k,modelsUrl:s.modelsUrl});if("claude"===s.format){let e=`${T}${s.urlSuffix||""}`,a={...s.headers||{}};return"x-api-key"===(s.authHeader||"").toLowerCase()?a["x-api-key"]=t:a.Authorization=`Bearer ${t}`,await u({apiKey:t,baseUrl:e,modelId:k,headers:a,providerSpecificData:r})}if(P.has(s.format))return await p({apiKey:t,baseUrl:T});return{valid:!1,error:"Provider validation not supported",unsupported:!0}}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}}e.s(["validateClaudeCodeCompatibleProvider",0,w,"validateProviderApiKey",0,I]),r()}catch(e){r(e)}},!1),910660,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(677850),o=e.i(200392);e.i(245272);var n=e.i(385498),s=e.i(548941),l=e.i(250875),d=e.i(639173),c=e.i(383368),u=e.i(266240),p=e.i(928602),h=e.i(312125),m=e.i(397506),f=e.i(496928),v=e.i(444675),g=t([i,o,c,h,m]);[i,o,c,h,m]=g.then?(await g)():g;let T={claude:{checkExpiry:!0,refreshable:!0},codex:{checkExpiry:!0,refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"OmniRoute",Accept:"application/vnd.github+json"}},iflow:{checkExpiry:!0,refreshable:!0},qwen:{checkExpiry:!0,refreshable:!0},cursor:{checkExpiry:!0},"kimi-coding":{checkExpiry:!0,refreshable:!0},kilocode:{checkExpiry:!0},cline:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0}},S={cline:"cline",kilocode:"kilo",qoder:"qoder"},O=i.z.object({validationModelId:i.z.string().max(500).optional()});function y(e,t="Unknown error"){return"string"!=typeof e?t:e.trim()||t}function b(e,t,r,a=null){return{type:e,source:t,message:r||null,code:a??null}}function x({error:e,statusCode:t=null,refreshFailed:r=!1,unsupported:a=!1}){let i=y(e,"Connection test failed"),o=i.toLowerCase(),n=Number.isFinite(t)?Number(t):null;return a?b("unsupported","validation",i,"unsupported"):r||o.includes("refresh failed")?b("token_refresh_failed","oauth",i,"refresh_failed"):401===n||403===n?b("upstream_auth_error","upstream",i,String(n)):429===n?b("upstream_rate_limited","upstream",i,"429"):n&&n>=500?b("upstream_unavailable","upstream",i,String(n)):o.includes("token expired")||o.includes("expired")?b("token_expired","oauth",i,"token_expired"):o.includes("invalid api key")||o.includes("token invalid")||o.includes("revoked")||o.includes("access denied")||o.includes("unauthorized")||o.includes("forbidden")?b("upstream_auth_error","upstream",i,n?String(n):"auth_failed"):o.includes("rate limit")||o.includes("quota")||o.includes("too many requests")?b("upstream_rate_limited","upstream",i,n?String(n):"rate_limited"):o.includes("fetch failed")||o.includes("network")||o.includes("timeout")||o.includes("econn")||o.includes("enotfound")||o.includes("socket")?b("network_error","upstream",i,"network_error"):b("upstream_error","upstream",i,n?String(n):"upstream_error")}async function w(e){let t="string"==typeof e?.provider?e.provider:"",r=S[t];if("qoder"===t&&e?.authType!=="apikey"&&(r=null),!r)return null;try{let e=await (0,u.getCliRuntimeStatus)(r);if(e.installed&&e.runnable)return e;let t=e.installed?`Local CLI runtime is installed but not runnable (${e.reason||"healthcheck_failed"})`:"Local CLI runtime is not installed";return{...e,diagnosis:b("runtime_error","local",t,e.reason||"runtime_error"),error:t}}catch(t){let e=`Failed to check local CLI runtime: ${t?.message||"runtime_check_failed"}`;return{installed:!1,runnable:!1,reason:"runtime_check_failed",diagnosis:b("runtime_error","local",e,"runtime_check_failed"),error:e}}}async function C(e){let{provider:t,refreshToken:r}=e;if(!r)return null;try{let a={refreshToken:r,providerSpecificData:e.providerSpecificData||{}};return await (0,p.getAccessToken)(t,a,console)}catch(e){return console.log(`Error refreshing ${t} token:`,e.message),null}}function I(e){let t=e.expiresAt||e.tokenExpiresAt;return!!t&&new Date(t).getTime()<=Date.now()+3e5}async function A(){try{if(!await (0,s.isCloudEnabled)())return;let e=await (0,l.getConsistentMachineId)();await (0,d.syncToCloud)(e)}catch(e){console.log("Error syncing to cloud after token refresh:",e)}}async function P(e){let t=T[e.provider];if(!t){let e="Provider test not supported";return{valid:!1,error:e,refreshed:!1,diagnosis:x({error:e,unsupported:!0})}}if(!e.accessToken){if(t.refreshable&&!e.refreshToken){let e="Refresh token expired. Please re-authenticate this account.";return{valid:!1,error:e,refreshed:!1,diagnosis:b("reauth_required","oauth",e,"reauth_required")}}let r="No access token";return{valid:!1,error:r,refreshed:!1,diagnosis:b("auth_missing","local",r,"missing_access_token")}}let r=e.accessToken,a=!1,i=null,o=I(e);if(t.refreshable&&o&&e.refreshToken){let t=await C(e);if(t)r=t.accessToken,a=!0,i=t;else{let e="Token expired and refresh failed";return{valid:!1,error:e,refreshed:!1,diagnosis:x({error:e,refreshFailed:!0})}}}if(t.checkExpiry){if(a)return{valid:!0,error:null,refreshed:a,newTokens:i,diagnosis:b("ok","oauth",null,null)};if(o){let e="Token expired";return{valid:!1,error:e,refreshed:!1,diagnosis:x({error:e})}}return{valid:!0,error:null,refreshed:!1,newTokens:null,diagnosis:b("ok","local",null,null)}}try{let o={[t.authHeader]:`${t.authPrefix}${r}`,...t.extraHeaders},n=await fetch(t.url,{method:t.method,headers:o});if(n.ok)return{valid:!0,error:null,refreshed:a,newTokens:i,diagnosis:b("ok","upstream",null,null)};if((401===n.status||403===n.status)&&!a&&I(e)&&e.refreshToken&&"string"==typeof e.refreshToken){let r=await C(e);if(r){let e=await fetch(t.url,{method:t.method,headers:{[t.authHeader]:`${t.authPrefix}${r.accessToken}`,...t.extraHeaders}});if(e.ok)return{valid:!0,error:null,refreshed:!0,newTokens:r,diagnosis:b("ok","upstream",null,null)};let a=`API returned ${e.status} after token refresh`;return{valid:!1,error:a,refreshed:!0,statusCode:e.status,diagnosis:x({error:a,statusCode:e.status})}}let a="Token expired and refresh failed";return{valid:!1,error:a,refreshed:!1,statusCode:401,diagnosis:x({error:a,statusCode:401,refreshFailed:!0})}}let s=401===n.status?"Token invalid or revoked":403===n.status?"Access denied":`API returned ${n.status}`;return{valid:!1,error:s,refreshed:a,statusCode:n.status,diagnosis:x({error:s,statusCode:n.status})}}catch(t){let e=y(t?.message,"Connection test failed");return{valid:!1,error:e,refreshed:a,diagnosis:x({error:e})}}}async function _(e){if(!e.apiKey){let e="Missing API key";return{valid:!1,error:e,diagnosis:b("auth_missing","local",e,"missing_api_key")}}let t=await (0,c.validateProviderApiKey)({provider:e.provider,apiKey:e.apiKey,providerSpecificData:e.providerSpecificData});if(t.unsupported){let e="Provider test not supported";return{valid:!1,error:e,diagnosis:x({error:e,unsupported:!0})}}let r=t.valid?null:t.error||"Invalid API key",a=t.valid?b("ok","upstream",null,null):x({error:r});return{valid:!!t.valid,error:r,warning:t.warning||null,diagnosis:a}}async function k(e,t){let r,a=await (0,n.getProviderConnectionById)(e);if(!a)return{valid:!1,error:"Connection not found",diagnosis:null,latencyMs:0};let i="string"==typeof a.provider?a.provider:"";if(!i)return{valid:!1,error:"Connection provider is invalid",diagnosis:b("validation_error","local","Connection provider is invalid","provider_invalid"),latencyMs:0};let o=null;try{o=await (0,s.resolveProxyForConnection)(e)}catch(t){console.log(`[ConnectionTest] Failed to resolve proxy for ${e}:`,t?.message)}let l=Date.now(),d=await w(a);if(d?.diagnosis)r={valid:!1,error:d.error,refreshed:!1,diagnosis:d.diagnosis};else if("apikey"===a.authType){let e=t?{...a,providerSpecificData:{...a.providerSpecificData||{},validationModelId:t}}:a;r=await (0,v.runWithProxyContext)(o?.proxy||null,()=>_(e))}else r=await (0,v.runWithProxyContext)(o?.proxy||null,()=>P(a));let c=Date.now()-l,u=new Date().toISOString(),p=r.diagnosis||(r.valid?b("ok","local",null,null):x({error:r.error,statusCode:r.statusCode})),h={testStatus:r.valid?"active":"error",lastError:r.valid?null:r.error,lastErrorAt:r.valid?null:u,lastTested:u,lastErrorType:r.valid?null:p.type,lastErrorSource:r.valid?null:p.source,errorCode:r.valid?null:p.code||r.statusCode||null,rateLimitedUntil:r.valid?null:a.rateLimitedUntil||null};r.valid&&(h.backoffLevel=0),r.refreshed&&r.newTokens&&(h.accessToken=r.newTokens.accessToken,r.newTokens.refreshToken&&(h.refreshToken=r.newTokens.refreshToken),r.newTokens.expiresIn&&(h.expiresAt=new Date(Date.now()+1e3*r.newTokens.expiresIn).toISOString())),await (0,n.updateProviderConnection)(e,h),r.refreshed&&await A();try{(0,m.saveCallLog)({method:"POST",path:"/api/providers/test",status:r.valid?200:r.statusCode||401,model:"connection-test",provider:i,connectionId:e,duration:c,error:r.valid?null:r.error||null,sourceFormat:"test",targetFormat:"test"}).catch(()=>{})}catch{}try{(0,f.logProxyEvent)({status:r.valid?"success":"error",proxy:o?.proxy||null,level:o?.level||"provider-test",levelId:o?.levelId||null,provider:i,targetUrl:`${i}/connection-test`,latencyMs:c,error:r.valid?null:r.error||null,connectionId:e,comboId:null,account:e?.slice(0,8)||null,tlsFingerprint:!1})}catch{}return{valid:r.valid,error:r.error,warning:r.warning||null,refreshed:r.refreshed||!1,diagnosis:p,latencyMs:c,statusCode:r.statusCode||null,runtime:d||null,testedAt:u}}async function E(e,{params:t}){try{let{id:r}=await t,i={};try{i=await e.json()}catch{}let n=(0,o.validateBody)(O,i);if((0,o.isValidationFailure)(n))return a.NextResponse.json({error:n.error},{status:400});let{validationModelId:s}=n.data,l=await k(r,s);if("Connection not found"===l.error)return a.NextResponse.json({error:"Connection not found"},{status:404});return a.NextResponse.json(l)}catch(e){return console.log("Error testing connection:",e),a.NextResponse.json({error:"Test failed"},{status:500})}}e.s(["POST",0,E,"testSingleConnection",0,k]),r()}catch(e){r(e)}},!1),239394,e=>e.a(async(t,r)=>{try{var a=e.i(89171);e.i(180725);var i=e.i(385498),o=e.i(963219),n=e.i(910660),s=e.i(676088),l=e.i(200392),d=t([o,n,s,l]);function c(e){return o.FREE_PROVIDERS[e]?"free":o.OAUTH_PROVIDERS[e]?"oauth":o.APIKEY_PROVIDERS[e]?"apikey":"string"==typeof e&&(e.startsWith(o.OPENAI_COMPATIBLE_PREFIX)||e.startsWith(o.ANTHROPIC_COMPATIBLE_PREFIX))?"compatible":"apikey"}async function u(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(s.providersBatchTestSchema,t);if((0,l.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let{mode:r,providerId:d}=e.data,u=await (0,i.getProviderConnections)({isActive:!0}),p=[];if("provider"===r&&d)p=u.filter(e=>e.provider===d);else if("oauth"===r)p=u.filter(e=>"oauth"===c(e.provider));else if("free"===r)p=u.filter(e=>"free"===c(e.provider));else if("apikey"===r)p=u.filter(e=>"apikey"===c(e.provider));else if("compatible"===r)p=u.filter(e=>{var t;return t=e.provider,"string"==typeof t&&(t.startsWith(o.OPENAI_COMPATIBLE_PREFIX)||t.startsWith(o.ANTHROPIC_COMPATIBLE_PREFIX))});else{if("all"!==r)return a.NextResponse.json({error:"Invalid mode. Use: provider, oauth, free, apikey, compatible, all"},{status:400});p=u}if(0===p.length)return a.NextResponse.json({mode:r,providerId:d||null,results:[],testedAt:new Date().toISOString()});let h=async e=>{try{let t=await Promise.race([(0,n.testSingleConnection)(e.id),new Promise((e,t)=>setTimeout(()=>t(Error("Connection test timed out after 30s")),3e4))]);return{provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||c(e.provider),valid:t.valid,latencyMs:t.latencyMs||0,error:t.error||null,diagnosis:t.diagnosis||null,statusCode:t.statusCode||null,testedAt:t.testedAt||new Date().toISOString()}}catch(t){return{provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||c(e.provider),valid:!1,latencyMs:0,error:t.message,diagnosis:{type:"network_error",source:"local",code:null,message:t.message},statusCode:null,testedAt:new Date().toISOString()}}},m=[];for(let e=0;e<p.length;e+=5){let t=p.slice(e,e+5);for(let e of(await Promise.allSettled(t.map(h))))m.push("fulfilled"===e.status?e.value:{provider:"unknown",connectionId:"unknown",connectionName:"unknown",authType:"unknown",valid:!1,latencyMs:0,error:e.reason?.message||"Test failed",diagnosis:{type:"network_error",source:"local",code:null,message:e.reason?.message||"Test failed"},statusCode:null,testedAt:new Date().toISOString()})}return a.NextResponse.json({mode:r,providerId:d||null,results:m,testedAt:new Date().toISOString(),summary:{total:m.length,passed:m.filter(e=>e.valid).length,failed:m.filter(e=>!e.valid).length}})}catch(e){return console.log("Error in batch test:",e),a.NextResponse.json({error:"Batch test failed"},{status:500})}}[o,n,s,l]=d.then?(await d)():d,e.s(["POST",0,u]),r()}catch(e){r(e)}},!1),613089,e=>e.a(async(t,r)=>{try{var a=e.i(747909),i=e.i(174017),o=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),u=e.i(487718),p=e.i(995169),h=e.i(47587),m=e.i(666012),f=e.i(570101),v=e.i(626937),g=e.i(10372),y=e.i(193695);e.i(820232);var b=e.i(600220),x=e.i(239394),w=t([x]);[x]=w.then?(await w)():w;let I=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/providers/test-batch/route",pathname:"/api/providers/test-batch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/providers/test-batch/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:P,serverHooks:_}=I;async function C(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/providers/test-batch/route";a=a.replace(/\/index$/,"")||"/";let o=await I.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,params:w,nextConfig:C,parsedUrl:A,isDraftMode:P,prerenderManifest:_,routerServerContext:k,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,resolvedPathname:S,clientReferenceManifest:O,serverActionsManifest:R}=o,F=(0,d.normalizeAppPath)(a),D=!!(_.dynamicRoutes[F]||_.routes[S]),N=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!P){let e=!!_.routes[S],t=_.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await N();throw new y.NoFallbackError}}let L=null;!D||I.isDev||P||(L=S,L="/index"===L?"/":L);let B=!0===I.isDev||!D,j=D&&!B;R&&O&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:O,serverActionsManifest:R});let M=e.method||"GET",U=(0,s.getTracer)(),q=U.getActiveScopeSpan(),$=!!(null==k?void 0:k.isWrappedByNextServer),H=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,C,_,H);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:w,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:B,incrementalCache:K,cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>I.onRequestError(e,t,a,i,k)},sharedContext:{buildId:x}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let o,n=async e=>I.handle(W,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${M} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",i),o.updateName(t))}else e.updateName(`${M} ${a}`)}),l=async o=>{var s,l;let d=async({previousCacheEntry:i})=>{try{if(!H&&E&&T&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await n(o);e.fetchMetrics=z.renderOpts.fetchMetrics;let s=z.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let l=z.renderOpts.collectedTags;if(!D)return await (0,m.sendResponse)(G,V,a,z.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,i=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:b.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,k),t}},c=await I.handleResponse({req:e,nextConfig:C,cacheKey:L,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:H});if(!D)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==b.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",E?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return H&&D||u.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,v.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(G,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};$&&q?await l(q):(o=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${a}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!$))}catch(t){if(t instanceof y.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,k),D)throw t;return await (0,m.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:P})},"routeModule",0,I,"serverHooks",0,_,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,P]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},485685,e=>{e.v(e=>Promise.resolve().then(()=>e(254799)))},605589,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localDb_ts_0ml5l_h._.js"].map(t=>e.l(t))).then(()=>t(969738)))}];
|
|
1
|
+
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var d in l)a(s,d,{get:l[d],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function u(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[a,i]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=i?i:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...a]=u(e),{domain:i,expires:o,httponly:n,maxage:s,path:l,samesite:d,secure:c,partitioned:p,priority:f}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,v,y={name:t,value:decodeURIComponent(r),domain:i,...o&&{expires:new Date(o)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...d&&{sameSite:h.includes(g=(g=d).toLowerCase())?g:void 0},...c&&{secure:!0},...f&&{priority:m.includes(v=(v=f).toLowerCase())?v:void 0},...p&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))n.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=i(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);var h=["strict","lax","none"],m=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of u(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,a;this._parsed=new Map,this._headers=e;const i=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(i)?i:function(e){if(!e)return[];var t,r,a,i,o,n=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,o=!1;l();)if(","===(r=e.charAt(s))){for(a=s,s+=1,l(),i=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(o=!0,s=i,n.push(e.substring(t,a)),t=s):s=a+1}else s+=1;(!o||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(i)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,i=this._parsed;return i.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(i,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var a=e.i(677850),i=t([a]);[a]=i.then?(await i)():i,a.z.object({password:a.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let a=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:a.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","memory","skills","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},180725,e=>{"use strict";e.i(245272),e.s([])},102835,e=>e.a(async(t,r)=>{try{var a=e.i(677850),i=t([a]);[a]=i.then?(await i)():i;let o=a.z.object({id:a.z.string().min(1),alias:a.z.string().min(1).optional(),name:a.z.string().min(1),icon:a.z.string().min(1),color:a.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:a.z.string().optional(),website:a.z.string().url().optional(),passthroughModels:a.z.boolean().optional(),deprecated:a.z.boolean().optional(),deprecationReason:a.z.string().optional(),hasFree:a.z.boolean().optional(),freeNote:a.z.string().optional(),authHint:a.z.string().optional(),apiHint:a.z.string().optional()}),n=a.z.record(a.z.string(),o);e.s(["validateProviders",0,function(e,t){let r=n.safeParse(e);if(!r.success){let e=r.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
|
|
2
|
+
${e}`),Error(`Provider validation failed for ${t}`)}}]),r()}catch(e){r(e)}},!1),963219,e=>e.a(async(t,r)=>{try{var a=e.i(102835),i=t([a]);[a]=i.then?(await i)():i;let o={qoder:{id:"qoder",alias:"if",name:"Qoder AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gemini-cli",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationReason:"Google restricts third-party OAuth usage for Gemini CLI (Mar 2026). Pro models require paid plans. Use 'gemini' (API key) provider instead."},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},n={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:void 0,name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},s={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",name:"Alibaba Coding Plan",icon:"code",color:"#FF6A00",textIcon:"BCP",website:"https://www.alibabacloud.com/help/en/model-studio/coding-plan"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",name:"Kimi Coding (API Key)",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.com"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",hasFree:!0,freeNote:"Free tier: 30 RPM / 14.4K RPD — no credit card"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://inference.cerebras.ai",hasFree:!0,freeNote:"Free: 1M tokens/day, 60K TPM — world's fastest inference"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://build.nvidia.com",hasFree:!0,freeNote:"Free dev access: ~40 RPM, 70+ models (Kimi K2.5, GLM 4.7, DeepSeek V3.2...)"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",hasFree:!0,freeNote:"Free Inference API for thousands of models (Whisper, VITS, SDXL…)"},synthetic:{id:"synthetic",alias:"synthetic",name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new",passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai",passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VA",website:"https://cloud.google.com/vertex-ai",authHint:"Provide Service Account JSON or OAuth access_token"},zai:{id:"zai",alias:"zai",name:"Z.AI",icon:"psychology",color:"#2563EB",textIcon:"ZA",website:"https://open.bigmodel.cn",apiHint:"API key from https://open.bigmodel.cn/usercenter/apikeys"},"perplexity-search":{id:"perplexity-search",alias:"pplx-search",name:"Perplexity Search",icon:"search",color:"#20808D",textIcon:"PS",website:"https://docs.perplexity.ai/guides/search-quickstart",authHint:"Same API key as Perplexity (pplx-...)"},"serper-search":{id:"serper-search",alias:"serper-search",name:"Serper Search",icon:"search",color:"#4285F4",textIcon:"SP",website:"https://serper.dev",authHint:"API key from serper.dev dashboard"},"brave-search":{id:"brave-search",alias:"brave-search",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",authHint:"Subscription token from Brave Search API dashboard"},"exa-search":{id:"exa-search",alias:"exa-search",name:"Exa Search",icon:"neurology",color:"#1E40AF",textIcon:"EX",website:"https://exa.ai",authHint:"API key from dashboard.exa.ai"},"tavily-search":{id:"tavily-search",alias:"tavily-search",name:"Tavily Search",icon:"manage_search",color:"#5B4FDB",textIcon:"TV",website:"https://tavily.com",authHint:"API key from app.tavily.com (format: tvly-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0},novita:{id:"novita",alias:"novita",name:"Novita AI",icon:"auto_awesome",color:"#FF4081",textIcon:"NV",website:"https://novita.ai",passthroughModels:!0},piapi:{id:"piapi",alias:"pi",name:"PiAPI",icon:"api",color:"#7C4DFF",textIcon:"PI",website:"https://piapi.ai",passthroughModels:!0},getgoapi:{id:"getgoapi",alias:"ggo",name:"GoAPI",icon:"rocket_launch",color:"#FF6D00",textIcon:"GO",website:"https://api.getgoapi.com",passthroughModels:!0},laozhang:{id:"laozhang",alias:"lz",name:"LaoZhang AI",icon:"hub",color:"#FF1744",textIcon:"LZ",website:"https://api.laozhang.ai",passthroughModels:!0}},l="openai-compatible-",d="anthropic-compatible-",c="anthropic-compatible-cc-",u={...o,...n,...s,cliproxyapi:{id:"cliproxyapi",alias:"cpa",name:"CLIProxyAPI",icon:"proxy",color:"#6366F1",textIcon:"CPA",website:"https://github.com/router-for-me/CLIProxyAPI",defaultPort:8317,healthEndpoint:"/v1/models",managementPrefix:"/v0/management",configDir:"~/.cli-proxy-api",binaryName:"cli-proxy-api",githubRepo:"router-for-me/CLIProxyAPI"}},p=Object.values(u).reduce((e,t)=>(t.alias&&(e[t.alias]=t.id),e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias||t.id,e),{}),(0,a.validateProviders)(o,"FREE_PROVIDERS"),(0,a.validateProviders)(n,"OAUTH_PROVIDERS"),(0,a.validateProviders)(s,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,p,"ANTHROPIC_COMPATIBLE_PREFIX",0,d,"APIKEY_PROVIDERS",0,s,"CLAUDE_CODE_COMPATIBLE_PREFIX",0,c,"FREE_PROVIDERS",0,o,"OAUTH_PROVIDERS",0,n,"OPENAI_COMPATIBLE_PREFIX",0,l,"USAGE_SUPPORTED_PROVIDERS",0,["antigravity","gemini-cli","kiro","github","codex","claude","kimi-coding","glm"],"getProviderAlias",0,function(e){let t=u[e];return t?.alias||e},"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(d)},"isClaudeCodeCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(c)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(l)}]),r()}catch(e){r(e)}},!1),250875,e=>{"use strict";var t=e.i(233405),r=e.i(522734);async function a(i=null){let o=i||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=function(){try{throw Error("Not Windows")}catch{}try{throw Error("Not macOS")}catch{}try{for(let e of["/etc/machine-id","/var/lib/dbus/machine-id"])if((0,r.existsSync)(e)){let t=(0,r.readFileSync)(e,"utf8").trim().toLowerCase();if(t.length>8)return t}}catch{}try{let e=(0,t.execSync)("hostname",{encoding:"utf8",timeout:5e3}).trim().toLowerCase();if(e)return e}catch{}try{return e.r(446786).hostname().toLowerCase()}catch{}return"unknown-machine"}();return(await e.A(485685)).createHash("sha256").update(a+o).digest("hex").substring(0,16)}catch(t){console.log("Error getting machine ID:",t);try{return(await e.A(485685)).randomUUID()}catch{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})}}}e.s(["getConsistentMachineId",0,a])},639173,e=>{"use strict";e.i(245272);var t=e.i(385498),r=e.i(186920),a=e.i(151205),i=e.i(125852);let o=process.env.CLOUD_URL||process.env.NEXT_PUBLIC_CLOUD_URL,n=Number(process.env.CLOUD_SYNC_TIMEOUT_MS||12e3);function s(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function l(e){if("string"==typeof e||"number"==typeof e||e instanceof Date){let t=new Date(e).getTime();return Number.isFinite(t)?t:0}return 0}async function d(e,t={},r=n){let a=new AbortController,i=setTimeout(()=>a.abort(),r);try{return await fetch(e,{...t,signal:a.signal})}finally{clearTimeout(i)}}async function c(e,n=null){let s;if(!o)return{error:"NEXT_PUBLIC_CLOUD_URL is not configured"};let l=await (0,t.getProviderConnections)(),p=await (0,r.getModelAliases)(),h=await (0,a.getCombos)(),m=await (0,i.getApiKeys)();try{s=await d(`${o}/sync/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providers:l,modelAliases:p,combos:h,apiKeys:m})})}catch(e){return{error:e?.name==="AbortError"?"Cloud sync timeout":"Cloud sync request failed"}}if(!s.ok){let e=await s.text(),t=e.length>200?e.slice(0,200)+"…":e;return console.log(`Cloud sync failed (${s.status}):`,t),{error:"Cloud sync failed"}}let f=await s.json();f.data&&f.data.providers&&await u(f.data.providers);let g={success:!0,message:"Synced successfully",changes:f.changes};return n&&(g.createdKey=n),g}async function u(e){let r=s(e);for(let e of(await (0,t.getProviderConnections)())){var a;let i=s(e),o="string"==typeof(a=i.id)&&a.trim().length>0?a:null;if(!o)continue;let n=s(r[o]);if(0!==Object.keys(n).length){if(l(n.updatedAt)>l(i.updatedAt)){let e={accessToken:n.accessToken,refreshToken:n.refreshToken,expiresAt:n.expiresAt,expiresIn:n.expiresIn,providerSpecificData:n.providerSpecificData||i.providerSpecificData,testStatus:n.status||"active",lastError:n.lastError,lastErrorAt:n.lastErrorAt,errorCode:n.errorCode,rateLimitedUntil:n.rateLimitedUntil,updatedAt:n.updatedAt};await (0,t.updateProviderConnection)(o,e)}}}}e.s(["CLOUD_URL",0,o,"fetchWithTimeout",0,d,"syncToCloud",0,c])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},266240,e=>{"use strict";let t,r,a,i,o,n,s,l,d;var c=e.i(924868),u=e.i(522734),p=e.i(446786),h=e.i(814747),m=e.i(233405);let f=new Set(["auto","host","container"]),g=new Set(["0","false","no","off"]),v={claude:{defaultCommand:"claude",envBinKey:"CLI_CLAUDE_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{settings:".claude/settings.json"}},codex:{defaultCommand:"codex",envBinKey:"CLI_CODEX_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{config:".codex/config.toml",auth:".codex/auth.json"}},droid:{defaultCommand:"droid",envBinKey:"CLI_DROID_BIN",requiresBinary:!0,healthcheckTimeoutMs:8e3,paths:{settings:".factory/settings.json"}},openclaw:{defaultCommand:"openclaw",envBinKey:"CLI_OPENCLAW_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{settings:".openclaw/openclaw.json"}},cursor:{defaultCommands:["agent","cursor"],envBinKey:"CLI_CURSOR_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".cursor/cli-config.json",auth:".config/cursor/auth.json",state:".cursor/agent-cli-state.json"}},windsurf:{defaultCommand:null,envBinKey:"CLI_WINDSURF_BIN",requiresBinary:!1,healthcheckTimeoutMs:4e3,paths:{}},cline:{defaultCommand:"cline",envBinKey:"CLI_CLINE_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{globalState:".cline/data/globalState.json",secrets:".cline/data/secrets.json"}},kilo:{defaultCommand:"kilocode",envBinKey:"CLI_KILO_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{auth:".local/share/kilo/auth.json"}},continue:{defaultCommand:null,envBinKey:"CLI_CONTINUE_BIN",requiresBinary:!1,healthcheckTimeoutMs:15e3,paths:{settings:".continue/config.json"}},opencode:{defaultCommand:"opencode",envBinKey:"CLI_OPENCODE_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".config/opencode/opencode.json"}},qoder:{defaultCommand:"qodercli",envBinKey:"CLI_QODER_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{config:".qoder/settings.json",auth:".qoder/auth.json"}}},y=(e,t,{env:r,timeoutMs:a=3e3}={})=>new Promise(i=>{let o="",n="",s=!1,l=!1,d=(0,m.spawn)(e,t,{env:r,stdio:["ignore","pipe","pipe"],..."win32"===process.platform?"TURBOPACK unreachable":{}}),c=setTimeout(()=>{s=!0,d.kill("SIGKILL")},a),u=e=>{l||(l=!0,clearTimeout(c),i(e))};d.stdout.on("data",e=>{o+=e.toString()}),d.stderr.on("data",e=>{n+=e.toString()}),d.on("error",e=>{u({ok:!1,code:null,stdout:o.trim(),stderr:n.trim(),timedOut:s,error:e?.message||"spawn_error"})}),d.on("close",e=>{u({ok:!s&&0===e,code:e,stdout:o.trim(),stderr:n.trim(),timedOut:s,error:s?"timeout":null})})}),b=["&","|",";","<",">","(",")","`","$","^","%","!"],x=(e,t)=>{let r=e=>h.default.normalize(e).toLowerCase().replace(/\\/g,"/"),a=r(e),i=r(t);if(a===i)return!0;let o=i.endsWith("/")?i:i+"/";return a.startsWith(o)},w=e=>!(!e||!h.default.isAbsolute(e)||b.some(t=>e.includes(t))),I=(e,t)=>{if(!e)return"";let r=e.trim();if(!h.default.isAbsolute(r)||b.some(e=>r.includes(e)))return"";let a=h.default.normalize(r);return a.includes("..")||t.length>0&&!t.some(e=>x(a,e))?"":a},C=()=>{if(void 0!==t)return t;let e=String(process.env.npm_config_prefix||"").trim();if(e&&h.default.isAbsolute(e))return t=e;try{let e=(0,m.execFileSync)("npm",["config","get","prefix"],{timeout:5e3,encoding:"utf8",stdio:["ignore","pipe","ignore"],..."win32"===process.platform?"TURBOPACK unreachable":{}}).trim();if(e&&h.default.isAbsolute(e)&&!b.some(t=>e.includes(t)))return t=e}catch{}return t=""},A=(r=p.default.homedir(),a=process.env.USERPROFILE||r,i=I(process.env.APPDATA,[r,a]),o=I(process.env.LOCALAPPDATA,[h.default.join(r,"AppData","Local"),h.default.join(a,"AppData","Local"),a]),n=I(process.env.ProgramFiles,["C:\\Program Files","C:\\Program Files (x86)"]),s=I(process.env["ProgramFiles(x86)"],["C:\\Program Files","C:\\Program Files (x86)"]),l=C(),d=[h.default.join(r,"bin"),h.default.join(r,".local","bin")],[r,...d,a,i,o,n,s,l].filter(Boolean)),P=async e=>{if(!w(e))return{installed:!1,commandPath:null,reason:"unsafe_path"};try{await c.default.access(e,c.default.constants.F_OK)}catch{return{installed:!1,commandPath:null,reason:"not_found"}}try{return await c.default.access(e,c.default.constants.X_OK),{installed:!0,commandPath:e,reason:null}}catch{return{installed:!0,commandPath:e,reason:"not_executable"}}},_=async(e,t)=>{if(!e)return{installed:!1,commandPath:null,reason:"missing_command"};if(e.includes("/")||e.includes("\\"))return P(e);process.platform;let r=await y("sh",["-c",'command -v -- "$1"',"sh",e],{env:t,timeoutMs:3e3});return r.ok&&r.stdout?{installed:!0,commandPath:e,reason:null}:{installed:!1,commandPath:null,reason:"not_found"}},k=async e=>{if(!h.default.isAbsolute(e))return{installed:!1,commandPath:null,reason:"not_absolute"};if(!w(e))return{installed:!1,commandPath:null,reason:"unsafe_path"};try{let t=await c.default.realpath(e);if(!A.some(e=>x(t,e)))return{installed:!1,commandPath:null,reason:"symlink_escape"};let r=await c.default.stat(t);if(!r.isFile())return{installed:!1,commandPath:null,reason:"not_file"};if(r.size<30||r.size>0x15e00000)return{installed:!1,commandPath:null,reason:"suspicious_size"}}catch(t){let e=t.code;if("ENOENT"===e)return{installed:!1,commandPath:null,reason:"not_found"};if("EINVAL"===e)return{installed:!1,commandPath:null,reason:"invalid_path"};return{installed:!1,commandPath:null,reason:"access_error"}}try{return await c.default.access(e,c.default.constants.X_OK),{installed:!0,commandPath:e,reason:null}}catch{return{installed:!0,commandPath:e,reason:"not_executable"}}},E=async(e,t,r)=>{if(!Array.isArray(e)||0===e.length)return{command:null,installed:!1,commandPath:null,reason:"missing_command"};if(r)for(let t of(e=>{let t=p.default.homedir(),r=[],a=C();if(process.execPath.toLowerCase().includes("nvm")&&h.default.dirname(process.execPath),"win32"===process.platform);else for(let[,i]of({claude:[["claude.cmd","claude"],["claude.exe","claude"]],codex:[["codex.cmd","codex"]],droid:[["droid.cmd","droid"],["droid.exe","droid"]],openclaw:[["openclaw.cmd","openclaw"]],cursor:[["agent.cmd","agent"],["cursor.cmd","cursor"]],cline:[["cline.cmd","cline"]],kilo:[["kilocode.cmd","kilocode"]],opencode:[["opencode.cmd","opencode"]],qoder:[["qodercli.exe","qodercli"]]})[e]||[]){let o=h.default.dirname(process.execPath);r.push(h.default.join(o,i)),a&&r.push(h.default.join(a,"bin",i)),r.push(h.default.join(t,".local","bin",i)),u.default.existsSync("/usr/local/bin")&&r.push(h.default.join("/usr","local","bin",i)),u.default.existsSync("/usr/bin")&&r.push(h.default.join("/usr","bin",i)),"opencode"===e&&r.push(h.default.join(t,".opencode","bin",i)),"claude"===e&&r.push(h.default.join(t,".claude","bin",i))}return r})(r)){let r=await k(t);if(r.installed&&null===r.reason)return{command:e[0],installed:!0,commandPath:r.commandPath,reason:null}}for(let r of e){let e=await _(r,t);if(e.installed||"not_found"!==e.reason)return{command:r,...e}}return{command:e[0],installed:!1,commandPath:null,reason:"not_found"}},T=async(e,t,r=4e3)=>{let a={PATH:t.PATH,HOME:t.HOME||t.USERPROFILE,SystemRoot:t.SystemRoot,PATHEXT:t.PATHEXT};for(let t of[["--version"],["-v"]]){let i=await y(e,t,{env:a,timeoutMs:r});if(i.ok&&i.stdout.length>0&&i.stdout.length<4096)return{runnable:!0,reason:null,version:i.stdout.trim()}}return{runnable:!1,reason:"healthcheck_failed"}},S=()=>((e=process.platform,t=process.env,r=p.default.homedir())=>h.default.join(((e=process.platform,t=process.env,r=p.default.homedir())=>"win32"===e?String(t.APPDATA||"").trim()||h.default.join(r,"AppData","Roaming"):String(t.XDG_CONFIG_HOME||"").trim()||h.default.join(r,".config"))(e,t,r),"opencode","opencode.json"))(),O=e=>{let t=v[e];if(!t)return null;if("opencode"===e)return{config:S()};let r=(()=>{let e=String(process.env.CLI_CONFIG_HOME||"").trim();if(!e||!h.default.isAbsolute(e)||b.some(t=>e.includes(t))||h.default.normalize(e).includes(".."))return p.default.homedir();let t=p.default.homedir(),r=h.default.normalize(e);return x(r,t)?r:t})();return Object.fromEntries(Object.entries(t.paths).map(([e,t])=>[e,h.default.join(r,t)]))},R=async e=>{let t,r,a,i=v[e],o=(t=String(process.env.CLI_MODE||"auto").trim().toLowerCase(),f.has(t)?t:"auto");if(!i)return{installed:!1,runnable:!1,command:null,commandPath:null,reason:"unknown_tool",runtimeMode:o,requiresBinary:!1};let n=(r={...process.env},(a=String(process.env.CLI_EXTRA_PATHS||"").split(h.default.delimiter).map(e=>e.trim()).filter(Boolean).filter(e=>!(!h.default.isAbsolute(e)||b.some(t=>e.includes(t))||h.default.normalize(e).includes("..")))).length>0&&(r.PATH=[...a,r.PATH||""].filter(Boolean).join(h.default.delimiter)),r),s=(e=>{let t=v[e];if(!t)return[];let r=String(process.env[t.envBinKey]||"").trim();return r?[r]:Array.isArray(t.defaultCommands)&&t.defaultCommands.length>0?t.defaultCommands.filter(Boolean):t.defaultCommand?[t.defaultCommand]:[]})(e),l=!1!==i.requiresBinary;if(!l&&0===s.length)return{installed:!0,runnable:!0,command:null,commandPath:null,reason:"not_required",runtimeMode:o,requiresBinary:l};let d=String(process.env[i.envBinKey]||"").trim(),c=await E(s,n,d?void 0:e),u=c.command;if(!c.installed)return{installed:!1,runnable:!1,command:u,commandPath:null,reason:c.reason||"not_found",runtimeMode:o,requiresBinary:l};if("not_executable"===c.reason)return{installed:!0,runnable:!1,command:u,commandPath:c.commandPath,reason:"not_executable",runtimeMode:o,requiresBinary:l};let p=await T(c.commandPath,n,Number(i.healthcheckTimeoutMs||4e3));return{installed:!0,runnable:p.runnable,command:u,commandPath:c.commandPath,reason:p.reason,runtimeMode:o,requiresBinary:l}},F=Object.keys(v);e.s(["CLI_TOOL_IDS",0,F,"ensureCliConfigWriteAllowed",0,()=>((e,t=!0)=>null==e||""===e?t:!g.has(String(e).trim().toLowerCase()))(process.env.CLI_ALLOW_CONFIG_WRITES,!0)?null:"CLI config writes are disabled (CLI_ALLOW_CONFIG_WRITES=false)","getCliConfigPaths",0,O,"getCliPrimaryConfigPath",0,e=>{let t=O(e);if(!t)return null;let r=Object.keys(t)[0];return r?t[r]:null},"getCliRuntimeStatus",0,R,"getOpenCodeConfigPath",0,S])},383368,e=>e.a(async(t,r)=>{try{var a=e.i(828059),i=e.i(693602),o=e.i(963219),n=e.i(679468),s=t([o]);[o]=s.then?(await s)():s;let A=new Set(["openai","openai-responses"]),P=new Set(["gemini","gemini-cli"]);function l(e){return(e||"").trim().replace(/\/$/,"")}function d(e){return{"Content-Type":"application/json",Authorization:`Bearer ${e}`}}async function c({provider:e,apiKey:t,baseUrl:r,providerSpecificData:a={},modelId:i="gpt-4o-mini",modelsUrl:n}){if(!r)return{valid:!1,error:"Missing base URL"};let s=n||function(e){let t=l(e);if(!t)return"";for(let e of["/chat/completions","/responses","/chat","/messages"])if(t.endsWith(e))return`${t.slice(0,-e.length)}/models`;return`${t}/models`}(r);if(!s)return{valid:!1,error:"Invalid models endpoint"};let u=await fetch(s,{method:"GET",headers:d(t)});if(u.ok)return{valid:!0,error:null};if(401===u.status||403===u.status)return{valid:!1,error:"Invalid API key"};let p=function(e,t,r={}){let a=l(t);return a?(0,o.isOpenAICompatibleProvider)(e)?r?.chatPath?`${a}${r.chatPath}`:r?.apiType==="responses"?`${a}/responses`:`${a}/chat/completions`:a.endsWith("/chat/completions")||a.endsWith("/responses")||a.endsWith("/chat")?a:a.endsWith("/v1")?`${a}/chat/completions`:a:""}(e,r,a);if(!p)return{valid:!1,error:`Validation failed: ${u.status}`};let h=a?.validationModelId||i,m=await fetch(p,{method:"POST",headers:d(t),body:JSON.stringify({model:h,messages:[{role:"user",content:"test"}],max_tokens:1})});return m.ok?{valid:!0,error:null}:401===m.status||403===m.status?{valid:!1,error:"Invalid API key"}:404===m.status||405===m.status?{valid:!1,error:"Provider validation endpoint not supported"}:m.status>=500?{valid:!1,error:`Provider unavailable (${m.status})`}:{valid:!0,error:null}}async function u({apiKey:e,baseUrl:t,modelId:r,headers:a={},providerSpecificData:i={}}){if(!t)return{valid:!1,error:"Missing base URL"};let o={"Content-Type":"application/json",...a};o["x-api-key"]||o["X-API-Key"]||(o["x-api-key"]=e),o["anthropic-version"]||o["Anthropic-Version"]||(o["anthropic-version"]="2023-06-01");let n=i?.validationModelId||r||"claude-3-5-sonnet-20241022",s=await fetch(t,{method:"POST",headers:o,body:JSON.stringify({model:n,max_tokens:1,messages:[{role:"user",content:"test"}]})});return 401===s.status||403===s.status?{valid:!1,error:"Invalid API key"}:{valid:!0,error:null}}async function p({apiKey:e,baseUrl:t}){if(!t)return{valid:!1,error:"Missing base URL"};let r=t.includes("?")?"&":"?",a=await fetch(`${t}${r}key=${encodeURIComponent(e)}`,{method:"GET",headers:{"Content-Type":"application/json"}});return a.ok?{valid:!0,error:null}:401===a.status||403===a.status?{valid:!1,error:"Invalid API key"}:{valid:!1,error:`Validation failed: ${a.status}`}}async function h({apiKey:e}){try{let t=await fetch("https://api.deepgram.com/v1/auth/token",{method:"GET",headers:{Authorization:`Token ${e}`}});if(t.ok)return{valid:!0,error:null};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!1,error:`Validation failed: ${t.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function m({apiKey:e}){try{let t=await fetch("https://api.assemblyai.com/v2/transcript?limit=1",{method:"GET",headers:{Authorization:e,"Content-Type":"application/json"}});if(t.ok)return{valid:!0,error:null};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!1,error:`Validation failed: ${t.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function f({apiKey:e}){try{let t=await fetch("https://api.nanobananaapi.ai/api/v1/nanobanana/generate",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({prompt:"test",model:"nanobanana-flash"})});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function g({apiKey:e}){try{let t=await fetch("https://api.elevenlabs.io/v1/voices",{method:"GET",headers:{"xi-api-key":e,"Content-Type":"application/json"}});if(t.ok)return{valid:!0,error:null};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!1,error:`Validation failed: ${t.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function v({apiKey:e}){try{let t=await fetch("https://api.inworld.ai/tts/v1/voice",{method:"POST",headers:{Authorization:`Basic ${e}`,"Content-Type":"application/json"},body:JSON.stringify({text:"test",modelId:"inworld-tts-1.5-mini",audioConfig:{audioEncoding:"MP3"}})});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function y({apiKey:e,providerSpecificData:t={}}){try{let r=l(t.baseUrl)||"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1",a=r.endsWith("/messages")?r.slice(0,-9):r,i=`${a}/messages`,o=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":e,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:"qwen3-coder-plus",max_tokens:1,messages:[{role:"user",content:"test"}]})});if(401===o.status||403===o.status)return{valid:!1,error:"Invalid API key"};if(o.status>=400&&o.status<500||o.ok)return{valid:!0,error:null};return{valid:!1,error:`Validation failed: ${o.status}`}}catch(e){return{valid:!1,error:e.message||"Validation failed"}}}async function b({apiKey:e,providerSpecificData:t={}}){let r=l(t.baseUrl);if(!r)return{valid:!1,error:"No base URL configured for OpenAI compatible provider"};let a="string"==typeof t?.validationModelId?t.validationModelId.trim():"",i=!1;try{let t=await fetch(`${r}/models`,{method:"GET",headers:d(e)});if(i=!0,t.ok)return{valid:!0,error:null,method:"models_endpoint"};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};if(429===t.status)return{valid:!0,error:null,method:"models_endpoint",warning:"Rate limited, but credentials are valid"}}catch{}if(!a)return{valid:!1,error:"Endpoint /models unavailable. Provide a Model ID to validate via /chat/completions."};let o=t.apiType||"chat",n=`${r}${"responses"===o?"/responses":"/chat/completions"}`;try{let t=await fetch(n,{method:"POST",headers:d(e),body:JSON.stringify({model:a,messages:[{role:"user",content:"test"}],max_tokens:1})});if(t.ok)return{valid:!0,error:null,method:"chat_completions"};if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};if(429===t.status)return{valid:!0,error:null,method:"chat_completions",warning:"Rate limited, but credentials are valid"};if(400===t.status)return{valid:!0,error:null,method:"inference_available",warning:"Model ID may be invalid, but credentials are valid"};if(t.status>=400&&t.status<500)return{valid:!0,error:null,method:"inference_available"};if(t.status>=500)return{valid:!1,error:`Provider unavailable (${t.status})`}}catch{}if(!i)return{valid:!1,error:"Connection failed while testing /chat/completions"};try{let t=await fetch(r,{method:"GET",headers:d(e),signal:AbortSignal.timeout(5e3)});if(t.status<500)return{valid:!0,error:null};return{valid:!1,error:`Provider unavailable (${t.status})`}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}}async function x({apiKey:e,providerSpecificData:t={}}){var r;let a=(r=t.baseUrl,(0,i.stripAnthropicMessagesSuffix)(r||""));if(!a)return{valid:!1,error:"No base URL configured for Anthropic compatible provider"};let o={"Content-Type":"application/json","x-api-key":e,"anthropic-version":"2023-06-01",Authorization:`Bearer ${e}`};try{let e=await fetch((0,i.joinBaseUrlAndPath)(a,t?.modelsPath||"/models"),{method:"GET",headers:o});if(e.ok)return{valid:!0,error:null};if(401===e.status||403===e.status)return{valid:!1,error:"Invalid API key"}}catch{}let n=t?.validationModelId||"claude-3-5-sonnet-20241022";try{let e=await fetch((0,i.joinBaseUrlAndPath)(a,t?.chatPath||"/messages"),{method:"POST",headers:o,body:JSON.stringify({model:n,max_tokens:1,messages:[{role:"user",content:"test"}]})});if(401===e.status||403===e.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}}async function w({apiKey:e,providerSpecificData:t={}}){var r;let a=(r=t.baseUrl,(0,i.stripClaudeCodeCompatibleEndpointSuffix)(r||""));if(!a)return{valid:!1,error:"No base URL configured for CC Compatible provider"};let o=t?.modelsPath||i.CLAUDE_CODE_COMPATIBLE_DEFAULT_MODELS_PATH,n=t?.chatPath||i.CLAUDE_CODE_COMPATIBLE_DEFAULT_CHAT_PATH,s=(0,i.buildClaudeCodeCompatibleHeaders)(e,!1);try{let e=await fetch((0,i.joinClaudeCodeCompatibleUrl)(a,o),{method:"GET",headers:s});if(e.ok)return{valid:!0,error:null,method:"models_endpoint"};if(401===e.status||403===e.status)return{valid:!1,error:"Invalid API key"}}catch{}let l=(0,i.buildClaudeCodeCompatibleValidationPayload)(t?.validationModelId||"claude-sonnet-4-6"),d=JSON.parse(l.metadata.user_id).session_id;try{let t=await fetch((0,i.joinClaudeCodeCompatibleUrl)(a,n),{method:"POST",headers:(0,i.buildClaudeCodeCompatibleHeaders)(e,!0,d),body:JSON.stringify(l)});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};if(429===t.status)return{valid:!0,error:null,method:"cc_bridge_request",warning:"Rate limited, but credentials are valid"};if(t.status>=400&&t.status<500)return{valid:!0,error:null,method:"cc_bridge_request",warning:"Bridge request reached upstream, but the model or payload was rejected"};return{valid:t.ok,error:t.ok?null:`Validation failed: ${t.status}`,method:"cc_bridge_request"}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}}async function I(e,t){try{let r=await fetch(e,t);if(r.ok)return{valid:!0,error:null,unsupported:!1};if(401===r.status||403===r.status)return{valid:!1,error:"Invalid API key",unsupported:!1};if(r.status<500)return{valid:!0,error:null,unsupported:!1};return{valid:!1,error:`Validation failed: ${r.status}`,unsupported:!1}}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}}let _={"serper-search":e=>({url:"https://google.serper.dev/search",init:{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":e},body:JSON.stringify({q:"test",num:1})}}),"brave-search":e=>({url:"https://api.search.brave.com/res/v1/web/search?q=test&count=1",init:{method:"GET",headers:{Accept:"application/json","X-Subscription-Token":e}}}),"perplexity-search":e=>({url:"https://api.perplexity.ai/search",init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({query:"test",max_results:1})}}),"exa-search":e=>({url:"https://api.exa.ai/search",init:{method:"POST",headers:{"Content-Type":"application/json","x-api-key":e},body:JSON.stringify({query:"test",numResults:1})}}),"tavily-search":e=>({url:"https://api.tavily.com/search",init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({query:"test",max_results:1})}})};async function C({provider:e,apiKey:t,providerSpecificData:r={}}){if(!e||!t)return{valid:!1,error:"Provider and API key required",unsupported:!1};if((0,o.isOpenAICompatibleProvider)(e))try{return await b({apiKey:t,providerSpecificData:r})}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}if((0,o.isAnthropicCompatibleProvider)(e))try{if((0,o.isClaudeCodeCompatibleProvider)(e))return await w({apiKey:t,providerSpecificData:r});return await x({apiKey:t,providerSpecificData:r})}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}let i={qoder:({apiKey:e,providerSpecificData:t})=>(0,n.validateQoderCliPat)({apiKey:e,providerSpecificData:t}),deepgram:h,assemblyai:m,nanobanana:f,elevenlabs:g,inworld:v,"bailian-coding-plan":y,longcat:async({apiKey:e})=>{try{let t=await fetch("https://api.longcat.chat/openai/v1/chat/completions",{method:"POST",headers:d(e),body:JSON.stringify({model:"longcat",messages:[{role:"user",content:"test"}],max_tokens:1})});if(401===t.status||403===t.status)return{valid:!1,error:"Invalid API key"};return{valid:!0,error:null}}catch(e){return{valid:!1,error:e.message||"Connection failed"}}},...Object.fromEntries(Object.entries(_).map(([e,t])=>[e,({apiKey:e})=>{let{url:r,init:a}=t(e);return I(r,a)}]))};if(i[e])try{return await i[e]({apiKey:t,providerSpecificData:r})}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}let s=(0,a.getRegistryEntry)(e);if(!s)return{valid:!1,error:"Provider validation not supported",unsupported:!0};let k=s.models?.[0]?.id||null,E=s.testKeyBaseUrl?{...s,baseUrl:s.testKeyBaseUrl}:s,T=function(e,t={}){return t?.baseUrl?l(t.baseUrl):e?.baseUrl?l(e.baseUrl):""}(E,r);try{if(A.has(s.format))return await c({provider:e,apiKey:t,baseUrl:T,providerSpecificData:r,modelId:k,modelsUrl:s.modelsUrl});if("claude"===s.format){let e=`${T}${s.urlSuffix||""}`,a={...s.headers||{}};return"x-api-key"===(s.authHeader||"").toLowerCase()?a["x-api-key"]=t:a.Authorization=`Bearer ${t}`,await u({apiKey:t,baseUrl:e,modelId:k,headers:a,providerSpecificData:r})}if(P.has(s.format))return await p({apiKey:t,baseUrl:T});return{valid:!1,error:"Provider validation not supported",unsupported:!0}}catch(e){return{valid:!1,error:e.message||"Validation failed",unsupported:!1}}}e.s(["validateClaudeCodeCompatibleProvider",0,w,"validateProviderApiKey",0,C]),r()}catch(e){r(e)}},!1),910660,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(677850),o=e.i(200392);e.i(245272);var n=e.i(385498),s=e.i(548941),l=e.i(250875),d=e.i(639173),c=e.i(383368),u=e.i(266240),p=e.i(928602),h=e.i(312125),m=e.i(397506),f=e.i(496928),g=e.i(444675),v=t([i,o,c,h,m]);[i,o,c,h,m]=v.then?(await v)():v;let T={claude:{checkExpiry:!0,refreshable:!0},codex:{checkExpiry:!0,refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"OmniRoute",Accept:"application/vnd.github+json"}},iflow:{checkExpiry:!0,refreshable:!0},qwen:{checkExpiry:!0,refreshable:!0},cursor:{checkExpiry:!0},"kimi-coding":{checkExpiry:!0,refreshable:!0},kilocode:{checkExpiry:!0},cline:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0}},S={cline:"cline",kilocode:"kilo",qoder:"qoder"},O=i.z.object({validationModelId:i.z.string().max(500).optional()});function y(e,t="Unknown error"){return"string"!=typeof e?t:e.trim()||t}function b(e,t,r,a=null){return{type:e,source:t,message:r||null,code:a??null}}function x({error:e,statusCode:t=null,refreshFailed:r=!1,unsupported:a=!1}){let i=y(e,"Connection test failed"),o=i.toLowerCase(),n=Number.isFinite(t)?Number(t):null;return a?b("unsupported","validation",i,"unsupported"):r||o.includes("refresh failed")?b("token_refresh_failed","oauth",i,"refresh_failed"):401===n||403===n?b("upstream_auth_error","upstream",i,String(n)):429===n?b("upstream_rate_limited","upstream",i,"429"):n&&n>=500?b("upstream_unavailable","upstream",i,String(n)):o.includes("token expired")||o.includes("expired")?b("token_expired","oauth",i,"token_expired"):o.includes("invalid api key")||o.includes("token invalid")||o.includes("revoked")||o.includes("access denied")||o.includes("unauthorized")||o.includes("forbidden")?b("upstream_auth_error","upstream",i,n?String(n):"auth_failed"):o.includes("rate limit")||o.includes("quota")||o.includes("too many requests")?b("upstream_rate_limited","upstream",i,n?String(n):"rate_limited"):o.includes("fetch failed")||o.includes("network")||o.includes("timeout")||o.includes("econn")||o.includes("enotfound")||o.includes("socket")?b("network_error","upstream",i,"network_error"):b("upstream_error","upstream",i,n?String(n):"upstream_error")}async function w(e){let t="string"==typeof e?.provider?e.provider:"",r=S[t];if("qoder"===t&&e?.authType!=="apikey"&&(r=null),!r)return null;try{let e=await (0,u.getCliRuntimeStatus)(r);if(e.installed&&e.runnable)return e;let t=e.installed?`Local CLI runtime is installed but not runnable (${e.reason||"healthcheck_failed"})`:"Local CLI runtime is not installed";return{...e,diagnosis:b("runtime_error","local",t,e.reason||"runtime_error"),error:t}}catch(t){let e=`Failed to check local CLI runtime: ${t?.message||"runtime_check_failed"}`;return{installed:!1,runnable:!1,reason:"runtime_check_failed",diagnosis:b("runtime_error","local",e,"runtime_check_failed"),error:e}}}async function I(e){let{provider:t,refreshToken:r}=e;if(!r)return null;try{let a={refreshToken:r,providerSpecificData:e.providerSpecificData||{}};return await (0,p.getAccessToken)(t,a,console)}catch(e){return console.log(`Error refreshing ${t} token:`,e.message),null}}function C(e){let t=e.expiresAt||e.tokenExpiresAt;return!!t&&new Date(t).getTime()<=Date.now()+3e5}async function A(){try{if(!await (0,s.isCloudEnabled)())return;let e=await (0,l.getConsistentMachineId)();await (0,d.syncToCloud)(e)}catch(e){console.log("Error syncing to cloud after token refresh:",e)}}async function P(e){let t=T[e.provider];if(!t){let e="Provider test not supported";return{valid:!1,error:e,refreshed:!1,diagnosis:x({error:e,unsupported:!0})}}if(!e.accessToken){if(t.refreshable&&!e.refreshToken){let e="Refresh token expired. Please re-authenticate this account.";return{valid:!1,error:e,refreshed:!1,diagnosis:b("reauth_required","oauth",e,"reauth_required")}}let r="No access token";return{valid:!1,error:r,refreshed:!1,diagnosis:b("auth_missing","local",r,"missing_access_token")}}let r=e.accessToken,a=!1,i=null,o=C(e);if(t.refreshable&&o&&e.refreshToken){let t=await I(e);if(t)r=t.accessToken,a=!0,i=t;else{let e="Token expired and refresh failed";return{valid:!1,error:e,refreshed:!1,diagnosis:x({error:e,refreshFailed:!0})}}}if(t.checkExpiry){if(a)return{valid:!0,error:null,refreshed:a,newTokens:i,diagnosis:b("ok","oauth",null,null)};if(o){let e="Token expired";return{valid:!1,error:e,refreshed:!1,diagnosis:x({error:e})}}return{valid:!0,error:null,refreshed:!1,newTokens:null,diagnosis:b("ok","local",null,null)}}try{let o={[t.authHeader]:`${t.authPrefix}${r}`,...t.extraHeaders},n=await fetch(t.url,{method:t.method,headers:o});if(n.ok)return{valid:!0,error:null,refreshed:a,newTokens:i,diagnosis:b("ok","upstream",null,null)};if((401===n.status||403===n.status)&&!a&&C(e)&&e.refreshToken&&"string"==typeof e.refreshToken){let r=await I(e);if(r){let e=await fetch(t.url,{method:t.method,headers:{[t.authHeader]:`${t.authPrefix}${r.accessToken}`,...t.extraHeaders}});if(e.ok)return{valid:!0,error:null,refreshed:!0,newTokens:r,diagnosis:b("ok","upstream",null,null)};let a=`API returned ${e.status} after token refresh`;return{valid:!1,error:a,refreshed:!0,statusCode:e.status,diagnosis:x({error:a,statusCode:e.status})}}let a="Token expired and refresh failed";return{valid:!1,error:a,refreshed:!1,statusCode:401,diagnosis:x({error:a,statusCode:401,refreshFailed:!0})}}let s=401===n.status?"Token invalid or revoked":403===n.status?"Access denied":`API returned ${n.status}`;return{valid:!1,error:s,refreshed:a,statusCode:n.status,diagnosis:x({error:s,statusCode:n.status})}}catch(t){let e=y(t?.message,"Connection test failed");return{valid:!1,error:e,refreshed:a,diagnosis:x({error:e})}}}async function _(e){if(!e.apiKey){let e="Missing API key";return{valid:!1,error:e,diagnosis:b("auth_missing","local",e,"missing_api_key")}}let t=await (0,c.validateProviderApiKey)({provider:e.provider,apiKey:e.apiKey,providerSpecificData:e.providerSpecificData});if(t.unsupported){let e="Provider test not supported";return{valid:!1,error:e,diagnosis:x({error:e,unsupported:!0})}}let r=t.valid?null:t.error||"Invalid API key",a=t.valid?b("ok","upstream",null,null):x({error:r});return{valid:!!t.valid,error:r,warning:t.warning||null,diagnosis:a}}async function k(e,t){let r,a=await (0,n.getProviderConnectionById)(e);if(!a)return{valid:!1,error:"Connection not found",diagnosis:null,latencyMs:0};let i="string"==typeof a.provider?a.provider:"";if(!i)return{valid:!1,error:"Connection provider is invalid",diagnosis:b("validation_error","local","Connection provider is invalid","provider_invalid"),latencyMs:0};let o=null;try{o=await (0,s.resolveProxyForConnection)(e)}catch(t){console.log(`[ConnectionTest] Failed to resolve proxy for ${e}:`,t?.message)}let l=Date.now(),d=await w(a);if(d?.diagnosis)r={valid:!1,error:d.error,refreshed:!1,diagnosis:d.diagnosis};else if("apikey"===a.authType){let e=t?{...a,providerSpecificData:{...a.providerSpecificData||{},validationModelId:t}}:a;r=await (0,g.runWithProxyContext)(o?.proxy||null,()=>_(e))}else r=await (0,g.runWithProxyContext)(o?.proxy||null,()=>P(a));let c=Date.now()-l,u=new Date().toISOString(),p=r.diagnosis||(r.valid?b("ok","local",null,null):x({error:r.error,statusCode:r.statusCode})),h={testStatus:r.valid?"active":"error",lastError:r.valid?null:r.error,lastErrorAt:r.valid?null:u,lastTested:u,lastErrorType:r.valid?null:p.type,lastErrorSource:r.valid?null:p.source,errorCode:r.valid?null:p.code||r.statusCode||null,rateLimitedUntil:r.valid?null:a.rateLimitedUntil||null};r.valid&&(h.backoffLevel=0),r.refreshed&&r.newTokens&&(h.accessToken=r.newTokens.accessToken,r.newTokens.refreshToken&&(h.refreshToken=r.newTokens.refreshToken),r.newTokens.expiresIn&&(h.expiresAt=new Date(Date.now()+1e3*r.newTokens.expiresIn).toISOString())),await (0,n.updateProviderConnection)(e,h),r.refreshed&&await A();try{(0,m.saveCallLog)({method:"POST",path:"/api/providers/test",status:r.valid?200:r.statusCode||401,model:"connection-test",provider:i,connectionId:e,duration:c,error:r.valid?null:r.error||null,sourceFormat:"test",targetFormat:"test"}).catch(()=>{})}catch{}try{(0,f.logProxyEvent)({status:r.valid?"success":"error",proxy:o?.proxy||null,level:o?.level||"provider-test",levelId:o?.levelId||null,provider:i,targetUrl:`${i}/connection-test`,latencyMs:c,error:r.valid?null:r.error||null,connectionId:e,comboId:null,account:e?.slice(0,8)||null,tlsFingerprint:!1})}catch{}return{valid:r.valid,error:r.error,warning:r.warning||null,refreshed:r.refreshed||!1,diagnosis:p,latencyMs:c,statusCode:r.statusCode||null,runtime:d||null,testedAt:u}}async function E(e,{params:t}){try{let{id:r}=await t,i={};try{i=await e.json()}catch{}let n=(0,o.validateBody)(O,i);if((0,o.isValidationFailure)(n))return a.NextResponse.json({error:n.error},{status:400});let{validationModelId:s}=n.data,l=await k(r,s);if("Connection not found"===l.error)return a.NextResponse.json({error:"Connection not found"},{status:404});return a.NextResponse.json(l)}catch(e){return console.log("Error testing connection:",e),a.NextResponse.json({error:"Test failed"},{status:500})}}e.s(["POST",0,E,"testSingleConnection",0,k]),r()}catch(e){r(e)}},!1),239394,e=>e.a(async(t,r)=>{try{var a=e.i(89171);e.i(180725);var i=e.i(385498),o=e.i(963219),n=e.i(910660),s=e.i(676088),l=e.i(200392),d=t([o,n,s,l]);function c(e){return o.FREE_PROVIDERS[e]?"free":o.OAUTH_PROVIDERS[e]?"oauth":o.APIKEY_PROVIDERS[e]?"apikey":"string"==typeof e&&(e.startsWith(o.OPENAI_COMPATIBLE_PREFIX)||e.startsWith(o.ANTHROPIC_COMPATIBLE_PREFIX))?"compatible":"apikey"}async function u(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(s.providersBatchTestSchema,t);if((0,l.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let{mode:r,providerId:d}=e.data,u=await (0,i.getProviderConnections)({isActive:!0}),p=[];if("provider"===r&&d)p=u.filter(e=>e.provider===d);else if("oauth"===r)p=u.filter(e=>"oauth"===c(e.provider));else if("free"===r)p=u.filter(e=>"free"===c(e.provider));else if("apikey"===r)p=u.filter(e=>"apikey"===c(e.provider));else if("compatible"===r)p=u.filter(e=>{var t;return t=e.provider,"string"==typeof t&&(t.startsWith(o.OPENAI_COMPATIBLE_PREFIX)||t.startsWith(o.ANTHROPIC_COMPATIBLE_PREFIX))});else{if("all"!==r)return a.NextResponse.json({error:"Invalid mode. Use: provider, oauth, free, apikey, compatible, all"},{status:400});p=u}if(0===p.length)return a.NextResponse.json({mode:r,providerId:d||null,results:[],testedAt:new Date().toISOString()});let h=async e=>{try{let t=await Promise.race([(0,n.testSingleConnection)(e.id),new Promise((e,t)=>setTimeout(()=>t(Error("Connection test timed out after 30s")),3e4))]);return{provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||c(e.provider),valid:t.valid,latencyMs:t.latencyMs||0,error:t.error||null,diagnosis:t.diagnosis||null,statusCode:t.statusCode||null,testedAt:t.testedAt||new Date().toISOString()}}catch(t){return{provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||c(e.provider),valid:!1,latencyMs:0,error:t.message,diagnosis:{type:"network_error",source:"local",code:null,message:t.message},statusCode:null,testedAt:new Date().toISOString()}}},m=[];for(let e=0;e<p.length;e+=5){let t=p.slice(e,e+5);for(let e of(await Promise.allSettled(t.map(h))))m.push("fulfilled"===e.status?e.value:{provider:"unknown",connectionId:"unknown",connectionName:"unknown",authType:"unknown",valid:!1,latencyMs:0,error:e.reason?.message||"Test failed",diagnosis:{type:"network_error",source:"local",code:null,message:e.reason?.message||"Test failed"},statusCode:null,testedAt:new Date().toISOString()})}return a.NextResponse.json({mode:r,providerId:d||null,results:m,testedAt:new Date().toISOString(),summary:{total:m.length,passed:m.filter(e=>e.valid).length,failed:m.filter(e=>!e.valid).length}})}catch(e){return console.log("Error in batch test:",e),a.NextResponse.json({error:"Batch test failed"},{status:500})}}[o,n,s,l]=d.then?(await d)():d,e.s(["POST",0,u]),r()}catch(e){r(e)}},!1),613089,e=>e.a(async(t,r)=>{try{var a=e.i(747909),i=e.i(174017),o=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),u=e.i(487718),p=e.i(995169),h=e.i(47587),m=e.i(666012),f=e.i(570101),g=e.i(626937),v=e.i(10372),y=e.i(193695);e.i(820232);var b=e.i(600220),x=e.i(239394),w=t([x]);[x]=w.then?(await w)():w;let C=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/providers/test-batch/route",pathname:"/api/providers/test-batch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/providers/test-batch/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:P,serverHooks:_}=C;async function I(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/providers/test-batch/route";a=a.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,params:w,nextConfig:I,parsedUrl:A,isDraftMode:P,prerenderManifest:_,routerServerContext:k,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,resolvedPathname:S,clientReferenceManifest:O,serverActionsManifest:R}=o,F=(0,d.normalizeAppPath)(a),D=!!(_.dynamicRoutes[F]||_.routes[S]),N=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!P){let e=!!_.routes[S],t=_.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await N();throw new y.NoFallbackError}}let L=null;!D||C.isDev||P||(L=S,L="/index"===L?"/":L);let B=!0===C.isDev||!D,j=D&&!B;R&&O&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:O,serverActionsManifest:R});let M=e.method||"GET",U=(0,s.getTracer)(),q=U.getActiveScopeSpan(),$=!!(null==k?void 0:k.isWrappedByNextServer),H=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,I,_,H);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:w,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:B,incrementalCache:K,cacheLifeProfiles:I.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>C.onRequestError(e,t,a,i,k)},sharedContext:{buildId:x}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let o,n=async e=>C.handle(W,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${M} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",i),o.updateName(t))}else e.updateName(`${M} ${a}`)}),l=async o=>{var s,l;let d=async({previousCacheEntry:i})=>{try{if(!H&&E&&T&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await n(o);e.fetchMetrics=z.renderOpts.fetchMetrics;let s=z.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let l=z.renderOpts.collectedTags;if(!D)return await (0,m.sendResponse)(G,V,a,z.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,i=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:b.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,k),t}},c=await C.handleResponse({req:e,nextConfig:I,cacheKey:L,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:H});if(!D)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==b.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",E?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return H&&D||u.delete(v.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(G,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};$&&q?await l(q):(o=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${a}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!$))}catch(t){if(t instanceof y.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,k),D)throw t;return await (0,m.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:P})},"routeModule",0,C,"serverHooks",0,_,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,P]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},485685,e=>{e.v(e=>Promise.resolve().then(()=>e(254799)))},605589,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localDb_ts_0ml5l_h._.js"].map(t=>e.l(t))).then(()=>t(969738)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__06r5eje._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>g,ResponseCookies:()=>f,parseCookie:()=>p,parseSetCookie:()=>d,stringifyCookie:()=>c};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function d(e){if(!e)return;let[[t,r],...s]=p(e),{domain:n,expires:a,httponly:i,maxage:o,path:l,samesite:u,secure:c,partitioned:d,priority:g}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,y,v={name:t,value:decodeURIComponent(r),domain:n,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(f=(f=u).toLowerCase())?f:void 0},...c&&{secure:!0},...g&&{priority:m.includes(y=(y=g).toLowerCase())?y:void 0},...d&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of a(t))i.call(e,o)||void 0===o||s(e,o,{get:()=>t[o],enumerable:!(r=n(t,o))||r.enumerable});return e})(s({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const n=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,s,n,a,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,a=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(a=!0,o=n,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!a||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){const t=d(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},97793,e=>{"use strict";let t=new Set(["host","connection","content-length","keep-alive","proxy-connection","transfer-encoding","te","trailer","upgrade"].map(e=>e.toLowerCase()));e.s(["isForbiddenUpstreamHeaderName",0,function(e){return t.has(String(e).trim().toLowerCase())}])},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var s=e.i(677850),n=t([s]);[s]=n.then?(await n)():n,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let s=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:s.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},988415,e=>e.a(async(t,r)=>{try{var s=e.i(89171),n=e.i(676088),a=e.i(200392),i=t([n,a]);async function o(t){let r;try{r=await t.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t=(0,a.validateBody)(n.pricingSyncRequestSchema,r);if((0,a.isValidationFailure)(t))return s.NextResponse.json({error:t.error},{status:400});let{sources:i,dryRun:o=!1}=t.data,{syncPricingFromSources:l}=await e.A(86234),u=await l({sources:i,dryRun:o});return s.NextResponse.json(u,{status:u.success?200:502})}catch(t){let e=t instanceof Error?t.message:String(t);return s.NextResponse.json({error:e},{status:500})}}async function l(){try{let{getSyncStatus:t}=await e.A(86234);return s.NextResponse.json(t())}catch(t){let e=t instanceof Error?t.message:String(t);return s.NextResponse.json({error:e},{status:500})}}async function u(){try{let{clearSyncedPricing:t}=await e.A(86234);return t(),s.NextResponse.json({success:!0,message:"Synced pricing data cleared"})}catch(t){let e=t instanceof Error?t.message:String(t);return s.NextResponse.json({error:e},{status:500})}}[n,a]=i.then?(await i)():i,e.s(["DELETE",0,u,"GET",0,l,"POST",0,o]),r()}catch(e){r(e)}},!1),72213,e=>e.a(async(t,r)=>{try{var s=e.i(747909),n=e.i(174017),a=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),p=e.i(487718),d=e.i(995169),h=e.i(47587),m=e.i(666012),g=e.i(570101),f=e.i(626937),y=e.i(10372),v=e.i(193695);e.i(820232);var x=e.i(600220),R=e.i(988415),w=t([R]);[R]=w.then?(await w)():w;let b=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/pricing/sync/route",pathname:"/api/pricing/sync",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/pricing/sync/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:E,serverHooks:C}=b;async function _(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/pricing/sync/route";s=s.replace(/\/index$/,"")||"/";let a=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:A,isDraftMode:E,prerenderManifest:C,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:P}=a,q=(0,u.normalizeAppPath)(s),T=!!(C.dynamicRoutes[q]||C.routes[O]),I=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(T&&!E){let e=!!C.routes[O],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await I();throw new v.NoFallbackError}}let D=null;!T||b.isDev||E||(D=O,D="/index"===D?"/":D);let $=!0===b.isDev||!T,U=T&&!$;P&&N&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:N,serverActionsManifest:P});let M=e.method||"GET",H=(0,o.getTracer)(),L=H.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),z=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,C,F);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let K={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:z,cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>b.onRequestError(e,t,s,n,S)},sharedContext:{buildId:R}},V=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let a,i=async e=>b.handle(J,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${M} ${s}`)}),l=async a=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!F&&j&&k&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!T)return await (0,m.sendResponse)(V,G,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:D,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:F});if(!T)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",j?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&T||p.delete(y.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(V,G,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};B&&L?await l(L):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof v.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),T)throw t;return await (0,m.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,C,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1),86234,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_db_0g2izkn._.js","server/chunks/src_lib_db_core_ts_0naqwwu._.js","server/chunks/[root-of-the-server]__0lhz3wn._.js"].map(t=>e.l(t))).then(()=>t(751183)))}];
|
|
1
|
+
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>g,ResponseCookies:()=>f,parseCookie:()=>p,parseSetCookie:()=>d,stringifyCookie:()=>c};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function d(e){if(!e)return;let[[t,r],...s]=p(e),{domain:n,expires:a,httponly:i,maxage:o,path:l,samesite:u,secure:c,partitioned:d,priority:g}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,y,v={name:t,value:decodeURIComponent(r),domain:n,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(f=(f=u).toLowerCase())?f:void 0},...c&&{secure:!0},...g&&{priority:m.includes(y=(y=g).toLowerCase())?y:void 0},...d&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of a(t))i.call(e,o)||void 0===o||s(e,o,{get:()=>t[o],enumerable:!(r=n(t,o))||r.enumerable});return e})(s({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const n=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,s,n,a,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,a=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(a=!0,o=n,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!a||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){const t=d(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},97793,e=>{"use strict";let t=new Set(["host","connection","content-length","keep-alive","proxy-connection","transfer-encoding","te","trailer","upgrade"].map(e=>e.toLowerCase()));e.s(["isForbiddenUpstreamHeaderName",0,function(e){return t.has(String(e).trim().toLowerCase())}])},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var s=e.i(677850),n=t([s]);[s]=n.then?(await n)():n,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let s=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:s.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","memory","skills","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},988415,e=>e.a(async(t,r)=>{try{var s=e.i(89171),n=e.i(676088),a=e.i(200392),i=t([n,a]);async function o(t){let r;try{r=await t.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t=(0,a.validateBody)(n.pricingSyncRequestSchema,r);if((0,a.isValidationFailure)(t))return s.NextResponse.json({error:t.error},{status:400});let{sources:i,dryRun:o=!1}=t.data,{syncPricingFromSources:l}=await e.A(86234),u=await l({sources:i,dryRun:o});return s.NextResponse.json(u,{status:u.success?200:502})}catch(t){let e=t instanceof Error?t.message:String(t);return s.NextResponse.json({error:e},{status:500})}}async function l(){try{let{getSyncStatus:t}=await e.A(86234);return s.NextResponse.json(t())}catch(t){let e=t instanceof Error?t.message:String(t);return s.NextResponse.json({error:e},{status:500})}}async function u(){try{let{clearSyncedPricing:t}=await e.A(86234);return t(),s.NextResponse.json({success:!0,message:"Synced pricing data cleared"})}catch(t){let e=t instanceof Error?t.message:String(t);return s.NextResponse.json({error:e},{status:500})}}[n,a]=i.then?(await i)():i,e.s(["DELETE",0,u,"GET",0,l,"POST",0,o]),r()}catch(e){r(e)}},!1),72213,e=>e.a(async(t,r)=>{try{var s=e.i(747909),n=e.i(174017),a=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),p=e.i(487718),d=e.i(995169),h=e.i(47587),m=e.i(666012),g=e.i(570101),f=e.i(626937),y=e.i(10372),v=e.i(193695);e.i(820232);var x=e.i(600220),R=e.i(988415),w=t([R]);[R]=w.then?(await w)():w;let b=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/pricing/sync/route",pathname:"/api/pricing/sync",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/pricing/sync/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:E,serverHooks:C}=b;async function _(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/pricing/sync/route";s=s.replace(/\/index$/,"")||"/";let a=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:A,isDraftMode:E,prerenderManifest:C,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:P}=a,q=(0,u.normalizeAppPath)(s),T=!!(C.dynamicRoutes[q]||C.routes[O]),I=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(T&&!E){let e=!!C.routes[O],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await I();throw new v.NoFallbackError}}let D=null;!T||b.isDev||E||(D=O,D="/index"===D?"/":D);let $=!0===b.isDev||!T,U=T&&!$;P&&N&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:N,serverActionsManifest:P});let M=e.method||"GET",H=(0,o.getTracer)(),L=H.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),z=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,C,F);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let K={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:z,cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>b.onRequestError(e,t,s,n,S)},sharedContext:{buildId:R}},V=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let a,i=async e=>b.handle(J,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${M} ${s}`)}),l=async a=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!F&&j&&k&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!T)return await (0,m.sendResponse)(V,G,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:D,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:F});if(!T)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",j?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&T||p.delete(y.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(V,G,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};B&&L?await l(L):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof v.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),T)throw t;return await (0,m.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,C,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1),86234,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_db_0g2izkn._.js","server/chunks/src_lib_db_core_ts_0naqwwu._.js","server/chunks/[root-of-the-server]__0lhz3wn._.js"].map(t=>e.l(t))).then(()=>t(751183)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__07.ui7z._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>f,parseCookie:()=>c,parseSetCookie:()=>d,stringifyCookie:()=>p};for(var u in l)a(o,u,{get:l[u],enumerable:!0});function p(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function c(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[a,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function d(e){if(!e)return;let[[t,r],...a]=c(e),{domain:n,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:p,partitioned:d,priority:m}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,v,y={name:t,value:decodeURIComponent(r),domain:n,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(f=(f=u).toLowerCase())?f:void 0},...p&&{secure:!0},...m&&{priority:g.includes(v=(v=m).toLowerCase())?v:void 0},...d&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||a(e,o,{get:()=>t[o],enumerable:!(r=n(t,o))||r.enumerable});return e})(a({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],g=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of c(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>p(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,a;this._parsed=new Map,this._headers=e;const n=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,a,n,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(a=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=n,i.push(e.substring(t,a)),t=o):o=a+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){const t=d(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=p(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(p).join("; ")}}},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var a=e.i(677850),n=t([a]);[a]=n.then?(await n)():n,a.z.object({password:a.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let a=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:a.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},7913,e=>e.a(async(t,r)=>{try{var a=e.i(89171);e.i(245272);var n=e.i(548941),s=e.i(676088),i=e.i(200392),o=t([s,i]);async function l(){try{let e=await (0,n.getPricing)();return a.NextResponse.json(e)}catch(e){return console.error("Error fetching pricing:",e),a.NextResponse.json({error:"Failed to fetch pricing"},{status:500})}}async function u(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.validateBody)(s.updatePricingSchema,t);if((0,i.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let r=e.data,o=await (0,n.updatePricing)(r);return a.NextResponse.json(o)}catch(e){return console.error("Error updating pricing:",e),a.NextResponse.json({error:"Failed to update pricing"},{status:500})}}async function p(e){try{let{searchParams:t}=new URL(e.url),r=t.get("provider"),s=t.get("model");r&&s?await (0,n.resetPricing)(r,s):r?await (0,n.resetPricing)(r):await (0,n.resetAllPricing)();let i=await (0,n.getPricing)();return a.NextResponse.json(i)}catch(e){return console.error("Error resetting pricing:",e),a.NextResponse.json({error:"Failed to reset pricing"},{status:500})}}[s,i]=o.then?(await o)():o,e.s(["DELETE",0,p,"GET",0,l,"PATCH",0,u]),r()}catch(e){r(e)}},!1),259906,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),p=e.i(316795),c=e.i(487718),d=e.i(995169),h=e.i(47587),g=e.i(666012),m=e.i(570101),f=e.i(626937),v=e.i(10372),y=e.i(193695);e.i(820232);var x=e.i(600220),R=e.i(7913),w=t([R]);[R]=w.then?(await w)():w;let A=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/pricing/route",pathname:"/api/pricing",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/pricing/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:E,serverHooks:C}=A;async function _(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/pricing/route";a=a.replace(/\/index$/,"")||"/";let s=await A.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:b,isDraftMode:E,prerenderManifest:C,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:O,serverActionsManifest:N}=s,T=(0,u.normalizeAppPath)(a),q=!!(C.dynamicRoutes[T]||C.routes[k]),I=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!E){let e=!!C.routes[k],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await I();throw new y.NoFallbackError}}let D=null;!q||A.isDev||E||(D=k,D="/index"===D?"/":D);let $=!0===A.isDev||!q,U=q&&!$;N&&O&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:O,serverActionsManifest:N});let M=e.method||"GET",H=(0,o.getTracer)(),F=H.getActiveScopeSpan(),B=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),K=(0,i.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,_,C,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>A.onRequestError(e,t,a,n,P)},sharedContext:{buildId:R}},V=new p.NodeNextRequest(e),G=new p.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>A.handle(J,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${M} ${a}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!L&&S&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,g.sendResponse)(V,G,a,z.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),t}},p=await A.handleResponse({req:e,nextConfig:_,cacheKey:D,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:L});if(!q)return null;if((null==p||null==(o=p.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",S?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return L&&q||c.delete(v.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,g.sendResponse)(V,G,new Response(p.value.body,{headers:c,status:p.value.status||200})),null};B&&F?await l(F):(s=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof y.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),q)throw t;return await (0,g.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:E})},"routeModule",0,A,"serverHooks",0,C,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))}];
|
|
1
|
+
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>f,parseCookie:()=>c,parseSetCookie:()=>d,stringifyCookie:()=>p};for(var u in l)a(o,u,{get:l[u],enumerable:!0});function p(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function c(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[a,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function d(e){if(!e)return;let[[t,r],...a]=c(e),{domain:n,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:p,partitioned:d,priority:m}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,v,y={name:t,value:decodeURIComponent(r),domain:n,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(f=(f=u).toLowerCase())?f:void 0},...p&&{secure:!0},...m&&{priority:g.includes(v=(v=m).toLowerCase())?v:void 0},...d&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||a(e,o,{get:()=>t[o],enumerable:!(r=n(t,o))||r.enumerable});return e})(a({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],g=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of c(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>p(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,a;this._parsed=new Map,this._headers=e;const n=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,a,n,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(a=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=n,i.push(e.substring(t,a)),t=o):o=a+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){const t=d(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=p(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(p).join("; ")}}},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var a=e.i(677850),n=t([a]);[a]=n.then?(await n)():n,a.z.object({password:a.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let a=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:a.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","memory","skills","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},7913,e=>e.a(async(t,r)=>{try{var a=e.i(89171);e.i(245272);var n=e.i(548941),s=e.i(676088),i=e.i(200392),o=t([s,i]);async function l(){try{let e=await (0,n.getPricing)();return a.NextResponse.json(e)}catch(e){return console.error("Error fetching pricing:",e),a.NextResponse.json({error:"Failed to fetch pricing"},{status:500})}}async function u(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.validateBody)(s.updatePricingSchema,t);if((0,i.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let r=e.data,o=await (0,n.updatePricing)(r);return a.NextResponse.json(o)}catch(e){return console.error("Error updating pricing:",e),a.NextResponse.json({error:"Failed to update pricing"},{status:500})}}async function p(e){try{let{searchParams:t}=new URL(e.url),r=t.get("provider"),s=t.get("model");r&&s?await (0,n.resetPricing)(r,s):r?await (0,n.resetPricing)(r):await (0,n.resetAllPricing)();let i=await (0,n.getPricing)();return a.NextResponse.json(i)}catch(e){return console.error("Error resetting pricing:",e),a.NextResponse.json({error:"Failed to reset pricing"},{status:500})}}[s,i]=o.then?(await o)():o,e.s(["DELETE",0,p,"GET",0,l,"PATCH",0,u]),r()}catch(e){r(e)}},!1),259906,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),p=e.i(316795),c=e.i(487718),d=e.i(995169),h=e.i(47587),g=e.i(666012),m=e.i(570101),f=e.i(626937),v=e.i(10372),y=e.i(193695);e.i(820232);var x=e.i(600220),R=e.i(7913),w=t([R]);[R]=w.then?(await w)():w;let A=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/pricing/route",pathname:"/api/pricing",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/pricing/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:E,serverHooks:C}=A;async function _(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/pricing/route";a=a.replace(/\/index$/,"")||"/";let s=await A.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:b,isDraftMode:E,prerenderManifest:C,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:O,serverActionsManifest:N}=s,T=(0,u.normalizeAppPath)(a),q=!!(C.dynamicRoutes[T]||C.routes[k]),I=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!E){let e=!!C.routes[k],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await I();throw new y.NoFallbackError}}let D=null;!q||A.isDev||E||(D=k,D="/index"===D?"/":D);let $=!0===A.isDev||!q,U=q&&!$;N&&O&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:O,serverActionsManifest:N});let M=e.method||"GET",H=(0,o.getTracer)(),F=H.getActiveScopeSpan(),B=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),K=(0,i.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,_,C,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>A.onRequestError(e,t,a,n,P)},sharedContext:{buildId:R}},V=new p.NodeNextRequest(e),G=new p.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>A.handle(J,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${M} ${a}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!L&&S&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,g.sendResponse)(V,G,a,z.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),t}},p=await A.handleResponse({req:e,nextConfig:_,cacheKey:D,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:L});if(!q)return null;if((null==p||null==(o=p.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",S?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return L&&q||c.delete(v.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,g.sendResponse)(V,G,new Response(p.value.body,{headers:c,status:p.value.status||200})),null};B&&F?await l(F):(s=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof y.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),q)throw t;return await (0,g.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:E})},"routeModule",0,A,"serverHooks",0,C,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__075j.5s._.js.map
|