omniroute 3.4.7 → 3.4.8
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_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_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/system/version/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +15 -15
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +11 -11
- package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +5 -5
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +14 -14
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/completions/route.js +14 -14
- package/app/.next/server/app/api/v1/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +10 -10
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +16 -16
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route.js +5 -5
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/moderations/route.js +9 -9
- package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/music/generations/route.js +10 -10
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +16 -16
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +7 -7
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +10 -10
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/rerank/route.js +9 -9
- package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/[...path]/route.js +16 -16
- package/app/.next/server/app/api/v1/responses/[...path]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +16 -16
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/route.js +5 -5
- package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/search/analytics/route.js +7 -7
- package/app/.next/server/app/api/v1/search/analytics/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route.js +10 -10
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +14 -14
- package/app/.next/server/app/api/v1beta/models/[...path]/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]__0nxyldc._.js → [root-of-the-server]__0-zca2p._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0urvs3.._.js → [root-of-the-server]__01hbf~_._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__01ojood._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__030_-af._.js +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0j~-yu1._.js → [root-of-the-server]__03l6k3k._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__01b8762._.js → [root-of-the-server]__05~jdzu._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__07eee_s._.js → [root-of-the-server]__08~6j3q._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0a8ozdb._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0bd4ccn._.js +2 -2
- package/app/.next/server/chunks/{[root-of-the-server]__0_a98vk._.js → [root-of-the-server]__0d6bqbw._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0_c_.ye._.js → [root-of-the-server]__0f2rz58._.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]__06stuoz._.js → [root-of-the-server]__0jvnjwl._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0mj7x5~._.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]__0-y3k-t._.js → [root-of-the-server]__0nzi7ym._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0ofxxzh._.js +2 -2
- package/app/.next/server/chunks/{[root-of-the-server]__0uu3t5x._.js → [root-of-the-server]__0pd~24c._.js} +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0s1dq3.._.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]__0u5-mph._.js +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0vi3.0k._.js → [root-of-the-server]__0uryxsh._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0lwc40h._.js → [root-of-the-server]__0v1kwmx._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__04y3b4q._.js → [root-of-the-server]__0vt49c9._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0pylsu2._.js → [root-of-the-server]__0vy97gy._.js} +2 -2
- package/app/.next/server/chunks/{[root-of-the-server]__0~s45~f._.js → [root-of-the-server]__0wd~o5b._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0x5yxjy._.js +2 -2
- package/app/.next/server/chunks/{[root-of-the-server]__0vmajf6._.js → [root-of-the-server]__0x_hqjb._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0~0hd.s._.js +2 -2
- package/app/.next/server/chunks/{[root-of-the-server]__10~-ypp._.js → [root-of-the-server]__11ptf~3._.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/{_0ucpa5q._.js → _02._8wx._.js} +1 -1
- package/app/.next/server/chunks/_036lxbr._.js +1 -1
- package/app/.next/server/chunks/_05reh6o._.js +1 -1
- package/app/.next/server/chunks/{_0-~thzo._.js → _083_x9z._.js} +2 -2
- package/app/.next/server/chunks/_083a5zg._.js +1 -1
- package/app/.next/server/chunks/{_004r3br._.js → _08cwbl2._.js} +2 -2
- 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/_0dfpto1._.js +1 -1
- package/app/.next/server/chunks/_0due8oe._.js +1 -1
- package/app/.next/server/chunks/_0h-j8c2._.js +1 -1
- package/app/.next/server/chunks/_0vx-r0i._.js +2 -2
- package/app/.next/server/chunks/_0w4f3bm._.js +1 -1
- package/app/.next/server/chunks/_10.rw9f._.js +1 -1
- package/app/.next/server/chunks/open-sse_0dawtxk._.js +2 -2
- package/app/.next/server/chunks/open-sse_0p~.88y._.js +1 -1
- package/app/.next/server/chunks/open-sse_0sthby3._.js +1 -1
- package/app/.next/server/chunks/src_0cbm0~g._.js +1 -1
- package/app/.next/server/chunks/src_shared_utils_apiKey_ts_0gzf59_._.js +1 -1
- package/app/.next/server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js +1 -1
- package/app/.next/server/chunks/ssr/_008ht2n._.js +1 -1
- package/app/.next/server/chunks/ssr/_0oo1f90._.js +1 -1
- package/app/.next/server/chunks/ssr/src_04s-8a5._.js +1 -1
- package/app/.next/server/chunks/ssr/src_0vjsxxr._.js +1 -1
- package/app/.next/server/chunks/ssr/src_shared_utils_apiKey_ts_0l8g1z8._.js +1 -1
- 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/0ipwpwjb2g0uv.js +1 -0
- package/app/.next/static/chunks/0~c--kcvaumm~.js +1 -0
- package/app/.next/static/chunks/{02q7h~xz7j6i3.js → 0~v1trn07bitv.js} +1 -1
- package/app/CHANGELOG.md +12 -0
- package/app/bin/reset-password.mjs +3 -1
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/config/registryUtils.ts +1 -0
- package/app/open-sse/config/videoRegistry.ts +1 -3
- package/app/open-sse/executors/antigravity.ts +22 -12
- package/app/open-sse/executors/gemini-cli.ts +3 -1
- package/app/open-sse/executors/qoder.ts +1 -8
- package/app/open-sse/handlers/audioSpeech.ts +1 -0
- package/app/open-sse/handlers/chatCore.ts +2 -1
- package/app/open-sse/handlers/embeddings.ts +1 -0
- package/app/open-sse/handlers/imageGeneration.ts +6 -2
- package/app/open-sse/handlers/musicGeneration.ts +9 -2
- package/app/open-sse/handlers/search.ts +1 -0
- package/app/open-sse/handlers/videoGeneration.ts +11 -3
- package/app/open-sse/mcp-server/index.ts +0 -1
- package/app/open-sse/package.json +1 -1
- package/app/open-sse/services/claudeCodeCompatible.ts +2 -2
- package/app/open-sse/services/modelCapabilities.ts +3 -4
- package/app/open-sse/services/qoderCli.ts +5 -2
- package/app/open-sse/services/tokenRefresh.ts +3 -1
- package/app/open-sse/services/usage.ts +13 -9
- package/app/open-sse/services/workflowFSM.ts +298 -61
- package/app/open-sse/translator/index.ts +5 -1
- package/app/open-sse/translator/response/gemini-to-openai.ts +5 -1
- package/app/open-sse/utils/progressTracker.ts +4 -1
- package/app/open-sse/utils/stream.ts +7 -1
- package/app/open-sse/utils/streamPayloadCollector.ts +5 -1
- package/app/package-lock.json +3 -3
- package/app/package.json +1 -1
- package/app/scripts/check-route-validation.mjs +3 -1
- package/app/scripts/i18n/apply-priority-overrides.mjs +7 -1
- package/app/scripts/prepublish.mjs +2 -2
- package/app/scripts/run-protocol-clients-tests.mjs +7 -1
- package/app/src/app/(dashboard)/dashboard/analytics/components/DiversityScoreCard.tsx +1 -1
- package/app/src/app/(dashboard)/dashboard/auto-combo/page.tsx +0 -1
- package/app/src/app/(dashboard)/dashboard/media/MediaPageClient.tsx +9 -3
- package/app/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +25 -23
- package/app/src/app/(dashboard)/dashboard/search-tools/components/SearchHistory.tsx +3 -1
- package/app/src/app/api/auth/status/route.ts +1 -3
- package/app/src/app/api/mcp/sse/route.ts +2 -2
- package/app/src/app/api/mcp/status/route.ts +1 -2
- package/app/src/app/api/mcp/stream/route.ts +5 -3
- package/app/src/app/api/openapi/spec/route.ts +4 -1
- package/app/src/app/api/openapi/try/route.ts +4 -1
- package/app/src/app/api/providers/[id]/models/route.ts +4 -4
- package/app/src/app/api/providers/[id]/sync-models/route.ts +9 -3
- package/app/src/app/api/settings/auto-disable-accounts/route.ts +6 -1
- package/app/src/app/api/skills/[id]/route.ts +4 -1
- package/app/src/app/api/v1/issues/report/route.ts +9 -1
- package/app/src/app/api/v1beta/models/route.ts +8 -6
- package/app/src/app/api/webhooks/[id]/route.ts +9 -7
- package/app/src/domain/fallbackPolicy.ts +0 -1
- package/app/src/domain/modelAvailability.ts +0 -1
- package/app/src/domain/providerExpiration.ts +2 -6
- package/app/src/lib/db/models.ts +23 -13
- package/app/src/lib/evals/evalRunner.ts +0 -1
- package/app/src/lib/evals/scheduler.ts +2 -6
- package/app/src/lib/oauth/services/antigravity.ts +6 -1
- package/app/src/lib/oauth/services/kiro.ts +12 -2
- package/app/src/lib/oauth/services/oauth.ts +10 -2
- package/app/src/lib/oauth/utils/server.ts +4 -1
- package/app/src/lib/plugins/index.ts +2 -8
- package/app/src/lib/usageAnalytics.ts +5 -1
- package/app/src/mitm/manager.js +1 -1
- package/app/src/mitm/manager.ts +1 -1
- package/app/src/shared/components/Button.tsx +0 -1
- package/app/src/shared/components/Card.tsx +0 -2
- package/app/src/shared/components/FilterBar.tsx +4 -12
- package/app/src/shared/components/Input.tsx +1 -1
- package/app/src/shared/components/Modal.tsx +0 -1
- package/app/src/shared/components/NotificationToast.tsx +1 -3
- package/app/src/shared/components/Select.tsx +1 -1
- package/app/src/shared/components/Sidebar.tsx +3 -3
- package/app/src/shared/components/ThemeToggle.tsx +7 -1
- package/app/src/shared/constants/cliCompatProviders.ts +0 -1
- package/app/src/shared/constants/errorCodes.ts +114 -19
- package/app/src/shared/utils/apiKey.ts +2 -4
- package/app/src/shared/utils/fetchTimeout.ts +0 -1
- package/app/src/shared/utils/inputSanitizer.ts +8 -4
- package/app/src/shared/utils/requestTimeout.ts +5 -1
- package/app/src/sse/handlers/chat.ts +1 -0
- package/app/src/sse/services/auth.ts +8 -3
- package/app/src/sse/services/streamState.ts +5 -1
- package/app/src/store/notificationStore.ts +3 -7
- package/app/tests/unit/t20-t22-provider-headers.test.mjs +3 -1
- package/bin/reset-password.mjs +3 -1
- package/open-sse/mcp-server/__tests__/glmCodingProviderConfig.test.ts +5 -1
- package/open-sse/mcp-server/index.ts +0 -1
- package/package.json +1 -1
- package/app/.next/server/chunks/_0-jnvci._.js +0 -19
- package/app/.next/static/chunks/0l88mho31mflv.js +0 -1
- package/app/.next/static/chunks/0wt-4zl7_gil8.js +0 -1
- /package/app/.next/static/{ri1SkwBU-ygQ2qIDe8jf2 → 1dZBzAZ8QsddVCQRQtqjg}/_buildManifest.js +0 -0
- /package/app/.next/static/{ri1SkwBU-ygQ2qIDe8jf2 → 1dZBzAZ8QsddVCQRQtqjg}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{ri1SkwBU-ygQ2qIDe8jf2 → 1dZBzAZ8QsddVCQRQtqjg}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[495767,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),m=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),v=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("openclaw");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:m,model:h}=a.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,p.getApiKeyById)(f);e?.key&&(m=e.key)}catch{}let g=o.default.dirname(R()),w=R();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("openclaw",w);let v={};try{let e=await s.default.readFile(w,"utf-8");v=JSON.parse(e)}catch{}v.agents||(v.agents={}),v.agents.defaults||(v.agents.defaults={}),v.agents.defaults.model||(v.agents.defaults.model={}),v.models||(v.models={}),v.models.providers||(v.models.providers={});let y=r.endsWith("/v1")?r:`${r}/v1`;v.agents.defaults.model.primary=`omniroute/${h}`,v.models.providers.omniroute={baseUrl:y,apiKey:m||"your_api_key",api:"openai-completions",models:[{id:h,name:h.split("/").pop()||h}]},await s.default.writeFile(w,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:w})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function w(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,m.ensureServerEntryExports)([f,g,w]),(0,r.registerServerReference)(f,"0061b1f353367a4a563d7020d4d50f20b5eddc74ff",null),(0,r.registerServerReference)(g,"405e86c01ac5d5d1f321f9ac279ff71aa94c299bd2",null),(0,r.registerServerReference)(w,"00046317c9269dc7b74674084af3414afd15ce2707",null),e.s(["DELETE",0,w,"GET",0,f,"POST",0,g]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),w=e.i(10372),R=e.i(193695);e.i(820232);var v=e.i(600220),y=e.i(495767),C=t([y]);[y]=C.then?(await C)():C;let N=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:b,serverHooks:O}=N;async function E(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/openclaw-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await N.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:C,nextConfig:E,parsedUrl:x,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:_}=s,I=(0,d.normalizeAppPath)(r),j=!!(O.dynamicRoutes[I]||O.routes[T]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!O.routes[T],t=O.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new R.NoFallbackError}}let q=null;!j||N.isDev||b||(q=T,q="/index"===q?"/":q);let F=!0===N.isDev||!j,H=j&&!F;_&&k&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:k,serverActionsManifest:_});let U=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),L=(0,o.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,O,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let W={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>N.onRequestError(e,t,r,n,S)},sharedContext:{buildId:y}},J=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let s,o=async e=>N.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=D.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${U} ${r}`)}),l=async s=>{var i,l;let d=async({previousCacheEntry:n})=>{try{if(!K&&A&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!j)return await (0,h.sendResponse)(J,G,r,W.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},u=await N.handleResponse({req:e,nextConfig:E,cacheKey:q,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:K});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&j||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(J,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};B&&$?await l($):(s=D.getActiveScopeSpan(),await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof R.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),j)throw t;return await (0,h.sendResponse)(J,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:b})},"routeModule",0,N,"serverHooks",0,O,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1)];
|
|
1
|
+
module.exports=[495767,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),m=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),v=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("openclaw");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:m,model:h}=a.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,p.getApiKeyById)(f);e?.key&&(m=e.key)}catch{}let g=o.default.dirname(R()),w=R();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("openclaw",w);let v={};try{let e=await s.default.readFile(w,"utf-8");v=JSON.parse(e)}catch{}v.agents||(v.agents={}),v.agents.defaults||(v.agents.defaults={}),v.agents.defaults.model||(v.agents.defaults.model={}),v.models||(v.models={}),v.models.providers||(v.models.providers={});let y=r.endsWith("/v1")?r:`${r}/v1`;v.agents.defaults.model.primary=`omniroute/${h}`,v.models.providers.omniroute={baseUrl:y,apiKey:m||"your_api_key",api:"openai-completions",models:[{id:h,name:h.split("/").pop()||h}]},await s.default.writeFile(w,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:w})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function w(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,m.ensureServerEntryExports)([f,g,w]),(0,r.registerServerReference)(f,"00fbec88407c8d563e5d62219a407ef91e47c57f51",null),(0,r.registerServerReference)(g,"40fdadcbeb5c3df1311c0c7132fec0ce40e0237198",null),(0,r.registerServerReference)(w,"00b381aff6411eb7b8ff95c55a12caa13a023cd5bd",null),e.s(["DELETE",0,w,"GET",0,f,"POST",0,g]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),w=e.i(10372),R=e.i(193695);e.i(820232);var v=e.i(600220),y=e.i(495767),C=t([y]);[y]=C.then?(await C)():C;let N=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:b,serverHooks:O}=N;async function E(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/openclaw-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await N.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:C,nextConfig:E,parsedUrl:x,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:_}=s,I=(0,d.normalizeAppPath)(r),j=!!(O.dynamicRoutes[I]||O.routes[T]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!O.routes[T],t=O.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new R.NoFallbackError}}let q=null;!j||N.isDev||b||(q=T,q="/index"===q?"/":q);let F=!0===N.isDev||!j,H=j&&!F;_&&k&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:k,serverActionsManifest:_});let U=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),L=(0,o.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,O,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let W={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>N.onRequestError(e,t,r,n,S)},sharedContext:{buildId:y}},J=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let s,o=async e=>N.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=D.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${U} ${r}`)}),l=async s=>{var i,l;let d=async({previousCacheEntry:n})=>{try{if(!K&&A&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!j)return await (0,h.sendResponse)(J,G,r,W.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},u=await N.handleResponse({req:e,nextConfig:E,cacheKey:q,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:K});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&j||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(J,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};B&&$?await l($):(s=D.getActiveScopeSpan(),await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof R.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),j)throw t;return await (0,h.sendResponse)(J,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:b})},"routeModule",0,N,"serverHooks",0,O,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_05reh6o._.js.map
|
|
@@ -14,6 +14,6 @@ ${r}`.trim()}(e);t&&n.push(t)}return n.push("Reply now with the assistant respon
|
|
|
14
14
|
value INTEGER NOT NULL DEFAULT 0,
|
|
15
15
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
16
16
|
)`).run(),e.prepare("INSERT OR IGNORE INTO cache_metrics (key, value) VALUES ('hits', 0), ('misses', 0), ('tokens_saved', 0)").run()}catch{}}return l}e.s(["cleanExpiredEntries",0,function(){try{return(0,r.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE expires_at <= datetime('now')").run().changes}catch{return 0}},"clearCache",0,function(){u().clear();try{let e=(0,r.getDbInstance)();e.prepare("DELETE FROM semantic_cache").run(),e.prepare("UPDATE cache_metrics SET value = 0").run()}catch{}},"generateSignature",0,function(e,n,r=0,i=1){var s;let o=JSON.stringify({model:e,messages:Array.isArray(s=n)?s.map(e=>({role:e.role||"user",content:"string"==typeof e.content?e.content:JSON.stringify(e.content)})):[],temperature:r,top_p:i});return t.default.createHash("sha256").update(o).digest("hex")},"getCacheStats",0,function(){let e=u().getStats(),t=0;try{let e=(0,r.getDbInstance)().prepare("SELECT COUNT(*) as count FROM semantic_cache WHERE expires_at > datetime('now')").get();t=s(i(e).count,0)}catch{}let n=a("hits"),o=a("misses"),l=a("tokens_saved"),c=n+o;return{memoryEntries:e.size,dbEntries:t,hits:n,misses:o,hitRate:c>0?(n/c*100).toFixed(1):"0.0",tokensSaved:l}},"getCachedResponse",0,function(e){let t=u().get(e);if(t)return o("hits"),o("tokens_saved",t.tokensSaved||0),t.response;try{let t=(0,r.getDbInstance)(),n=t.prepare("SELECT response, tokens_saved FROM semantic_cache WHERE signature = ? AND expires_at > datetime('now')").get(e);if(n){let r=i(n),a="string"==typeof r.response?r.response:null;if(!a)return o("misses"),null;let l=JSON.parse(a),c=s(r.tokens_saved,0);return u().set(e,{response:l,tokensSaved:c}),t.prepare("UPDATE semantic_cache SET hit_count = hit_count + 1 WHERE signature = ?").run(e),o("hits"),o("tokens_saved",c),l}}catch{}return o("misses"),null},"invalidateByModel",0,function(e){u().clear();try{return(0,r.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE model = ?").run(e).changes||0}catch{return 0}},"invalidateBySignature",0,function(e){u().delete(e);try{return((0,r.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE signature = ?").run(e).changes||0)>0}catch{return!1}},"invalidateStale",0,function(e){u().clear();try{let t=(0,r.getDbInstance)(),n=new Date(Date.now()-e).toISOString();return t.prepare("DELETE FROM semantic_cache WHERE created_at < ?").run(n).changes||0}catch{return 0}},"isCacheable",0,function(e,t){return"true"!==((function(e,t){if(!e)return null;if("function"==typeof e.get)return e.get(t);let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return"string"==typeof r?r:null;return null})(t,"x-omniroute-no-cache")||"").toLowerCase()&&!1===e.stream&&(e.temperature??0)===0},"setCachedResponse",0,function(e,n,i,s=0,o=36e5){let a=parseInt(process.env.SEMANTIC_CACHE_TTL_MS||String(o),10);u().set(e,{response:i,tokensSaved:s},a);try{let o=(0,r.getDbInstance)(),l=t.default.randomUUID(),u=e.slice(0,16),c=new Date().toISOString(),d=new Date(Date.now()+a).toISOString();o.prepare(`INSERT OR REPLACE INTO semantic_cache (id, signature, model, prompt_hash, response, tokens_saved, hit_count, created_at, expires_at)
|
|
17
|
-
VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?)`).run(l,e,n,u,JSON.stringify(i),s,c,d)}catch{}}])},289130,e=>{"use strict";let t;e.i(245272);var n=e.i(548941);let r=new Map;async function i(){let e=5e3;try{let t=await (0,n.getSettings)();"number"==typeof t.idempotencyWindowMs&&t.idempotencyWindowMs>0&&(e=t.idempotencyWindowMs)}catch{}return{activeKeys:r.size,windowMs:e}}e.s(["checkIdempotency",0,function(e){if(!e)return null;let t=r.get(e);return t?Date.now()>=t.expiresAt?(r.delete(e),null):{response:t.response,status:t.status}:null},"getIdempotencyKey",0,function(e){if(!e)return null;let t="function"==typeof e.get?t=>e.get(t):t=>e[t];return t("idempotency-key")||t("x-request-id")||null},"getIdempotencyStats",0,i,"saveIdempotency",0,function(e,n,i,s=5e3){e&&(!t&&(t=setInterval(()=>{let e=Date.now();for(let[t,n]of r)e>=n.expiresAt&&r.delete(t)},3e4)).unref&&t.unref(),r.set(e,{response:n,status:i,expiresAt:Date.now()+s}))}])},154939,e=>{"use strict";var t=e.i(666680);let n=new Map;setInterval(()=>{let e=Date.now();for(let[t,i]of n)if(e-i.lastActive>18e5)for(let[e,i]of(n.delete(t),r))i.delete(t),0===i.size&&r.delete(e)},6e4).unref();let r=new Map;function i(e){return(0,t.createHash)("sha256").update(e).digest("hex").slice(0,8)}e.s(["checkSessionLimit",0,function(e,t){if(!t||t<=0)return null;let n=r.get(e)?.size??0;return n<t?null:{code:"SESSION_LIMIT_EXCEEDED",message:`You have reached the maximum number of active sessions (${t}). Please close unused sessions or wait for them to expire.`,limit:t,current:n}},"extractExternalSessionId",0,function(e){if(!e||"function"!=typeof e.get)return null;let t=e.get("x-session-id")??e.get("x_session_id")??e.get("x-omniroute-session")??e.get("session-id")??null;return t&&t.trim()?`ext:${t.trim().slice(0,64)}`:null},"generateSessionId",0,function(e,n={}){if(!e||"object"!=typeof e)return null;let r=[];e.model&&r.push(`model:${e.model}`),n.provider&&r.push(`provider:${n.provider}`);let s=function(e){if(!e||"object"!=typeof e)return null;if(e.system)return"string"==typeof e.system?e.system:JSON.stringify(e.system);if(Array.isArray(e.messages)){let t=e.messages.find(e=>"system"===e.role||"developer"===e.role);if(t)return"string"==typeof t.content?t.content:JSON.stringify(t.content)}return null}(e);s&&r.push(`sys:${i(s)}`);let o=function(e){if(!e||"object"!=typeof e)return null;let t=e.messages||e.input||[];if(!Array.isArray(t))return null;for(let e of t)if("user"===e.role)return"string"==typeof e.content?e.content:JSON.stringify(e.content);return null}(e);if(o&&r.push(`user0:${i(o)}`),e.tools&&Array.isArray(e.tools)&&e.tools.length>0){let t=e.tools.map(e=>e.name||e.function?.name||"").filter(Boolean).sort().join(",");t&&r.push(`tools:${i(t)}`)}if(n.connectionId&&r.push(`conn:${n.connectionId}`),0===r.length)return null;let a=r.join("|");return(0,t.createHash)("sha256").update(a).digest("hex").slice(0,16)},"getActiveSessionCount",0,function(){return n.size},"getActiveSessions",0,function(){let e=Date.now(),t=[];for(let[r,i]of n)e-i.lastActive<=18e5&&t.push({sessionId:r,...i,ageMs:e-i.createdAt});return t},"getAllActiveSessionCountsByKey",0,function(){let e={};for(let[t,n]of r)e[t]=n.size;return e},"isSessionRegisteredForKey",0,function(e,t){return r.get(e)?.has(t)===!0},"registerKeySession",0,function(e,t){r.has(e)||r.set(e,new Set),r.get(e).add(t)},"touchSession",0,function(e,t=null){if(!e)return;let r=n.get(e);r?(r.lastActive=Date.now(),r.requestCount++,t&&(r.connectionId=t)):n.set(e,{createdAt:Date.now(),lastActive:Date.now(),requestCount:1,connectionId:t})}])},464142,e=>{"use strict";let t={enabled:!1,degradationMap:{"claude-opus-4-6":"gemini-3-flash","claude-opus-4-6-thinking":"gemini-3-flash","claude-opus-4-5-20251101":"gemini-3-flash","claude-sonnet-4-5-20250929":"gemini-3-flash","claude-sonnet-4-20250514":"gemini-3-flash","claude-sonnet-4":"gemini-3-flash","gemini-3.1-pro":"gemini-3-flash","gemini-3.1-pro-high":"gemini-3-flash","gemini-3-pro-preview":"gemini-3-flash-preview","gemini-2.5-pro":"gemini-3-flash","gpt-4o":"gpt-4o-mini","gpt-5":"gpt-5-mini","gpt-5.1":"gpt-5-mini","gpt-5.1-codex":"gpt-5.1-codex-mini"},detectionPatterns:["generate a title","generate title","create a title","create a short","summarize this","summarize the","write a brief","write a summary","one-line summary","one line summary","short description","brief description","conversation title","chat title","name this conversation","name this chat","title for this","suggest a title","label this"],stats:{detected:0,tokensSaved:0}};function n(e,t){if(!e)return"";let n=e[t]??e[t.toLowerCase()]??e[t.toUpperCase()];return"string"==typeof n?n.trim():""}e.s(["getBackgroundDegradationConfig",0,function(){return{...t,degradationMap:{...t.degradationMap},detectionPatterns:[...t.detectionPatterns],stats:{...t.stats}}},"getBackgroundTaskReason",0,function(e,r=null){var i;if(!e||"object"!=typeof e)return null;if(r){let e=[n(r,"x-task-type"),n(r,"x-request-priority"),n(r,"x-initiator")].find(Boolean);if(e&&"background"===e.toLowerCase())return"header_background"}let s=function(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&e.trim().length>0){let t=Number(e);return Number.isFinite(t)?t:null}return null}(e.max_tokens??e.max_completion_tokens??e.max_output_tokens);if(null!==s&&s>0&&s<50)return"low_max_tokens";let o=Array.isArray(i=e.messages??e.input??[])?i:[];if(!Array.isArray(o)||0===o.length)return null;let a=o.find(e=>"system"===e.role||"developer"===e.role);if(!a)return null;let l="string"==typeof a.content?a.content.toLowerCase():"";return l&&t.detectionPatterns.some(e=>l.includes(e.toLowerCase()))&&!(o.filter(e=>"user"===e.role).length>3)?"system_prompt_pattern":null},"getDegradedModel",0,function(e){if(!e)return e;let n=t.degradationMap[e];return n?(t.stats.detected++,n):e},"resetStats",0,function(){t.stats={detected:0,tokensSaved:0}},"setBackgroundDegradationConfig",0,function(e){t={...t,...e,stats:t.stats}}])},705765,e=>{"use strict";let t={"gemini-pro":"gemini-2.5-pro","gemini-pro-vision":"gemini-2.5-pro","gemini-1.5-pro":"gemini-2.5-pro","gemini-1.5-flash":"gemini-2.5-flash","gemini-1.0-pro":"gemini-2.5-pro","gemini-2.0-flash":"gemini-2.5-flash","gemini-3-pro-high":"gemini-3.1-pro-high","gemini-3-pro-low":"gemini-3.1-pro-low","claude-3-opus-20240229":"claude-opus-4-20250514","claude-3-sonnet-20240229":"claude-sonnet-4-20250514","claude-3-haiku-20240307":"claude-3-5-sonnet-20241022","claude-3-5-sonnet-latest":"claude-sonnet-4-20250514","claude-3-5-haiku-latest":"claude-3-5-sonnet-20241022","gpt-4-turbo-preview":"gpt-4-turbo","gpt-4-0125-preview":"gpt-4-turbo","gpt-4-1106-preview":"gpt-4-turbo","gpt-3.5-turbo-0125":"gpt-3.5-turbo","accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","fireworks/accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","kimi-k2p5":"moonshotai/Kimi-K2.5","accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","fireworks/accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","kimi-k2":"moonshotai/Kimi-K2","mistral-large":"mistral-large-latest","mistral-small":"mistral-small-latest",codestral:"codestral-latest","llama-3.3":"llama-3.3-70b-versatile","llama-3-70b":"llama-3.3-70b-versatile","llama-3-8b":"llama3-8b-8192"},n={};e.s(["addCustomAlias",0,function(e,t){n[e]=t},"getAllAliases",0,function(){return{...t,...n}},"getBuiltInAliases",0,function(){return{...t}},"getCustomAliases",0,function(){return{...n}},"removeCustomAlias",0,function(e){return!!n[e]&&(delete n[e],!0)},"resolveModelAlias",0,function(e){return e?n[e]?n[e]:t[e]?t[e]:e:e},"setCustomAliases",0,function(e){n={...e}}])},454925,e=>{"use strict";let t=["parse","validate","policy","resolve","connect","stream","finalize"],n=[];function r(e,t){if(0===e.length)return 0;let n=Math.ceil(t/100*e.length)-1;return e[Math.max(0,n)]}e.s(["RequestTelemetry",0,class{requestId;startTime;phases;_currentPhase;_phaseStart;constructor(e){this.requestId=e,this.startTime=Date.now(),this.phases=[],this._currentPhase=null,this._phaseStart=null}startPhase(e){this._currentPhase&&this.endPhase(),this._currentPhase=e,this._phaseStart=Date.now()}endPhase(e={}){if(!this._currentPhase)return;let t=Date.now();this.phases.push({phase:this._currentPhase,startMs:this._phaseStart-this.startTime,endMs:t-this.startTime,durationMs:t-this._phaseStart,...e}),this._currentPhase=null,this._phaseStart=null}async measure(e,t){this.startPhase(e);try{let e=await t();return this.endPhase(),e}catch(e){throw this.endPhase({error:e.message}),e}}getSummary(){return this._currentPhase&&this.endPhase(),{requestId:this.requestId,totalMs:Date.now()-this.startTime,phases:[...this.phases]}}},"getTelemetrySummary",0,function(e=3e5){let i=Date.now()-e,s=n.filter(e=>(e.recordedAt||0)>=i);if(0===s.length)return{count:0,p50:0,p95:0,p99:0,phaseBreakdown:{}};let o=s.map(e=>e.totalMs).sort((e,t)=>e-t),a={};for(let e of t){let t=s.flatMap(t=>t.phases.filter(t=>t.phase===e).map(e=>e.durationMs)).sort((e,t)=>e-t);t.length>0&&(a[e]={count:t.length,p50:r(t,50),p95:r(t,95),avg:Math.round(t.reduce((e,t)=>e+t,0)/t.length)})}return{count:s.length,p50:r(o,50),p95:r(o,95),p99:r(o,99),phaseBreakdown:a}},"recordTelemetry",0,function(e){let t=e.getSummary();for(t.recordedAt=Date.now(),n.push(t);n.length>1e3;)n.shift()}])},951700,e=>{"use strict";var t=e.i(666680);let n={enabled:!0,maxTemperatureForDedup:.1,timeoutMs:6e4},r=new Map;async function i(e,t,s=n){let o,a;if(!s.enabled)return{result:await t(),wasDeduplicated:!1,hash:e};let l=r.get(e);if(l)return{result:await l,wasDeduplicated:!0,hash:e};let u=new Promise((e,t)=>{o=e,a=t});r.set(e,u);let c=setTimeout(()=>{r.get(e)===u&&r.delete(e)},s.timeoutMs);try{let n=await t();return o(n),{result:n,wasDeduplicated:!1,hash:e}}catch(e){throw a(e),e}finally{clearTimeout(c),r.get(e)===u&&r.delete(e)}}e.s(["computeRequestHash",0,function(e){let n={model:e.model??null,messages:e.messages??null,temperature:"number"==typeof e.temperature?e.temperature:1,tools:e.tools??null,tool_choice:e.tool_choice??null,max_tokens:e.max_tokens??null,response_format:e.response_format??null,top_p:e.top_p??null,frequency_penalty:e.frequency_penalty??null,presence_penalty:e.presence_penalty??null};return(0,t.createHash)("sha256").update(JSON.stringify(n)).digest("hex").slice(0,16)},"deduplicate",0,i,"getInflightCount",0,function(){return r.size},"shouldDeduplicate",0,function(e,t=n){return!!t.enabled&&!0!==e.stream&&!(("number"==typeof e.temperature?e.temperature:1)>t.maxTemperatureForDedup)}])},593404,e=>{"use strict";var t=e.i(548941);let n=null;async function r(){return null!==n?n:n=(await (0,t.getSettings)()).alwaysPreserveClientCache||"auto"}e.s(["getCacheControlSettings",0,r,"invalidateCacheControlSettingsCache",0,function(){n=null}])},982392,e=>{"use strict";let t=new Map;function n(e,t){return`${e}::${t}`}function r(){let e=Date.now(),n=[];for(let[r,i]of t.entries()){let s=e-i.unavailableSince;if(s>=i.cooldownMs){t.delete(r);continue}n.push({provider:i.provider,model:i.model,reason:i.reason||"unknown",remainingMs:i.cooldownMs-s,unavailableSince:new Date(i.unavailableSince).toISOString()})}return n}e.s(["clearModelUnavailability",0,function(e,r){return t.delete(n(e,r))},"getAvailabilityReport",0,r,"getUnavailableCount",0,function(){return r(),t.size},"isModelAvailable",0,function(e,r){let i=n(e,r),s=t.get(i);return!s||Date.now()-s.unavailableSince>=s.cooldownMs&&(t.delete(i),!0)},"setModelUnavailable",0,function(e,r,i=6e4,s){let o=n(e,r);t.set(o,{provider:e,model:r,unavailableSince:Date.now(),cooldownMs:i,reason:s||"unknown"})}])}];
|
|
17
|
+
VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?)`).run(l,e,n,u,JSON.stringify(i),s,c,d)}catch{}}])},289130,e=>{"use strict";let t;e.i(245272);var n=e.i(548941);let r=new Map;async function i(){let e=5e3;try{let t=await (0,n.getSettings)();"number"==typeof t.idempotencyWindowMs&&t.idempotencyWindowMs>0&&(e=t.idempotencyWindowMs)}catch{}return{activeKeys:r.size,windowMs:e}}e.s(["checkIdempotency",0,function(e){if(!e)return null;let t=r.get(e);return t?Date.now()>=t.expiresAt?(r.delete(e),null):{response:t.response,status:t.status}:null},"getIdempotencyKey",0,function(e){if(!e)return null;let t="function"==typeof e.get?t=>e.get(t):t=>e[t];return t("idempotency-key")||t("x-request-id")||null},"getIdempotencyStats",0,i,"saveIdempotency",0,function(e,n,i,s=5e3){e&&(!t&&(t=setInterval(()=>{let e=Date.now();for(let[t,n]of r)e>=n.expiresAt&&r.delete(t)},3e4)).unref&&t.unref(),r.set(e,{response:n,status:i,expiresAt:Date.now()+s}))}])},154939,e=>{"use strict";var t=e.i(666680);let n=new Map;setInterval(()=>{let e=Date.now();for(let[t,i]of n)if(e-i.lastActive>18e5)for(let[e,i]of(n.delete(t),r))i.delete(t),0===i.size&&r.delete(e)},6e4).unref();let r=new Map;function i(e){return(0,t.createHash)("sha256").update(e).digest("hex").slice(0,8)}e.s(["checkSessionLimit",0,function(e,t){if(!t||t<=0)return null;let n=r.get(e)?.size??0;return n<t?null:{code:"SESSION_LIMIT_EXCEEDED",message:`You have reached the maximum number of active sessions (${t}). Please close unused sessions or wait for them to expire.`,limit:t,current:n}},"extractExternalSessionId",0,function(e){if(!e||"function"!=typeof e.get)return null;let t=e.get("x-session-id")??e.get("x_session_id")??e.get("x-omniroute-session")??e.get("session-id")??null;return t&&t.trim()?`ext:${t.trim().slice(0,64)}`:null},"generateSessionId",0,function(e,n={}){if(!e||"object"!=typeof e)return null;let r=[];e.model&&r.push(`model:${e.model}`),n.provider&&r.push(`provider:${n.provider}`);let s=function(e){if(!e||"object"!=typeof e)return null;if(e.system)return"string"==typeof e.system?e.system:JSON.stringify(e.system);if(Array.isArray(e.messages)){let t=e.messages.find(e=>"system"===e.role||"developer"===e.role);if(t)return"string"==typeof t.content?t.content:JSON.stringify(t.content)}return null}(e);s&&r.push(`sys:${i(s)}`);let o=function(e){if(!e||"object"!=typeof e)return null;let t=e.messages||e.input||[];if(!Array.isArray(t))return null;for(let e of t)if("user"===e.role)return"string"==typeof e.content?e.content:JSON.stringify(e.content);return null}(e);if(o&&r.push(`user0:${i(o)}`),e.tools&&Array.isArray(e.tools)&&e.tools.length>0){let t=e.tools.map(e=>e.name||e.function?.name||"").filter(Boolean).sort().join(",");t&&r.push(`tools:${i(t)}`)}if(n.connectionId&&r.push(`conn:${n.connectionId}`),0===r.length)return null;let a=r.join("|");return(0,t.createHash)("sha256").update(a).digest("hex").slice(0,16)},"getActiveSessionCount",0,function(){return n.size},"getActiveSessions",0,function(){let e=Date.now(),t=[];for(let[r,i]of n)e-i.lastActive<=18e5&&t.push({sessionId:r,...i,ageMs:e-i.createdAt});return t},"getAllActiveSessionCountsByKey",0,function(){let e={};for(let[t,n]of r)e[t]=n.size;return e},"isSessionRegisteredForKey",0,function(e,t){return r.get(e)?.has(t)===!0},"registerKeySession",0,function(e,t){r.has(e)||r.set(e,new Set),r.get(e).add(t)},"touchSession",0,function(e,t=null){if(!e)return;let r=n.get(e);r?(r.lastActive=Date.now(),r.requestCount++,t&&(r.connectionId=t)):n.set(e,{createdAt:Date.now(),lastActive:Date.now(),requestCount:1,connectionId:t})}])},464142,e=>{"use strict";let t={enabled:!1,degradationMap:{"claude-opus-4-6":"gemini-3-flash","claude-opus-4-6-thinking":"gemini-3-flash","claude-opus-4-5-20251101":"gemini-3-flash","claude-sonnet-4-5-20250929":"gemini-3-flash","claude-sonnet-4-20250514":"gemini-3-flash","claude-sonnet-4":"gemini-3-flash","gemini-3.1-pro":"gemini-3-flash","gemini-3.1-pro-high":"gemini-3-flash","gemini-3-pro-preview":"gemini-3-flash-preview","gemini-2.5-pro":"gemini-3-flash","gpt-4o":"gpt-4o-mini","gpt-5":"gpt-5-mini","gpt-5.1":"gpt-5-mini","gpt-5.1-codex":"gpt-5.1-codex-mini"},detectionPatterns:["generate a title","generate title","create a title","create a short","summarize this","summarize the","write a brief","write a summary","one-line summary","one line summary","short description","brief description","conversation title","chat title","name this conversation","name this chat","title for this","suggest a title","label this"],stats:{detected:0,tokensSaved:0}};function n(e,t){if(!e)return"";let n=e[t]??e[t.toLowerCase()]??e[t.toUpperCase()];return"string"==typeof n?n.trim():""}e.s(["getBackgroundDegradationConfig",0,function(){return{...t,degradationMap:{...t.degradationMap},detectionPatterns:[...t.detectionPatterns],stats:{...t.stats}}},"getBackgroundTaskReason",0,function(e,r=null){var i;if(!e||"object"!=typeof e)return null;if(r){let e=[n(r,"x-task-type"),n(r,"x-request-priority"),n(r,"x-initiator")].find(Boolean);if(e&&"background"===e.toLowerCase())return"header_background"}let s=function(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&e.trim().length>0){let t=Number(e);return Number.isFinite(t)?t:null}return null}(e.max_tokens??e.max_completion_tokens??e.max_output_tokens);if(null!==s&&s>0&&s<50)return"low_max_tokens";let o=Array.isArray(i=e.messages??e.input??[])?i:[];if(!Array.isArray(o)||0===o.length)return null;let a=o.find(e=>"system"===e.role||"developer"===e.role);if(!a)return null;let l="string"==typeof a.content?a.content.toLowerCase():"";return l&&t.detectionPatterns.some(e=>l.includes(e.toLowerCase()))&&!(o.filter(e=>"user"===e.role).length>3)?"system_prompt_pattern":null},"getDegradedModel",0,function(e){if(!e)return e;let n=t.degradationMap[e];return n?(t.stats.detected++,n):e},"resetStats",0,function(){t.stats={detected:0,tokensSaved:0}},"setBackgroundDegradationConfig",0,function(e){t={...t,...e,stats:t.stats}}])},705765,e=>{"use strict";let t={"gemini-pro":"gemini-2.5-pro","gemini-pro-vision":"gemini-2.5-pro","gemini-1.5-pro":"gemini-2.5-pro","gemini-1.5-flash":"gemini-2.5-flash","gemini-1.0-pro":"gemini-2.5-pro","gemini-2.0-flash":"gemini-2.5-flash","gemini-3-pro-high":"gemini-3.1-pro-high","gemini-3-pro-low":"gemini-3.1-pro-low","claude-3-opus-20240229":"claude-opus-4-20250514","claude-3-sonnet-20240229":"claude-sonnet-4-20250514","claude-3-haiku-20240307":"claude-3-5-sonnet-20241022","claude-3-5-sonnet-latest":"claude-sonnet-4-20250514","claude-3-5-haiku-latest":"claude-3-5-sonnet-20241022","gpt-4-turbo-preview":"gpt-4-turbo","gpt-4-0125-preview":"gpt-4-turbo","gpt-4-1106-preview":"gpt-4-turbo","gpt-3.5-turbo-0125":"gpt-3.5-turbo","accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","fireworks/accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","kimi-k2p5":"moonshotai/Kimi-K2.5","accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","fireworks/accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","kimi-k2":"moonshotai/Kimi-K2","mistral-large":"mistral-large-latest","mistral-small":"mistral-small-latest",codestral:"codestral-latest","llama-3.3":"llama-3.3-70b-versatile","llama-3-70b":"llama-3.3-70b-versatile","llama-3-8b":"llama3-8b-8192"},n={};e.s(["addCustomAlias",0,function(e,t){n[e]=t},"getAllAliases",0,function(){return{...t,...n}},"getBuiltInAliases",0,function(){return{...t}},"getCustomAliases",0,function(){return{...n}},"removeCustomAlias",0,function(e){return!!n[e]&&(delete n[e],!0)},"resolveModelAlias",0,function(e){return e?n[e]?n[e]:t[e]?t[e]:e:e},"setCustomAliases",0,function(e){n={...e}}])},454925,e=>{"use strict";let t=["parse","validate","policy","resolve","connect","stream","finalize"],n=[];function r(e,t){if(0===e.length)return 0;let n=Math.ceil(t/100*e.length)-1;return e[Math.max(0,n)]}e.s(["RequestTelemetry",0,class{requestId;startTime;phases;_currentPhase;_phaseStart;constructor(e){this.requestId=e,this.startTime=Date.now(),this.phases=[],this._currentPhase=null,this._phaseStart=null}startPhase(e){this._currentPhase&&this.endPhase(),this._currentPhase=e,this._phaseStart=Date.now()}endPhase(e={}){if(!this._currentPhase)return;let t=Date.now();this.phases.push({phase:this._currentPhase,startMs:this._phaseStart-this.startTime,endMs:t-this.startTime,durationMs:t-this._phaseStart,...e}),this._currentPhase=null,this._phaseStart=null}async measure(e,t){this.startPhase(e);try{let e=await t();return this.endPhase(),e}catch(e){throw this.endPhase({error:e.message}),e}}getSummary(){return this._currentPhase&&this.endPhase(),{requestId:this.requestId,totalMs:Date.now()-this.startTime,phases:[...this.phases]}}},"getTelemetrySummary",0,function(e=3e5){let i=Date.now()-e,s=n.filter(e=>(e.recordedAt||0)>=i);if(0===s.length)return{count:0,p50:0,p95:0,p99:0,phaseBreakdown:{}};let o=s.map(e=>e.totalMs).sort((e,t)=>e-t),a={};for(let e of t){let t=s.flatMap(t=>t.phases.filter(t=>t.phase===e).map(e=>e.durationMs)).sort((e,t)=>e-t);t.length>0&&(a[e]={count:t.length,p50:r(t,50),p95:r(t,95),avg:Math.round(t.reduce((e,t)=>e+t,0)/t.length)})}return{count:s.length,p50:r(o,50),p95:r(o,95),p99:r(o,99),phaseBreakdown:a}},"recordTelemetry",0,function(e){let t=e.getSummary();for(t.recordedAt=Date.now(),n.push(t);n.length>1e3;)n.shift()}])},982392,e=>{"use strict";let t=new Map;function n(e,t){return`${e}::${t}`}function r(){let e=Date.now(),n=[];for(let[r,i]of t.entries()){let s=e-i.unavailableSince;if(s>=i.cooldownMs){t.delete(r);continue}n.push({provider:i.provider,model:i.model,reason:i.reason||"unknown",remainingMs:i.cooldownMs-s,unavailableSince:new Date(i.unavailableSince).toISOString()})}return n}e.s(["clearModelUnavailability",0,function(e,r){return t.delete(n(e,r))},"getAvailabilityReport",0,r,"getUnavailableCount",0,function(){return r(),t.size},"isModelAvailable",0,function(e,r){let i=n(e,r),s=t.get(i);return!s||Date.now()-s.unavailableSince>=s.cooldownMs&&(t.delete(i),!0)},"setModelUnavailable",0,function(e,r,i=6e4,s){let o=n(e,r);t.set(o,{provider:e,model:r,unavailableSince:Date.now(),cooldownMs:i,reason:s||"unknown"})}])},593404,e=>{"use strict";var t=e.i(548941);let n=null;async function r(){return null!==n?n:n=(await (0,t.getSettings)()).alwaysPreserveClientCache||"auto"}e.s(["getCacheControlSettings",0,r,"invalidateCacheControlSettingsCache",0,function(){n=null}])},951700,e=>{"use strict";var t=e.i(666680);let n={enabled:!0,maxTemperatureForDedup:.1,timeoutMs:6e4},r=new Map;async function i(e,t,s=n){let o,a;if(!s.enabled)return{result:await t(),wasDeduplicated:!1,hash:e};let l=r.get(e);if(l)return{result:await l,wasDeduplicated:!0,hash:e};let u=new Promise((e,t)=>{o=e,a=t});r.set(e,u);let c=setTimeout(()=>{r.get(e)===u&&r.delete(e)},s.timeoutMs);try{let n=await t();return o(n),{result:n,wasDeduplicated:!1,hash:e}}catch(e){throw a(e),e}finally{clearTimeout(c),r.get(e)===u&&r.delete(e)}}e.s(["computeRequestHash",0,function(e){let n={model:e.model??null,messages:e.messages??null,temperature:"number"==typeof e.temperature?e.temperature:1,tools:e.tools??null,tool_choice:e.tool_choice??null,max_tokens:e.max_tokens??null,response_format:e.response_format??null,top_p:e.top_p??null,frequency_penalty:e.frequency_penalty??null,presence_penalty:e.presence_penalty??null};return(0,t.createHash)("sha256").update(JSON.stringify(n)).digest("hex").slice(0,16)},"deduplicate",0,i,"getInflightCount",0,function(){return r.size},"shouldDeduplicate",0,function(e,t=n){return!!t.enabled&&!0!==e.stream&&!(("number"==typeof e.temperature?e.temperature:1)>t.maxTemperatureForDedup)}])}];
|
|
18
18
|
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=_083_x9z._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[42075,e=>{"use strict";var t=e.i(254799),r=e.i(511938),n=e.i(16023);let o=new Set(["gemini-3.1-pro"]);class s extends r.BaseExecutor{constructor(){super("antigravity",n.PROVIDERS.antigravity)}buildUrl(e,t,r=0){let n=this.getBaseUrls(),o=n[r]||n[0];return`${o}/v1internal:streamGenerateContent?alt=sse`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||"antigravity/1.104.0 darwin/arm64","X-OmniRoute-Source":"omniroute",Accept:"text/event-stream"}}transformRequest(e,r,n,s){let a=r?.project,i=s?.projectId,l="1"===process.env.OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE&&a?a:i||a;if(!l)return new Response(JSON.stringify({error:{message:"Missing Google projectId for Antigravity account. Please reconnect OAuth in Providers → Antigravity so OmniRoute can fetch your Cloud Code project.",type:"oauth_missing_project_id",code:"missing_project_id"}}),{status:422,headers:{"Content-Type":"application/json"}});let c=(r.request?.contents?.map(e=>{let t=e.role;e.parts?.some(e=>e.functionResponse)&&(t="user");let r=e.parts?.filter(e=>!e.thought&&!e.thoughtSignature)||[];return{...e,role:t,parts:r}})||[]).filter(e=>!Array.isArray(e.parts)||e.parts.length>0),u={...r.request,...c.length>0&&{contents:c},sessionId:r.request?.sessionId||this.generateSessionId(),safetySettings:void 0,toolConfig:r.request?.tools?.length>0?{functionCallingConfig:{mode:"VALIDATED"}}:r.request?.toolConfig},p=function(e){if(!e)return e;let t=e.includes("/")?e.split("/").pop():e;return o.has(t)&&(t=`${t}-low`),t}(e);return{...r,project:l,model:p,userAgent:"antigravity",requestType:"agent",requestId:`agent-${t.default.randomUUID()}`,request:u}}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let r=await fetch(n.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!r.ok)return null;let o=await r.json();return t?.info?.("TOKEN","Antigravity refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Antigravity refresh error: ${e.message}`),null}}generateSessionId(){return`-${Math.floor(9e18*Math.random())}`}parseRetryHeaders(e){if(!e?.get)return null;let t=e.get("retry-after");if(t){let e=parseInt(t,10);if(!isNaN(e)&&e>0)return 1e3*e;let r=new Date(t);if(!isNaN(r.getTime())){let e=r.getTime()-Date.now();return e>0?e:null}}let r=e.get("x-ratelimit-reset-after");if(r){let e=parseInt(r,10);if(!isNaN(e)&&e>0)return 1e3*e}let n=e.get("x-ratelimit-reset");if(n){let e=1e3*parseInt(n,10)-Date.now();return e>0?e:null}return null}parseRetryFromErrorMessage(e){if(!e||"string"!=typeof e)return null;let t=e.match(/reset (?:after|in) (\d+h)?(\d+m)?(\d+s)?/i);if(!t)return null;let r=0;return t[1]&&(r+=3600*parseInt(t[1])*1e3),t[2]&&(r+=60*parseInt(t[2])*1e3),t[3]&&(r+=1e3*parseInt(t[3])),r>0?r:null}collectStreamToResponse(e,r,n,o,s,a,i){let l=e.body.getReader(),c=new TextDecoder;return(async()=>{let u=[],p=!1,d=AbortSignal.timeout(12e4);try{for(;;){if(i?.aborted)throw Error("Request aborted during SSE collection");let{done:e,value:t}=await Promise.race([l.read(),new Promise((e,t)=>d.addEventListener("abort",()=>t(Error("SSE collection timed out")),{once:!0}))]);if(e)break;u.push(c.decode(t,{stream:!0}))}}catch(t){let e=t?.message||String(t);p=e.includes("timed out"),a?.warn?.("SSE_COLLECT",`Error collecting SSE stream: ${e}`)}let f=u.join(""),h="",g="stop",m=null;for(let e of f.split("\n")){let t=e.trim();if(!t.startsWith("data:"))continue;let r=t.slice(5).trim();if(r&&"[DONE]"!==r)try{let e=JSON.parse(r),t=e?.response?.candidates?.[0];if(t?.content?.parts)for(let e of t.content.parts)"string"!=typeof e.text||e.thought||e.thoughtSignature||(h+=e.text);if(t?.finishReason&&(g="stop"===t.finishReason.toLowerCase()?"stop":t.finishReason.toLowerCase()),e?.response?.usageMetadata){let t=e.response.usageMetadata;m={prompt_tokens:t.promptTokenCount||0,completion_tokens:t.candidatesTokenCount||0,total_tokens:t.totalTokenCount||0}}}catch(e){a?.debug?.("SSE_PARSE",`Skipping malformed SSE line: ${r.slice(0,80)}`)}}let y={id:`chatcmpl-${Date.now()}-${t.default.randomUUID().slice(0,8)}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:r,choices:[{index:0,message:{role:"assistant",content:h},finish_reason:p?"length":g}],...m&&{usage:m}},k=p?504:e.status;return{response:new Response(JSON.stringify(y),{status:k,statusText:p?"Gateway Timeout":e.statusText,headers:[["Content-Type","application/json"]]}),url:n,headers:o,transformedBody:s}})()}async execute({model:e,body:t,stream:o,credentials:s,signal:a,log:i,upstreamExtraHeaders:l}){let c=this.getFallbackCount(),u=null,p=0,d={};for(let f=0;f<c;f++){let h=this.buildUrl(e,!0,f),g=this.buildHeaders(s,!0);(0,r.mergeUpstreamExtraHeaders)(g,l);let m=await this.transformRequest(e,t,!0,s);d[f]||(d[f]=0);try{let t=await fetch(h,{method:"POST",headers:g,body:JSON.stringify(m),signal:a}),r=null;if(t.status===n.HTTP_STATUS.RATE_LIMITED||t.status===n.HTTP_STATUS.SERVICE_UNAVAILABLE){if(!(r=this.parseRetryHeaders(t.headers)))try{let e=await t.clone().text(),n=JSON.parse(e),o=n?.error?.message||n?.message||"";if(!(r=this.parseRetryFromErrorMessage(o))){let e=o.toLowerCase();e.includes("free tier")||e.includes("exhausted your capacity")||e.includes("daily limit")||e.includes("quota exceeded")?r=864e5:(e.includes("pro")||e.includes("per minute")||e.includes("rpm"))&&(r=6e4)}}catch(e){}if(r&&r<=6e4){let e=Math.min(r,6e4);i?.debug?.("RETRY",`${t.status} with Retry-After: ${Math.ceil(e/1e3)}s, waiting...`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&(!r||0===r)&&d[f]<3){d[f]++;let e=Math.min(1e3*2**d[f],6e4);i?.debug?.("RETRY",`429 auto retry ${d[f]}/3 after ${e/1e3}s`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(i?.debug?.("RETRY",`${t.status}, Retry-After ${r?`too long (${Math.ceil(r/1e3)}s)`:"missing"}, trying fallback`),p=t.status,f+1<c)continue}if(this.shouldRetry(t.status,f)){i?.debug?.("RETRY",`${t.status} on ${h}, trying fallback ${f+1}`),p=t.status;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&r&&r>6e4)try{let e,n=await t.clone().text();try{e=JSON.parse(n)}catch{e={}}e.retryAfterMs=r;let o=JSON.stringify(e);return{response:new Response(o,{status:t.status,headers:t.headers}),url:h,headers:g,transformedBody:m}}catch(e){i?.warn?.("RETRY",`Failed to embed retryAfterMs: ${e}`)}if(!o)return this.collectStreamToResponse(t,e,h,g,m,i,a);return{response:t,url:h,headers:g,transformedBody:m}}catch(e){if(u=e,f+1<c){i?.debug?.("RETRY",`Error on ${h}, trying fallback ${f+1}`);continue}throw e}}throw u||Error(`All ${c} URLs failed with status ${p}`)}}e.s(["AntigravityExecutor",0,s])},246208,e=>{"use strict";var t=e.i(511938),r=e.i(16023);let n=new Map,o=new Map;class s extends t.BaseExecutor{constructor(){super("gemini-cli",r.PROVIDERS["gemini-cli"])}buildUrl(e,t,r=0){return`${this.config.baseUrl}:${t?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":"GeminiCLI/0.31.0/unknown (linux; x64)","X-Goog-Api-Client":"google-genai-sdk/1.41.0 gl-node/v22.19.0",...t&&{Accept:"text/event-stream"}}}async refreshProject(e){let t=n.get(e);if(t&&t.expiresAt>Date.now())return t.projectId;let r=o.get(e);if(r)return r;let s=this._doRefresh(e);o.set(e,s);try{return await s}finally{o.delete(e)}}async _doRefresh(e){try{let t,r=new AbortController,o=setTimeout(()=>r.abort(),1e4);try{t=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}),signal:r.signal})}finally{clearTimeout(o)}if(!t.ok)return console.warn(`[OmniRoute] loadCodeAssist returned ${t.status} — falling back to stored projectId`),null;let s=await t.json(),a="";if("string"==typeof s.cloudaicompanionProject?a=s.cloudaicompanionProject.trim():"string"==typeof s.cloudaicompanionProject?.id&&(a=s.cloudaicompanionProject.id.trim()),!a)return console.warn("[OmniRoute] loadCodeAssist returned no project — falling back to stored projectId"),null;if(n.size>=100){let e=Date.now();for(let[t,r]of n)r.expiresAt<=e&&n.delete(t);if(n.size>=100){let e=n.keys().next().value;void 0!==e&&n.delete(e)}}return n.set(e,{projectId:a,expiresAt:Date.now()+3e4}),a}catch(t){let e=t instanceof Error?t.message:String(t);return console.warn(`[OmniRoute] loadCodeAssist failed (${e}) — falling back to stored projectId`),null}}async transformRequest(e,t,r,n){if(t&&"object"==typeof t&&t.request&&n.accessToken){let e=await this.refreshProject(n.accessToken);e&&(t.project=e)}return t}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let n=await fetch(r.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!n.ok)return null;let o=await n.json();return t?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Gemini CLI refresh error: ${e.message}`),null}}}e.s(["GeminiCLIExecutor",0,s])},927219,e=>{"use strict";var t=e.i(511938),r=e.i(16023),n=e.i(878947);class o extends t.BaseExecutor{constructor(){super("github",r.PROVIDERS.github)}buildUrl(e,t,r=0){return"openai-responses"===(0,n.getModelTargetFormat)("gh",e)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}injectResponseFormat(e,t){if(!t)return e;let r="";if("json_object"===t.type?r="Respond only with valid JSON. Do not include any text before or after the JSON object.":"json_schema"===t.type&&t.json_schema&&(r=`Respond only with valid JSON matching this schema:
|
|
1
|
+
module.exports=[42075,e=>{"use strict";var t=e.i(254799),r=e.i(511938),n=e.i(16023);let o=new Set(["gemini-3.1-pro"]);class s extends r.BaseExecutor{constructor(){super("antigravity",n.PROVIDERS.antigravity)}buildUrl(e,t,r=0){let n=this.getBaseUrls(),o=n[r]||n[0];return`${o}/v1internal:streamGenerateContent?alt=sse`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||"antigravity/1.104.0 darwin/arm64","X-OmniRoute-Source":"omniroute",Accept:"text/event-stream"}}transformRequest(e,r,n,s){let a=r?.project,i=s?.projectId,l="1"===process.env.OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE&&a?a:i||a;if(!l)return new Response(JSON.stringify({error:{message:"Missing Google projectId for Antigravity account. Please reconnect OAuth in Providers → Antigravity so OmniRoute can fetch your Cloud Code project.",type:"oauth_missing_project_id",code:"missing_project_id"}}),{status:422,headers:{"Content-Type":"application/json"}});let c=(r.request?.contents?.map(e=>{let t=e.role;e.parts?.some(e=>e.functionResponse)&&(t="user");let r=e.parts?.filter(e=>!e.thought&&!e.thoughtSignature)||[];return{...e,role:t,parts:r}})||[]).filter(e=>!Array.isArray(e.parts)||e.parts.length>0),u={...r.request,...c.length>0&&{contents:c},sessionId:r.request?.sessionId||this.generateSessionId(),safetySettings:void 0,toolConfig:r.request?.tools?.length>0?{functionCallingConfig:{mode:"VALIDATED"}}:r.request?.toolConfig},p=function(e){if(!e)return e;let t=e.includes("/")?e.split("/").pop():e;return o.has(t)&&(t=`${t}-low`),t}(e);return{...r,project:l,model:p,userAgent:"antigravity",requestType:"agent",requestId:`agent-${t.default.randomUUID()}`,request:u}}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let r=await fetch(n.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!r.ok)return null;let o=await r.json();return t?.info?.("TOKEN","Antigravity refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Antigravity refresh error: ${e.message}`),null}}generateSessionId(){return`-${parseInt((0,t.randomUUID)().replace(/-/g,"").substring(0,8),16)%9e18}`}parseRetryHeaders(e){if(!e?.get)return null;let t=e.get("retry-after");if(t){let e=parseInt(t,10);if(!isNaN(e)&&e>0)return 1e3*e;let r=new Date(t);if(!isNaN(r.getTime())){let e=r.getTime()-Date.now();return e>0?e:null}}let r=e.get("x-ratelimit-reset-after");if(r){let e=parseInt(r,10);if(!isNaN(e)&&e>0)return 1e3*e}let n=e.get("x-ratelimit-reset");if(n){let e=1e3*parseInt(n,10)-Date.now();return e>0?e:null}return null}parseRetryFromErrorMessage(e){if(!e||"string"!=typeof e)return null;let t=e.match(/reset (?:after|in) (\d+h)?(\d+m)?(\d+s)?/i);if(!t)return null;let r=0;return t[1]&&(r+=3600*parseInt(t[1])*1e3),t[2]&&(r+=60*parseInt(t[2])*1e3),t[3]&&(r+=1e3*parseInt(t[3])),r>0?r:null}collectStreamToResponse(e,r,n,o,s,a,i){let l=e.body.getReader(),c=new TextDecoder;return(async()=>{let u=[],p=!1,d=AbortSignal.timeout(12e4);try{for(;;){if(i?.aborted)throw Error("Request aborted during SSE collection");let{done:e,value:t}=await Promise.race([l.read(),new Promise((e,t)=>d.addEventListener("abort",()=>t(Error("SSE collection timed out")),{once:!0}))]);if(e)break;u.push(c.decode(t,{stream:!0}))}}catch(t){let e=t?.message||String(t);p=e.includes("timed out"),a?.warn?.("SSE_COLLECT",`Error collecting SSE stream: ${e}`)}let f=u.join(""),h="",g="stop",m=null;for(let e of f.split("\n")){let t=e.trim();if(!t.startsWith("data:"))continue;let r=t.slice(5).trim();if(r&&"[DONE]"!==r)try{let e=JSON.parse(r),t=e?.response?.candidates?.[0];if(t?.content?.parts)for(let e of t.content.parts)"string"!=typeof e.text||e.thought||e.thoughtSignature||(h+=e.text);if(t?.finishReason&&(g="stop"===t.finishReason.toLowerCase()?"stop":t.finishReason.toLowerCase()),e?.response?.usageMetadata){let t=e.response.usageMetadata;m={prompt_tokens:t.promptTokenCount||0,completion_tokens:t.candidatesTokenCount||0,total_tokens:t.totalTokenCount||0}}}catch(e){a?.debug?.("SSE_PARSE",`Skipping malformed SSE line: ${r.slice(0,80)}`)}}let y={id:`chatcmpl-${Date.now()}-${t.default.randomUUID().slice(0,8)}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:r,choices:[{index:0,message:{role:"assistant",content:h},finish_reason:p?"length":g}],...m&&{usage:m}},k=p?504:e.status;return{response:new Response(JSON.stringify(y),{status:k,statusText:p?"Gateway Timeout":e.statusText,headers:[["Content-Type","application/json"]]}),url:n,headers:o,transformedBody:s}})()}async execute({model:e,body:t,stream:o,credentials:s,signal:a,log:i,upstreamExtraHeaders:l}){let c=this.getFallbackCount(),u=null,p=0,d={};for(let f=0;f<c;f++){let h=this.buildUrl(e,!0,f),g=this.buildHeaders(s,!0);(0,r.mergeUpstreamExtraHeaders)(g,l);let m=await this.transformRequest(e,t,!0,s);d[f]||(d[f]=0);try{let t=await fetch(h,{method:"POST",headers:g,body:JSON.stringify(m),signal:a}),r=null;if(t.status===n.HTTP_STATUS.RATE_LIMITED||t.status===n.HTTP_STATUS.SERVICE_UNAVAILABLE){if(!(r=this.parseRetryHeaders(t.headers)))try{let e=await t.clone().text(),n=JSON.parse(e),o=n?.error?.message||n?.message||"";if(!(r=this.parseRetryFromErrorMessage(o))){let e=o.toLowerCase();e.includes("free tier")||e.includes("exhausted your capacity")||e.includes("daily limit")||e.includes("quota exceeded")?r=864e5:(e.includes("pro")||e.includes("per minute")||e.includes("rpm"))&&(r=6e4)}}catch(e){}if(r&&r<=6e4){let e=Math.min(r,6e4);i?.debug?.("RETRY",`${t.status} with Retry-After: ${Math.ceil(e/1e3)}s, waiting...`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&(!r||0===r)&&d[f]<3){d[f]++;let e=Math.min(1e3*2**d[f],6e4);i?.debug?.("RETRY",`429 auto retry ${d[f]}/3 after ${e/1e3}s`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(i?.debug?.("RETRY",`${t.status}, Retry-After ${r?`too long (${Math.ceil(r/1e3)}s)`:"missing"}, trying fallback`),p=t.status,f+1<c)continue}if(this.shouldRetry(t.status,f)){i?.debug?.("RETRY",`${t.status} on ${h}, trying fallback ${f+1}`),p=t.status;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&r&&r>6e4)try{let e,n=await t.clone().text();try{e=JSON.parse(n)}catch{e={}}e.retryAfterMs=r;let o=JSON.stringify(e);return{response:new Response(o,{status:t.status,headers:t.headers}),url:h,headers:g,transformedBody:m}}catch(e){i?.warn?.("RETRY",`Failed to embed retryAfterMs: ${e}`)}if(!o)return this.collectStreamToResponse(t,e,h,g,m,i,a);return{response:t,url:h,headers:g,transformedBody:m}}catch(e){if(u=e,f+1<c){i?.debug?.("RETRY",`Error on ${h}, trying fallback ${f+1}`);continue}throw e}}throw u||Error(`All ${c} URLs failed with status ${p}`)}}e.s(["AntigravityExecutor",0,s])},246208,e=>{"use strict";var t=e.i(511938),r=e.i(16023);let n=new Map,o=new Map;class s extends t.BaseExecutor{constructor(){super("gemini-cli",r.PROVIDERS["gemini-cli"])}buildUrl(e,t,r=0){return`${this.config.baseUrl}:${t?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":"GeminiCLI/0.31.0/unknown (linux; x64)","X-Goog-Api-Client":"google-genai-sdk/1.41.0 gl-node/v22.19.0",...t&&{Accept:"text/event-stream"}}}async refreshProject(e){let t=n.get(e);if(t&&t.expiresAt>Date.now())return t.projectId;let r=o.get(e);if(r)return r;let s=this._doRefresh(e);o.set(e,s);try{return await s}finally{o.delete(e)}}async _doRefresh(e){try{let t,r=new AbortController,o=setTimeout(()=>r.abort(),1e4);try{t=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}),signal:r.signal})}finally{clearTimeout(o)}if(!t.ok)return console.warn(`[OmniRoute] loadCodeAssist returned ${t.status} — falling back to stored projectId`),null;let s=await t.json(),a="";if("string"==typeof s.cloudaicompanionProject?a=s.cloudaicompanionProject.trim():"string"==typeof s.cloudaicompanionProject?.id&&(a=s.cloudaicompanionProject.id.trim()),!a)return console.warn("[OmniRoute] loadCodeAssist returned no project — falling back to stored projectId"),null;if(n.size>=100){let e=Date.now();for(let[t,r]of n)r.expiresAt<=e&&n.delete(t);if(n.size>=100){let e=n.keys().next().value;void 0!==e&&n.delete(e)}}return n.set(e,{projectId:a,expiresAt:Date.now()+3e4}),a}catch(t){let e=t instanceof Error?t.message:String(t);return console.warn(`[OmniRoute] loadCodeAssist failed (${e}) — falling back to stored projectId`),null}}async transformRequest(e,t,r,n){if(t&&"object"==typeof t&&t.request&&n.accessToken){let e=await this.refreshProject(n.accessToken);e&&(t.project=e)}return t}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let n=await fetch(r.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!n.ok)return null;let o=await n.json();return t?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Gemini CLI refresh error: ${e.message}`),null}}}e.s(["GeminiCLIExecutor",0,s])},927219,e=>{"use strict";var t=e.i(511938),r=e.i(16023),n=e.i(878947);class o extends t.BaseExecutor{constructor(){super("github",r.PROVIDERS.github)}buildUrl(e,t,r=0){return"openai-responses"===(0,n.getModelTargetFormat)("gh",e)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}injectResponseFormat(e,t){if(!t)return e;let r="";if("json_object"===t.type?r="Respond only with valid JSON. Do not include any text before or after the JSON object.":"json_schema"===t.type&&t.json_schema&&(r=`Respond only with valid JSON matching this schema:
|
|
2
2
|
${JSON.stringify(t.json_schema.schema,null,2)}
|
|
3
3
|
Do not include any text before or after the JSON.`),!r)return e;let n=e.findIndex(e=>"system"===e.role);return n>=0?e.map((e,t)=>t===n?{...e,content:`${e.content}
|
|
4
4
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[479103,e=>{"use strict";let t={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};e.s(["getAllRerankModels",0,function(){let e=[];for(let[i,o]of Object.entries(t))for(let t of o.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e},"getRerankProvider",0,function(e){return t[e]||null},"parseRerankModel",0,function(e){if(!e)return{provider:null,model:null};for(let[i,o]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,o]of Object.entries(t))if(o.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},854319,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};e.s(["getAllVideoModels",0,function(){return(0,t.getAllModelsFromRegistry)(i)},"getVideoProvider",0,function(e){return i[e]||null},"parseVideoModel",0,function(e){return(0,t.parseModelFromRegistry)(e,i)}])},105575,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};e.s(["getAllMusicModels",0,function(){return(0,t.getAllModelsFromRegistry)(i)},"getMusicProvider",0,function(e){return i[e]||null},"parseMusicModel",0,function(e){return(0,t.parseModelFromRegistry)(e,i)}])},485683,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};e.s(["getAllModerationModels",0,function(){let e=[];for(let[i,o]of Object.entries(t))for(let t of o.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e},"getModerationProvider",0,function(e){return t[e]||null},"parseModerationModel",0,function(e){if(!e)return{provider:null,model:null};for(let[i,o]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,o]of Object.entries(t))if(o.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},60902,e=>e.a(async(t,i)=>{try{var o=e.i(617325),r=e.i(878947),n=e.i(963219),d=t([o,n]);[o,n]=d.then?(await d)():d,e.s(["getCompatibleFallbackModels",0,function(e,t=[]){return"openrouter"===e?t:(0,n.isClaudeCodeCompatibleProvider)(e)?(0,r.getModelsByProviderId)("claude"):void 0}]),i()}catch(e){i(e)}},!1),970620,e=>e.a(async(t,i)=>{try{var o=e.i(224010),r=e.i(617325),n=e.i(878947),d=e.i(963219);e.i(245272);var l=e.i(385498),a=e.i(151205),s=e.i(186920),u=e.i(548941),c=e.i(235328),p=e.i(261189),m=e.i(573344),f=e.i(479103),h=e.i(501323),g=e.i(485683),y=e.i(854319),b=e.i(105575),v=e.i(828059),k=e.i(60902),M=t([r,d,k]);[r,d,k]=M.then?(await M)():M;let A={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"},R=["gpt-4o","gpt-4.1","gpt-4-vision","gpt-4-turbo","claude-3","claude-3.5","claude-3-5","claude-4","claude-opus","claude-sonnet","claude-haiku","gemini","gemma","llava","bakllava","pixtral","mistral-pixtral","qwen-vl","qvq","glm-4.6v","glm-4.5v","vision","multimodal"];function _(e){let t;return(t=String(e||"").toLowerCase())&&R.some(e=>t.includes(e))?{capabilities:{vision:!0},input_modalities:["text","image"],output_modalities:["text"]}:null}async function w(t,i={"Access-Control-Allow-Origin":o.CORS_ORIGIN}){try{let o={};try{o=await (0,u.getSettings)()}catch{}if(!0===o.requireAuthForModels&&!await (0,c.isAuthenticated)(t))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:r,providerIdToAlias:M}=function(){let e={},t={};for(let i of Object.values(d.AI_PROVIDERS)){let o=i?.id,r=i?.alias||o;o&&(e[o]=o,e[r]=o,t[o]||(t[o]=r))}for(let[t,i]of Object.entries(n.PROVIDER_ID_TO_ALIAS)){if(n.PROVIDER_MODELS[t]){e[t]=e[t]||i;continue}if(n.PROVIDER_MODELS[i]){e[i]=e[i]||t;continue}e[i]=e[i]||t}for(let t of Object.keys(n.PROVIDER_MODELS))e[t]||(e[t]=t);for(let[i,o]of Object.entries(e))t[o]||(t[o]=i);for(let[i,o]of Object.entries(A))e[i]||(e[i]=o),e[o]||(e[o]=o),t[o]||(t[o]=i);return{aliasToProviderId:e,providerIdToAlias:t}}(),w=new Set(Array.isArray(o.blockedProviders)?o.blockedProviders:[]),R=[];try{(R=await (0,l.getProviderConnections)()).length,R=R.filter(e=>!1!==e.isActive)}catch(e){console.log("[catalog] Could not fetch providers:",e)}let j=[];try{j=await (0,l.getProviderNodes)()}catch(e){console.log("Could not fetch provider nodes")}let O={},x={};for(let e of j)e.prefix&&(O[e.id]=e.prefix),e.type&&(x[e.id]=e.type);let L=[];try{L=await (0,a.getCombos)()}catch(e){console.log("Could not fetch combos")}let T=new Set;for(let e of R){let t=M[e.provider]||e.provider;T.add(t),T.add(e.provider)}let E=[],I=Math.floor(Date.now()/1e3);for(let e of L)!1!==e.isActive&&!0!==e.isHidden&&E.push({id:e.name,object:"model",created:I,owned_by:"combo",permission:[],root:e.name,parent:null,...e.context_length?{context_length:e.context_length}:{}});for(let[e,t]of Object.entries(n.PROVIDER_MODELS)){let i=r[e]||e,o=A[e]||i;if(w.has(e)||w.has(o)||!T.has(e)&&!T.has(o))continue;let n=v.REGISTRY[e]||v.REGISTRY[o],d=n?.defaultContextLength;for(let i of t){let t=`${e}/${i.id}`;if((0,s.getModelIsHidden)(o,i.id))continue;let r=_(t)||_(i.id),n=i.contextLength||d;if(E.push({id:t,object:"model",created:I,owned_by:o,permission:[],root:i.id,parent:null,...n?{context_length:n}:{},...r||{}}),o!==e){let e=`${o}/${i.id}`,r=_(e)||_(i.id);E.push({id:e,object:"model",created:I,owned_by:o,permission:[],root:i.id,parent:t,...n?{context_length:n}:{},...r||{}})}}}if(T.has("gemini")&&!w.has("gemini"))try{for(let e of(await (0,s.getSyncedAvailableModels)("gemini"))){let t,i=`gemini/${e.id}`;if((0,s.getModelIsHidden)("gemini",e.id))continue;let o=Array.isArray(e.supportedEndpoints)?e.supportedEndpoints:["chat"];o.includes("embeddings")?t="embedding":o.includes("images")?t="image":o.includes("audio")&&(t="audio"),E.push({id:i,object:"model",created:I,owned_by:"gemini",permission:[],root:e.id,parent:null,...t?{type:t}:{},..."audio"===t?{subtype:"transcription"}:{},...e.inputTokenLimit?{context_length:e.inputTokenLimit}:{},...o.length>1||!o.includes("chat")?{supported_endpoints:o}:{}}),"audio"===t&&E.push({id:i,object:"model",created:I,owned_by:"gemini",permission:[],root:e.id,parent:null,type:"audio",subtype:"speech",...e.inputTokenLimit?{context_length:e.inputTokenLimit}:{},...o.length>1||!o.includes("chat")?{supported_endpoints:o}:{}})}}catch(e){console.error("[catalog] Error fetching synced Gemini models:",e)}let S=e=>{if(0===T.size)return!1;let t=M[e]||e;return T.has(t)||T.has(e)};for(let e of(0,p.getAllEmbeddingModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"embedding",dimensions:e.dimensions});for(let e of(0,m.getAllImageModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"image",supported_sizes:e.supportedSizes});for(let e of(0,f.getAllRerankModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"rerank"});for(let e of(0,h.getAllAudioModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"audio",subtype:e.subtype});for(let e of(0,g.getAllModerationModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"moderation"});for(let e of(0,y.getAllVideoModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"video"});for(let e of(0,b.getAllMusicModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"music"});try{let e=await (0,s.getAllCustomModels)();for(let[t,i]of Object.entries(e)){if("gemini"===t)continue;let e=Array.isArray(i)?i.filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)):[],o=O[t],r=o||M[t]||t,n=A[r]||t,d=x[t];if(T.has(r)||T.has(n)||T.has(t)||d&&T.has(d))for(let t of e){let e,i="string"==typeof t.id?t.id:null;if(!i||!0===t.isHidden)continue;let d=`${r}/${i}`;if(E.some(e=>e.id===d))continue;let l=Array.isArray(t.supportedEndpoints)?t.supportedEndpoints:["chat"],a="string"==typeof t.apiFormat?t.apiFormat:"chat-completions";l.includes("embeddings")?e="embedding":l.includes("images")?e="image":l.includes("audio")&&(e="audio");let s="chat"===e?_(d)||_(i):null;if(E.push({id:d,object:"model",created:I,owned_by:n,permission:[],root:i,parent:null,custom:!0,...e?{type:e}:{},..."chat-completions"!==a?{api_format:a}:{},...l.length>1||!l.includes("chat")?{supported_endpoints:l}:{},..."number"==typeof t.inputTokenLimit?{context_length:t.inputTokenLimit}:{},...s||{}}),n!==r&&!o){let o=`${n}/${i}`;if(E.some(e=>e.id===o))continue;let r="chat"===e?_(o)||_(i):null;E.push({id:o,object:"model",created:I,owned_by:n,permission:[],root:i,parent:d,custom:!0,...e?{type:e}:{},..."number"==typeof t.inputTokenLimit?{context_length:t.inputTokenLimit}:{},...r||{}})}}}}catch(e){console.log("Could not fetch custom models")}for(let e of R){let t="string"==typeof e.provider?e.provider:null;if(!t||w.has(t))continue;let i=(0,k.getCompatibleFallbackModels)(t);if(!Array.isArray(i)||0===i.length)continue;let o=O[t]||M[t]||t;for(let e of i){let i="string"==typeof e.id?e.id:null;if(!i||(0,s.getModelIsHidden)(t,i))continue;let r=`${o}/${i}`;if(E.some(e=>e.id===r))continue;let n=_(r)||_(i),d="number"==typeof e.contextLength?e.contextLength:void 0;E.push({id:r,object:"model",created:I,owned_by:t,permission:[],root:i,parent:null,...d?{context_length:d}:{},...n||{}})}}let C=t.headers.get("authorization"),P=E;if(C&&C.startsWith("Bearer ")){let t=C.slice(7),{isModelAllowedForKey:i}=await e.A(734680),o=[];for(let e of E)(await i(t,e.id)||await i(t,e.root))&&o.push(e);P=o}return Response.json({object:"list",data:P},{headers:i})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}e.s(["getUnifiedModelsResponse",0,w]),i()}catch(e){i(e)}},!1)];
|
|
1
|
+
module.exports=[479103,e=>{"use strict";let t={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};e.s(["getAllRerankModels",0,function(){let e=[];for(let[i,o]of Object.entries(t))for(let t of o.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e},"getRerankProvider",0,function(e){return t[e]||null},"parseRerankModel",0,function(e){if(!e)return{provider:null,model:null};for(let[i,o]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,o]of Object.entries(t))if(o.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},105575,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};e.s(["getAllMusicModels",0,function(){return(0,t.getAllModelsFromRegistry)(i)},"getMusicProvider",0,function(e){return i[e]||null},"parseMusicModel",0,function(e){return(0,t.parseModelFromRegistry)(e,i)}])},485683,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};e.s(["getAllModerationModels",0,function(){let e=[];for(let[i,o]of Object.entries(t))for(let t of o.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e},"getModerationProvider",0,function(e){return t[e]||null},"parseModerationModel",0,function(e){if(!e)return{provider:null,model:null};for(let[i,o]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,o]of Object.entries(t))if(o.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}])},854319,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};e.s(["getAllVideoModels",0,function(){return(0,t.getAllModelsFromRegistry)(i)},"getVideoProvider",0,function(e){return i[e]||null},"parseVideoModel",0,function(e){return(0,t.parseModelFromRegistry)(e,i)}])},60902,e=>e.a(async(t,i)=>{try{var o=e.i(617325),r=e.i(878947),n=e.i(963219),d=t([o,n]);[o,n]=d.then?(await d)():d,e.s(["getCompatibleFallbackModels",0,function(e,t=[]){return"openrouter"===e?t:(0,n.isClaudeCodeCompatibleProvider)(e)?(0,r.getModelsByProviderId)("claude"):void 0}]),i()}catch(e){i(e)}},!1),970620,e=>e.a(async(t,i)=>{try{var o=e.i(224010),r=e.i(617325),n=e.i(878947),d=e.i(963219);e.i(245272);var l=e.i(385498),a=e.i(151205),s=e.i(186920),u=e.i(548941),c=e.i(235328),p=e.i(261189),m=e.i(573344),f=e.i(479103),h=e.i(501323),g=e.i(485683),y=e.i(854319),b=e.i(105575),v=e.i(828059),k=e.i(60902),M=t([r,d,k]);[r,d,k]=M.then?(await M)():M;let A={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"},R=["gpt-4o","gpt-4.1","gpt-4-vision","gpt-4-turbo","claude-3","claude-3.5","claude-3-5","claude-4","claude-opus","claude-sonnet","claude-haiku","gemini","gemma","llava","bakllava","pixtral","mistral-pixtral","qwen-vl","qvq","glm-4.6v","glm-4.5v","vision","multimodal"];function _(e){let t;return(t=String(e||"").toLowerCase())&&R.some(e=>t.includes(e))?{capabilities:{vision:!0},input_modalities:["text","image"],output_modalities:["text"]}:null}async function w(t,i={"Access-Control-Allow-Origin":o.CORS_ORIGIN}){try{let o={};try{o=await (0,u.getSettings)()}catch{}if(!0===o.requireAuthForModels&&!await (0,c.isAuthenticated)(t))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:r,providerIdToAlias:M}=function(){let e={},t={};for(let i of Object.values(d.AI_PROVIDERS)){let o=i?.id,r=i?.alias||o;o&&(e[o]=o,e[r]=o,t[o]||(t[o]=r))}for(let[t,i]of Object.entries(n.PROVIDER_ID_TO_ALIAS)){if(n.PROVIDER_MODELS[t]){e[t]=e[t]||i;continue}if(n.PROVIDER_MODELS[i]){e[i]=e[i]||t;continue}e[i]=e[i]||t}for(let t of Object.keys(n.PROVIDER_MODELS))e[t]||(e[t]=t);for(let[i,o]of Object.entries(e))t[o]||(t[o]=i);for(let[i,o]of Object.entries(A))e[i]||(e[i]=o),e[o]||(e[o]=o),t[o]||(t[o]=i);return{aliasToProviderId:e,providerIdToAlias:t}}(),w=new Set(Array.isArray(o.blockedProviders)?o.blockedProviders:[]),R=[];try{(R=await (0,l.getProviderConnections)()).length,R=R.filter(e=>!1!==e.isActive)}catch(e){console.log("[catalog] Could not fetch providers:",e)}let j=[];try{j=await (0,l.getProviderNodes)()}catch(e){console.log("Could not fetch provider nodes")}let O={},x={};for(let e of j)e.prefix&&(O[e.id]=e.prefix),e.type&&(x[e.id]=e.type);let L=[];try{L=await (0,a.getCombos)()}catch(e){console.log("Could not fetch combos")}let T=new Set;for(let e of R){let t=M[e.provider]||e.provider;T.add(t),T.add(e.provider)}let E=[],I=Math.floor(Date.now()/1e3);for(let e of L)!1!==e.isActive&&!0!==e.isHidden&&E.push({id:e.name,object:"model",created:I,owned_by:"combo",permission:[],root:e.name,parent:null,...e.context_length?{context_length:e.context_length}:{}});for(let[e,t]of Object.entries(n.PROVIDER_MODELS)){let i=r[e]||e,o=A[e]||i;if(w.has(e)||w.has(o)||!T.has(e)&&!T.has(o))continue;let n=v.REGISTRY[e]||v.REGISTRY[o],d=n?.defaultContextLength;for(let i of t){let t=`${e}/${i.id}`;if((0,s.getModelIsHidden)(o,i.id))continue;let r=_(t)||_(i.id),n=i.contextLength||d;if(E.push({id:t,object:"model",created:I,owned_by:o,permission:[],root:i.id,parent:null,...n?{context_length:n}:{},...r||{}}),o!==e){let e=`${o}/${i.id}`,r=_(e)||_(i.id);E.push({id:e,object:"model",created:I,owned_by:o,permission:[],root:i.id,parent:t,...n?{context_length:n}:{},...r||{}})}}}if(T.has("gemini")&&!w.has("gemini"))try{for(let e of(await (0,s.getSyncedAvailableModels)("gemini"))){let t,i=`gemini/${e.id}`;if((0,s.getModelIsHidden)("gemini",e.id))continue;let o=Array.isArray(e.supportedEndpoints)?e.supportedEndpoints:["chat"];o.includes("embeddings")?t="embedding":o.includes("images")?t="image":o.includes("audio")&&(t="audio"),E.push({id:i,object:"model",created:I,owned_by:"gemini",permission:[],root:e.id,parent:null,...t?{type:t}:{},..."audio"===t?{subtype:"transcription"}:{},...e.inputTokenLimit?{context_length:e.inputTokenLimit}:{},...o.length>1||!o.includes("chat")?{supported_endpoints:o}:{}}),"audio"===t&&E.push({id:i,object:"model",created:I,owned_by:"gemini",permission:[],root:e.id,parent:null,type:"audio",subtype:"speech",...e.inputTokenLimit?{context_length:e.inputTokenLimit}:{},...o.length>1||!o.includes("chat")?{supported_endpoints:o}:{}})}}catch(e){console.error("[catalog] Error fetching synced Gemini models:",e)}let S=e=>{if(0===T.size)return!1;let t=M[e]||e;return T.has(t)||T.has(e)};for(let e of(0,p.getAllEmbeddingModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"embedding",dimensions:e.dimensions});for(let e of(0,m.getAllImageModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"image",supported_sizes:e.supportedSizes});for(let e of(0,f.getAllRerankModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"rerank"});for(let e of(0,h.getAllAudioModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"audio",subtype:e.subtype});for(let e of(0,g.getAllModerationModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"moderation"});for(let e of(0,y.getAllVideoModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"video"});for(let e of(0,b.getAllMusicModels)())S(e.provider)&&E.push({id:e.id,object:"model",created:I,owned_by:e.provider,type:"music"});try{let e=await (0,s.getAllCustomModels)();for(let[t,i]of Object.entries(e)){if("gemini"===t)continue;let e=Array.isArray(i)?i.filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)):[],o=O[t],r=o||M[t]||t,n=A[r]||t,d=x[t];if(T.has(r)||T.has(n)||T.has(t)||d&&T.has(d))for(let t of e){let e,i="string"==typeof t.id?t.id:null;if(!i||!0===t.isHidden)continue;let d=`${r}/${i}`;if(E.some(e=>e.id===d))continue;let l=Array.isArray(t.supportedEndpoints)?t.supportedEndpoints:["chat"],a="string"==typeof t.apiFormat?t.apiFormat:"chat-completions";l.includes("embeddings")?e="embedding":l.includes("images")?e="image":l.includes("audio")&&(e="audio");let s="chat"===e?_(d)||_(i):null;if(E.push({id:d,object:"model",created:I,owned_by:n,permission:[],root:i,parent:null,custom:!0,...e?{type:e}:{},..."chat-completions"!==a?{api_format:a}:{},...l.length>1||!l.includes("chat")?{supported_endpoints:l}:{},..."number"==typeof t.inputTokenLimit?{context_length:t.inputTokenLimit}:{},...s||{}}),n!==r&&!o){let o=`${n}/${i}`;if(E.some(e=>e.id===o))continue;let r="chat"===e?_(o)||_(i):null;E.push({id:o,object:"model",created:I,owned_by:n,permission:[],root:i,parent:d,custom:!0,...e?{type:e}:{},..."number"==typeof t.inputTokenLimit?{context_length:t.inputTokenLimit}:{},...r||{}})}}}}catch(e){console.log("Could not fetch custom models")}for(let e of R){let t="string"==typeof e.provider?e.provider:null;if(!t||w.has(t))continue;let i=(0,k.getCompatibleFallbackModels)(t);if(!Array.isArray(i)||0===i.length)continue;let o=O[t]||M[t]||t;for(let e of i){let i="string"==typeof e.id?e.id:null;if(!i||(0,s.getModelIsHidden)(t,i))continue;let r=`${o}/${i}`;if(E.some(e=>e.id===r))continue;let n=_(r)||_(i),d="number"==typeof e.contextLength?e.contextLength:void 0;E.push({id:r,object:"model",created:I,owned_by:t,permission:[],root:i,parent:null,...d?{context_length:d}:{},...n||{}})}}let C=t.headers.get("authorization"),P=E;if(C&&C.startsWith("Bearer ")){let t=C.slice(7),{isModelAllowedForKey:i}=await e.A(734680),o=[];for(let e of E)(await i(t,e.id)||await i(t,e.root))&&o.push(e);P=o}return Response.json({object:"list",data:P},{headers:i})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}e.s(["getUnifiedModelsResponse",0,w]),i()}catch(e){i(e)}},!1)];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_08cwbl2._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[980935,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),h=e.i(195975),f=t([u,c]);[u,c]=f.then?(await f)():f;let v=()=>(0,i.getCliConfigPaths)("codex").config,w=()=>(0,i.getCliConfigPaths)("codex").auth,x=e=>{let t={_root:{},_sections:{}},r="_root";return e.split("\n").forEach(e=>{let a=e.trim();if(!a||a.startsWith("#"))return;let n=a.match(/^\[(.+)\]$/);if(n){r=n[1],t._sections[r]={};return}let o=a.match(/^([^=]+)\s*=\s*(.+)$/);if(o){let e=o[1].trim(),a=o[2].trim();(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),"_root"===r?t._root[e]=a:t._sections[r][e]=a}}),t},y=e=>{let t=[];return Object.entries(e._root).forEach(([e,r])=>{t.push(`${e} = "${r}"`)}),Object.entries(e._sections).forEach(([e,r])=>{t.push(""),t.push(`[${e}]`),Object.entries(r).forEach(([e,r])=>{t.push(`${e} = "${r}"`)})}),t.join("\n")+"\n"},E=async()=>{try{let e=v();return await o.default.readFile(e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,i.getCliRuntimeStatus)("codex");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:null,message:e.installed&&!e.runnable?"Codex CLI is installed but not runnable":"Codex CLI is not installed"});let t=await E();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:t,hasOmniRoute:!!t&&(t.includes('model_provider = "omniroute"')||t.includes("[model_providers.omniroute]")),configPath:v()})}catch(e){return console.log("Error checking codex settings:",e),n.NextResponse.json({error:"Failed to check codex settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,model:h}=r.data,{apiKey:f}=r.data;if(!f)return n.NextResponse.json({error:"baseUrl, apiKey and model are required"},{status:400});let m="string"==typeof t?.keyId?t.keyId.trim():null;if(m)try{let e=await (0,p.getApiKeyById)(m);e?.key&&(f=e.key)}catch{}let g=s.default.dirname(v()),R=v(),E=w();await o.default.mkdir(g,{recursive:!0}),await (0,l.createMultiBackup)("codex",[R,E]);let C={_root:{},_sections:{}};try{let e=await o.default.readFile(R,"utf-8");C=x(e)}catch{}C._root.model=h,C._root.model_provider="omniroute";let _=a.endsWith("/v1")?a:`${a}/v1`;C._sections["model_providers.omniroute"]={name:"OmniRoute",base_url:_,wire_api:"responses"};let N=y(C);await o.default.writeFile(R,N);let b={};try{let e=await o.default.readFile(E,"utf-8");b=JSON.parse(e)}catch{}b.OPENAI_API_KEY=f,await o.default.writeFile(E,JSON.stringify(b,null,2));try{(0,d.saveCliToolLastConfigured)("codex")}catch{}return n.NextResponse.json({success:!0,message:"Codex settings applied successfully!",configPath:R})}catch(e){return console.log("Error updating codex settings:",e),n.NextResponse.json({error:"Failed to update codex settings"},{status:500})}}async function R(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=v();await (0,l.createMultiBackup)("codex",[t,w()]);let r={_root:{},_sections:{}};try{let e=await o.default.readFile(t,"utf-8");r=x(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No config file to reset"});throw e}"omniroute"===r._root.model_provider&&(delete r._root.model,delete r._root.model_provider),delete r._sections["model_providers.omniroute"];let a=y(r);await o.default.writeFile(t,a);let s=w();try{let e=await o.default.readFile(s,"utf-8"),t=JSON.parse(e);delete t.OPENAI_API_KEY,0===Object.keys(t).length?await o.default.unlink(s):await o.default.writeFile(s,JSON.stringify(t,null,2))}catch{}try{(0,d.deleteCliToolLastConfigured)("codex")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting codex settings:",e),n.NextResponse.json({error:"Failed to reset codex settings"},{status:500})}}(0,h.ensureServerEntryExports)([m,g,R]),(0,a.registerServerReference)(m,"006ce3daf9f64c50b2229a1ae60c15b090ee05f771",null),(0,a.registerServerReference)(g,"40a565b3cdb5c2d289be14024fa9e5fd084ec8224c",null),(0,a.registerServerReference)(R,"0091761b78acb48ebaca1dc0a34e68a6228f4d0e01",null),e.s(["DELETE",0,R,"GET",0,m,"POST",0,g]),r()}catch(e){r(e)}},!1),58214,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),R=e.i(10372),v=e.i(193695);e.i(820232);var w=e.i(600220),x=e.i(980935),y=t([x]);[x]=y.then?(await y)():y;let C=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-settings/route",pathname:"/api/cli-tools/codex-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-settings/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:N,serverHooks:b}=C;async function E(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-settings/route";a=a.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,params:y,nextConfig:E,parsedUrl:_,isDraftMode:N,prerenderManifest:b,routerServerContext:A,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:I}=o,j=(0,d.normalizeAppPath)(a),k=!!(b.dynamicRoutes[j]||b.routes[S]),M=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,_,!1):t.end("This page could not be found"),null);if(k&&!N){let e=!!b.routes[S],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new v.NoFallbackError}}let F=null;!k||C.isDev||N||(F=S,F="/index"===F?"/":F);let q=!0===C.isDev||!k,H=k&&!q;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let U=e.method||"GET",$=(0,i.getTracer)(),D=$.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,E,b,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let L={params:y,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:q,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,A)},sharedContext:{buildId:x}},J=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let o,s=async e=>C.handle(V,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.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 n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",n),o.updateName(t))}else e.updateName(`${U} ${a}`)}),l=async o=>{var i,l;let d=async({previousCacheEntry:n})=>{try{if(!W&&O&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=L.renderOpts.collectedTags;if(!k)return await (0,f.sendResponse)(J,G,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,A),t}},u=await C.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:W});if(!k)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&k||c.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(J,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};K&&D?await l(D):(o=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,A),k)throw t;return await (0,f.sendResponse)(J,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:N})},"routeModule",0,C,"serverHooks",0,b,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,N]),r()}catch(e){r(e)}},!1)];
|
|
1
|
+
module.exports=[980935,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),h=e.i(195975),f=t([u,c]);[u,c]=f.then?(await f)():f;let v=()=>(0,i.getCliConfigPaths)("codex").config,w=()=>(0,i.getCliConfigPaths)("codex").auth,x=e=>{let t={_root:{},_sections:{}},r="_root";return e.split("\n").forEach(e=>{let a=e.trim();if(!a||a.startsWith("#"))return;let n=a.match(/^\[(.+)\]$/);if(n){r=n[1],t._sections[r]={};return}let o=a.match(/^([^=]+)\s*=\s*(.+)$/);if(o){let e=o[1].trim(),a=o[2].trim();(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),"_root"===r?t._root[e]=a:t._sections[r][e]=a}}),t},y=e=>{let t=[];return Object.entries(e._root).forEach(([e,r])=>{t.push(`${e} = "${r}"`)}),Object.entries(e._sections).forEach(([e,r])=>{t.push(""),t.push(`[${e}]`),Object.entries(r).forEach(([e,r])=>{t.push(`${e} = "${r}"`)})}),t.join("\n")+"\n"},E=async()=>{try{let e=v();return await o.default.readFile(e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,i.getCliRuntimeStatus)("codex");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:null,message:e.installed&&!e.runnable?"Codex CLI is installed but not runnable":"Codex CLI is not installed"});let t=await E();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:t,hasOmniRoute:!!t&&(t.includes('model_provider = "omniroute"')||t.includes("[model_providers.omniroute]")),configPath:v()})}catch(e){return console.log("Error checking codex settings:",e),n.NextResponse.json({error:"Failed to check codex settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,model:h}=r.data,{apiKey:f}=r.data;if(!f)return n.NextResponse.json({error:"baseUrl, apiKey and model are required"},{status:400});let m="string"==typeof t?.keyId?t.keyId.trim():null;if(m)try{let e=await (0,p.getApiKeyById)(m);e?.key&&(f=e.key)}catch{}let g=s.default.dirname(v()),R=v(),E=w();await o.default.mkdir(g,{recursive:!0}),await (0,l.createMultiBackup)("codex",[R,E]);let C={_root:{},_sections:{}};try{let e=await o.default.readFile(R,"utf-8");C=x(e)}catch{}C._root.model=h,C._root.model_provider="omniroute";let _=a.endsWith("/v1")?a:`${a}/v1`;C._sections["model_providers.omniroute"]={name:"OmniRoute",base_url:_,wire_api:"responses"};let N=y(C);await o.default.writeFile(R,N);let b={};try{let e=await o.default.readFile(E,"utf-8");b=JSON.parse(e)}catch{}b.OPENAI_API_KEY=f,await o.default.writeFile(E,JSON.stringify(b,null,2));try{(0,d.saveCliToolLastConfigured)("codex")}catch{}return n.NextResponse.json({success:!0,message:"Codex settings applied successfully!",configPath:R})}catch(e){return console.log("Error updating codex settings:",e),n.NextResponse.json({error:"Failed to update codex settings"},{status:500})}}async function R(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=v();await (0,l.createMultiBackup)("codex",[t,w()]);let r={_root:{},_sections:{}};try{let e=await o.default.readFile(t,"utf-8");r=x(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No config file to reset"});throw e}"omniroute"===r._root.model_provider&&(delete r._root.model,delete r._root.model_provider),delete r._sections["model_providers.omniroute"];let a=y(r);await o.default.writeFile(t,a);let s=w();try{let e=await o.default.readFile(s,"utf-8"),t=JSON.parse(e);delete t.OPENAI_API_KEY,0===Object.keys(t).length?await o.default.unlink(s):await o.default.writeFile(s,JSON.stringify(t,null,2))}catch{}try{(0,d.deleteCliToolLastConfigured)("codex")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting codex settings:",e),n.NextResponse.json({error:"Failed to reset codex settings"},{status:500})}}(0,h.ensureServerEntryExports)([m,g,R]),(0,a.registerServerReference)(m,"0099745a4dd8f279b3777554b73508e0cc6d700c91",null),(0,a.registerServerReference)(g,"40efbaec16f90720fec23e66a44d21be56208f0d83",null),(0,a.registerServerReference)(R,"00c23a7d26789218e7968b5645e897effbde479256",null),e.s(["DELETE",0,R,"GET",0,m,"POST",0,g]),r()}catch(e){r(e)}},!1),58214,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),R=e.i(10372),v=e.i(193695);e.i(820232);var w=e.i(600220),x=e.i(980935),y=t([x]);[x]=y.then?(await y)():y;let C=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-settings/route",pathname:"/api/cli-tools/codex-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-settings/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:N,serverHooks:b}=C;async function E(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-settings/route";a=a.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,params:y,nextConfig:E,parsedUrl:_,isDraftMode:N,prerenderManifest:b,routerServerContext:A,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:I}=o,j=(0,d.normalizeAppPath)(a),k=!!(b.dynamicRoutes[j]||b.routes[S]),M=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,_,!1):t.end("This page could not be found"),null);if(k&&!N){let e=!!b.routes[S],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new v.NoFallbackError}}let F=null;!k||C.isDev||N||(F=S,F="/index"===F?"/":F);let q=!0===C.isDev||!k,H=k&&!q;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let U=e.method||"GET",$=(0,i.getTracer)(),D=$.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,E,b,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let L={params:y,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:q,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,A)},sharedContext:{buildId:x}},J=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let o,s=async e=>C.handle(V,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.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 n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",n),o.updateName(t))}else e.updateName(`${U} ${a}`)}),l=async o=>{var i,l;let d=async({previousCacheEntry:n})=>{try{if(!W&&O&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=L.renderOpts.collectedTags;if(!k)return await (0,f.sendResponse)(J,G,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,A),t}},u=await C.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:W});if(!k)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&k||c.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(J,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};K&&D?await l(D):(o=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,A),k)throw t;return await (0,f.sendResponse)(J,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:N})},"routeModule",0,C,"serverHooks",0,b,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,N]),r()}catch(e){r(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0a3.3sc._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[314251,e=>e.a(async(t,r)=>{try{var a=e.i(745015),o=e.i(89171),n=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(256770),u=e.i(676088),d=e.i(200392),c=e.i(195975),p=t([u,d]);[u,d]=p.then?(await p)():p;let m=s.default.join((0,l.resolveDataDir)(),"codex-profiles");async function f(){return await n.default.mkdir(m,{recursive:!0}),m}async function h(){try{let e;await f();try{e=await n.default.readdir(m)}catch{return o.NextResponse.json({profiles:[]})}let t=e.filter(e=>e.endsWith(".json")),r=[];for(let e of t)try{let t=await n.default.readFile(s.default.join(m,e),"utf-8"),a=JSON.parse(t);r.push({id:e.replace(".json",""),name:a.name,authLabel:a.authLabel||"unknown",createdAt:a.createdAt,hasConfig:!!a.configToml,hasAuth:!!a.authJson})}catch{}return r.sort((e,t)=>e.name.localeCompare(t.name)),o.NextResponse.json({profiles:r})}catch(e){return console.log("Error listing codex profiles:",e.message),o.NextResponse.json({error:"Failed to list profiles"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return o.NextResponse.json({error:e},{status:403});let r=(0,d.validateBody)(u.codexProfileNameSchema,t);if((0,d.isValidationFailure)(r))return o.NextResponse.json({error:r.error},{status:400});let{name:a}=r.data,l=(0,i.getCliConfigPaths)("codex");if(!l)return o.NextResponse.json({error:"Codex config paths not found"},{status:500});let c=null,p=null;try{c=await n.default.readFile(l.config,"utf-8")}catch{}try{p=await n.default.readFile(l.auth,"utf-8")}catch{}if(!c&&!p)return o.NextResponse.json({error:"No Codex configuration files found to save"},{status:400});let h=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g={name:a.trim(),createdAt:new Date().toISOString(),authLabel:p?function(e){try{let t=JSON.parse(e);if(t.tokens?.id_token){let e=t.tokens.id_token.split(".")[1],r=JSON.parse(Buffer.from(e,"base64").toString());if(r.email)return r.email}if(t.auth_mode)return t.auth_mode;if(t.OPENAI_API_KEY)return`API Key: ${t.OPENAI_API_KEY.slice(0,8)}...`;return"unknown"}catch{return"unknown"}}(p):"no-auth",configToml:c,authJson:p};await f();let R=s.default.join(m,`${h}.json`);return await n.default.writeFile(R,JSON.stringify(g,null,2)),o.NextResponse.json({success:!0,message:`Profile "${a}" saved successfully`,profileId:h})}catch(e){return console.log("Error saving codex profile:",e.message),o.NextResponse.json({error:"Failed to save profile"},{status:500})}}async function R(t){let r;try{r=await t.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t,a=(0,i.ensureCliConfigWriteAllowed)();if(a)return o.NextResponse.json({error:a},{status:403});let l=(0,d.validateBody)(u.codexProfileIdSchema,r);if((0,d.isValidationFailure)(l))return o.NextResponse.json({error:l.error},{status:400});let{profileId:c}=l.data,p=s.default.join(m,`${c}.json`);try{let e=await n.default.readFile(p,"utf-8");t=JSON.parse(e)}catch{return o.NextResponse.json({error:`Profile "${c}" not found`},{status:404})}let f=(0,i.getCliConfigPaths)("codex");if(!f)return o.NextResponse.json({error:"Codex config paths not found"},{status:500});let{createMultiBackup:h}=await e.A(452484);return await h("codex",[f.config,f.auth]),await n.default.mkdir(s.default.dirname(f.config),{recursive:!0}),t.configToml&&await n.default.writeFile(f.config,t.configToml),t.authJson&&await n.default.writeFile(f.auth,t.authJson),o.NextResponse.json({success:!0,message:`Profile "${t.name}" activated`,profileId:c,restoredConfig:!!t.configToml,restoredAuth:!!t.authJson})}catch(e){return console.log("Error activating codex profile:",e.message),o.NextResponse.json({error:"Failed to activate profile"},{status:500})}}async function v(e){let t;try{t=await e.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,d.validateBody)(u.codexProfileIdSchema,t);if((0,d.isValidationFailure)(e))return o.NextResponse.json({error:e.error},{status:400});let{profileId:r}=e.data,a=s.default.join(m,`${r}.json`);try{await n.default.unlink(a)}catch(e){if("ENOENT"===e.code)return o.NextResponse.json({error:`Profile "${r}" not found`},{status:404});throw e}return o.NextResponse.json({success:!0,message:`Profile "${r}" deleted`})}catch(e){return console.log("Error deleting codex profile:",e.message),o.NextResponse.json({error:"Failed to delete profile"},{status:500})}}(0,c.ensureServerEntryExports)([h,g,R,v]),(0,a.registerServerReference)(h,"00f056e4d0974ab6038dcdb7bf814d5d47f6355ee4",null),(0,a.registerServerReference)(g,"40f3e90e39e96cd62a63c720943c38cb13d2623e35",null),(0,a.registerServerReference)(R,"40445a99f8f826d9b4e35d7214a497701da37a6f88",null),(0,a.registerServerReference)(v,"40f9377f65d2e02f730ca21b3453cb835ac6a7b361",null),e.s(["DELETE",0,v,"GET",0,h,"POST",0,g,"PUT",0,R]),r()}catch(e){r(e)}},!1),57985,e=>e.a(async(t,r)=>{try{var a=e.i(747909),o=e.i(174017),n=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),v=e.i(10372),m=e.i(193695);e.i(820232);var x=e.i(600220),w=e.i(314251),y=t([w]);[w]=y.then?(await y)():y;let E=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-profiles/route",pathname:"/api/cli-tools/codex-profiles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-profiles/route.ts",nextConfigOutput:"standalone",userland:w,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:j}=E;async function N(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-profiles/route";a=a.replace(/\/index$/,"")||"/";let n=await E.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:N,parsedUrl:C,isDraftMode:A,prerenderManifest:j,routerServerContext:S,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=n,_=(0,u.normalizeAppPath)(a),k=!!(j.dynamicRoutes[_]||j.routes[O]),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!A){let e=!!j.routes[O],t=j.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(N.adapterPath)return await F();throw new m.NoFallbackError}}let q=null;!k||E.isDev||A||(q=O,q="/index"===q?"/":q);let $=!0===E.isDev||!k,D=k&&!$;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let H=e.method||"GET",U=(0,i.getTracer)(),M=U.getActiveScopeSpan(),J=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,N,j,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let L={params:y,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:$,incrementalCache:B,cacheLifeProfiles:N.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,o)=>E.onRequestError(e,t,a,o,S)},sharedContext:{buildId:w}},V=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(G,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=r.get("next.route");if(o){let t=`${H} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",o),n.updateName(t))}else e.updateName(`${H} ${a}`)}),l=async n=>{var i,l;let u=async({previousCacheEntry:o})=>{try{if(!K&&b&&P&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=L.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(V,W,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,o=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:b})},!1,S),t}},d=await E.handleResponse({req:e,nextConfig:N,cacheKey:q,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:K});if(!k)return null;if((null==d||null==(i=d.value)?void 0:i.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",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,g.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&k||c.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,R.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(V,W,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};J&&M?await l(M):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l),void 0,!J))}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:b})},!1,S),k)throw t;return await (0,h.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,j,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A]),r()}catch(e){r(e)}},!1)];
|
|
1
|
+
module.exports=[314251,e=>e.a(async(t,r)=>{try{var a=e.i(745015),o=e.i(89171),n=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(256770),u=e.i(676088),d=e.i(200392),c=e.i(195975),p=t([u,d]);[u,d]=p.then?(await p)():p;let m=s.default.join((0,l.resolveDataDir)(),"codex-profiles");async function f(){return await n.default.mkdir(m,{recursive:!0}),m}async function h(){try{let e;await f();try{e=await n.default.readdir(m)}catch{return o.NextResponse.json({profiles:[]})}let t=e.filter(e=>e.endsWith(".json")),r=[];for(let e of t)try{let t=await n.default.readFile(s.default.join(m,e),"utf-8"),a=JSON.parse(t);r.push({id:e.replace(".json",""),name:a.name,authLabel:a.authLabel||"unknown",createdAt:a.createdAt,hasConfig:!!a.configToml,hasAuth:!!a.authJson})}catch{}return r.sort((e,t)=>e.name.localeCompare(t.name)),o.NextResponse.json({profiles:r})}catch(e){return console.log("Error listing codex profiles:",e.message),o.NextResponse.json({error:"Failed to list profiles"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return o.NextResponse.json({error:e},{status:403});let r=(0,d.validateBody)(u.codexProfileNameSchema,t);if((0,d.isValidationFailure)(r))return o.NextResponse.json({error:r.error},{status:400});let{name:a}=r.data,l=(0,i.getCliConfigPaths)("codex");if(!l)return o.NextResponse.json({error:"Codex config paths not found"},{status:500});let c=null,p=null;try{c=await n.default.readFile(l.config,"utf-8")}catch{}try{p=await n.default.readFile(l.auth,"utf-8")}catch{}if(!c&&!p)return o.NextResponse.json({error:"No Codex configuration files found to save"},{status:400});let h=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g={name:a.trim(),createdAt:new Date().toISOString(),authLabel:p?function(e){try{let t=JSON.parse(e);if(t.tokens?.id_token){let e=t.tokens.id_token.split(".")[1],r=JSON.parse(Buffer.from(e,"base64").toString());if(r.email)return r.email}if(t.auth_mode)return t.auth_mode;if(t.OPENAI_API_KEY)return`API Key: ${t.OPENAI_API_KEY.slice(0,8)}...`;return"unknown"}catch{return"unknown"}}(p):"no-auth",configToml:c,authJson:p};await f();let R=s.default.join(m,`${h}.json`);return await n.default.writeFile(R,JSON.stringify(g,null,2)),o.NextResponse.json({success:!0,message:`Profile "${a}" saved successfully`,profileId:h})}catch(e){return console.log("Error saving codex profile:",e.message),o.NextResponse.json({error:"Failed to save profile"},{status:500})}}async function R(t){let r;try{r=await t.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t,a=(0,i.ensureCliConfigWriteAllowed)();if(a)return o.NextResponse.json({error:a},{status:403});let l=(0,d.validateBody)(u.codexProfileIdSchema,r);if((0,d.isValidationFailure)(l))return o.NextResponse.json({error:l.error},{status:400});let{profileId:c}=l.data,p=s.default.join(m,`${c}.json`);try{let e=await n.default.readFile(p,"utf-8");t=JSON.parse(e)}catch{return o.NextResponse.json({error:`Profile "${c}" not found`},{status:404})}let f=(0,i.getCliConfigPaths)("codex");if(!f)return o.NextResponse.json({error:"Codex config paths not found"},{status:500});let{createMultiBackup:h}=await e.A(452484);return await h("codex",[f.config,f.auth]),await n.default.mkdir(s.default.dirname(f.config),{recursive:!0}),t.configToml&&await n.default.writeFile(f.config,t.configToml),t.authJson&&await n.default.writeFile(f.auth,t.authJson),o.NextResponse.json({success:!0,message:`Profile "${t.name}" activated`,profileId:c,restoredConfig:!!t.configToml,restoredAuth:!!t.authJson})}catch(e){return console.log("Error activating codex profile:",e.message),o.NextResponse.json({error:"Failed to activate profile"},{status:500})}}async function v(e){let t;try{t=await e.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,d.validateBody)(u.codexProfileIdSchema,t);if((0,d.isValidationFailure)(e))return o.NextResponse.json({error:e.error},{status:400});let{profileId:r}=e.data,a=s.default.join(m,`${r}.json`);try{await n.default.unlink(a)}catch(e){if("ENOENT"===e.code)return o.NextResponse.json({error:`Profile "${r}" not found`},{status:404});throw e}return o.NextResponse.json({success:!0,message:`Profile "${r}" deleted`})}catch(e){return console.log("Error deleting codex profile:",e.message),o.NextResponse.json({error:"Failed to delete profile"},{status:500})}}(0,c.ensureServerEntryExports)([h,g,R,v]),(0,a.registerServerReference)(h,"0067e2a20832bfd8201ed2e28a2728501d46f00e87",null),(0,a.registerServerReference)(g,"4090c3e540ed30f53f6b26dba02dba0d4c14373b92",null),(0,a.registerServerReference)(R,"40d47c3865c37fcbfefe9e118127d2cc5cb9f75019",null),(0,a.registerServerReference)(v,"407f3d4bc1c71963019b2f0b7ae9d161cc37abd331",null),e.s(["DELETE",0,v,"GET",0,h,"POST",0,g,"PUT",0,R]),r()}catch(e){r(e)}},!1),57985,e=>e.a(async(t,r)=>{try{var a=e.i(747909),o=e.i(174017),n=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),v=e.i(10372),m=e.i(193695);e.i(820232);var x=e.i(600220),w=e.i(314251),y=t([w]);[w]=y.then?(await y)():y;let E=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-profiles/route",pathname:"/api/cli-tools/codex-profiles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-profiles/route.ts",nextConfigOutput:"standalone",userland:w,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:A}=E;async function N(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-profiles/route";a=a.replace(/\/index$/,"")||"/";let n=await E.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:N,parsedUrl:C,isDraftMode:b,prerenderManifest:A,routerServerContext:j,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=n,_=(0,u.normalizeAppPath)(a),k=!!(A.dynamicRoutes[_]||A.routes[O]),F=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!A.routes[O],t=A.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(N.adapterPath)return await F();throw new m.NoFallbackError}}let q=null;!k||E.isDev||b||(q=O,q="/index"===q?"/":q);let $=!0===E.isDev||!k,D=k&&!$;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let H=e.method||"GET",U=(0,i.getTracer)(),M=U.getActiveScopeSpan(),J=!!(null==j?void 0:j.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,N,A,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let L={params:y,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:$,incrementalCache:B,cacheLifeProfiles:N.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,o)=>E.onRequestError(e,t,a,o,j)},sharedContext:{buildId:w}},V=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(G,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=r.get("next.route");if(o){let t=`${H} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",o),n.updateName(t))}else e.updateName(`${H} ${a}`)}),l=async n=>{var i,l;let u=async({previousCacheEntry:o})=>{try{if(!K&&S&&P&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=L.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(V,W,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,o=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,j),t}},d=await E.handleResponse({req:e,nextConfig:N,cacheKey:q,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:K});if(!k)return null;if((null==d||null==(i=d.value)?void 0:i.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",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,g.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&k||c.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,R.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(V,W,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};J&&M?await l(M):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l),void 0,!J))}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,j),k)throw t;return await (0,h.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,b]),r()}catch(e){r(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0c.abwr._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[954372,e=>e.a(async(t,r)=>{try{var n=e.i(312125),o=e.i(400722),s=e.i(239409),a=e.i(496727),i=t([n,o]);[n,o]=i.then?(await i)():i;let p={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function l(e){if(!e||"object"!=typeof e)return e;let t={...e};return void 0!==t.input_tokens&&(t.input_tokens+=2e3),void 0!==t.prompt_tokens&&(t.prompt_tokens+=2e3),void 0!==t.total_tokens?t.total_tokens+=2e3:void 0!==t.prompt_tokens&&void 0!==t.completion_tokens&&(t.total_tokens=t.prompt_tokens+t.completion_tokens),t}function c(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t={},r=(e,r)=>{if(null==r)return;let n=Number(r);Number.isFinite(n)&&(t[e]=n)};return(r("prompt_tokens",e?.prompt_tokens),r("completion_tokens",e?.completion_tokens),r("total_tokens",e?.total_tokens),r("cache_read_input_tokens",e?.cache_read_input_tokens),r("cache_creation_input_tokens",e?.cache_creation_input_tokens),r("cached_tokens",e?.cached_tokens),r("reasoning_tokens",e?.reasoning_tokens),0===Object.keys(t).length)?null:t}function u(e){if(!e||"string"!=typeof e)return 0;let t=e.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu),r=t?t.length:0,n=e.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(e=>e&&e.trim().length>0),o=Math.ceil(1.3*n.length);return r+o}e.s(["COLORS",0,p,"addBufferToUsage",0,l,"estimateUsage",0,function(e,t,r=a.FORMATS.OPENAI){var n,o;return n=function(e){if(!e||"object"!=typeof e)return 0;try{let t=0,r=0;if(e.tools&&Array.isArray(e.tools)){let n=JSON.stringify(e.tools);t=Math.ceil(n.length/6);let{tools:o,...s}=e;r=u(JSON.stringify(s))}else r=u(JSON.stringify(e));return r+t}catch(e){return 0}}(e),o=t&&!(t<=0)?Math.max(1,Math.ceil(t/3.5)):0,r===a.FORMATS.CLAUDE?l({input_tokens:n,output_tokens:o,estimated:!0}):l({prompt_tokens:n,completion_tokens:o,total_tokens:n+o,estimated:!0})},"extractUsage",0,function(e){if(!e||"object"!=typeof e)return null;if("message_start"===e.type&&e.message?.usage){let t=e.message.usage,r=t.input_tokens||t.prompt_tokens||0;if(r>0)return c({prompt_tokens:r,completion_tokens:t.output_tokens||t.completion_tokens||0,cache_read_input_tokens:t.cache_read_input_tokens,cache_creation_input_tokens:t.cache_creation_input_tokens})}if("message_delta"===e.type&&e.usage&&"object"==typeof e.usage)return c({prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,cache_read_input_tokens:e.usage.cache_read_input_tokens,cache_creation_input_tokens:e.usage.cache_creation_input_tokens});if(("response.completed"===e.type||"response.done"===e.type)&&e.response?.usage&&"object"==typeof e.response.usage){let t=e.response.usage;return c({prompt_tokens:t.input_tokens||t.prompt_tokens||0,completion_tokens:t.output_tokens||t.completion_tokens||0,cached_tokens:t.input_tokens_details?.cached_tokens,reasoning_tokens:t.output_tokens_details?.reasoning_tokens})}return e.usage&&"object"==typeof e.usage&&(void 0!==e.usage.prompt_tokens||void 0!==e.usage.input_tokens)?c({prompt_tokens:e.usage.prompt_tokens??e.usage.input_tokens??0,completion_tokens:e.usage.completion_tokens??e.usage.output_tokens??0,cached_tokens:e.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:e.usage.completion_tokens_details?.reasoning_tokens}):e.usageMetadata&&"object"==typeof e.usageMetadata?c({prompt_tokens:e.usageMetadata?.promptTokenCount||0,completion_tokens:e.usageMetadata?.candidatesTokenCount||0,total_tokens:e.usageMetadata?.totalTokenCount,cached_tokens:e.usageMetadata?.cachedContentTokenCount,reasoning_tokens:e.usageMetadata?.thoughtsTokenCount}):null},"filterUsageForFormat",0,function(e,t){if(!e||"object"!=typeof e)return e;let r={...e};t===a.FORMATS.CLAUDE||t===a.FORMATS.OPENAI_RESPONSES?(void 0!==r.prompt_tokens&&void 0===r.input_tokens&&(r.input_tokens=r.prompt_tokens),void 0!==r.completion_tokens&&void 0===r.output_tokens&&(r.output_tokens=r.completion_tokens)):(void 0!==r.input_tokens&&void 0===r.prompt_tokens&&(r.prompt_tokens=r.input_tokens),void 0!==r.output_tokens&&void 0===r.completion_tokens&&(r.completion_tokens=r.output_tokens),void 0===r.total_tokens&&void 0!==r.prompt_tokens&&void 0!==r.completion_tokens&&(r.total_tokens=r.prompt_tokens+r.completion_tokens));let n={[a.FORMATS.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[a.FORMATS.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[a.FORMATS.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},o=n[t];t===a.FORMATS.GEMINI_CLI||t===a.FORMATS.ANTIGRAVITY?o=n[a.FORMATS.GEMINI]:t===a.FORMATS.OPENAI_RESPONSE?o=n[a.FORMATS.OPENAI_RESPONSES]:o||(o=n.default);var s=o;let i={};for(let e of s)void 0!==r[e]&&(i[e]=r[e]);return i},"hasValidUsage",0,function(e){if(!e||"object"!=typeof e)return!1;for(let t of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof e[t]&&e[t]>0)return!0;return!1},"logUsage",0,function(e,t,r=null,n=null,a=null){if(!t||"object"!=typeof t)return;let i=e?.toUpperCase()||"UNKNOWN",l=(0,s.getLoggedInputTokens)(t),c=(0,s.getLoggedOutputTokens)(t),u=n?n.slice(0,8)+"...":"unknown",d=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${p.green}[USAGE] ${i} | in=${l} | out=${c} | account=${u}${p.reset}`;t.estimated&&(d+=` ${p.yellow}(estimated)${p.reset}`);let f=(0,s.getPromptCacheReadTokens)(t);f&&(d+=` | cache_read=${f}`);let h=(0,s.getPromptCacheCreationTokens)(t);h&&(d+=` | cache_create=${h}`);let g=t.reasoning_tokens;g&&(d+=` | reasoning=${g}`),console.log(d),(0,o.appendRequestLog)({model:r,provider:e,connectionId:n,tokens:{input:l,output:c,cacheRead:f||0,cacheCreation:h||0,reasoning:g||0},status:"200 OK"}).catch(()=>{})}]),r()}catch(e){r(e)}},!1),42075,e=>{"use strict";var t=e.i(254799),r=e.i(511938),n=e.i(16023);let o=new Set(["gemini-3.1-pro"]);class s extends r.BaseExecutor{constructor(){super("antigravity",n.PROVIDERS.antigravity)}buildUrl(e,t,r=0){let n=this.getBaseUrls(),o=n[r]||n[0];return`${o}/v1internal:streamGenerateContent?alt=sse`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||"antigravity/1.104.0 darwin/arm64","X-OmniRoute-Source":"omniroute",Accept:"text/event-stream"}}transformRequest(e,r,n,s){let a=r?.project,i=s?.projectId,l="1"===process.env.OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE&&a?a:i||a;if(!l)return new Response(JSON.stringify({error:{message:"Missing Google projectId for Antigravity account. Please reconnect OAuth in Providers → Antigravity so OmniRoute can fetch your Cloud Code project.",type:"oauth_missing_project_id",code:"missing_project_id"}}),{status:422,headers:{"Content-Type":"application/json"}});let c=(r.request?.contents?.map(e=>{let t=e.role;e.parts?.some(e=>e.functionResponse)&&(t="user");let r=e.parts?.filter(e=>!e.thought&&!e.thoughtSignature)||[];return{...e,role:t,parts:r}})||[]).filter(e=>!Array.isArray(e.parts)||e.parts.length>0),u={...r.request,...c.length>0&&{contents:c},sessionId:r.request?.sessionId||this.generateSessionId(),safetySettings:void 0,toolConfig:r.request?.tools?.length>0?{functionCallingConfig:{mode:"VALIDATED"}}:r.request?.toolConfig},p=function(e){if(!e)return e;let t=e.includes("/")?e.split("/").pop():e;return o.has(t)&&(t=`${t}-low`),t}(e);return{...r,project:l,model:p,userAgent:"antigravity",requestType:"agent",requestId:`agent-${t.default.randomUUID()}`,request:u}}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let r=await fetch(n.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!r.ok)return null;let o=await r.json();return t?.info?.("TOKEN","Antigravity refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Antigravity refresh error: ${e.message}`),null}}generateSessionId(){return`-${Math.floor(9e18*Math.random())}`}parseRetryHeaders(e){if(!e?.get)return null;let t=e.get("retry-after");if(t){let e=parseInt(t,10);if(!isNaN(e)&&e>0)return 1e3*e;let r=new Date(t);if(!isNaN(r.getTime())){let e=r.getTime()-Date.now();return e>0?e:null}}let r=e.get("x-ratelimit-reset-after");if(r){let e=parseInt(r,10);if(!isNaN(e)&&e>0)return 1e3*e}let n=e.get("x-ratelimit-reset");if(n){let e=1e3*parseInt(n,10)-Date.now();return e>0?e:null}return null}parseRetryFromErrorMessage(e){if(!e||"string"!=typeof e)return null;let t=e.match(/reset (?:after|in) (\d+h)?(\d+m)?(\d+s)?/i);if(!t)return null;let r=0;return t[1]&&(r+=3600*parseInt(t[1])*1e3),t[2]&&(r+=60*parseInt(t[2])*1e3),t[3]&&(r+=1e3*parseInt(t[3])),r>0?r:null}collectStreamToResponse(e,r,n,o,s,a,i){let l=e.body.getReader(),c=new TextDecoder;return(async()=>{let u=[],p=!1,d=AbortSignal.timeout(12e4);try{for(;;){if(i?.aborted)throw Error("Request aborted during SSE collection");let{done:e,value:t}=await Promise.race([l.read(),new Promise((e,t)=>d.addEventListener("abort",()=>t(Error("SSE collection timed out")),{once:!0}))]);if(e)break;u.push(c.decode(t,{stream:!0}))}}catch(t){let e=t?.message||String(t);p=e.includes("timed out"),a?.warn?.("SSE_COLLECT",`Error collecting SSE stream: ${e}`)}let f=u.join(""),h="",g="stop",m=null;for(let e of f.split("\n")){let t=e.trim();if(!t.startsWith("data:"))continue;let r=t.slice(5).trim();if(r&&"[DONE]"!==r)try{let e=JSON.parse(r),t=e?.response?.candidates?.[0];if(t?.content?.parts)for(let e of t.content.parts)"string"!=typeof e.text||e.thought||e.thoughtSignature||(h+=e.text);if(t?.finishReason&&(g="stop"===t.finishReason.toLowerCase()?"stop":t.finishReason.toLowerCase()),e?.response?.usageMetadata){let t=e.response.usageMetadata;m={prompt_tokens:t.promptTokenCount||0,completion_tokens:t.candidatesTokenCount||0,total_tokens:t.totalTokenCount||0}}}catch(e){a?.debug?.("SSE_PARSE",`Skipping malformed SSE line: ${r.slice(0,80)}`)}}let y={id:`chatcmpl-${Date.now()}-${t.default.randomUUID().slice(0,8)}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:r,choices:[{index:0,message:{role:"assistant",content:h},finish_reason:p?"length":g}],...m&&{usage:m}},k=p?504:e.status;return{response:new Response(JSON.stringify(y),{status:k,statusText:p?"Gateway Timeout":e.statusText,headers:[["Content-Type","application/json"]]}),url:n,headers:o,transformedBody:s}})()}async execute({model:e,body:t,stream:o,credentials:s,signal:a,log:i,upstreamExtraHeaders:l}){let c=this.getFallbackCount(),u=null,p=0,d={};for(let f=0;f<c;f++){let h=this.buildUrl(e,!0,f),g=this.buildHeaders(s,!0);(0,r.mergeUpstreamExtraHeaders)(g,l);let m=await this.transformRequest(e,t,!0,s);d[f]||(d[f]=0);try{let t=await fetch(h,{method:"POST",headers:g,body:JSON.stringify(m),signal:a}),r=null;if(t.status===n.HTTP_STATUS.RATE_LIMITED||t.status===n.HTTP_STATUS.SERVICE_UNAVAILABLE){if(!(r=this.parseRetryHeaders(t.headers)))try{let e=await t.clone().text(),n=JSON.parse(e),o=n?.error?.message||n?.message||"";if(!(r=this.parseRetryFromErrorMessage(o))){let e=o.toLowerCase();e.includes("free tier")||e.includes("exhausted your capacity")||e.includes("daily limit")||e.includes("quota exceeded")?r=864e5:(e.includes("pro")||e.includes("per minute")||e.includes("rpm"))&&(r=6e4)}}catch(e){}if(r&&r<=6e4){let e=Math.min(r,6e4);i?.debug?.("RETRY",`${t.status} with Retry-After: ${Math.ceil(e/1e3)}s, waiting...`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&(!r||0===r)&&d[f]<3){d[f]++;let e=Math.min(1e3*2**d[f],6e4);i?.debug?.("RETRY",`429 auto retry ${d[f]}/3 after ${e/1e3}s`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(i?.debug?.("RETRY",`${t.status}, Retry-After ${r?`too long (${Math.ceil(r/1e3)}s)`:"missing"}, trying fallback`),p=t.status,f+1<c)continue}if(this.shouldRetry(t.status,f)){i?.debug?.("RETRY",`${t.status} on ${h}, trying fallback ${f+1}`),p=t.status;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&r&&r>6e4)try{let e,n=await t.clone().text();try{e=JSON.parse(n)}catch{e={}}e.retryAfterMs=r;let o=JSON.stringify(e);return{response:new Response(o,{status:t.status,headers:t.headers}),url:h,headers:g,transformedBody:m}}catch(e){i?.warn?.("RETRY",`Failed to embed retryAfterMs: ${e}`)}if(!o)return this.collectStreamToResponse(t,e,h,g,m,i,a);return{response:t,url:h,headers:g,transformedBody:m}}catch(e){if(u=e,f+1<c){i?.debug?.("RETRY",`Error on ${h}, trying fallback ${f+1}`);continue}throw e}}throw u||Error(`All ${c} URLs failed with status ${p}`)}}e.s(["AntigravityExecutor",0,s])},246208,e=>{"use strict";var t=e.i(511938),r=e.i(16023);let n=new Map,o=new Map;class s extends t.BaseExecutor{constructor(){super("gemini-cli",r.PROVIDERS["gemini-cli"])}buildUrl(e,t,r=0){return`${this.config.baseUrl}:${t?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":"GeminiCLI/0.31.0/unknown (linux; x64)","X-Goog-Api-Client":"google-genai-sdk/1.41.0 gl-node/v22.19.0",...t&&{Accept:"text/event-stream"}}}async refreshProject(e){let t=n.get(e);if(t&&t.expiresAt>Date.now())return t.projectId;let r=o.get(e);if(r)return r;let s=this._doRefresh(e);o.set(e,s);try{return await s}finally{o.delete(e)}}async _doRefresh(e){try{let t,r=new AbortController,o=setTimeout(()=>r.abort(),1e4);try{t=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}),signal:r.signal})}finally{clearTimeout(o)}if(!t.ok)return console.warn(`[OmniRoute] loadCodeAssist returned ${t.status} — falling back to stored projectId`),null;let s=await t.json(),a="";if("string"==typeof s.cloudaicompanionProject?a=s.cloudaicompanionProject.trim():"string"==typeof s.cloudaicompanionProject?.id&&(a=s.cloudaicompanionProject.id.trim()),!a)return console.warn("[OmniRoute] loadCodeAssist returned no project — falling back to stored projectId"),null;if(n.size>=100){let e=Date.now();for(let[t,r]of n)r.expiresAt<=e&&n.delete(t);if(n.size>=100){let e=n.keys().next().value;void 0!==e&&n.delete(e)}}return n.set(e,{projectId:a,expiresAt:Date.now()+3e4}),a}catch(t){let e=t instanceof Error?t.message:String(t);return console.warn(`[OmniRoute] loadCodeAssist failed (${e}) — falling back to stored projectId`),null}}async transformRequest(e,t,r,n){if(t&&"object"==typeof t&&t.request&&n.accessToken){let e=await this.refreshProject(n.accessToken);e&&(t.project=e)}return t}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let n=await fetch(r.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!n.ok)return null;let o=await n.json();return t?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Gemini CLI refresh error: ${e.message}`),null}}}e.s(["GeminiCLIExecutor",0,s])},927219,e=>{"use strict";var t=e.i(511938),r=e.i(16023),n=e.i(878947);class o extends t.BaseExecutor{constructor(){super("github",r.PROVIDERS.github)}buildUrl(e,t,r=0){return"openai-responses"===(0,n.getModelTargetFormat)("gh",e)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}injectResponseFormat(e,t){if(!t)return e;let r="";if("json_object"===t.type?r="Respond only with valid JSON. Do not include any text before or after the JSON object.":"json_schema"===t.type&&t.json_schema&&(r=`Respond only with valid JSON matching this schema:
|
|
1
|
+
module.exports=[954372,e=>e.a(async(t,r)=>{try{var n=e.i(312125),o=e.i(400722),s=e.i(239409),a=e.i(496727),i=t([n,o]);[n,o]=i.then?(await i)():i;let p={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function l(e){if(!e||"object"!=typeof e)return e;let t={...e};return void 0!==t.input_tokens&&(t.input_tokens+=2e3),void 0!==t.prompt_tokens&&(t.prompt_tokens+=2e3),void 0!==t.total_tokens?t.total_tokens+=2e3:void 0!==t.prompt_tokens&&void 0!==t.completion_tokens&&(t.total_tokens=t.prompt_tokens+t.completion_tokens),t}function c(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t={},r=(e,r)=>{if(null==r)return;let n=Number(r);Number.isFinite(n)&&(t[e]=n)};return(r("prompt_tokens",e?.prompt_tokens),r("completion_tokens",e?.completion_tokens),r("total_tokens",e?.total_tokens),r("cache_read_input_tokens",e?.cache_read_input_tokens),r("cache_creation_input_tokens",e?.cache_creation_input_tokens),r("cached_tokens",e?.cached_tokens),r("reasoning_tokens",e?.reasoning_tokens),0===Object.keys(t).length)?null:t}function u(e){if(!e||"string"!=typeof e)return 0;let t=e.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu),r=t?t.length:0,n=e.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(e=>e&&e.trim().length>0),o=Math.ceil(1.3*n.length);return r+o}e.s(["COLORS",0,p,"addBufferToUsage",0,l,"estimateUsage",0,function(e,t,r=a.FORMATS.OPENAI){var n,o;return n=function(e){if(!e||"object"!=typeof e)return 0;try{let t=0,r=0;if(e.tools&&Array.isArray(e.tools)){let n=JSON.stringify(e.tools);t=Math.ceil(n.length/6);let{tools:o,...s}=e;r=u(JSON.stringify(s))}else r=u(JSON.stringify(e));return r+t}catch(e){return 0}}(e),o=t&&!(t<=0)?Math.max(1,Math.ceil(t/3.5)):0,r===a.FORMATS.CLAUDE?l({input_tokens:n,output_tokens:o,estimated:!0}):l({prompt_tokens:n,completion_tokens:o,total_tokens:n+o,estimated:!0})},"extractUsage",0,function(e){if(!e||"object"!=typeof e)return null;if("message_start"===e.type&&e.message?.usage){let t=e.message.usage,r=t.input_tokens||t.prompt_tokens||0;if(r>0)return c({prompt_tokens:r,completion_tokens:t.output_tokens||t.completion_tokens||0,cache_read_input_tokens:t.cache_read_input_tokens,cache_creation_input_tokens:t.cache_creation_input_tokens})}if("message_delta"===e.type&&e.usage&&"object"==typeof e.usage)return c({prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,cache_read_input_tokens:e.usage.cache_read_input_tokens,cache_creation_input_tokens:e.usage.cache_creation_input_tokens});if(("response.completed"===e.type||"response.done"===e.type)&&e.response?.usage&&"object"==typeof e.response.usage){let t=e.response.usage;return c({prompt_tokens:t.input_tokens||t.prompt_tokens||0,completion_tokens:t.output_tokens||t.completion_tokens||0,cached_tokens:t.input_tokens_details?.cached_tokens,reasoning_tokens:t.output_tokens_details?.reasoning_tokens})}return e.usage&&"object"==typeof e.usage&&(void 0!==e.usage.prompt_tokens||void 0!==e.usage.input_tokens)?c({prompt_tokens:e.usage.prompt_tokens??e.usage.input_tokens??0,completion_tokens:e.usage.completion_tokens??e.usage.output_tokens??0,cached_tokens:e.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:e.usage.completion_tokens_details?.reasoning_tokens}):e.usageMetadata&&"object"==typeof e.usageMetadata?c({prompt_tokens:e.usageMetadata?.promptTokenCount||0,completion_tokens:e.usageMetadata?.candidatesTokenCount||0,total_tokens:e.usageMetadata?.totalTokenCount,cached_tokens:e.usageMetadata?.cachedContentTokenCount,reasoning_tokens:e.usageMetadata?.thoughtsTokenCount}):null},"filterUsageForFormat",0,function(e,t){if(!e||"object"!=typeof e)return e;let r={...e};t===a.FORMATS.CLAUDE||t===a.FORMATS.OPENAI_RESPONSES?(void 0!==r.prompt_tokens&&void 0===r.input_tokens&&(r.input_tokens=r.prompt_tokens),void 0!==r.completion_tokens&&void 0===r.output_tokens&&(r.output_tokens=r.completion_tokens)):(void 0!==r.input_tokens&&void 0===r.prompt_tokens&&(r.prompt_tokens=r.input_tokens),void 0!==r.output_tokens&&void 0===r.completion_tokens&&(r.completion_tokens=r.output_tokens),void 0===r.total_tokens&&void 0!==r.prompt_tokens&&void 0!==r.completion_tokens&&(r.total_tokens=r.prompt_tokens+r.completion_tokens));let n={[a.FORMATS.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[a.FORMATS.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[a.FORMATS.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},o=n[t];t===a.FORMATS.GEMINI_CLI||t===a.FORMATS.ANTIGRAVITY?o=n[a.FORMATS.GEMINI]:t===a.FORMATS.OPENAI_RESPONSE?o=n[a.FORMATS.OPENAI_RESPONSES]:o||(o=n.default);var s=o;let i={};for(let e of s)void 0!==r[e]&&(i[e]=r[e]);return i},"hasValidUsage",0,function(e){if(!e||"object"!=typeof e)return!1;for(let t of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof e[t]&&e[t]>0)return!0;return!1},"logUsage",0,function(e,t,r=null,n=null,a=null){if(!t||"object"!=typeof t)return;let i=e?.toUpperCase()||"UNKNOWN",l=(0,s.getLoggedInputTokens)(t),c=(0,s.getLoggedOutputTokens)(t),u=n?n.slice(0,8)+"...":"unknown",d=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${p.green}[USAGE] ${i} | in=${l} | out=${c} | account=${u}${p.reset}`;t.estimated&&(d+=` ${p.yellow}(estimated)${p.reset}`);let f=(0,s.getPromptCacheReadTokens)(t);f&&(d+=` | cache_read=${f}`);let h=(0,s.getPromptCacheCreationTokens)(t);h&&(d+=` | cache_create=${h}`);let g=t.reasoning_tokens;g&&(d+=` | reasoning=${g}`),console.log(d),(0,o.appendRequestLog)({model:r,provider:e,connectionId:n,tokens:{input:l,output:c,cacheRead:f||0,cacheCreation:h||0,reasoning:g||0},status:"200 OK"}).catch(()=>{})}]),r()}catch(e){r(e)}},!1),42075,e=>{"use strict";var t=e.i(254799),r=e.i(511938),n=e.i(16023);let o=new Set(["gemini-3.1-pro"]);class s extends r.BaseExecutor{constructor(){super("antigravity",n.PROVIDERS.antigravity)}buildUrl(e,t,r=0){let n=this.getBaseUrls(),o=n[r]||n[0];return`${o}/v1internal:streamGenerateContent?alt=sse`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||"antigravity/1.104.0 darwin/arm64","X-OmniRoute-Source":"omniroute",Accept:"text/event-stream"}}transformRequest(e,r,n,s){let a=r?.project,i=s?.projectId,l="1"===process.env.OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE&&a?a:i||a;if(!l)return new Response(JSON.stringify({error:{message:"Missing Google projectId for Antigravity account. Please reconnect OAuth in Providers → Antigravity so OmniRoute can fetch your Cloud Code project.",type:"oauth_missing_project_id",code:"missing_project_id"}}),{status:422,headers:{"Content-Type":"application/json"}});let c=(r.request?.contents?.map(e=>{let t=e.role;e.parts?.some(e=>e.functionResponse)&&(t="user");let r=e.parts?.filter(e=>!e.thought&&!e.thoughtSignature)||[];return{...e,role:t,parts:r}})||[]).filter(e=>!Array.isArray(e.parts)||e.parts.length>0),u={...r.request,...c.length>0&&{contents:c},sessionId:r.request?.sessionId||this.generateSessionId(),safetySettings:void 0,toolConfig:r.request?.tools?.length>0?{functionCallingConfig:{mode:"VALIDATED"}}:r.request?.toolConfig},p=function(e){if(!e)return e;let t=e.includes("/")?e.split("/").pop():e;return o.has(t)&&(t=`${t}-low`),t}(e);return{...r,project:l,model:p,userAgent:"antigravity",requestType:"agent",requestId:`agent-${t.default.randomUUID()}`,request:u}}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let r=await fetch(n.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!r.ok)return null;let o=await r.json();return t?.info?.("TOKEN","Antigravity refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Antigravity refresh error: ${e.message}`),null}}generateSessionId(){return`-${parseInt((0,t.randomUUID)().replace(/-/g,"").substring(0,8),16)%9e18}`}parseRetryHeaders(e){if(!e?.get)return null;let t=e.get("retry-after");if(t){let e=parseInt(t,10);if(!isNaN(e)&&e>0)return 1e3*e;let r=new Date(t);if(!isNaN(r.getTime())){let e=r.getTime()-Date.now();return e>0?e:null}}let r=e.get("x-ratelimit-reset-after");if(r){let e=parseInt(r,10);if(!isNaN(e)&&e>0)return 1e3*e}let n=e.get("x-ratelimit-reset");if(n){let e=1e3*parseInt(n,10)-Date.now();return e>0?e:null}return null}parseRetryFromErrorMessage(e){if(!e||"string"!=typeof e)return null;let t=e.match(/reset (?:after|in) (\d+h)?(\d+m)?(\d+s)?/i);if(!t)return null;let r=0;return t[1]&&(r+=3600*parseInt(t[1])*1e3),t[2]&&(r+=60*parseInt(t[2])*1e3),t[3]&&(r+=1e3*parseInt(t[3])),r>0?r:null}collectStreamToResponse(e,r,n,o,s,a,i){let l=e.body.getReader(),c=new TextDecoder;return(async()=>{let u=[],p=!1,d=AbortSignal.timeout(12e4);try{for(;;){if(i?.aborted)throw Error("Request aborted during SSE collection");let{done:e,value:t}=await Promise.race([l.read(),new Promise((e,t)=>d.addEventListener("abort",()=>t(Error("SSE collection timed out")),{once:!0}))]);if(e)break;u.push(c.decode(t,{stream:!0}))}}catch(t){let e=t?.message||String(t);p=e.includes("timed out"),a?.warn?.("SSE_COLLECT",`Error collecting SSE stream: ${e}`)}let f=u.join(""),h="",g="stop",m=null;for(let e of f.split("\n")){let t=e.trim();if(!t.startsWith("data:"))continue;let r=t.slice(5).trim();if(r&&"[DONE]"!==r)try{let e=JSON.parse(r),t=e?.response?.candidates?.[0];if(t?.content?.parts)for(let e of t.content.parts)"string"!=typeof e.text||e.thought||e.thoughtSignature||(h+=e.text);if(t?.finishReason&&(g="stop"===t.finishReason.toLowerCase()?"stop":t.finishReason.toLowerCase()),e?.response?.usageMetadata){let t=e.response.usageMetadata;m={prompt_tokens:t.promptTokenCount||0,completion_tokens:t.candidatesTokenCount||0,total_tokens:t.totalTokenCount||0}}}catch(e){a?.debug?.("SSE_PARSE",`Skipping malformed SSE line: ${r.slice(0,80)}`)}}let y={id:`chatcmpl-${Date.now()}-${t.default.randomUUID().slice(0,8)}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:r,choices:[{index:0,message:{role:"assistant",content:h},finish_reason:p?"length":g}],...m&&{usage:m}},k=p?504:e.status;return{response:new Response(JSON.stringify(y),{status:k,statusText:p?"Gateway Timeout":e.statusText,headers:[["Content-Type","application/json"]]}),url:n,headers:o,transformedBody:s}})()}async execute({model:e,body:t,stream:o,credentials:s,signal:a,log:i,upstreamExtraHeaders:l}){let c=this.getFallbackCount(),u=null,p=0,d={};for(let f=0;f<c;f++){let h=this.buildUrl(e,!0,f),g=this.buildHeaders(s,!0);(0,r.mergeUpstreamExtraHeaders)(g,l);let m=await this.transformRequest(e,t,!0,s);d[f]||(d[f]=0);try{let t=await fetch(h,{method:"POST",headers:g,body:JSON.stringify(m),signal:a}),r=null;if(t.status===n.HTTP_STATUS.RATE_LIMITED||t.status===n.HTTP_STATUS.SERVICE_UNAVAILABLE){if(!(r=this.parseRetryHeaders(t.headers)))try{let e=await t.clone().text(),n=JSON.parse(e),o=n?.error?.message||n?.message||"";if(!(r=this.parseRetryFromErrorMessage(o))){let e=o.toLowerCase();e.includes("free tier")||e.includes("exhausted your capacity")||e.includes("daily limit")||e.includes("quota exceeded")?r=864e5:(e.includes("pro")||e.includes("per minute")||e.includes("rpm"))&&(r=6e4)}}catch(e){}if(r&&r<=6e4){let e=Math.min(r,6e4);i?.debug?.("RETRY",`${t.status} with Retry-After: ${Math.ceil(e/1e3)}s, waiting...`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&(!r||0===r)&&d[f]<3){d[f]++;let e=Math.min(1e3*2**d[f],6e4);i?.debug?.("RETRY",`429 auto retry ${d[f]}/3 after ${e/1e3}s`),await new Promise(t=>setTimeout(t,e)),f--;continue}if(i?.debug?.("RETRY",`${t.status}, Retry-After ${r?`too long (${Math.ceil(r/1e3)}s)`:"missing"}, trying fallback`),p=t.status,f+1<c)continue}if(this.shouldRetry(t.status,f)){i?.debug?.("RETRY",`${t.status} on ${h}, trying fallback ${f+1}`),p=t.status;continue}if(t.status===n.HTTP_STATUS.RATE_LIMITED&&r&&r>6e4)try{let e,n=await t.clone().text();try{e=JSON.parse(n)}catch{e={}}e.retryAfterMs=r;let o=JSON.stringify(e);return{response:new Response(o,{status:t.status,headers:t.headers}),url:h,headers:g,transformedBody:m}}catch(e){i?.warn?.("RETRY",`Failed to embed retryAfterMs: ${e}`)}if(!o)return this.collectStreamToResponse(t,e,h,g,m,i,a);return{response:t,url:h,headers:g,transformedBody:m}}catch(e){if(u=e,f+1<c){i?.debug?.("RETRY",`Error on ${h}, trying fallback ${f+1}`);continue}throw e}}throw u||Error(`All ${c} URLs failed with status ${p}`)}}e.s(["AntigravityExecutor",0,s])},246208,e=>{"use strict";var t=e.i(511938),r=e.i(16023);let n=new Map,o=new Map;class s extends t.BaseExecutor{constructor(){super("gemini-cli",r.PROVIDERS["gemini-cli"])}buildUrl(e,t,r=0){return`${this.config.baseUrl}:${t?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(e,t=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${e.accessToken}`,"User-Agent":"GeminiCLI/0.31.0/unknown (linux; x64)","X-Goog-Api-Client":"google-genai-sdk/1.41.0 gl-node/v22.19.0",...t&&{Accept:"text/event-stream"}}}async refreshProject(e){let t=n.get(e);if(t&&t.expiresAt>Date.now())return t.projectId;let r=o.get(e);if(r)return r;let s=this._doRefresh(e);o.set(e,s);try{return await s}finally{o.delete(e)}}async _doRefresh(e){try{let t,r=new AbortController,o=setTimeout(()=>r.abort(),1e4);try{t=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}),signal:r.signal})}finally{clearTimeout(o)}if(!t.ok)return console.warn(`[OmniRoute] loadCodeAssist returned ${t.status} — falling back to stored projectId`),null;let s=await t.json(),a="";if("string"==typeof s.cloudaicompanionProject?a=s.cloudaicompanionProject.trim():"string"==typeof s.cloudaicompanionProject?.id&&(a=s.cloudaicompanionProject.id.trim()),!a)return console.warn("[OmniRoute] loadCodeAssist returned no project — falling back to stored projectId"),null;if(n.size>=100){let e=Date.now();for(let[t,r]of n)r.expiresAt<=e&&n.delete(t);if(n.size>=100){let e=n.keys().next().value;void 0!==e&&n.delete(e)}}return n.set(e,{projectId:a,expiresAt:Date.now()+3e4}),a}catch(t){let e=t instanceof Error?t.message:String(t);return console.warn(`[OmniRoute] loadCodeAssist failed (${e}) — falling back to stored projectId`),null}}async transformRequest(e,t,r,n){if(t&&"object"==typeof t&&t.request&&n.accessToken){let e=await this.refreshProject(n.accessToken);e&&(t.project=e)}return t}async refreshCredentials(e,t){if(!e.refreshToken)return null;try{let n=await fetch(r.OAUTH_ENDPOINTS.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!n.ok)return null;let o=await n.json();return t?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:o.access_token,refreshToken:o.refresh_token||e.refreshToken,expiresIn:o.expires_in,projectId:e.projectId}}catch(e){return t?.error?.("TOKEN",`Gemini CLI refresh error: ${e.message}`),null}}}e.s(["GeminiCLIExecutor",0,s])},927219,e=>{"use strict";var t=e.i(511938),r=e.i(16023),n=e.i(878947);class o extends t.BaseExecutor{constructor(){super("github",r.PROVIDERS.github)}buildUrl(e,t,r=0){return"openai-responses"===(0,n.getModelTargetFormat)("gh",e)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}injectResponseFormat(e,t){if(!t)return e;let r="";if("json_object"===t.type?r="Respond only with valid JSON. Do not include any text before or after the JSON object.":"json_schema"===t.type&&t.json_schema&&(r=`Respond only with valid JSON matching this schema:
|
|
2
2
|
${JSON.stringify(t.json_schema.schema,null,2)}
|
|
3
3
|
Do not include any text before or after the JSON.`),!r)return e;let n=e.findIndex(e=>"system"===e.role);return n>=0?e.map((e,t)=>t===n?{...e,content:`${e.content}
|
|
4
4
|
|