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
1
|
module.exports=[677850,e=>e.a(async(a,i)=>{try{let a=await e.y("zod");e.n(a),i()}catch(e){i(e)}},!0),102835,e=>e.a(async(a,i)=>{try{var t=e.i(677850),o=a([t]);[t]=o.then?(await o)():o;let n=t.z.object({id:t.z.string().min(1),alias:t.z.string().min(1).optional(),name:t.z.string().min(1),icon:t.z.string().min(1),color:t.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:t.z.string().optional(),website:t.z.string().url().optional(),passthroughModels:t.z.boolean().optional(),deprecated:t.z.boolean().optional(),deprecationReason:t.z.string().optional(),hasFree:t.z.boolean().optional(),freeNote:t.z.string().optional(),authHint:t.z.string().optional(),apiHint:t.z.string().optional()}),r=t.z.record(t.z.string(),n);e.s(["validateProviders",0,function(e,a){let i=r.safeParse(e);if(!i.success){let e=i.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${a} has invalid entries:
|
|
2
|
-
${e}`),Error(`Provider validation failed for ${a}`)}}]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(a,i)=>{try{var t=e.i(102835),o=a([t]);[t]=o.then?(await o)():o;let n={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"}},r={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-",c="anthropic-compatible-",d="anthropic-compatible-cc-",p={...n,...r,...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"}},m=Object.values(p).reduce((e,a)=>(a.alias&&(e[a.alias]=a.id),e),{});Object.values(p).reduce((e,a)=>(e[a.id]=a.alias||a.id,e),{}),(0,t.validateProviders)(n,"FREE_PROVIDERS"),(0,t.validateProviders)(r,"OAUTH_PROVIDERS"),(0,t.validateProviders)(s,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,p,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,c,"APIKEY_PROVIDERS",0,s,"CLAUDE_CODE_COMPATIBLE_PREFIX",0,d,"FREE_PROVIDERS",0,n,"OAUTH_PROVIDERS",0,r,"OPENAI_COMPATIBLE_PREFIX",0,l,"USAGE_SUPPORTED_PROVIDERS",0,["antigravity","gemini-cli","kiro","github","codex","claude","kimi-coding","glm"],"getProviderAlias",0,function(e){let a=p[e];return a?.alias||e},"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(c)},"isClaudeCodeCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(d)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(l)}]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(a,i)=>{try{var t=e.i(878947),o=e.i(963219),n=a([o]);[o]=n.then?(await n)():n,Object.entries(o.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let r=Object.entries(t.PROVIDER_MODELS).flatMap(([e,a])=>a.map(a=>({provider:e,model:a.id,name:a.name})));e.s(["AI_MODELS",0,r]),i()}catch(e){i(e)}},!1),261189,e=>{"use strict";let a={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};e.s(["buildDynamicEmbeddingProvider",0,function(e){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");if(e.prefix.includes("/")||e.prefix.includes(" "))throw Error(`Invalid provider_node prefix "${e.prefix}": must not contain / or spaces`);let a=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${a}/embeddings`,authType:"none",authHeader:"none",models:[]}},"getAllEmbeddingModels",0,function(){let e=[];for(let[i,t]of Object.entries(a))for(let a of t.models)e.push({id:`${i}/${a.id}`,name:a.name,provider:i,dimensions:a.dimensions});return e},"getEmbeddingProvider",0,function(e){return a[e]||null},"parseEmbeddingModel",0,function(e,i){if(!e)return{provider:null,model:null};let t=e.indexOf("/");if(t>0){for(let[i]of Object.entries(a))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};if(i){for(let a of i)if(e.startsWith(a.id+"/"))return{provider:a.id,model:e.slice(a.id.length+1)}}return{provider:e.slice(0,t),model:e.slice(t+1)}}for(let[i,t]of Object.entries(a))if(t.models.some(a=>a.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},573344,e=>{"use strict";let a={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};e.s(["getAllImageModels",0,function(){let e=[];for(let[i,t]of Object.entries(a))for(let a of t.models)e.push({id:`${i}/${a.id}`,name:a.name,provider:i,supportedSizes:t.supportedSizes});return e},"getImageProvider",0,function(e){return a[e]||null},"parseImageModel",0,function(e){if(!e)return{provider:null,model:null};for(let[i,t]of Object.entries(a))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,t]of Object.entries(a))if(t.models.some(a=>a.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},991097,e=>e.a(async(a,i)=>{try{e.i(245272);var t=e.i(385498),o=e.i(186920),n=e.i(617325),r=e.i(878947),s=e.i(261189),l=e.i(573344),c=e.i(963219),d=a([n,c]);async function p(){try{let e=await (0,t.getProviderConnections)(),a=new Set(e.map(e=>e.provider)),i=await (0,o.getAllCustomModels)().catch(()=>({})),n={};for(let[e,i]of Object.entries(r.PROVIDER_MODELS)){let t=c.ALIAS_TO_ID[e]||e;for(let o of(n[e]||(n[e]={provider:c.AI_PROVIDERS[t]?.name||e,active:a.has(t),models:[]}),i))n[e].models.push({id:`${e}/${o.id}`,name:o.name,type:"chat",custom:!1})}for(let e of(0,s.getAllEmbeddingModels)()){let a=e.id.split("/")[0];n[a]||(n[a]={provider:a,active:!1,models:[]}),n[a].models.push({id:e.id,name:e.name||e.id,type:"embedding",custom:!1})}for(let e of(0,l.getAllImageModels)()){let a=e.provider;n[a]||(n[a]={provider:a,active:!1,models:[]}),n[a].models.push({id:e.id,name:e.name||e.id,type:"image",custom:!1})}for(let[e,t]of Object.entries(i)){let i=r.PROVIDER_ID_TO_ALIAS[e]||e;for(let o of(n[i]||(n[i]={provider:c.AI_PROVIDERS[e]?.name||i,active:a.has(e),models:[]}),t)){let e=`${i}/${o.id}`;if(n[i].models.some(a=>a.id===e))continue;let a="imported"!==o.source;n[i].models.push({id:e,name:o.name||o.id,type:"chat",custom:a})}}return Response.json({catalog:n})}catch(e){return Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}[n,c]=d.then?(await d)():d,e.s(["GET",0,p]),i()}catch(e){i(e)}},!1),163035,e=>e.a(async(a,i)=>{try{var t=e.i(747909),o=e.i(174017),n=e.i(996250),r=e.i(759756),s=e.i(561916),l=e.i(174677),c=e.i(869741),d=e.i(316795),p=e.i(487718),m=e.i(995169),u=e.i(47587),h=e.i(666012),b=e.i(570101),g=e.i(626937),f=e.i(10372),v=e.i(193695);e.i(820232);var x=e.i(600220),y=e.i(991097),w=a([y]);[y]=w.then?(await w)():w;let A=new t.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/models/catalog/route",pathname:"/api/models/catalog",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/models/catalog/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:P,serverHooks:E}=A;async function I(e,a,i){i.requestMeta&&(0,r.setRequestMeta)(e,i.requestMeta),A.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let t="/api/models/catalog/route";t=t.replace(/\/index$/,"")||"/";let n=await A.prepare(e,a,{srcPage:t,multiZoneDraftMode:!1});if(!n)return a.statusCode=400,a.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:y,params:w,nextConfig:I,parsedUrl:F,isDraftMode:P,prerenderManifest:E,routerServerContext:k,isOnDemandRevalidate:R,revalidateOnlyGenerated:C,resolvedPathname:_,clientReferenceManifest:S,serverActionsManifest:D}=n,O=(0,c.normalizeAppPath)(t),T=!!(E.dynamicRoutes[O]||E.routes[_]),L=async()=>((null==k?void 0:k.render404)?await k.render404(e,a,F,!1):a.end("This page could not be found"),null);if(T&&!P){let e=!!E.routes[_],a=E.dynamicRoutes[O];if(a&&!1===a.fallback&&!e){if(I.adapterPath)return await L();throw new v.NoFallbackError}}let M=null;!T||A.isDev||P||(M=_,M="/index"===M?"/":M);let U=!0===A.isDev||!T,N=T&&!U;D&&S&&(0,l.setManifestsSingleton)({page:t,clientReferenceManifest:S,serverActionsManifest:D});let B=e.method||"GET",H=(0,s.getTracer)(),z=H.getActiveScopeSpan(),G=!!(null==k?void 0:k.isWrappedByNextServer),q=!!(0,r.getRequestMeta)(e,"minimalMode"),K=(0,r.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,I,E,q);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let V={params:w,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:U,incrementalCache:K,cacheLifeProfiles:I.cacheLife,waitUntil:i.waitUntil,onClose:e=>{a.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(a,i,t,o)=>A.onRequestError(e,a,t,o,k)},sharedContext:{buildId:y}},$=new d.NodeNextRequest(e),j=new d.NodeNextResponse(a),X=p.NextRequestAdapter.fromNodeNextRequest($,(0,p.signalFromNodeResponse)(a));try{let n,r=async e=>A.handle(X,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let i=H.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route");if(o){let a=`${B} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":a}),e.updateName(a),n&&n!==e&&(n.setAttribute("http.route",o),n.updateName(a))}else e.updateName(`${B} ${t}`)}),l=async n=>{var s,l;let c=async({previousCacheEntry:o})=>{try{if(!q&&R&&C&&!o)return a.statusCode=404,a.setHeader("x-nextjs-cache","REVALIDATED"),a.end("This page could not be found"),null;let t=await r(n);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let l=V.renderOpts.collectedTags;if(!T)return await (0,h.sendResponse)($,j,t,V.renderOpts.pendingWaitUntil),null;{let e=await t.blob(),a=(0,b.toNodeOutgoingHttpHeaders)(t.headers);l&&(a[f.NEXT_CACHE_TAGS_HEADER]=l),!a["content-type"]&&e.type&&(a["content-type"]=e.type);let i=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,o=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:t.status,body:Buffer.from(await e.arrayBuffer()),headers:a},cacheControl:{revalidate:i,expire:o}}}}catch(a){throw(null==o?void 0:o.isStale)&&await A.onRequestError(e,a,{routerKind:"App Router",routePath:t,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:R})},!1,k),a}},d=await A.handleResponse({req:e,nextConfig:I,cacheKey:M,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:R,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:q});if(!T)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});q||a.setHeader("x-nextjs-cache",R?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),P&&a.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,b.fromNodeOutgoingHttpHeaders)(d.value.headers);return q&&T||p.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||a.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)($,j,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};G&&z?await l(z):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(m.BaseServerSpan.handleRequest,{spanName:`${B} ${t}`,kind:s.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},l),void 0,!G))}catch(a){if(a instanceof v.NoFallbackError||await A.onRequestError(e,a,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:R})},!1,k),T)throw a;return await (0,h.sendResponse)($,j,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:P})},"routeModule",0,A,"serverHooks",0,E,"workAsyncStorage",0,F,"workUnitAsyncStorage",0,P]),i()}catch(e){i(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(a=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(a=>e.l(a))).then(()=>a(65448)))},49794,e=>{e.v(a=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(a=>e.l(a))).then(()=>a(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))}];
|
|
2
|
+
${e}`),Error(`Provider validation failed for ${a}`)}}]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(a,i)=>{try{var t=e.i(102835),o=a([t]);[t]=o.then?(await o)():o;let n={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"}},r={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-",c="anthropic-compatible-",d="anthropic-compatible-cc-",p={...n,...r,...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"}},m=Object.values(p).reduce((e,a)=>(a.alias&&(e[a.alias]=a.id),e),{});Object.values(p).reduce((e,a)=>(e[a.id]=a.alias||a.id,e),{}),(0,t.validateProviders)(n,"FREE_PROVIDERS"),(0,t.validateProviders)(r,"OAUTH_PROVIDERS"),(0,t.validateProviders)(s,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,p,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,c,"APIKEY_PROVIDERS",0,s,"CLAUDE_CODE_COMPATIBLE_PREFIX",0,d,"FREE_PROVIDERS",0,n,"OAUTH_PROVIDERS",0,r,"OPENAI_COMPATIBLE_PREFIX",0,l,"USAGE_SUPPORTED_PROVIDERS",0,["antigravity","gemini-cli","kiro","github","codex","claude","kimi-coding","glm"],"getProviderAlias",0,function(e){let a=p[e];return a?.alias||e},"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(c)},"isClaudeCodeCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(d)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(l)}]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(a,i)=>{try{var t=e.i(878947),o=e.i(963219),n=a([o]);[o]=n.then?(await n)():n,Object.entries(o.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let r=Object.entries(t.PROVIDER_MODELS).flatMap(([e,a])=>a.map(a=>({provider:e,model:a.id,name:a.name})));e.s(["AI_MODELS",0,r]),i()}catch(e){i(e)}},!1),261189,e=>{"use strict";let a={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};e.s(["buildDynamicEmbeddingProvider",0,function(e){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");if(e.prefix.includes("/")||e.prefix.includes(" "))throw Error(`Invalid provider_node prefix "${e.prefix}": must not contain / or spaces`);let a=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${a}/embeddings`,authType:"none",authHeader:"none",models:[]}},"getAllEmbeddingModels",0,function(){let e=[];for(let[i,t]of Object.entries(a))for(let a of t.models)e.push({id:`${i}/${a.id}`,name:a.name,provider:i,dimensions:a.dimensions});return e},"getEmbeddingProvider",0,function(e){return a[e]||null},"parseEmbeddingModel",0,function(e,i){if(!e)return{provider:null,model:null};let t=e.indexOf("/");if(t>0){for(let[i]of Object.entries(a))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};if(i){for(let a of i)if(e.startsWith(a.id+"/"))return{provider:a.id,model:e.slice(a.id.length+1)}}return{provider:e.slice(0,t),model:e.slice(t+1)}}for(let[i,t]of Object.entries(a))if(t.models.some(a=>a.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},573344,e=>{"use strict";let a={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};e.s(["getAllImageModels",0,function(){let e=[];for(let[i,t]of Object.entries(a))for(let a of t.models)e.push({id:`${i}/${a.id}`,name:a.name,provider:i,supportedSizes:t.supportedSizes});return e},"getImageProvider",0,function(e){return a[e]||null},"parseImageModel",0,function(e){if(!e)return{provider:null,model:null};for(let[i,t]of Object.entries(a))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,t]of Object.entries(a))if(t.models.some(a=>a.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},991097,e=>e.a(async(a,i)=>{try{e.i(245272);var t=e.i(385498),o=e.i(186920),n=e.i(617325),r=e.i(878947),s=e.i(261189),l=e.i(573344),c=e.i(963219),d=a([n,c]);async function p(){try{let e=await (0,t.getProviderConnections)(),a=new Set(e.map(e=>e.provider)),i=await (0,o.getAllCustomModels)().catch(()=>({})),n={};for(let[e,i]of Object.entries(r.PROVIDER_MODELS)){let t=c.ALIAS_TO_ID[e]||e;for(let o of(n[e]||(n[e]={provider:c.AI_PROVIDERS[t]?.name||e,active:a.has(t),models:[]}),i))n[e].models.push({id:`${e}/${o.id}`,name:o.name,type:"chat",custom:!1})}for(let e of(0,s.getAllEmbeddingModels)()){let a=e.id.split("/")[0];n[a]||(n[a]={provider:a,active:!1,models:[]}),n[a].models.push({id:e.id,name:e.name||e.id,type:"embedding",custom:!1})}for(let e of(0,l.getAllImageModels)()){let a=e.provider;n[a]||(n[a]={provider:a,active:!1,models:[]}),n[a].models.push({id:e.id,name:e.name||e.id,type:"image",custom:!1})}for(let[e,t]of Object.entries(i)){let i=r.PROVIDER_ID_TO_ALIAS[e]||e;for(let o of(n[i]||(n[i]={provider:c.AI_PROVIDERS[e]?.name||i,active:a.has(e),models:[]}),t)){let e=`${i}/${o.id}`;if(n[i].models.some(a=>a.id===e))continue;let a="imported"!==o.source;n[i].models.push({id:e,name:o.name||o.id,type:"chat",custom:a})}}return Response.json({catalog:n})}catch(e){return Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}[n,c]=d.then?(await d)():d,e.s(["GET",0,p]),i()}catch(e){i(e)}},!1),163035,e=>e.a(async(a,i)=>{try{var t=e.i(747909),o=e.i(174017),n=e.i(996250),r=e.i(759756),s=e.i(561916),l=e.i(174677),c=e.i(869741),d=e.i(316795),p=e.i(487718),m=e.i(995169),u=e.i(47587),h=e.i(666012),b=e.i(570101),g=e.i(626937),f=e.i(10372),v=e.i(193695);e.i(820232);var x=e.i(600220),y=e.i(991097),w=a([y]);[y]=w.then?(await w)():w;let A=new t.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/models/catalog/route",pathname:"/api/models/catalog",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/models/catalog/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:P,serverHooks:E}=A;async function I(e,a,i){i.requestMeta&&(0,r.setRequestMeta)(e,i.requestMeta),A.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let t="/api/models/catalog/route";t=t.replace(/\/index$/,"")||"/";let n=await A.prepare(e,a,{srcPage:t,multiZoneDraftMode:!1});if(!n)return a.statusCode=400,a.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:y,params:w,nextConfig:I,parsedUrl:F,isDraftMode:P,prerenderManifest:E,routerServerContext:k,isOnDemandRevalidate:R,revalidateOnlyGenerated:C,resolvedPathname:_,clientReferenceManifest:S,serverActionsManifest:D}=n,O=(0,c.normalizeAppPath)(t),T=!!(E.dynamicRoutes[O]||E.routes[_]),M=async()=>((null==k?void 0:k.render404)?await k.render404(e,a,F,!1):a.end("This page could not be found"),null);if(T&&!P){let e=!!E.routes[_],a=E.dynamicRoutes[O];if(a&&!1===a.fallback&&!e){if(I.adapterPath)return await M();throw new v.NoFallbackError}}let L=null;!T||A.isDev||P||(L=_,L="/index"===L?"/":L);let U=!0===A.isDev||!T,N=T&&!U;D&&S&&(0,l.setManifestsSingleton)({page:t,clientReferenceManifest:S,serverActionsManifest:D});let B=e.method||"GET",H=(0,s.getTracer)(),z=H.getActiveScopeSpan(),G=!!(null==k?void 0:k.isWrappedByNextServer),q=!!(0,r.getRequestMeta)(e,"minimalMode"),V=(0,r.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,I,E,q);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let K={params:w,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:U,incrementalCache:V,cacheLifeProfiles:I.cacheLife,waitUntil:i.waitUntil,onClose:e=>{a.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(a,i,t,o)=>A.onRequestError(e,a,t,o,k)},sharedContext:{buildId:y}},$=new d.NodeNextRequest(e),j=new d.NodeNextResponse(a),X=p.NextRequestAdapter.fromNodeNextRequest($,(0,p.signalFromNodeResponse)(a));try{let n,r=async e=>A.handle(X,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let i=H.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route");if(o){let a=`${B} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":a}),e.updateName(a),n&&n!==e&&(n.setAttribute("http.route",o),n.updateName(a))}else e.updateName(`${B} ${t}`)}),l=async n=>{var s,l;let c=async({previousCacheEntry:o})=>{try{if(!q&&R&&C&&!o)return a.statusCode=404,a.setHeader("x-nextjs-cache","REVALIDATED"),a.end("This page could not be found"),null;let t=await r(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let s=K.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let l=K.renderOpts.collectedTags;if(!T)return await (0,h.sendResponse)($,j,t,K.renderOpts.pendingWaitUntil),null;{let e=await t.blob(),a=(0,b.toNodeOutgoingHttpHeaders)(t.headers);l&&(a[f.NEXT_CACHE_TAGS_HEADER]=l),!a["content-type"]&&e.type&&(a["content-type"]=e.type);let i=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,o=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:t.status,body:Buffer.from(await e.arrayBuffer()),headers:a},cacheControl:{revalidate:i,expire:o}}}}catch(a){throw(null==o?void 0:o.isStale)&&await A.onRequestError(e,a,{routerKind:"App Router",routePath:t,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:R})},!1,k),a}},d=await A.handleResponse({req:e,nextConfig:I,cacheKey:L,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:R,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:q});if(!T)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});q||a.setHeader("x-nextjs-cache",R?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),P&&a.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,b.fromNodeOutgoingHttpHeaders)(d.value.headers);return q&&T||p.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||a.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)($,j,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};G&&z?await l(z):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(m.BaseServerSpan.handleRequest,{spanName:`${B} ${t}`,kind:s.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},l),void 0,!G))}catch(a){if(a instanceof v.NoFallbackError||await A.onRequestError(e,a,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:R})},!1,k),T)throw a;return await (0,h.sendResponse)($,j,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:P})},"routeModule",0,A,"serverHooks",0,E,"workAsyncStorage",0,F,"workUnitAsyncStorage",0,P]),i()}catch(e){i(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(a=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(a=>e.l(a))).then(()=>a(65448)))},49794,e=>{e.v(a=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(a=>e.l(a))).then(()=>a(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0rs2ec_._.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,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)s(i,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 d(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,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...s]=d(e),{domain:a,expires:n,httponly:o,maxage:i,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{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 i of n(t))o.call(e,i)||void 0===i||s(e,i,{get:()=>t[i],enumerable:!(r=a(t,i))||r.enumerable});return e})(s({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["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 d(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("; ")}},g=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const a=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(a)?a:function(e){if(!e)return[];var t,r,s,a,n,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,n=!1;l();)if(","===(r=e.charAt(i))){for(s=i,i+=1,l(),a=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(n=!0,i=a,o.push(e.substring(t,s)),t=i):i=s+1}else i+=1;(!n||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(a)){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 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,a=this._parsed;return a.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)}}(a,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("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let s="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function n(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function o(){return t.default.join(a(),`.${s}`)}e.s(["getLegacyDotDataDir",0,o,"isSamePath",0,function(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)},"resolveDataDir",0,function({isCloud:e=!1}={}){let r;if(e)return"/tmp";let i=n(process.env.DATA_DIR);return i?i:(a(),(r=n(process.env.XDG_CONFIG_HOME))?t.default.join(r,s):o())}])},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),a=t([s]);[s]=a.then?(await a)():a,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"]])},520179,e=>e.a(async(t,r)=>{try{var s=e.i(745015),a=e.i(89171),n=e.i(841788),o=e.i(266240),i=e.i(676088),l=e.i(200392),u=e.i(195975),c=t([i,l]);[i,l]=c.then?(await c)():c;let f=["claude","codex","droid","openclaw","cline","kilo"];async function d(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool")||t.get("toolId");if(r&&!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});if(r){let e=await (0,n.listBackups)(r);return a.NextResponse.json({tool:r,backups:e})}let s={};for(let e of f)s[e]=await (0,n.listBackups)(e);return a.NextResponse.json({backups:s})}catch(e){return console.log("Error listing backups:",e.message),a.NextResponse.json({error:"Failed to list backups"},{status:500})}}async function p(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,o.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let r=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(r))return a.NextResponse.json({error:r.error},{status:400});let s=r.data.tool||r.data.toolId,{backupId:u}=r.data;if(!f.includes(s))return a.NextResponse.json({error:`Invalid tool: ${s}`},{status:400});let c=await (0,n.restoreBackup)(s,u);return a.NextResponse.json({success:!0,message:`Backup restored for ${s}`,...c})}catch(e){return console.log("Error restoring backup:",e.message),a.NextResponse.json({error:e.message||"Failed to restore backup"},{status:500})}}async function h(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)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let r=e.data.tool||e.data.toolId,{backupId:s}=e.data;if(!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});let o=await (0,n.deleteBackup)(r,s);return a.NextResponse.json({success:!0,message:`Backup deleted for ${r}`,...o})}catch(e){return console.log("Error deleting backup:",e.message),a.NextResponse.json({error:"Failed to delete backup"},{status:500})}}(0,u.ensureServerEntryExports)([d,p,h]),(0,s.registerServerReference)(d,"4063f23e2df7723f356b1933f33c17bfe1921c9d89",null),(0,s.registerServerReference)(p,"404b7ed63069891411908a1f01107948518dc60147",null),(0,s.registerServerReference)(h,"404ba62e50f51167b421280c5aeb1739e5fec0098b",null),e.s(["DELETE",0,h,"GET",0,d,"POST",0,p]),r()}catch(e){r(e)}},!1),642665,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),x=e.i(10372),v=e.i(193695);e.i(820232);var y=e.i(600220),R=e.i(520179),b=t([R]);[R]=b.then?(await b)():b;let A=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/backups/route",pathname:"/api/cli-tools/backups",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/backups/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:C,serverHooks:k}=A;async function w(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cli-tools/backups/route";s=s.replace(/\/index$/,"")||"/";let n=await A.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:b,nextConfig:w,parsedUrl:E,isDraftMode:C,prerenderManifest:k,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:I}=n,P=(0,u.normalizeAppPath)(s),q=!!(k.dynamicRoutes[P]||k.routes[N]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!k.routes[N],t=k.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await D();throw new v.NoFallbackError}}let T=null;!q||A.isDev||C||(T=N,T="/index"===T?"/":T);let $=!0===A.isDev||!q,M=q&&!$;I&&O&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:O,serverActionsManifest:I});let U=e.method||"GET",H=(0,i.getTracer)(),B=H.getActiveScopeSpan(),F=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),K=(0,o.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,w,k,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:b,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:w.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>A.onRequestError(e,t,s,a,_)},sharedContext:{buildId:R}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,o=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")!==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 a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${U} ${s}`)}),l=async n=>{var i,l;let u=async({previousCacheEntry:a})=>{try{if(!L&&S&&j&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,f.sendResponse)(G,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[x.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>=x.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),t}},c=await A.handleResponse({req:e,nextConfig:w,cacheKey:T,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:L});if(!q)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==y.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});L||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&q||d.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)(G,V,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};F&&B?await l(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${s}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),q)throw t;return await (0,f.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:C})},"routeModule",0,A,"serverHooks",0,k,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,C]),r()}catch(e){r(e)}},!1)];
|
|
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,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)s(i,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 d(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,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...s]=d(e),{domain:a,expires:n,httponly:o,maxage:i,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{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 i of n(t))o.call(e,i)||void 0===i||s(e,i,{get:()=>t[i],enumerable:!(r=a(t,i))||r.enumerable});return e})(s({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["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 d(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("; ")}},g=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const a=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(a)?a:function(e){if(!e)return[];var t,r,s,a,n,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,n=!1;l();)if(","===(r=e.charAt(i))){for(s=i,i+=1,l(),a=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(n=!0,i=a,o.push(e.substring(t,s)),t=i):i=s+1}else i+=1;(!n||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(a)){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 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,a=this._parsed;return a.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)}}(a,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("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let s="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function n(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function o(){return t.default.join(a(),`.${s}`)}e.s(["getLegacyDotDataDir",0,o,"isSamePath",0,function(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)},"resolveDataDir",0,function({isCloud:e=!1}={}){let r;if(e)return"/tmp";let i=n(process.env.DATA_DIR);return i?i:(a(),(r=n(process.env.XDG_CONFIG_HOME))?t.default.join(r,s):o())}])},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),a=t([s]);[s]=a.then?(await a)():a,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"]])},520179,e=>e.a(async(t,r)=>{try{var s=e.i(745015),a=e.i(89171),n=e.i(841788),o=e.i(266240),i=e.i(676088),l=e.i(200392),u=e.i(195975),c=t([i,l]);[i,l]=c.then?(await c)():c;let f=["claude","codex","droid","openclaw","cline","kilo"];async function d(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool")||t.get("toolId");if(r&&!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});if(r){let e=await (0,n.listBackups)(r);return a.NextResponse.json({tool:r,backups:e})}let s={};for(let e of f)s[e]=await (0,n.listBackups)(e);return a.NextResponse.json({backups:s})}catch(e){return console.log("Error listing backups:",e.message),a.NextResponse.json({error:"Failed to list backups"},{status:500})}}async function p(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,o.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let r=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(r))return a.NextResponse.json({error:r.error},{status:400});let s=r.data.tool||r.data.toolId,{backupId:u}=r.data;if(!f.includes(s))return a.NextResponse.json({error:`Invalid tool: ${s}`},{status:400});let c=await (0,n.restoreBackup)(s,u);return a.NextResponse.json({success:!0,message:`Backup restored for ${s}`,...c})}catch(e){return console.log("Error restoring backup:",e.message),a.NextResponse.json({error:e.message||"Failed to restore backup"},{status:500})}}async function h(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)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let r=e.data.tool||e.data.toolId,{backupId:s}=e.data;if(!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});let o=await (0,n.deleteBackup)(r,s);return a.NextResponse.json({success:!0,message:`Backup deleted for ${r}`,...o})}catch(e){return console.log("Error deleting backup:",e.message),a.NextResponse.json({error:"Failed to delete backup"},{status:500})}}(0,u.ensureServerEntryExports)([d,p,h]),(0,s.registerServerReference)(d,"404e18b0b51614ceddffa90c1c6fe01290528cfe55",null),(0,s.registerServerReference)(p,"40ae35eeb9a810c1bf5f5cad42d7e6bb8dc7cfebb9",null),(0,s.registerServerReference)(h,"4022c28b6353550fc79b9fac2b12df0ee02018c8c1",null),e.s(["DELETE",0,h,"GET",0,d,"POST",0,p]),r()}catch(e){r(e)}},!1),642665,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),x=e.i(10372),v=e.i(193695);e.i(820232);var y=e.i(600220),R=e.i(520179),b=t([R]);[R]=b.then?(await b)():b;let A=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/backups/route",pathname:"/api/cli-tools/backups",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/backups/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:k,serverHooks:C}=A;async function w(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cli-tools/backups/route";s=s.replace(/\/index$/,"")||"/";let n=await A.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:b,nextConfig:w,parsedUrl:E,isDraftMode:k,prerenderManifest:C,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:I}=n,P=(0,u.normalizeAppPath)(s),q=!!(C.dynamicRoutes[P]||C.routes[N]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!k){let e=!!C.routes[N],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await D();throw new v.NoFallbackError}}let T=null;!q||A.isDev||k||(T=N,T="/index"===T?"/":T);let $=!0===A.isDev||!q,M=q&&!$;I&&O&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:O,serverActionsManifest:I});let U=e.method||"GET",H=(0,i.getTracer)(),B=H.getActiveScopeSpan(),F=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),K=(0,o.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,w,C,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:b,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:w.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>A.onRequestError(e,t,s,a,_)},sharedContext:{buildId:R}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,o=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")!==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 a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${U} ${s}`)}),l=async n=>{var i,l;let u=async({previousCacheEntry:a})=>{try{if(!L&&S&&j&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,f.sendResponse)(G,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[x.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>=x.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),t}},c=await A.handleResponse({req:e,nextConfig:w,cacheKey:T,routeKind:a.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==c||null==(i=c.value)?void 0:i.kind)!==y.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});L||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&q||d.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)(G,V,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};F&&B?await l(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${s}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),q)throw t;return await (0,f.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:k})},"routeModule",0,A,"serverHooks",0,C,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,k]),r()}catch(e){r(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0s1dq3.._.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,o)=>{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,o)=>{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,o)=>{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,o)=>{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,o)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,o)=>{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,o)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,o)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,o)=>{"use strict";var i=Object.defineProperty,
|
|
2
|
-
${i}`.trim()||"Qoder CLI request failed",a
|
|
1
|
+
module.exports=[918622,(e,t,o)=>{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,o)=>{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,o)=>{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,o)=>{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,o)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,o)=>{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,o)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,o)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,o)=>{"use strict";var i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>g,ResponseCookies:()=>b,parseCookie:()=>p,parseSetCookie:()=>m,stringifyCookie:()=>d};for(var c in l)i(s,c,{get:l[c],enumerable:!0});function d(e){var t;let o=["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),i=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===o.length?i:`${i}; ${o.join("; ")}`}function p(e){let t=new Map;for(let o of e.split(/; */)){if(!o)continue;let e=o.indexOf("=");if(-1===e){t.set(o,"true");continue}let[i,a]=[o.slice(0,e),o.slice(e+1)];try{t.set(i,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function m(e){if(!e)return;let[[t,o],...i]=p(e),{domain:a,expires:r,httponly:n,maxage:s,path:l,samesite:c,secure:d,partitioned:m,priority:g}=Object.fromEntries(i.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var b,y,f={name:t,value:decodeURIComponent(o),domain:a,...r&&{expires:new Date(r)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...c&&{sameSite:u.includes(b=(b=c).toLowerCase())?b:void 0},...d&&{secure:!0},...g&&{priority:h.includes(y=(y=g).toLowerCase())?y:void 0},...m&&{partitioned:!0}};let e={};for(let t in f)f[t]&&(e[t]=f[t]);return e}}t.exports=((e,t,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of r(t))n.call(e,s)||void 0===s||i(e,s,{get:()=>t[s],enumerable:!(o=a(t,s))||o.enumerable});return e})(i({},"__esModule",{value:!0}),s);var u=["strict","lax","none"],h=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,o]of p(t))this._parsed.set(e,{name:e,value:o})}[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 o=Array.from(this._parsed);if(!e.length)return o.map(([e,t])=>t);let i="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return o.filter(([e])=>e===i).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,o]=1===e.length?[e[0].name,e[0].value]:e,i=this._parsed;return i.set(t,{name:t,value:o}),this._headers.set("cookie",Array.from(i).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,o=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),o}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("; ")}},b=class{constructor(e){var t,o,i;this._parsed=new Map,this._headers=e;const a=null!=(i=null!=(o=null==(t=e.getSetCookie)?void 0:t.call(e))?o:e.get("set-cookie"))?i:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,o,i,a,r,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,r=!1;l();)if(","===(o=e.charAt(s))){for(i=s,s+=1,l(),a=s;s<e.length&&"="!==(o=e.charAt(s))&&";"!==o&&","!==o;)s+=1;s<e.length&&"="===e.charAt(s)?(r=!0,s=a,n.push(e.substring(t,i)),t=s):s=i+1}else s+=1;(!r||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(a)){const t=m(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 o=Array.from(this._parsed.values());if(!e.length)return o;let i="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return o.filter(e=>e.name===i)}has(e){return this._parsed.has(e)}set(...e){let[t,o,i]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.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:o,...i})),function(e,t){for(let[,o]of(t.delete("set-cookie"),e)){let e=d(o);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,o]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...o,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(d).join("; ")}}},677850,e=>e.a(async(t,o)=>{try{let t=await e.y("zod");e.n(t),o()}catch(e){o(e)}},!0),233405,(e,t,o)=>{t.exports=e.x("child_process",()=>require("child_process"))},180725,e=>{"use strict";e.i(245272),e.s([])},679468,e=>{"use strict";var t=e.i(233405),o=e.i(254799);let i="qoder-rome-30ba3b",a=[{id:"qoder-rome-30ba3b",name:"Qoder ROME"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 Vision Plus"},{id:"kimi-k2-0905",name:"Kimi K2 0905"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b",name:"Qwen3 235B"}];function r(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function n(e){return"string"==typeof e?e:""}function s(){return String(process.env.CLI_QODER_BIN||"").trim()||"qodercli"}function l(){let e=String(process.env.QODER_CLI_WORKSPACE||process.env.OMNIROUTE_QODER_WORKSPACE||"").trim();return e||String(process.env.HOME||"").trim()||process.cwd()}function c(e){let t=String(e||"").trim().toLowerCase();return t?t.includes("deepseek-r1")?"ultimate":t.includes("qwen3-max")?"performance":t.includes("kimi-k2")?"kmodel":t.includes("qwen3-coder")||t.includes("qoder-rome")?"qmodel":"auto":null}function d(e,t=""){let o=String(e||"").trim(),i=String(t||"").trim(),a=`${o}
|
|
2
|
+
${i}`.trim()||"Qoder CLI request failed",r=a.toLowerCase();return r.includes("invalid api key")||r.includes("invalid token")||r.includes("personal access token")||r.includes("unauthorized")&&r.includes("qoder")?{status:401,message:a,code:"upstream_auth_error"}:r.includes("command not found")||r.includes("not installed")||r.includes("enoent")||r.includes("no such file or directory")?{status:503,message:a,code:"runtime_error"}:r.includes("timed out")||r.includes("timeout")?{status:504,message:a,code:"timeout"}:{status:502,message:a,code:"upstream_error"}}async function p({token:e,prompt:o,stream:a,model:r,workspace:n,command:d,signal:m,timeoutMs:u=45e3}){let h=String(d||s()).trim(),g=["-q","-p",o,"--max-turns","1","--workspace",String(n||l()).trim()||process.cwd(),"--output-format",a?"stream-json":"json"],b=c(r||i);return b&&g.push("--model",b),new Promise(o=>{let i="",a="",r=!1,n=!1,s=(0,t.spawn)(h,g,{env:{...process.env,QODER_PERSONAL_ACCESS_TOKEN:e},stdio:["ignore","pipe","pipe"],...{}}),l=e=>{n||(n=!0,clearTimeout(p),m?.removeEventListener?.("abort",d),o(e))},c=()=>{try{s.kill("SIGTERM")}catch{}setTimeout(()=>{try{s.kill("SIGKILL")}catch{}},250).unref?.()},d=()=>{c(),l({ok:!1,code:null,stdout:i.trim(),stderr:a.trim(),timedOut:!1,error:"aborted"})};if(m?.aborted)return void d();m?.addEventListener?.("abort",d,{once:!0});let p=setTimeout(()=>{r=!0,c()},u);s.stdout.on("data",e=>{i+=e.toString()}),s.stderr.on("data",e=>{a+=e.toString()}),s.on("error",e=>{l({ok:!1,code:null,stdout:i.trim(),stderr:a.trim(),timedOut:r,error:e?.message||"spawn_error"})}),s.on("close",e=>{l({ok:!r&&0===e,code:e,stdout:i.trim(),stderr:a.trim(),timedOut:r,error:r?"timeout":null})})})}async function m({apiKey:e,providerSpecificData:t={}}){let o=n(t.validationModelId).trim()||n(t.modelId).trim(),a=await p({token:e,prompt:"Reply with OK only.",stream:!1,model:o||i,workspace:l(),timeoutMs:3e4});if(!a.ok){let e=d(a.stderr||a.error||"",a.stdout);return{valid:!1,error:401===e.status?"Invalid API key":e.message,unsupported:!1}}return{valid:!0,error:null,unsupported:!1}}e.s(["buildQoderChunk",0,function({id:e,model:t,created:o,delta:i,finishReason:a=null}){return{id:e,object:"chat.completion.chunk",created:o,model:t,choices:[{index:0,delta:i,finish_reason:a}]}},"buildQoderCompletionPayload",0,function({model:e,text:t}){let a=Math.floor(Date.now()/1e3);return{id:`chatcmpl-${o.default.randomUUID()}`,object:"chat.completion",created:a,model:e||i,choices:[{index:0,message:{role:"assistant",content:t},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}},"buildQoderPrompt",0,function(e){let t=r(e),o=["You are answering an OmniRoute OpenAI-compatible request through the Qoder CLI transport.","Respond as a plain language model only.","Do not use your own tools, do not inspect files, and do not run commands.","Do not mention the adapter unless the user explicitly asks."],i=Array.isArray(t.tools)?t.tools:[];if(i.length>0){let e=i.map(e=>{let t=r(e);return n(("function"===t.type?r(t.function):t).name).trim()}).filter(Boolean).join(", ");e&&(o.push(`Caller-side tools are available externally: ${e}.`),o.push("Do not call those tools yourself. Answer in assistant text only."))}let a=r(t.response_format);if("json_object"===a.type)o.push("Return only valid JSON.");else if("json_schema"===a.type&&a.json_schema&&"object"==typeof a.json_schema){let e=r(a.json_schema);e.schema&&"object"==typeof e.schema&&o.push(`Return only valid JSON matching this schema:
|
|
3
3
|
${JSON.stringify(e.schema,null,2)}`)}let s=Array.isArray(t.messages)?t.messages:Array.isArray(t.input)?t.input:[];if(s.length>0)for(let e of(o.push("Conversation transcript:"),s)){let t=function(e){var t;if(!e||"object"!=typeof e)return"";let o=n(e.role).trim().toUpperCase()||"UNKNOWN",i="string"==typeof(t=e.content)?t:Array.isArray(t)?t.map(e=>{if("string"==typeof e)return e;if(!e||"object"!=typeof e)return"";let t=n(e.type);return"text"===t||"input_text"===t?n(e.text):"image_url"===t||"input_image"===t?"[Image omitted]":""}).filter(Boolean).join("\n"):"";if("TOOL"===o){let t=n(e.name).trim();return`TOOL${t?` (${t})`:""}:
|
|
4
|
-
${i}`.trim()}let
|
|
4
|
+
${i}`.trim()}let a=Array.isArray(e.tool_calls)?e.tool_calls:[];if(a.length>0){let e=a.map(e=>{let t=r(e),o=r(t.function),i=n(o.name).trim()||n(t.name).trim()||"tool",a=n(o.arguments).trim()||n(t.arguments).trim();return`TOOL_CALL ${i}: ${a}`.trim()}).filter(Boolean).join("\n");return`${o}:
|
|
5
5
|
${i}
|
|
6
6
|
${e}`.trim()}return`${o}:
|
|
7
|
-
${i}`.trim()}(e);t&&o.push(t)}return o.push("Reply now with the assistant response only."),o.filter(Boolean).join("\n\n")},"createQoderErrorResponse",0,function(e){return new Response(JSON.stringify({error:{message:e.message,type:401===e.status?"authentication_error":"provider_error",code:e.code}}),{status:e.status,headers:{"Content-Type":"application/json"}})},"extractTextFromQoderEnvelope",0,function(e){let t=
|
|
8
|
-
${e}`),Error(`Provider validation failed for ${t}`)}}]),o()}catch(e){o(e)}},!1),963219,e=>e.a(async(t,o)=>{try{var i=e.i(102835),r=t([i]);[i]=r.then?(await r)():r;let a={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-",c="anthropic-compatible-",d="anthropic-compatible-cc-",p={...a,...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"}},m=Object.values(p).reduce((e,t)=>(t.alias&&(e[t.alias]=t.id),e),{});Object.values(p).reduce((e,t)=>(e[t.id]=t.alias||t.id,e),{}),(0,i.validateProviders)(a,"FREE_PROVIDERS"),(0,i.validateProviders)(n,"OAUTH_PROVIDERS"),(0,i.validateProviders)(s,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,p,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,c,"APIKEY_PROVIDERS",0,s,"CLAUDE_CODE_COMPATIBLE_PREFIX",0,d,"FREE_PROVIDERS",0,a,"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=p[e];return t?.alias||e},"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(c)},"isClaudeCodeCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(d)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(l)}]),o()}catch(e){o(e)}},!1),617325,e=>e.a(async(t,o)=>{try{var i=e.i(878947),r=e.i(963219),a=t([r]);[r]=a.then?(await a)():a,Object.entries(r.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(i.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),o()}catch(e){o(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)))}];
|
|
7
|
+
${i}`.trim()}(e);t&&o.push(t)}return o.push("Reply now with the assistant response only."),o.filter(Boolean).join("\n\n")},"createQoderErrorResponse",0,function(e){return new Response(JSON.stringify({error:{message:e.message,type:401===e.status?"authentication_error":"provider_error",code:e.code}}),{status:e.status,headers:{"Content-Type":"application/json"}})},"extractTextFromQoderEnvelope",0,function(e){let t=r(e),o=r(t.message).content??t.content??t.delta??t.text??null;return"string"==typeof o?o:Array.isArray(o)?o.map(e=>{let t=r(e),o=n(t.type).trim();return"text"!==o&&o?"":n(t.text)}).filter(Boolean).join(""):""},"getQoderCliCommand",0,s,"getQoderCliWorkspace",0,l,"getStaticQoderModels",0,function(){return a.map(e=>({...e}))},"mapQoderModelToLevel",0,c,"normalizeQoderPatProviderData",0,function(e={}){return{...e,authMode:"pat",transport:"qodercli"}},"parseQoderCliFailure",0,d,"runQoderCliCommand",0,p,"validateQoderCliPat",0,m])},102835,e=>e.a(async(t,o)=>{try{var i=e.i(677850),a=t([i]);[i]=a.then?(await a)():a;let r=i.z.object({id:i.z.string().min(1),alias:i.z.string().min(1).optional(),name:i.z.string().min(1),icon:i.z.string().min(1),color:i.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:i.z.string().optional(),website:i.z.string().url().optional(),passthroughModels:i.z.boolean().optional(),deprecated:i.z.boolean().optional(),deprecationReason:i.z.string().optional(),hasFree:i.z.boolean().optional(),freeNote:i.z.string().optional(),authHint:i.z.string().optional(),apiHint:i.z.string().optional()}),n=i.z.record(i.z.string(),r);e.s(["validateProviders",0,function(e,t){let o=n.safeParse(e);if(!o.success){let e=o.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
|
|
8
|
+
${e}`),Error(`Provider validation failed for ${t}`)}}]),o()}catch(e){o(e)}},!1),963219,e=>e.a(async(t,o)=>{try{var i=e.i(102835),a=t([i]);[i]=a.then?(await a)():a;let r={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-",c="anthropic-compatible-",d="anthropic-compatible-cc-",p={...r,...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"}},m=Object.values(p).reduce((e,t)=>(t.alias&&(e[t.alias]=t.id),e),{});Object.values(p).reduce((e,t)=>(e[t.id]=t.alias||t.id,e),{}),(0,i.validateProviders)(r,"FREE_PROVIDERS"),(0,i.validateProviders)(n,"OAUTH_PROVIDERS"),(0,i.validateProviders)(s,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,p,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,c,"APIKEY_PROVIDERS",0,s,"CLAUDE_CODE_COMPATIBLE_PREFIX",0,d,"FREE_PROVIDERS",0,r,"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=p[e];return t?.alias||e},"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(c)},"isClaudeCodeCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(d)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(l)}]),o()}catch(e){o(e)}},!1),617325,e=>e.a(async(t,o)=>{try{var i=e.i(878947),a=e.i(963219),r=t([a]);[a]=r.then?(await r)():r,Object.entries(a.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(i.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),o()}catch(e){o(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)))}];
|
|
9
9
|
|
|
10
10
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0s1ya.l._.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,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function d(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,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...s]=p(e),{domain:a,expires:n,httponly:i,maxage:o,path:l,samesite:u,secure:d,partitioned:c,priority:f}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,v,y={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...d&&{secure:!0},...f&&{priority:m.includes(v=(v=f).toLowerCase())?v:void 0},...c&&{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 n(t))i.call(e,o)||void 0===o||s(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(s({},"__esModule",{value:!0}),o);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 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])=>d(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])=>d(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,s;this._parsed=new Map,this._headers=e;const a=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(a)?a:function(e){if(!e)return[];var t,r,s,a,n,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,n=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(n=!0,o=a,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!n||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(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,a=this._parsed;return a.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=d(r);t.append("set-cookie",e)}}(a,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(d).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 s=e.i(677850),a=t([s]);[s]=a.then?(await a)():a,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"]])},180725,e=>{"use strict";e.i(245272),e.s([])},893684,e=>e.a(async(t,r)=>{try{var s=e.i(89171);e.i(180725);var a=e.i(125852),n=e.i(186920),i=e.i(676088),o=e.i(200392),l=t([i,o]);async function u(e){let t;try{t=await e.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let r=e.headers.get("Authorization");if(!r?.startsWith("Bearer "))return s.NextResponse.json({error:"Missing API key"},{status:401});let l=r.slice(7),u=(0,o.validateBody)(i.cloudResolveAliasSchema,t);if((0,o.isValidationFailure)(u))return s.NextResponse.json({error:u.error},{status:400});let{alias:d}=u.data;if(!await (0,a.validateApiKey)(l))return s.NextResponse.json({error:"Invalid API key"},{status:401});let p=(await (0,n.getModelAliases)())[d],c="string"==typeof p?p:null;if(c){let e=c.indexOf("/");if(e>0)return s.NextResponse.json({alias:d,provider:c.slice(0,e),model:c.slice(e+1)})}return s.NextResponse.json({error:"Alias not found"},{status:404})}catch(e){return console.log("Model resolve error:",e),s.NextResponse.json({error:"Internal error"},{status:500})}}[i,o]=l.then?(await l)():l,e.s(["POST",0,u]),r()}catch(e){r(e)}},!1),533304,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),p=e.i(487718),c=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 x=e.i(600220),R=e.i(893684),w=t([R]);[R]=w.then?(await w)():w;let _=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cloud/model/resolve/route",pathname:"/api/cloud/model/resolve",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cloud/model/resolve/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:C,serverHooks:E}=_;async function A(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),_.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cloud/model/resolve/route";s=s.replace(/\/index$/,"")||"/";let n=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:A,parsedUrl:b,isDraftMode:C,prerenderManifest:E,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,resolvedPathname:O,clientReferenceManifest:P,serverActionsManifest:N}=n,I=(0,u.normalizeAppPath)(s),q=!!(E.dynamicRoutes[I]||E.routes[O]),T=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!E.routes[O],t=E.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await T();throw new y.NoFallbackError}}let D=null;!q||_.isDev||C||(D=O,D="/index"===D?"/":D);let M=!0===_.isDev||!q,$=q&&!M;N&&P&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:N});let U=e.method||"GET",H=(0,o.getTracer)(),B=H.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),L=(0,i.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,A,E,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let z={params:w,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>_.onRequestError(e,t,s,a,S)},sharedContext:{buildId:R}},V=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),G=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let n,i=async e=>_.handle(G,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")!==c.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 a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${U} ${s}`)}),l=async n=>{var o,l;let u=async({previousCacheEntry:a})=>{try{if(!K&&j&&k&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);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,m.sendResponse)(V,W,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.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,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:j})},!1,S),t}},d=await _.handleResponse({req:e,nextConfig:A,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:K});if(!q)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",j?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&q||p.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,m.sendResponse)(V,W,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F&&B?await l(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof y.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:j})},!1,S),q)throw t;return await (0,m.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:C})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,C]),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 s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function d(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,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...s]=p(e),{domain:a,expires:n,httponly:i,maxage:o,path:l,samesite:u,secure:d,partitioned:c,priority:f}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,v,y={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...d&&{secure:!0},...f&&{priority:m.includes(v=(v=f).toLowerCase())?v:void 0},...c&&{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 n(t))i.call(e,o)||void 0===o||s(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(s({},"__esModule",{value:!0}),o);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 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])=>d(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])=>d(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,s;this._parsed=new Map,this._headers=e;const a=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(a)?a:function(e){if(!e)return[];var t,r,s,a,n,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,n=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(n=!0,o=a,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!n||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(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,a=this._parsed;return a.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=d(r);t.append("set-cookie",e)}}(a,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(d).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 s=e.i(677850),a=t([s]);[s]=a.then?(await a)():a,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"]])},180725,e=>{"use strict";e.i(245272),e.s([])},893684,e=>e.a(async(t,r)=>{try{var s=e.i(89171);e.i(180725);var a=e.i(125852),n=e.i(186920),i=e.i(676088),o=e.i(200392),l=t([i,o]);async function u(e){let t;try{t=await e.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let r=e.headers.get("Authorization");if(!r?.startsWith("Bearer "))return s.NextResponse.json({error:"Missing API key"},{status:401});let l=r.slice(7),u=(0,o.validateBody)(i.cloudResolveAliasSchema,t);if((0,o.isValidationFailure)(u))return s.NextResponse.json({error:u.error},{status:400});let{alias:d}=u.data;if(!await (0,a.validateApiKey)(l))return s.NextResponse.json({error:"Invalid API key"},{status:401});let p=(await (0,n.getModelAliases)())[d],c="string"==typeof p?p:null;if(c){let e=c.indexOf("/");if(e>0)return s.NextResponse.json({alias:d,provider:c.slice(0,e),model:c.slice(e+1)})}return s.NextResponse.json({error:"Alias not found"},{status:404})}catch(e){return console.log("Model resolve error:",e),s.NextResponse.json({error:"Internal error"},{status:500})}}[i,o]=l.then?(await l)():l,e.s(["POST",0,u]),r()}catch(e){r(e)}},!1),533304,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),p=e.i(487718),c=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 x=e.i(600220),R=e.i(893684),w=t([R]);[R]=w.then?(await w)():w;let _=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cloud/model/resolve/route",pathname:"/api/cloud/model/resolve",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cloud/model/resolve/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:C,serverHooks:E}=_;async function A(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),_.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cloud/model/resolve/route";s=s.replace(/\/index$/,"")||"/";let n=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:A,parsedUrl:b,isDraftMode:C,prerenderManifest:E,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,resolvedPathname:O,clientReferenceManifest:P,serverActionsManifest:N}=n,I=(0,u.normalizeAppPath)(s),q=!!(E.dynamicRoutes[I]||E.routes[O]),T=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!E.routes[O],t=E.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await T();throw new y.NoFallbackError}}let D=null;!q||_.isDev||C||(D=O,D="/index"===D?"/":D);let M=!0===_.isDev||!q,$=q&&!M;N&&P&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:N});let U=e.method||"GET",H=(0,o.getTracer)(),B=H.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),L=(0,i.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,A,E,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let z={params:w,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>_.onRequestError(e,t,s,a,S)},sharedContext:{buildId:R}},V=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),G=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let n,i=async e=>_.handle(G,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")!==c.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 a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${U} ${s}`)}),l=async n=>{var o,l;let u=async({previousCacheEntry:a})=>{try{if(!K&&j&&k&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);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,m.sendResponse)(V,W,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.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,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:j})},!1,S),t}},d=await _.handleResponse({req:e,nextConfig:A,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:K});if(!q)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",j?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&q||p.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,m.sendResponse)(V,W,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F&&B?await l(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof y.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:j})},!1,S),q)throw t;return await (0,m.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:C})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,C]),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__0svm~lc._.js.map
|