omniroute 3.1.9 → 3.1.10
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 +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- 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-log/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/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/mcp/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/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/profile/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/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/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 +2 -2
- 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/combos/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/analytics/route.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/history/route.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/logs/route.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +14 -14
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +11 -11
- 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 +11 -11
- package/app/.next/server/app/api/v1/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
- 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 +14 -14
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/music/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/music/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +14 -14
- 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 +1 -1
- 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 +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/[...path]/route.js +14 -14
- 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 +14 -14
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/search/route.js +1 -1
- package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- 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]__051203a6._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0891af92._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1f27646b._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1f2b0d89._.js +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__32ce41c4._.js → [root-of-the-server]__2941b5e3._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__96aaa2b3._.js → [root-of-the-server]__2ae75949._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__14cb1121._.js → [root-of-the-server]__4de2456d._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__6405e3ef._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7fa4d14e._.js +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__9b8dfe32._.js → [root-of-the-server]__8106d66f._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__aa49d156._.js +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__da4ad5ed._.js → [root-of-the-server]__b0e5c9ae._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__7b401f67._.js → [root-of-the-server]__cca6bf86._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__e6f6e3e7._.js → [root-of-the-server]__e13422e5._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__dc4d07b1._.js → [root-of-the-server]__ff35dde5._.js} +1 -1
- package/app/.next/server/chunks/_05c48915._.js +1 -1
- package/app/.next/server/chunks/_06515a8a._.js +1 -1
- package/app/.next/server/chunks/_2115d8de._.js +1 -1
- package/app/.next/server/chunks/{_ed30bb6e._.js → _3390b46c._.js} +2 -2
- package/app/.next/server/chunks/_3ac953eb._.js +1 -1
- package/app/.next/server/chunks/_4b8fd853._.js +1 -1
- package/app/.next/server/chunks/_68683848._.js +1 -1
- package/app/.next/server/chunks/_ee9b677b._.js +1 -1
- package/app/.next/server/chunks/_efd5ede2._.js +2 -2
- package/app/.next/server/chunks/open-sse_bd7645e5._.js +1 -1
- package/app/.next/server/chunks/{src_lib_53ed4368._.js → src_lib_2ef733b9._.js} +2 -2
- package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
- package/app/.next/server/pages/500.html +2 -2
- 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/218a3d300fdd7431.js +1 -0
- package/app/.next/static/chunks/{5eee4790907c4daa.css → 6a6b8a35559e6d15.css} +1 -1
- package/app/CHANGELOG.md +15 -6
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/handlers/chatCore.ts +20 -6
- package/app/open-sse/translator/response/claude-to-openai.ts +0 -1
- package/app/package-lock.json +2 -2
- package/app/package.json +1 -1
- package/app/src/app/globals.css +1 -1
- package/app/src/sse/handlers/chat.ts +0 -14
- package/app/tests/unit/model-combo-mappings-db.test.mjs +2 -0
- package/package.json +1 -1
- package/app/.next/static/chunks/20266ad6555b91f7.js +0 -1
- /package/app/.next/static/{hTrDwAfglRHHhrQZsW-A1 → jzcx_xYQec4FcMNBxRHI4}/_buildManifest.js +0 -0
- /package/app/.next/static/{hTrDwAfglRHHhrQZsW-A1 → jzcx_xYQec4FcMNBxRHI4}/_clientMiddlewareManifest.json +0 -0
- /package/app/.next/static/{hTrDwAfglRHHhrQZsW-A1 → jzcx_xYQec4FcMNBxRHI4}/_ssgManifest.js +0 -0
|
@@ -21,8 +21,8 @@ data: ${JSON.stringify({tokens_generated:s,elapsed_ms:Date.now()-a})}
|
|
|
21
21
|
`;try{t.enqueue(i.encode(e))}catch{clearInterval(o)}},e),n?.addEventListener("abort",()=>{clearInterval(o)},{once:!0})},transform(e,t){let n=("string"==typeof e?e:new TextDecoder().decode(e)).split("\n").filter(e=>e.startsWith("data: "));s+=n.length,t.enqueue(e)},flush(){if(clearInterval(o),r)try{let e=`event: progress
|
|
22
22
|
data: ${JSON.stringify({tokens_generated:s,elapsed_ms:Date.now()-a,done:!0})}
|
|
23
23
|
|
|
24
|
-
`;r.enqueue(i.encode(e))}catch{}}})}function n(e){return!!e&&"true"===("function"==typeof e.get?t=>e.get(t):t=>e[t])("x-omniroute-progress")}e.s(["createProgressTransform",()=>t,"wantsProgress",()=>n])},578172,e=>{"use strict";let t={"gemini-3-pro":["gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3.1-pro":["gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-pro-preview":["gemini-3.1-pro-preview","gemini-3-pro-high","gemini-3.1-pro-high","gemini-3-pro-low","gemini-3.1-pro-low"],"gemini-3.1-pro-preview":["gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-pro-high":["gemini-3.1-pro-high","gemini-3-pro-preview","gemini-3.1-pro-preview","gemini-3-pro-low","gemini-3.1-pro-low"],"gemini-3.1-pro-high":["gemini-3-pro-high","gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-2.5-pro":["gemini-2.5-pro-preview-06-05","gemini-2.5-pro-exp-03-25"],"gemini-2.5-pro-preview-06-05":["gemini-2.5-pro","gemini-2.5-pro-exp-03-25"],"claude-opus-4-6":["claude-opus-4-6-thinking","claude-opus-4-5-20251101","claude-sonnet-4-6"],"claude-opus-4-6-thinking":["claude-opus-4-6","claude-opus-4-5-20251101"],"claude-sonnet-4-6":["claude-sonnet-4-5-20250929","claude-sonnet-4-20250514"],"claude-sonnet-4-5-20250929":["claude-sonnet-4-6","claude-sonnet-4-20250514"],"gpt-5":["gpt-5-mini","gpt-4o"],"gpt-5.1":["gpt-5.1-mini","gpt-5","gpt-4o"]},n=["model not found","model_not_found","model not available","model is not available","no such model","unsupported model","unknown model","this model does not exist","invalid model","model not supported","does not support","not enabled for","access to model","improperly formed request"];function o(e,t){if(404===e)return!0;if(400!==e&&403!==e)return!1;let o=t.toLowerCase();return n.some(e=>o.includes(e))}function r(e,n){let o=t[e];if(!o)return null;for(let e of o)if(!n.has(e))return e;return null}e.s(["getNextFamilyFallback",()=>r,"isModelUnavailableError",()=>o])},167389,e=>{"use strict";let t={enabled:!0,provider:"nvidia",model:"openai/gpt-oss-120b",triggerOn402:!0,triggerOnBudgetKeywords:!0,budgetKeywords:["insufficient funds","insufficient_funds","budget exceeded","budget_exceeded","quota exceeded","quota_exceeded","billing","payment required","out of credits","no credits","credit limit","spending limit","saldo insuficiente","limite de gastos","cota excedida"],skipForToolRequests:!0,maxOutputTokens:4096};function n(e,o,r,s=t){if(!s.enabled)return{shouldFallback:!1,reason:"emergency fallback disabled"};if(s.skipForToolRequests&&r)return{shouldFallback:!1,reason:"skipped: request has tools"};if(s.triggerOn402&&402===e)return{shouldFallback:!0,reason:`HTTP 402 → emergency fallback to ${s.provider}/${s.model}`,provider:s.provider,model:s.model,maxOutputTokens:s.maxOutputTokens};if(s.triggerOnBudgetKeywords&&o){let e=o.toLowerCase(),t=s.budgetKeywords.find(t=>e.includes(t.toLowerCase()));if(t)return{shouldFallback:!0,reason:`Budget error detected ('${t}') → emergency fallback to ${s.provider}/${s.model}`,provider:s.provider,model:s.model,maxOutputTokens:s.maxOutputTokens}}return{shouldFallback:!1,reason:"no budget error detected"}}function o(e){return!0===e.shouldFallback}e.s(["EMERGENCY_FALLBACK_CONFIG",0,t,"isFallbackDecision",()=>o,"shouldUseFallback",()=>n])},786022,e=>{"use strict";function t(e,t){return!0===e||!1!==e&&!function(e){if("string"!=typeof e)return!1;let t=e.toLowerCase();return t.includes("application/json")&&!t.includes("text/event-stream")}(t)}function n(e){if("string"!=typeof e)return e;let t=e.trim().match(/^```(?:json|javascript|typescript|js|ts)?\s*\n?([\s\S]*?)\n?```\s*$/i);return t?t[1].trim():e}e.s(["resolveStreamFlag",()=>t,"stripMarkdownCodeFence",()=>n])},284948,e=>e.a(async(t,n)=>{try{var o=e.i(731664),r=e.i(85713),s=e.i(352812),a=e.i(496727),i=e.i(949756),l=e.i(954372),c=e.i(719485),u=e.i(928602),d=e.i(54092),p=e.i(878947),g=e.i(705765),f=e.i(828059),m=e.i(719201),h=e.i(16023),_=e.i(33595),y=e.i(385498),A=e.i(439951),T=e.i(688828);e.i(312125);var k=e.i(400722),S=e.i(397506),E=e.i(239409),R=e.i(578383);e.i(245272);var v=e.i(186920),C=e.i(6751),b=e.i(69373),O=e.i(803285),I=e.i(725538),w=e.i(423525),x=e.i(581631),$=e.i(20870),N=e.i(511695),D=e.i(289130),P=e.i(537981),U=e.i(578172),M=e.i(951700),F=e.i(464142),L=e.i(167389),j=e.i(786022),q=t([C]);function B(e){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:0}function H(e){if(!e||"object"!=typeof e)return null;let t=e.prompt_tokens_details&&"object"==typeof e.prompt_tokens_details?e.prompt_tokens_details:void 0,n="cache_read_input_tokens"in e||"cached_tokens"in e||"cache_creation_input_tokens"in e||!!t&&("cached_tokens"in t||"cache_creation_tokens"in t),o=B(e.cache_read_input_tokens??e.cached_tokens??t?.cached_tokens),r=B(e.cache_creation_input_tokens??t?.cache_creation_tokens);return n?{cacheReadTokens:o,cacheCreationTokens:r}:null}function K(e,t){if(!t||"object"!=typeof t)return e;let n=Object.fromEntries(Object.entries(t).filter(([,e])=>null!=e));if(0===Object.keys(n).length)return e;if(!e||"object"!=typeof e||Array.isArray(e))return{_omniroute:n,_payload:e??null};let o=e._omniroute&&"object"==typeof e._omniroute&&!Array.isArray(e._omniroute)?e._omniroute:{};return{...e,_omniroute:{...o,...n}}}async function V({body:e,modelInfo:t,credentials:n,log:q,onCredentialsRefreshed:B,onRequestSuccess:V,onDisconnect:W,clientRawRequest:Y,connectionId:J,apiKeyInfo:G=null,userAgent:z,comboName:Q}){let X,Z,ee,et,en,eo,{provider:er,model:es,extendedContext:ea}=t,ei="string"==typeof e?.model&&e.model.trim().length>0?e.model:es,el=Date.now(),ec=(e,t)=>{(0,k.saveRequestUsage)({provider:er||"unknown",model:es||"unknown",tokens:{input:0,output:0,cacheRead:0,cacheCreation:0,reasoning:0},status:String(e),success:!1,latencyMs:Date.now()-el,timeToFirstTokenMs:0,errorCode:t||String(e),timestamp:new Date().toISOString(),connectionId:J||void 0,apiKeyId:G?.id||void 0,apiKeyName:G?.name||void 0}).catch(()=>{})},eu=async(e,t=0)=>{if("codex"===er&&J&&e)try{let o=(0,b.parseCodexQuotaHeaders)(e);if(!o)return;let r=n?.providerSpecificData&&"object"==typeof n.providerSpecificData?n.providerSpecificData:{},s=(0,b.getCodexModelScope)(es||ei||""),a={usage5h:o.usage5h,limit5h:o.limit5h,resetAt5h:o.resetAt5h,usage7d:o.usage7d,limit7d:o.limit7d,resetAt7d:o.resetAt7d,scope:s,updatedAt:new Date().toISOString()},i={...r,codexQuotaState:a};if(429===t){let e=(0,b.getCodexResetTime)(o);if(e&&e>Date.now()){let t=new Date(e).toISOString();i.codexScopeRateLimitedUntil={...r&&"object"==typeof r&&r.codexScopeRateLimitedUntil&&"object"==typeof r.codexScopeRateLimitedUntil?r.codexScopeRateLimitedUntil:{},[s]:t}}}await (0,y.updateProviderConnection)(J,{providerSpecificData:i}),n.providerSpecificData=i}catch(e){q?.debug?.("CODEX",`Failed to persist codex quota state: ${e?.message||e}`)}},ed=(0,D.getIdempotencyKey)(Y?.headers),ep=(0,D.checkIdempotency)(ed);if(ep)return q?.debug?.("IDEMPOTENCY",`Hit for key=${ed?.slice(0,12)}...`),{success:!0,response:new Response(JSON.stringify(ep.response),{status:ep.status,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)(),"X-OmniRoute-Idempotent":"true"}})};await (0,$.initializeRateLimits)(),J&&n&&!n.connectionId&&(n.connectionId=J);let eg=String(Y?.endpoint||""),ef=(0,r.detectFormatFromEndpoint)(e,eg),em=/\/responses(?=\/|$)/i.test(eg)||/^responses(?=\/|$)/i.test(eg),eh=function({provider:e,sourceFormat:t,endpointPath:n}){return"codex"===e&&t===a.FORMATS.OPENAI_RESPONSES&&String(n||"").replace(/\/+$/,"").split("/").includes("responses")}({provider:er,sourceFormat:ef,endpointPath:eg}),e_=(0,T.handleBypassRequest)(e,es,z);if(e_)return e_;let ey=(0,F.getBackgroundDegradationConfig)().enabled?(0,F.getBackgroundTaskReason)(e,Y?.headers):null;if(ey){let t=(0,F.getDegradedModel)(es);if(t!==es){let n=es;q?.info?.("BACKGROUND",`Background task redirect (${ey}): ${n} → ${t}`),es=t,e&&"object"==typeof e&&(e.model=es),(0,A.logAuditEvent)({action:"routing.background_task_redirect",actor:G?.name||"system",target:J||er||"chat",details:{original_model:n,redirected_to:t,reason:ey}})}}let eA=(0,g.resolveModelAlias)(es),eT=eA!==es?eA:es;eA!==es&&q?.info?.("ALIAS",`Model alias applied: ${es} → ${eA}`);let ek=p.PROVIDER_ID_TO_ALIAS[er]||er,eS=(0,p.getModelTargetFormat)(ek,eA)||(0,r.getTargetFormat)(er),eE=e=>{if(e===eT)return{...(0,v.getModelUpstreamExtraHeaders)(er||"",es||"",ef),...(0,v.getModelUpstreamExtraHeaders)(er||"",eA||"",ef)};let t=(0,g.resolveModelAlias)(e);return{...(0,v.getModelUpstreamExtraHeaders)(er||"",e||"",ef),...(0,v.getModelUpstreamExtraHeaders)(er||"",t||"",ef)}},eR=Y?.headers&&"function"==typeof Y.headers.get?Y.headers.get("accept")||Y.headers.get("Accept"):(Y?.headers||{}).accept||(Y?.headers||{}).Accept,ev=(0,j.resolveStreamFlag)(e?.stream,eR);if((0,N.isCacheable)(e,Y?.headers)){let t=(0,N.generateSignature)(es,e.messages,e.temperature,e.top_p),n=(0,N.getCachedResponse)(t);if(n)return q?.debug?.("CACHE",`Semantic cache HIT for ${es}`),{success:!0,response:new Response(JSON.stringify(n),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)(),"X-OmniRoute-Cache":"HIT"}})}}let eC=await (0,d.createRequestLogger)(ef,eS,es);Y&&eC.logClientRawRequest(Y.endpoint,Y.body,Y.headers),eC.logRawRequest(e),q?.debug?.("FORMAT",`${ef} → ${eS} | stream=${ev}`),Array.isArray(e.messages)&&(e.messages=e.messages.map(e=>{if(""===e.name){let{name:t,...n}=e;return n}return e})),Array.isArray(e.input)&&(e.input=e.input.map(e=>{if(""===e.name){let{name:t,...n}=e;return n}return e})),Array.isArray(e.tools)&&(e.tools=e.tools.filter(e=>{let t=e.function,n=t?.name??e.name;return n&&String(n).trim().length>0}));let eb=e,eO=ef===a.FORMATS.CLAUDE&&eS===a.FORMATS.CLAUDE;try{if(eh)eb={...e,_nativeCodexPassthrough:!0},q?.debug?.("FORMAT","native codex passthrough enabled");else if(eO){let t=(0,v.getModelNormalizeToolCallId)(er||"",es||"",ef),o=(0,v.getModelPreserveOpenAIDeveloperRole)(er||"",es||"",ef);eb=(0,s.translateRequest)(a.FORMATS.CLAUDE,a.FORMATS.OPENAI,es,{...e},ev,n,er,eC,{normalizeToolCallId:t,preserveDeveloperRole:o}),eb=(0,s.translateRequest)(a.FORMATS.OPENAI,a.FORMATS.CLAUDE,es,{...eb,_disableToolPrefix:!0},ev,n,er,eC,{normalizeToolCallId:t,preserveDeveloperRole:o}),q?.debug?.("FORMAT","claude->openai->claude normalized passthrough")}else{if(eb={...e},eS===a.FORMATS.CLAUDE&&(eb._disableToolPrefix=!0),Array.isArray(eb.messages))for(let e of eb.messages)Array.isArray(e.content)&&(e.content=e.content.filter(e=>"text"!==e.type||"string"==typeof e.text&&e.text.length>0));if(Array.isArray(eb.messages))for(let e of eb.messages)"user"===e.role&&Array.isArray(e.content)&&(e.content=e.content.flatMap(e=>{if("text"===e.type||"image_url"===e.type||"image"===e.type)return[e];if("file"===e.type||"document"===e.type){let t=e.file?.content??e.file?.text??e.content??e.text,n=e.file?.name??e.name??"attachment";return"string"==typeof t&&t.length>0?[{type:"text",text:`[${n}]
|
|
24
|
+
`;r.enqueue(i.encode(e))}catch{}}})}function n(e){return!!e&&"true"===("function"==typeof e.get?t=>e.get(t):t=>e[t])("x-omniroute-progress")}e.s(["createProgressTransform",()=>t,"wantsProgress",()=>n])},578172,e=>{"use strict";let t={"gemini-3-pro":["gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3.1-pro":["gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-pro-preview":["gemini-3.1-pro-preview","gemini-3-pro-high","gemini-3.1-pro-high","gemini-3-pro-low","gemini-3.1-pro-low"],"gemini-3.1-pro-preview":["gemini-3-pro-preview","gemini-3.1-pro-high","gemini-3-pro-high","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-3-pro-high":["gemini-3.1-pro-high","gemini-3-pro-preview","gemini-3.1-pro-preview","gemini-3-pro-low","gemini-3.1-pro-low"],"gemini-3.1-pro-high":["gemini-3-pro-high","gemini-3.1-pro-preview","gemini-3-pro-preview","gemini-3.1-pro-low","gemini-3-pro-low"],"gemini-2.5-pro":["gemini-2.5-pro-preview-06-05","gemini-2.5-pro-exp-03-25"],"gemini-2.5-pro-preview-06-05":["gemini-2.5-pro","gemini-2.5-pro-exp-03-25"],"claude-opus-4-6":["claude-opus-4-6-thinking","claude-opus-4-5-20251101","claude-sonnet-4-6"],"claude-opus-4-6-thinking":["claude-opus-4-6","claude-opus-4-5-20251101"],"claude-sonnet-4-6":["claude-sonnet-4-5-20250929","claude-sonnet-4-20250514"],"claude-sonnet-4-5-20250929":["claude-sonnet-4-6","claude-sonnet-4-20250514"],"gpt-5":["gpt-5-mini","gpt-4o"],"gpt-5.1":["gpt-5.1-mini","gpt-5","gpt-4o"]},n=["model not found","model_not_found","model not available","model is not available","no such model","unsupported model","unknown model","this model does not exist","invalid model","model not supported","does not support","not enabled for","access to model","improperly formed request"];function o(e,t){if(404===e)return!0;if(400!==e&&403!==e)return!1;let o=t.toLowerCase();return n.some(e=>o.includes(e))}function r(e,n){let o=t[e];if(!o)return null;for(let e of o)if(!n.has(e))return e;return null}e.s(["getNextFamilyFallback",()=>r,"isModelUnavailableError",()=>o])},167389,e=>{"use strict";let t={enabled:!0,provider:"nvidia",model:"openai/gpt-oss-120b",triggerOn402:!0,triggerOnBudgetKeywords:!0,budgetKeywords:["insufficient funds","insufficient_funds","budget exceeded","budget_exceeded","quota exceeded","quota_exceeded","billing","payment required","out of credits","no credits","credit limit","spending limit","saldo insuficiente","limite de gastos","cota excedida"],skipForToolRequests:!0,maxOutputTokens:4096};function n(e,o,r,s=t){if(!s.enabled)return{shouldFallback:!1,reason:"emergency fallback disabled"};if(s.skipForToolRequests&&r)return{shouldFallback:!1,reason:"skipped: request has tools"};if(s.triggerOn402&&402===e)return{shouldFallback:!0,reason:`HTTP 402 → emergency fallback to ${s.provider}/${s.model}`,provider:s.provider,model:s.model,maxOutputTokens:s.maxOutputTokens};if(s.triggerOnBudgetKeywords&&o){let e=o.toLowerCase(),t=s.budgetKeywords.find(t=>e.includes(t.toLowerCase()));if(t)return{shouldFallback:!0,reason:`Budget error detected ('${t}') → emergency fallback to ${s.provider}/${s.model}`,provider:s.provider,model:s.model,maxOutputTokens:s.maxOutputTokens}}return{shouldFallback:!1,reason:"no budget error detected"}}function o(e){return!0===e.shouldFallback}e.s(["EMERGENCY_FALLBACK_CONFIG",0,t,"isFallbackDecision",()=>o,"shouldUseFallback",()=>n])},786022,e=>{"use strict";function t(e,t){return!0===e||!1!==e&&!function(e){if("string"!=typeof e)return!1;let t=e.toLowerCase();return t.includes("application/json")&&!t.includes("text/event-stream")}(t)}function n(e){if("string"!=typeof e)return e;let t=e.trim().match(/^```(?:json|javascript|typescript|js|ts)?\s*\n?([\s\S]*?)\n?```\s*$/i);return t?t[1].trim():e}e.s(["resolveStreamFlag",()=>t,"stripMarkdownCodeFence",()=>n])},284948,e=>e.a(async(t,n)=>{try{var o=e.i(731664),r=e.i(85713),s=e.i(352812),a=e.i(496727),i=e.i(949756),l=e.i(954372),c=e.i(719485),u=e.i(928602),d=e.i(54092),p=e.i(878947),g=e.i(705765),f=e.i(828059),m=e.i(719201),h=e.i(16023),_=e.i(33595),y=e.i(385498),A=e.i(439951),T=e.i(688828);e.i(312125);var k=e.i(400722),S=e.i(397506),E=e.i(239409),R=e.i(362225),v=e.i(15844),C=e.i(578383);e.i(245272);var b=e.i(186920),O=e.i(6751),I=e.i(69373),w=e.i(803285),x=e.i(725538),$=e.i(423525),N=e.i(581631),D=e.i(20870),P=e.i(511695),U=e.i(289130),M=e.i(537981),F=e.i(578172),L=e.i(951700),j=e.i(464142),q=e.i(167389),B=e.i(786022),H=t([O]);function K(e){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:0}function V(e){if(!e||"object"!=typeof e)return null;let t=e.prompt_tokens_details&&"object"==typeof e.prompt_tokens_details?e.prompt_tokens_details:void 0,n="cache_read_input_tokens"in e||"cached_tokens"in e||"cache_creation_input_tokens"in e||!!t&&("cached_tokens"in t||"cache_creation_tokens"in t),o=K(e.cache_read_input_tokens??e.cached_tokens??t?.cached_tokens),r=K(e.cache_creation_input_tokens??t?.cache_creation_tokens);return n?{cacheReadTokens:o,cacheCreationTokens:r}:null}function W(e,t){if(!t||"object"!=typeof t)return e;let n=Object.fromEntries(Object.entries(t).filter(([,e])=>null!=e));if(0===Object.keys(n).length)return e;if(!e||"object"!=typeof e||Array.isArray(e))return{_omniroute:n,_payload:e??null};let o=e._omniroute&&"object"==typeof e._omniroute&&!Array.isArray(e._omniroute)?e._omniroute:{};return{...e,_omniroute:{...o,...n}}}async function Y({body:e,modelInfo:t,credentials:n,log:H,onCredentialsRefreshed:K,onRequestSuccess:Y,onDisconnect:J,clientRawRequest:G,connectionId:z,apiKeyInfo:Q=null,userAgent:X,comboName:Z}){let ee,et,en,eo,er,es,{provider:ea,model:ei,extendedContext:el}=t,ec="string"==typeof e?.model&&e.model.trim().length>0?e.model:ei,eu=Date.now(),ed=(e,t)=>{(0,k.saveRequestUsage)({provider:ea||"unknown",model:ei||"unknown",tokens:{input:0,output:0,cacheRead:0,cacheCreation:0,reasoning:0},status:String(e),success:!1,latencyMs:Date.now()-eu,timeToFirstTokenMs:0,errorCode:t||String(e),timestamp:new Date().toISOString(),connectionId:z||void 0,apiKeyId:Q?.id||void 0,apiKeyName:Q?.name||void 0}).catch(()=>{})},ep=async(e,t=0)=>{if("codex"===ea&&z&&e)try{let o=(0,I.parseCodexQuotaHeaders)(e);if(!o)return;let r=n?.providerSpecificData&&"object"==typeof n.providerSpecificData?n.providerSpecificData:{},s=(0,I.getCodexModelScope)(ei||ec||""),a={usage5h:o.usage5h,limit5h:o.limit5h,resetAt5h:o.resetAt5h,usage7d:o.usage7d,limit7d:o.limit7d,resetAt7d:o.resetAt7d,scope:s,updatedAt:new Date().toISOString()},i={...r,codexQuotaState:a};if(429===t){let e=(0,I.getCodexResetTime)(o);if(e&&e>Date.now()){let t=new Date(e).toISOString();i.codexScopeRateLimitedUntil={...r&&"object"==typeof r&&r.codexScopeRateLimitedUntil&&"object"==typeof r.codexScopeRateLimitedUntil?r.codexScopeRateLimitedUntil:{},[s]:t}}}await (0,y.updateProviderConnection)(z,{providerSpecificData:i}),n.providerSpecificData=i}catch(e){H?.debug?.("CODEX",`Failed to persist codex quota state: ${e?.message||e}`)}},eg=(0,U.getIdempotencyKey)(G?.headers),ef=(0,U.checkIdempotency)(eg);if(ef)return H?.debug?.("IDEMPOTENCY",`Hit for key=${eg?.slice(0,12)}...`),{success:!0,response:new Response(JSON.stringify(ef.response),{status:ef.status,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)(),"X-OmniRoute-Idempotent":"true"}})};await (0,D.initializeRateLimits)(),z&&n&&!n.connectionId&&(n.connectionId=z);let em=String(G?.endpoint||""),eh=(0,r.detectFormatFromEndpoint)(e,em),e_=/\/responses(?=\/|$)/i.test(em)||/^responses(?=\/|$)/i.test(em),ey=function({provider:e,sourceFormat:t,endpointPath:n}){return"codex"===e&&t===a.FORMATS.OPENAI_RESPONSES&&String(n||"").replace(/\/+$/,"").split("/").includes("responses")}({provider:ea,sourceFormat:eh,endpointPath:em}),eA=(0,T.handleBypassRequest)(e,ei,X);if(eA)return eA;let eT=(0,j.getBackgroundDegradationConfig)().enabled?(0,j.getBackgroundTaskReason)(e,G?.headers):null;if(eT){let t=(0,j.getDegradedModel)(ei);if(t!==ei){let n=ei;H?.info?.("BACKGROUND",`Background task redirect (${eT}): ${n} → ${t}`),ei=t,e&&"object"==typeof e&&(e.model=ei),(0,A.logAuditEvent)({action:"routing.background_task_redirect",actor:Q?.name||"system",target:z||ea||"chat",details:{original_model:n,redirected_to:t,reason:eT}})}}let ek=(0,g.resolveModelAlias)(ei),eS=ek!==ei?ek:ei;ek!==ei&&H?.info?.("ALIAS",`Model alias applied: ${ei} → ${ek}`);let eE=p.PROVIDER_ID_TO_ALIAS[ea]||ea,eR=(0,p.getModelTargetFormat)(eE,ek)||(0,r.getTargetFormat)(ea),ev=e=>{if(e===eS)return{...(0,b.getModelUpstreamExtraHeaders)(ea||"",ei||"",eh),...(0,b.getModelUpstreamExtraHeaders)(ea||"",ek||"",eh)};let t=(0,g.resolveModelAlias)(e);return{...(0,b.getModelUpstreamExtraHeaders)(ea||"",e||"",eh),...(0,b.getModelUpstreamExtraHeaders)(ea||"",t||"",eh)}},eC=G?.headers&&"function"==typeof G.headers.get?G.headers.get("accept")||G.headers.get("Accept"):(G?.headers||{}).accept||(G?.headers||{}).Accept,eb=(0,B.resolveStreamFlag)(e?.stream,eC);if((0,P.isCacheable)(e,G?.headers)){let t=(0,P.generateSignature)(ei,e.messages,e.temperature,e.top_p),n=(0,P.getCachedResponse)(t);if(n)return H?.debug?.("CACHE",`Semantic cache HIT for ${ei}`),{success:!0,response:new Response(JSON.stringify(n),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)(),"X-OmniRoute-Cache":"HIT"}})}}let eO=await (0,d.createRequestLogger)(eh,eR,ei);G&&eO.logClientRawRequest(G.endpoint,G.body,G.headers),eO.logRawRequest(e),H?.debug?.("FORMAT",`${eh} → ${eR} | stream=${eb}`),Array.isArray(e.messages)&&(e.messages=e.messages.map(e=>{if(""===e.name){let{name:t,...n}=e;return n}return e})),Array.isArray(e.input)&&(e.input=e.input.map(e=>{if(""===e.name){let{name:t,...n}=e;return n}return e})),Array.isArray(e.tools)&&(e.tools=e.tools.filter(e=>{let t=e.function,n=t?.name??e.name;return n&&String(n).trim().length>0}));let eI=e,ew=eh===a.FORMATS.CLAUDE&&eR===a.FORMATS.CLAUDE;try{if(ey)eI={...e,_nativeCodexPassthrough:!0},H?.debug?.("FORMAT","native codex passthrough enabled");else if(ew){let t=(0,b.getModelNormalizeToolCallId)(ea||"",ei||"",eh),o=(0,b.getModelPreserveOpenAIDeveloperRole)(ea||"",ei||"",eh);eI=(0,s.translateRequest)(a.FORMATS.CLAUDE,a.FORMATS.OPENAI,ei,{...e},eb,n,ea,eO,{normalizeToolCallId:t,preserveDeveloperRole:o}),eI=(0,s.translateRequest)(a.FORMATS.OPENAI,a.FORMATS.CLAUDE,ei,{...eI,_disableToolPrefix:!0},eb,n,ea,eO,{normalizeToolCallId:t,preserveDeveloperRole:o}),H?.debug?.("FORMAT","claude->openai->claude normalized passthrough")}else{if(eI={...e},eR===a.FORMATS.CLAUDE&&(eI._disableToolPrefix=!0),Array.isArray(eI.messages))for(let e of eI.messages)Array.isArray(e.content)&&(e.content=e.content.filter(e=>"text"!==e.type||"string"==typeof e.text&&e.text.length>0));if(Array.isArray(eI.messages))for(let e of eI.messages)"user"===e.role&&Array.isArray(e.content)&&(e.content=e.content.flatMap(e=>{if("text"===e.type||"image_url"===e.type||"image"===e.type)return[e];if("file"===e.type||"document"===e.type){let t=e.file?.content??e.file?.text??e.content??e.text,n=e.file?.name??e.name??"attachment";return"string"==typeof t&&t.length>0?[{type:"text",text:`[${n}]
|
|
25
25
|
${t}`}]:[]}if("tool_result"===e.type){let t=e.tool_use_id??e.id??"unknown",n=e.content??e.text??e.output??"",o="string"==typeof n?n:Array.isArray(n)?n.filter(e=>"text"===e.type).map(e=>e.text).join("\n"):JSON.stringify(n);return o.length>0?[{type:"text",text:`[Tool Result: ${t}]
|
|
26
|
-
${o}`}]:[]}return q?.debug?.("CONTENT",`Dropped unsupported content part type="${e.type}"`),[]}));let t=(0,v.getModelNormalizeToolCallId)(er||"",es||"",ef),o=(0,v.getModelPreserveOpenAIDeveloperRole)(er||"",es||"",ef);eb=(0,s.translateRequest)(ef,eS,es,eb,ev,n,er,eC,{normalizeToolCallId:t,preserveDeveloperRole:o})}}catch(s){let e=Number(s?.statusCode),t=Number.isInteger(e)&&e>=400&&e<=599?e:h.HTTP_STATUS.SERVER_ERROR,n=s?.message||"Invalid request",r="string"==typeof s?.errorType?s.errorType:null;if(q?.warn?.("TRANSLATE",`Request translation failed: ${n}`),r)return{success:!1,status:t,error:n,response:new Response(JSON.stringify({error:{message:n,type:r,code:r}}),{status:t,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)()}})};return(0,m.createErrorResult)(t,n)}let eI=eb._toolNameMap,ew=eO?function(e){if(!e||!Array.isArray(e.tools))return null;let t=new Map;for(let n of e.tools){let e=n?.type==="function"&&n.function&&"object"==typeof n.function?n.function:n,o="string"==typeof e?.name?e.name.trim():"";o&&t.set(`${R.CLAUDE_OAUTH_TOOL_PREFIX}${o}`,o)}return t.size>0?t:null}(e):null,ex=eI instanceof Map&&eI.size>0?eI:ew;delete eb._toolNameMap,delete eb._disableToolPrefix,eb.model=eT;let e$=(0,f.getUnsupportedParams)(er,es);if(e$.length>0){let e=[];for(let t of e$)Object.hasOwn(eb,t)&&(e.push(t),delete eb[t]);e.length>0&&q?.warn?.("PARAMS",`Stripped unsupported params for ${es}: ${e.join(", ")}`)}let eN=h.PROVIDER_MAX_TOKENS[er];if(eN)for(let e of["max_tokens","max_completion_tokens"])"number"==typeof eb[e]&&eb[e]>eN&&(q?.debug?.("PARAMS",`Capping ${e} from ${eb[e]} to ${eN} for ${er}`),eb[e]=eN);let eD=(0,C.getExecutor)(er),eP=()=>eh?{...n,requestEndpointPath:eg}:n,eU=(0,c.createStreamController)({onDisconnect:W,log:q,provider:er,model:es}),eM={...eb,model:`${er}/${es}`},eF=(0,M.shouldDeduplicate)(eM),eL=eF?(0,M.computeRequestHash)(eM):null,ej=async(e=eT,t=!1)=>{let n=async()=>{let t=eb.model===e?eb:{...eb,model:e},n=await (0,$.withRateLimit)(er,J,e,()=>eD.execute({model:e,body:t,stream:ev,credentials:eP(),signal:eU.signal,log:q,extendedContext:ea,upstreamExtraHeaders:eE(e)}));if(ev)return n;let o=n.response.status,r=n.response.statusText,s=Array.from(n.response.headers.entries()),a=await n.response.text();return{...n,response:new Response(a,{status:o,statusText:r,headers:s})}};if(t&&eF&&eL){let e=await (0,M.deduplicate)(eL,n);return e.wasDeduplicated&&q?.debug?.("DEDUP",`Joined in-flight request hash=${eL}`),e.result}return n()};(0,k.trackPendingRequest)(es,er,J,!0);let eq=new Set([eT]),eB=eT;(0,k.appendRequestLog)({model:es,provider:er,connectionId:J,status:"PENDING"}).catch(()=>{});let eH=eb.messages?.length||eb.contents?.length||eb.request?.contents?.length||0;q?.debug?.("REQUEST",`${er.toUpperCase()} | ${es} | ${eH} msgs`);let eK=null;try{let e=await ej(eT,!0);X=e.response,Z=e.url,ee=e.headers,et=e.transformedBody,eK=function(e,t,n){if(e!==a.FORMATS.CLAUDE||!t||"object"!=typeof t)return null;let o=(e,t={})=>({type:e&&"string"==typeof e.type&&e.type.trim()?e.type.trim():"ephemeral",ttl:e&&"string"==typeof e.ttl&&e.ttl.trim()?e.ttl.trim():null,...t}),r=Array.isArray(t.system)?t.system.flatMap((e,t)=>{if(!e||"object"!=typeof e)return[];let n=e.cache_control&&"object"==typeof e.cache_control?e.cache_control:null;return n?[o(n,{index:t})]:[]}):[],s=Array.isArray(t.tools)?t.tools.flatMap((e,t)=>{if(!e||"object"!=typeof e)return[];let n=e.cache_control&&"object"==typeof e.cache_control?e.cache_control:null,r="string"==typeof e.name&&e.name.trim()?e.name.trim():null;return n?[o(n,{index:t,name:r})]:[]}):[],i=Array.isArray(t.messages)?t.messages.flatMap((e,t)=>{if(!e||"object"!=typeof e||!Array.isArray(e.content))return[];let n="string"==typeof e.role&&e.role.trim()?e.role.trim():"unknown";return e.content.flatMap((e,r)=>{if(!e||"object"!=typeof e)return[];let s=e.cache_control&&"object"==typeof e.cache_control?e.cache_control:null;return s?[o(s,{messageIndex:t,contentIndex:r,role:n,blockType:"string"==typeof e.type&&e.type.trim()?e.type.trim():"unknown"})]:[]})}):[],l=r.length+s.length+i.length,c=function(e,t){if(!e||"object"!=typeof e)return null;let n=t.toLowerCase();for(let[t,o]of Object.entries(e))if(t.toLowerCase()===n&&"string"==typeof o&&o.trim())return o.trim();return null}(n,"Anthropic-Beta");return 0!==l||c?{applied:l>0,totalBreakpoints:l,anthropicBeta:c,systemBreakpoints:r,toolBreakpoints:s,messageBreakpoints:i}:null}(eS,et,ee),eC.logTargetRequest(Z,ee,et),(0,$.updateFromHeaders)(er,J,X.headers,X.status,es)}catch(n){if((0,k.trackPendingRequest)(es,er,J,!1),(0,k.appendRequestLog)({model:es,provider:er,connectionId:J,status:`FAILED ${"AbortError"===n.name?499:h.HTTP_STATUS.BAD_GATEWAY}`}).catch(()=>{}),(0,S.saveCallLog)({method:"POST",path:Y?.endpoint||"/v1/chat/completions",status:"AbortError"===n.name?499:h.HTTP_STATUS.BAD_GATEWAY,model:es,requestedModel:ei,provider:er,connectionId:J,duration:Date.now()-el,requestBody:K(e,{claudePromptCache:eK}),error:n.message,sourceFormat:ef,targetFormat:eS,comboName:Q,apiKeyId:G?.id||null,apiKeyName:G?.name||null,noLog:G?.noLog===!0}).catch(()=>{}),"AbortError"===n.name)return eU.handleError(n),(0,m.createErrorResult)(499,"Request aborted");ec(h.HTTP_STATUS.BAD_GATEWAY,n?.name||"upstream_error");let t=(0,m.formatProviderError)(n,er,es,h.HTTP_STATUS.BAD_GATEWAY);return console.log(`${l.COLORS.red}[ERROR] ${t}${l.COLORS.reset}`),(0,m.createErrorResult)(h.HTTP_STATUS.BAD_GATEWAY,t)}if(X.status===h.HTTP_STATUS.UNAUTHORIZED||X.status===h.HTTP_STATUS.FORBIDDEN){let e=await (0,u.refreshWithRetry)(()=>eD.refreshCredentials(n,q),3,q);if(e?.accessToken||e?.copilotToken){q?.info?.("TOKEN",`${er.toUpperCase()} | refreshed`),Object.assign(n,e),B&&e&&await B(e);try{let e=String(eb.model||eT),t=await eD.execute({model:e,body:eb,stream:ev,credentials:eP(),signal:eU.signal,log:q,extendedContext:ea,upstreamExtraHeaders:eE(e)});t.response.ok&&(X=t.response,Z=t.url)}catch(e){q?.warn?.("TOKEN",`${er.toUpperCase()} | retry after refresh failed`)}}else q?.warn?.("TOKEN",`${er.toUpperCase()} | refresh failed`)}if(await eu(X.headers,X.status),!X.ok){(0,k.trackPendingRequest)(es,er,J,!1);let{statusCode:t,message:o,retryAfterMs:r}=await (0,m.parseUpstreamError)(X,er),s=(0,_.classifyProviderError)(t,o);if(J&&s)try{s===_.PROVIDER_ERROR_TYPES.FORBIDDEN?(await (0,y.updateProviderConnection)(J,{isActive:!1,testStatus:"banned",lastErrorType:s,lastError:o,errorCode:t}),console.warn(`[provider] Node ${J} banned (${t}) — disabling permanently`)):s===_.PROVIDER_ERROR_TYPES.QUOTA_EXHAUSTED?(await (0,y.updateProviderConnection)(J,{testStatus:"credits_exhausted",lastErrorType:s,lastError:o,errorCode:t}),console.warn(`[provider] Node ${J} exhausted quota (${t})`)):s===_.PROVIDER_ERROR_TYPES.ACCOUNT_DEACTIVATED?(await (0,y.updateProviderConnection)(J,{isActive:!1,testStatus:"expired",lastErrorType:s,lastError:o,errorCode:t}),console.warn(`[provider] Node ${J} account deactivated (${t}) — marked expired`)):s===_.PROVIDER_ERROR_TYPES.UNAUTHORIZED&&await (0,y.updateProviderConnection)(J,{lastErrorType:s,lastError:o,errorCode:t})}catch{}(0,k.appendRequestLog)({model:es,provider:er,connectionId:J,status:`FAILED ${t}`}).catch(()=>{}),(0,S.saveCallLog)({method:"POST",path:Y?.endpoint||"/v1/chat/completions",status:t,model:es,requestedModel:ei,provider:er,connectionId:J,duration:Date.now()-el,requestBody:K(e,{claudePromptCache:eK}),error:o,sourceFormat:ef,targetFormat:eS,comboName:Q,apiKeyId:G?.id||null,apiKeyName:G?.name||null,noLog:G?.noLog===!0}).catch(()=>{});let a=(0,m.formatProviderError)(Error(o),er,es,t);if(console.log(`${l.COLORS.red}[ERROR] ${a}${l.COLORS.reset}`),r&&"antigravity"===er){let e=Math.ceil(r/1e3);q?.debug?.("RETRY",`Antigravity quota reset in ${e}s (${r}ms)`)}if(eC.logError(Error(o),et||eb),(0,$.updateFromHeaders)(er,J,X.headers,t,es),!(0,U.isModelUnavailableError)(t,o))return ec(t,`upstream_${t}`),(0,m.createErrorResult)(t,a,r);{let e=(0,U.getNextFamilyFallback)(eB,eq);if(!e)return ec(t,"model_unavailable"),(0,m.createErrorResult)(t,a,r);eq.add(e),eB=e,eb.model=e,q?.info?.("MODEL_FALLBACK",`${es} unavailable (${t}) → trying ${e}`);try{let n=await ej(e,!1);if(!n.response.ok)return ec(t,"model_unavailable"),(0,m.createErrorResult)(t,a,r);X=n.response,Z=n.url,ee=n.headers,et=n.transformedBody,q?.info?.("MODEL_FALLBACK",`Serving ${e} as fallback for ${es}`)}catch{return ec(t,"model_unavailable"),(0,m.createErrorResult)(t,a,r)}}let i=Array.isArray(eb.tools)&&eb.tools.length>0;if(!ev){let e=(0,L.shouldUseFallback)(t,o,i,L.EMERGENCY_FALLBACK_CONFIG);if((0,L.isFallbackDecision)(e)){q?.info?.("EMERGENCY_FALLBACK",e.reason);try{let t=(0,C.getExecutor)(e.provider),o=await t.execute({model:e.model,body:{...eb,model:e.model,max_tokens:Math.min("number"==typeof eb.max_tokens?eb.max_tokens:e.maxOutputTokens,e.maxOutputTokens)},stream:!1,credentials:n,signal:eU.signal,log:q,extendedContext:ea});o.response.ok?(X=o.response,q?.info?.("EMERGENCY_FALLBACK",`Serving ${e.provider}/${e.model} as budget fallback for ${er}/${es}`)):q?.warn?.("EMERGENCY_FALLBACK",`Emergency fallback also failed (${o.response.status})`)}catch(e){q?.warn?.("EMERGENCY_FALLBACK",`Emergency fallback error: ${e?.message}`)}}}}if(!ev){let t;(0,k.trackPendingRequest)(es,er,J,!1);let n=(X.headers.get("content-type")||"").toLowerCase(),r=await X.text();if(n.includes("text/event-stream")||/(^|\n)\s*(event|data):/m.test(r)){let e=eS===a.FORMATS.OPENAI_RESPONSES?(0,w.parseSSEToResponsesOutput)(r,es):(0,w.parseSSEToOpenAIResponse)(r,es);if(!e)return(0,k.appendRequestLog)({model:es,provider:er,connectionId:J,status:`FAILED ${h.HTTP_STATUS.BAD_GATEWAY}`}).catch(()=>{}),ec(h.HTTP_STATUS.BAD_GATEWAY,"invalid_sse_payload"),(0,m.createErrorResult)(h.HTTP_STATUS.BAD_GATEWAY,"Invalid SSE response for non-streaming request");t=e}else try{t=r?JSON.parse(r):{}}catch{return(0,k.appendRequestLog)({model:es,provider:er,connectionId:J,status:`FAILED ${h.HTTP_STATUS.BAD_GATEWAY}`}).catch(()=>{}),ec(h.HTTP_STATUS.BAD_GATEWAY,"invalid_json_payload"),(0,m.createErrorResult)(h.HTTP_STATUS.BAD_GATEWAY,"Invalid JSON response from provider")}ef===a.FORMATS.CLAUDE&&eS===a.FORMATS.CLAUDE&&(t=function(e,t){if(!t||!Array.isArray(e?.content))return e;let n=!1,o=e.content.map(e=>{if(e?.type!=="tool_use"||"string"!=typeof e?.name)return e;let o=t.get(e.name)??e.name;return o===e.name?e:(n=!0,{...e,name:o})});return n?{...e,content:o}:e}(t,ex)),V&&await V();let i=(0,I.extractUsageFromResponse)(t,er);(0,k.appendRequestLog)({model:es,provider:er,connectionId:J,tokens:i,status:"200 OK"}).catch(()=>{});let c=H(i);if((0,S.saveCallLog)({method:"POST",path:Y?.endpoint||"/v1/chat/completions",status:200,model:es,requestedModel:ei,provider:er,connectionId:J,duration:Date.now()-el,tokens:i,requestBody:K(e,{claudePromptCache:eK}),responseBody:K(t,{claudePromptCache:eK?{applied:eK.applied,totalBreakpoints:eK.totalBreakpoints,anthropicBeta:eK.anthropicBeta}:null,claudePromptCacheUsage:c}),sourceFormat:ef,targetFormat:eS,comboName:Q,apiKeyId:G?.id||null,apiKeyName:G?.name||null,noLog:G?.noLog===!0}).catch(()=>{}),i&&"object"==typeof i){let e=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [USAGE] ${er.toUpperCase()} | in=${(0,E.getLoggedInputTokens)(i)} | out=${(0,E.getLoggedOutputTokens)(i)}${J?` | account=${J.slice(0,8)}...`:""}`;console.log(`${l.COLORS.green}${e}${l.COLORS.reset}`),(0,k.saveRequestUsage)({provider:er||"unknown",model:es||"unknown",tokens:i,status:"200",success:!0,latencyMs:Date.now()-el,timeToFirstTokenMs:Date.now()-el,errorCode:null,timestamp:new Date().toISOString(),connectionId:J||void 0,apiKeyId:G?.id||void 0,apiKeyName:G?.name||void 0}).catch(e=>{console.error("Failed to save usage stats:",e.message)})}let u=(0,s.needsTranslation)(eS,ef)?(0,O.translateNonStreamingResponse)(t,eS,ef,ex):t;if("claude"!==ef||ev||"string"!=typeof u?.choices?.[0]?.message?.content||(u.choices[0].message.content=(0,j.stripMarkdownCodeFence)(u.choices[0].message.content)),u?.choices)for(let e of u.choices)e.message?.tool_calls&&e.message.tool_calls.length>0&&"tool_calls"!==e.finish_reason&&(e.finish_reason="tool_calls");if(ef===a.FORMATS.OPENAI&&(u=(0,x.sanitizeOpenAIResponse)(u)),u?.usage){let e=(0,l.addBufferToUsage)(u.usage);u.usage=(0,l.filterUsageForFormat)(e,ef)}else{let t=JSON.stringify(u?.choices?.[0]?.message?.content||"").length;if(t>0){let n=(0,l.estimateUsage)(e,t,ef);u.usage=(0,l.filterUsageForFormat)(n,ef)}}if((0,N.isCacheable)(e,Y?.headers)){let t=(0,N.generateSignature)(es,e.messages,e.temperature,e.top_p),n=i?.prompt_tokens+i?.completion_tokens||0;(0,N.setCachedResponse)(t,es,u,n),q?.debug?.("CACHE",`Stored response for ${es} (${n} tokens)`)}return(0,D.saveIdempotency)(ed,u,200),{success:!0,response:new Response(JSON.stringify(u),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)(),"X-OmniRoute-Cache":"MISS"}})}}V&&await V();let eV={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":(0,o.getCorsOrigin)()},eW=({status:t,usage:n,responseBody:o})=>{let r=H(n);(0,S.saveCallLog)({method:"POST",path:Y?.endpoint||"/v1/chat/completions",status:t||200,model:es,requestedModel:ei,provider:er,connectionId:J,duration:Date.now()-el,tokens:n||{},requestBody:K(e,{claudePromptCache:eK}),responseBody:K(o??void 0,{claudePromptCache:eK?{applied:eK.applied,totalBreakpoints:eK.totalBreakpoints,anthropicBeta:eK.anthropicBeta}:null,claudePromptCacheUsage:r}),sourceFormat:ef,targetFormat:eS,comboName:Q,apiKeyId:G?.id||null,apiKeyName:G?.name||null,noLog:G?.noLog===!0}).catch(()=>{})},eY=z?.toLowerCase().includes("droid")||z?.toLowerCase().includes("codex-cli");if("codex"!==er||eS!==a.FORMATS.OPENAI_RESPONSES||ef!==a.FORMATS.OPENAI||em||eY?(0,s.needsTranslation)(eS,ef)?(q?.debug?.("STREAM",`Translation mode: ${eS} → ${ef}`),en=(0,i.createSSETransformStreamWithLogger)(eS,ef,er,eC,ex,es,J,e,eW,G)):(q?.debug?.("STREAM","Standard passthrough mode"),en=(0,i.createPassthroughStreamWithLogger)(er,eC,ex,es,J,e,eW,G)):(q?.debug?.("STREAM",`Codex translation mode: openai-responses → openai`),en=(0,i.createSSETransformStreamWithLogger)("openai-responses","openai",er,eC,ex,es,J,e,eW,G)),(0,P.wantsProgress)(Y?.headers)){let e=(0,P.createProgressTransform)({signal:eU.signal});eo=(0,c.pipeWithDisconnect)(X,en,eU).pipeThrough(e),eV["X-OmniRoute-Progress"]="enabled"}else eo=(0,c.pipeWithDisconnect)(X,en,eU);return{success:!0,response:new Response(eo,{headers:eV})}}[C]=q.then?(await q)():q,e.s(["handleChatCore",()=>V]),n()}catch(e){n(e)}},!1),485641,e=>{"use strict";let t=[{name:"system_override",pattern:/\b(ignore|disregard|forget)\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|prompts?|rules?|context)/i,severity:"high"},{name:"role_hijack",pattern:/\b(you\s+are\s+now|act\s+as\s+if|pretend\s+(to\s+be|you\s+are)|from\s+now\s+on\s+you\s+are)\b/i,severity:"medium"},{name:"system_prompt_leak",pattern:/\b(reveal|show|display|print|output|repeat)\s+(your\s+)?(system\s+prompt|instructions?|initial\s+prompt|hidden\s+prompt)/i,severity:"high"},{name:"delimiter_injection",pattern:/(\[SYSTEM\]|\[INST\]|<<SYS>>|<\|im_start\|>|<\|system\|>|<\|user\|>)/i,severity:"high"},{name:"jailbreak_dan",pattern:/\b(DAN|do\s+anything\s+now|jailbreak|developer\s+mode|enable\s+developer)\b/i,severity:"medium"},{name:"encoding_evasion",pattern:/\b(base64\s+decode|rot13|hex\s+decode|unicode\s+escape)\b.*\b(instruction|prompt|command)\b/i,severity:"medium"}],n=[{name:"email",pattern:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"[EMAIL_REDACTED]"},{name:"cpf",pattern:/\b\d{3}\.\d{3}\.\d{3}-\d{2}\b/g,replacement:"[CPF_REDACTED]"},{name:"cnpj",pattern:/\b\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}\b/g,replacement:"[CNPJ_REDACTED]"},{name:"credit_card",pattern:/\b(?:\d{4}[-\s]?){3}\d{4}\b/g,replacement:"[CARD_REDACTED]"},{name:"phone_br",pattern:/\b\(?\d{2}\)?\s?\d{4,5}-?\d{4}\b/g,replacement:"[PHONE_REDACTED]"},{name:"ssn_us",pattern:/\b\d{3}-\d{2}-\d{4}\b/g,replacement:"[SSN_REDACTED]"}];function o(e,t=!1){let r=[],s=e;for(let o of n){let n=e.match(o.pattern);n&&n.length>0&&(r.push({type:o.name,count:n.length}),t&&(s=s.replace(o.pattern,o.replacement)))}return{text:s,detections:r}}function r(e,n=console){let s={enabled:"false"!==process.env.INPUT_SANITIZER_ENABLED,mode:process.env.INPUT_SANITIZER_MODE||"warn",piiRedaction:"true"===process.env.PII_REDACTION_ENABLED},a={blocked:!1,modified:!1,detections:[],piiDetections:[],sanitizedBody:null};if(!s.enabled)return a;let i=(function(e){let t=[];for(let n of e.messages||e.input||[])if("string"==typeof n)t.push(n);else if("string"==typeof n.content)t.push(n.content);else if(Array.isArray(n.content))for(let e of n.content)"string"==typeof e?t.push(e):e.text&&t.push(e.text);if("string"==typeof e.system)t.push(e.system);else if(Array.isArray(e.system))for(let n of e.system)"string"==typeof n?t.push(n):n.text&&t.push(n.text);return t})(e).join("\n"),l=function(e){let n=[];for(let o of t){let t=e.match(o.pattern);t&&n.push({pattern:o.name,severity:o.severity,match:t[0].slice(0,50)})}return n}(i);if(l.length>0){a.detections=l;let e=l.filter(e=>"high"===e.severity),t=e.length>0?"warn":"info";if(n[t]&&n[t](`[SANITIZER] Prompt injection detected: ${l.map(e=>e.pattern).join(", ")}`),"block"===s.mode&&e.length>0)return a.blocked=!0,a}if(s.piiRedaction){let t=o(i,"redact"===s.mode);a.piiDetections=t.detections,t.detections.length>0&&(n.warn?.(`[SANITIZER] PII detected: ${t.detections.map(e=>`${e.type}(${e.count})`).join(", ")}`),"redact"===s.mode&&(a.sanitizedBody=function(e){let t=JSON.parse(JSON.stringify(e));for(let e of t.messages||t.input||[])if("string"==typeof e.content)e.content=o(e.content,!0).text;else if(Array.isArray(e.content))for(let t of e.content)if("string"==typeof t){let n=e.content.indexOf(t);e.content[n]=o(t,!0).text}else t.text&&(t.text=o(t.text,!0).text);return"string"==typeof t.system&&(t.system=o(t.system,!0).text),t}(e),a.modified=!0))}return a}e.s(["sanitizeRequest",()=>r])},577122,e=>{"use strict";var t=e.i(478500),n=e.i(254799);function o(){return(0,n.randomUUID)()}new t.AsyncLocalStorage,e.s(["generateRequestId",()=>o])},311250,e=>e.a(async(t,n)=>{try{var o=e.i(287726),r=e.i(192408),s=e.i(85713),a=e.i(284948),i=e.i(719201),l=e.i(928041),c=e.i(16023),u=e.i(878947),d=e.i(444675);e.i(706901);var p=e.i(249157),g=e.i(496973);e.i(245272);var f=e.i(548941),m=e.i(151205),h=e.i(496928),_=e.i(21245),y=e.i(485641),A=e.i(260222),T=e.i(982392),k=e.i(25687),S=e.i(454925),E=e.i(577122),R=e.i(362225),v=e.i(478847),C=e.i(852705),b=e.i(154939),O=e.i(167389),I=t([a]);async function w(e,t=null){let n,s=(0,E.generateRequestId)(),a=new S.RequestTelemetry(s);try{a.startPhase("parse"),n=await e.json(),a.endPhase()}catch{return p.warn("CHAT","Invalid JSON body"),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Invalid JSON body")}a.startPhase("validate");let u=(0,y.sanitizeRequest)(n,p);if(u.blocked)return p.warn("SANITIZER","Request blocked due to prompt injection",{detections:u.detections}),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Request rejected: suspicious content detected");u.modified&&u.sanitizedBody&&(n=u.sanitizedBody),a.endPhase(),(e.headers.get("accept")||"").includes("text/event-stream")&&void 0===n.stream&&(n={...n,stream:!0},p.debug("STREAM","Accept: text/event-stream header → overriding stream=true (body had no stream field)")),t||(t={endpoint:new URL(e.url).pathname,body:n,headers:Object.fromEntries(e.headers.entries())});let d=new URL(e.url),g=n.model,h=n.messages?.length||n.input?.length||0,_=n.tools?.length||0,A=n.reasoning_effort||n.reasoning?.effort||null;p.request("POST",`${d.pathname} | ${g} | ${h} msgs${_?` | ${_} tools`:""}${A?` | effort=${A}`:""}`);let k=e.headers.get("Authorization"),R=(0,o.extractApiKey)(e);k&&R?p.debug("AUTH",`API Key: ${p.maskKey(R)}`):p.debug("AUTH","No API key provided (local mode)");let O=e.headers?.get?.("x-internal-test")==="combo-health-check";if("true"!==process.env.REQUIRE_API_KEY||O){if(R&&!O&&!await (0,o.isValidApiKey)(R))return p.warn("AUTH","API key not found or invalid (must be created in API Manager)"),(0,i.errorResponse)(c.HTTP_STATUS.UNAUTHORIZED,"Invalid API key")}else{if(!R)return p.warn("AUTH","Missing API key while REQUIRE_API_KEY=true"),(0,i.errorResponse)(c.HTTP_STATUS.UNAUTHORIZED,"Missing API key");if(!await (0,o.isValidApiKey)(R))return p.warn("AUTH","Invalid API key while REQUIRE_API_KEY=true"),(0,i.errorResponse)(c.HTTP_STATUS.UNAUTHORIZED,"Invalid API key")}if(!g)return p.warn("CHAT","Missing model"),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Missing model");let I=(0,b.extractExternalSessionId)(e.headers)||(0,b.generateSessionId)(n);I&&(0,b.touchSession)(I),a.startPhase("policy");let $=await (0,v.enforceApiKeyPolicy)(e,g);if($.rejection)return p.warn("POLICY",`API key policy rejected: ${g} (key=${$.apiKeyInfo?.id||"unknown"})`),$.rejection;let N=$.apiKeyInfo;if(a.endPhase(),N?.id&&I){let e="number"==typeof N.maxSessions&&N.maxSessions>0?N.maxSessions:0;if(e>0&&!(0,b.isSessionRegisteredForKey)(N.id,I)){let t=(0,b.checkSessionLimit)(N.id,e);if(t)return P((0,i.errorResponse)(c.HTTP_STATUS.RATE_LIMITED,t.message),I);(0,b.registerKeySession)(N.id,I)}}let D=g;if((0,C.getTaskRoutingConfig)().enabled){a.startPhase("task-route");let e=(0,C.applyTaskAwareRouting)(g,n);e.wasRouted?(D=e.model,n={...n,model:e.model},p.info("T05",`Task-Aware: detected="${e.taskType}" → model override: ${g} → ${e.model}`)):"chat"!==e.taskType&&p.debug("T05",`Task-Aware: detected="${e.taskType}" (no override configured)`),e.taskType,e.wasRouted,a.endPhase()}a.startPhase("resolve");let U=await (0,r.getComboForModel)(D);if(U){p.info("CHAT",`Combo "${g}" [${U.strategy||"priority"}] with ${U.models.length} models`);let s=async e=>{let t=await (0,r.getModelInfo)(e),n=t.provider;if(!n)return!0;if(!(0,T.isModelAvailable)(n,t.model||e))return p.debug("AVAILABILITY",`${n}/${t.model} in cooldown, skipping`),!1;let s=await (0,o.getProviderCredentials)(n,null,N?.allowedConnections??null,t.model||e);return!!s&&!s.allRateLimited},[i,c]=await Promise.all([(0,f.getSettings)().catch(()=>({})),(0,m.getCombos)().catch(()=>[])]);a.endPhase();let u=await l.handleComboChat({body:n,combo:U,handleSingleModel:(n,o)=>x(n,o,t,e,U.name,N,a,{sessionId:I}),isModelAvailable:s,log:p,settings:i,allCombos:c});return(0,S.recordTelemetry)(a),P(u,I)}a.endPhase();let M=await x(n,g,t,e,null,N,a,{sessionId:I});return(0,S.recordTelemetry)(a),P(M,I)}async function x(e,t,n=null,r=null,s=null,a=null,l=null,u={}){var d,f;let m=await $(t,e,n?.endpoint);if(m.error)return m.error;let{provider:y,model:S,sourceFormat:E,targetFormat:v,extendedContext:C}=m,I=(d=y,f=S,(0,T.isModelAvailable)(d,f)?(0,A.getCircuitBreaker)(d,{failureThreshold:5,resetTimeout:3e4,onStateChange:(e,t,n)=>p.info("CIRCUIT",`${e}: ${t} → ${n}`)}).canExecute()?null:(p.warn("CIRCUIT",`Circuit breaker OPEN for ${d}, rejecting request`),i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,`Provider ${d} circuit breaker is open`,30)):(p.warn("AVAILABILITY",`${d}/${f} is in cooldown, rejecting request`),i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,`Model ${d}/${f} is temporarily unavailable (cooldown)`,30)));if(I)return I;let w=(0,A.getCircuitBreaker)(y,{failureThreshold:5,resetTimeout:3e4,onStateChange:(e,t,n)=>p.info("CIRCUIT",`${e}: ${t} → ${n}`)}),P=r?.headers?.get("user-agent")||"",U=null,M=null,F=null;for(;;){let t=await (0,o.getProviderCredentials)(y,U,a?.allowedConnections??null,S);if(!t||t.allRateLimited)return(429===F||503===F)&&((0,T.setModelUnavailable)(y,S,6e4,`HTTP ${F}`),p.info("AVAILABILITY",`${y}/${S} marked unavailable — all accounts exhausted (HTTP ${F})`)),function(e,t,n,o,r,s){if(e?.allRateLimited){let t=r||e.lastError||"Unavailable",a=s||Number(e.lastErrorCode)||c.HTTP_STATUS.SERVICE_UNAVAILABLE;return p.warn("CHAT",`[${n}/${o}] ${t} (${e.retryAfterHuman})`),(0,i.unavailableResponse)(a,`[${n}/${o}] ${t}`,e.retryAfter,e.retryAfterHuman)}return t?(p.warn("CHAT","No more accounts available",{provider:n}),(0,i.errorResponse)(s||c.HTTP_STATUS.SERVICE_UNAVAILABLE,r||"All accounts unavailable")):(p.error("AUTH",`No credentials for provider: ${n}`),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,`No credentials for provider: ${n}`))}(t,U,y,S,M,F);let d=t.connectionId.slice(0,8);p.info("AUTH",`Using ${y} account: ${d}...`),u.sessionId&&(0,b.touchSession)(u.sessionId,t.connectionId);let f=await (0,g.checkAndRefreshToken)(y,t),m=await D(t.connectionId),A=Date.now();l&&l.startPhase("connect");let{result:I,tlsFingerprintUsed:$}=await N({breaker:w,body:e,provider:y,model:S,refreshedCredentials:f,proxyInfo:m,log:p,clientRawRequest:n,credentials:t,apiKeyInfo:a,userAgent:P,comboName:s,extendedContext:C});l&&l.endPhase();let L=Date.now()-A;if(function({result:e,proxyInfo:t,proxyLatency:n,provider:o,model:r,sourceFormat:s,targetFormat:a,credentials:i,comboName:l,clientRawRequest:c,tlsFingerprintUsed:u=!1}){try{(0,h.logProxyEvent)({status:e.success?"success":408===e.status||504===e.status?"timeout":"error",proxy:t?.proxy||null,level:t?.level||"direct",levelId:t?.levelId||null,provider:o,targetUrl:`${o}/${r}`,latencyMs:n,error:e.success?null:e.error||null,connectionId:i.connectionId,comboId:l||null,account:i.connectionId?.slice(0,8)||null,tlsFingerprint:u})}catch{}try{(0,_.logTranslationEvent)({provider:o,model:r,sourceFormat:s,targetFormat:a,status:e.success?"success":"error",statusCode:e.success?200:e.status||500,latency:n,endpoint:c?.endpoint||"/v1/chat/completions",connectionId:i.connectionId||null,comboName:l||null})}catch{}}({result:I,proxyInfo:m,proxyLatency:L,provider:y,model:S,sourceFormat:E,targetFormat:v,credentials:t,comboName:s,clientRawRequest:n,tlsFingerprintUsed:$}),I.success)return(0,T.clearModelUnavailability)(y,S),function(e,t){if(e?.id)try{let n=t.usage||{},o=((n.prompt_tokens||0)+(n.completion_tokens||0))*1e-6;o>0&&(0,R.recordCost)(e.id,o)}catch{}}(a,I),l&&l.startPhase("finalize"),l&&l.endPhase(),I.response;if(!u.emergencyFallbackTried){let t=(0,O.shouldUseFallback)(Number(I.status||0),String(I.error||""),Array.isArray(e?.tools)&&e.tools.length>0);if((0,O.isFallbackDecision)(t)){let o=`${t.provider}/${t.model}`,i=`${y}/${S}`;if(o!==i){let c={...e,model:o},d=Math.min(Number(c.max_tokens??c.max_completion_tokens??t.maxOutputTokens)||t.maxOutputTokens,t.maxOutputTokens);return c.max_tokens=d,c.max_completion_tokens=d,p.warn("EMERGENCY_FALLBACK",`${i} -> ${o} | reason=${t.reason}`),x(c,o,n,r,s,a,l,{...u,emergencyFallbackTried:!0})}}}429===I.status&&(0,k.markAccountExhaustedFrom429)(t.connectionId,y);let{shouldFallback:j}=await (0,o.markAccountUnavailable)(t.connectionId,I.status,I.error,y,S);if(j){p.warn("AUTH",`Account ${d}... unavailable (${I.status}), trying fallback`),U=t.connectionId,M=I.error,F=I.status;continue}return I.response}}async function $(e,t,n=""){let o=await (0,r.getModelInfo)(e);if(!o.provider){if("ambiguous_model"===o.errorType){let t=o.errorMessage||`Ambiguous model '${e}'. Use provider/model prefix (ex: gh/${e} or cc/${e}).`;return p.warn("CHAT",t,{model:e,candidates:o.candidateAliases||o.candidateProviders||[]}),{error:(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,t)}}return p.warn("CHAT","Invalid model format",{model:e}),{error:(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Invalid model format")}}let{provider:a,model:l,extendedContext:d}=o,g=(0,s.detectFormatFromEndpoint)(t,n),f=u.PROVIDER_ID_TO_ALIAS[a]||a,m=(0,u.getModelTargetFormat)(f,l)||(0,s.getTargetFormat)(a);"responses"===o.apiFormat&&(m="openai-responses",p.info("ROUTING",`Custom model apiFormat=responses → targetFormat=openai-responses`));let h=d&&"claude"===f?" [1m]":"";return e!==`${a}/${l}`?p.info("ROUTING",`${e} → ${a}/${l}${h}`):p.info("ROUTING",`Provider: ${a}, Model: ${l}${h}`),{provider:a,model:l,sourceFormat:g,targetFormat:m,extendedContext:d}}async function N({breaker:e,body:t,provider:n,model:r,refreshedCredentials:s,proxyInfo:l,log:u,clientRawRequest:f,credentials:m,apiKeyInfo:h,userAgent:_,comboName:y,extendedContext:T}){try{let i=()=>(0,d.runWithProxyContext)(l?.proxy||null,()=>a.handleChatCore({body:{...t,model:`${n}/${r}`},modelInfo:{provider:n,model:r,extendedContext:T},credentials:s,log:u,clientRawRequest:f,connectionId:m.connectionId,apiKeyInfo:h,userAgent:_,comboName:y,onCredentialsRefreshed:async e=>{await (0,g.updateProviderCredentials)(m.connectionId,{accessToken:e.accessToken,refreshToken:e.refreshToken,providerSpecificData:e.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,o.clearAccountError)(m.connectionId,m)}}));if(!l?.proxy&&(0,d.isTlsFingerprintActive)()){let t=await e.execute(async()=>(0,d.runWithTlsTracking)(i));return{result:t.result,tlsFingerprintUsed:t.tlsFingerprintUsed}}return{result:await e.execute(i),tlsFingerprintUsed:!1}}catch(e){if(e instanceof A.CircuitBreakerOpenError)return p.warn("CIRCUIT",`${n} circuit open during retry: ${e.message}`),{result:{success:!1,response:i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,`Provider ${n} circuit breaker is open`,Math.ceil(e.retryAfterMs/1e3)),status:c.HTTP_STATUS.SERVICE_UNAVAILABLE},tlsFingerprintUsed:!1};if(e?.code==="PROXY_UNREACHABLE"||/proxy unreachable/i.test(e?.message||"")){let t=e?.message||"Proxy unreachable";return p.warn("PROXY",t),{result:{success:!1,response:i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,t,2),status:c.HTTP_STATUS.SERVICE_UNAVAILABLE,error:t},tlsFingerprintUsed:!1}}throw e}}async function D(e){try{return await (0,f.resolveProxyForConnection)(e)}catch(e){return p.debug("PROXY",`Failed to resolve proxy: ${e.message}`),null}}function P(e,t){if(!e||!t)return e;try{return e.headers.set("X-OmniRoute-Session-Id",t),e}catch{let n=new Response(e.body,{status:e.status,statusText:e.statusText,headers:e.headers});return n.headers.set("X-OmniRoute-Session-Id",t),n}}[a]=I.then?(await I)():I,e.s(["handleChat",()=>w]),n()}catch(e){n(e)}},!1)];
|
|
26
|
+
${o}`}]:[]}return H?.debug?.("CONTENT",`Dropped unsupported content part type="${e.type}"`),[]}));let t=(0,b.getModelNormalizeToolCallId)(ea||"",ei||"",eh),o=(0,b.getModelPreserveOpenAIDeveloperRole)(ea||"",ei||"",eh);eI=(0,s.translateRequest)(eh,eR,ei,eI,eb,n,ea,eO,{normalizeToolCallId:t,preserveDeveloperRole:o})}}catch(s){let e=Number(s?.statusCode),t=Number.isInteger(e)&&e>=400&&e<=599?e:h.HTTP_STATUS.SERVER_ERROR,n=s?.message||"Invalid request",r="string"==typeof s?.errorType?s.errorType:null;if(H?.warn?.("TRANSLATE",`Request translation failed: ${n}`),r)return{success:!1,status:t,error:n,response:new Response(JSON.stringify({error:{message:n,type:r,code:r}}),{status:t,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)()}})};return(0,m.createErrorResult)(t,n)}let ex=eI._toolNameMap,e$=ew?function(e){if(!e||!Array.isArray(e.tools))return null;let t=new Map;for(let n of e.tools){let e=n?.type==="function"&&n.function&&"object"==typeof n.function?n.function:n,o="string"==typeof e?.name?e.name.trim():"";o&&t.set(`${C.CLAUDE_OAUTH_TOOL_PREFIX}${o}`,o)}return t.size>0?t:null}(e):null,eN=ex instanceof Map&&ex.size>0?ex:e$;delete eI._toolNameMap,delete eI._disableToolPrefix,eI.model=eS;let eD=(0,f.getUnsupportedParams)(ea,ei);if(eD.length>0){let e=[];for(let t of eD)Object.hasOwn(eI,t)&&(e.push(t),delete eI[t]);e.length>0&&H?.warn?.("PARAMS",`Stripped unsupported params for ${ei}: ${e.join(", ")}`)}let eP=h.PROVIDER_MAX_TOKENS[ea];if(eP)for(let e of["max_tokens","max_completion_tokens"])"number"==typeof eI[e]&&eI[e]>eP&&(H?.debug?.("PARAMS",`Capping ${e} from ${eI[e]} to ${eP} for ${ea}`),eI[e]=eP);let eU=(0,O.getExecutor)(ea),eM=()=>ey?{...n,requestEndpointPath:em}:n,eF=(0,c.createStreamController)({onDisconnect:J,log:H,provider:ea,model:ei}),eL={...eI,model:`${ea}/${ei}`},ej=(0,L.shouldDeduplicate)(eL),eq=ej?(0,L.computeRequestHash)(eL):null,eB=async(e=eS,t=!1)=>{let n=async()=>{let t=eI.model===e?eI:{...eI,model:e},n=await (0,D.withRateLimit)(ea,z,e,()=>eU.execute({model:e,body:t,stream:eb,credentials:eM(),signal:eF.signal,log:H,extendedContext:el,upstreamExtraHeaders:ev(e)}));if(eb)return n;let o=n.response.status,r=n.response.statusText,s=Array.from(n.response.headers.entries()),a=await n.response.text();return{...n,response:new Response(a,{status:o,statusText:r,headers:s})}};if(t&&ej&&eq){let e=await (0,L.deduplicate)(eq,n);return e.wasDeduplicated&&H?.debug?.("DEDUP",`Joined in-flight request hash=${eq}`),e.result}return n()};(0,k.trackPendingRequest)(ei,ea,z,!0);let eH=new Set([eS]),eK=eS;(0,k.appendRequestLog)({model:ei,provider:ea,connectionId:z,status:"PENDING"}).catch(()=>{});let eV=eI.messages?.length||eI.contents?.length||eI.request?.contents?.length||0;H?.debug?.("REQUEST",`${ea.toUpperCase()} | ${ei} | ${eV} msgs`);let eW=null;try{let e=await eB(eS,!0);ee=e.response,et=e.url,en=e.headers,eo=e.transformedBody,eW=function(e,t,n){if(e!==a.FORMATS.CLAUDE||!t||"object"!=typeof t)return null;let o=(e,t={})=>({type:e&&"string"==typeof e.type&&e.type.trim()?e.type.trim():"ephemeral",ttl:e&&"string"==typeof e.ttl&&e.ttl.trim()?e.ttl.trim():null,...t}),r=Array.isArray(t.system)?t.system.flatMap((e,t)=>{if(!e||"object"!=typeof e)return[];let n=e.cache_control&&"object"==typeof e.cache_control?e.cache_control:null;return n?[o(n,{index:t})]:[]}):[],s=Array.isArray(t.tools)?t.tools.flatMap((e,t)=>{if(!e||"object"!=typeof e)return[];let n=e.cache_control&&"object"==typeof e.cache_control?e.cache_control:null,r="string"==typeof e.name&&e.name.trim()?e.name.trim():null;return n?[o(n,{index:t,name:r})]:[]}):[],i=Array.isArray(t.messages)?t.messages.flatMap((e,t)=>{if(!e||"object"!=typeof e||!Array.isArray(e.content))return[];let n="string"==typeof e.role&&e.role.trim()?e.role.trim():"unknown";return e.content.flatMap((e,r)=>{if(!e||"object"!=typeof e)return[];let s=e.cache_control&&"object"==typeof e.cache_control?e.cache_control:null;return s?[o(s,{messageIndex:t,contentIndex:r,role:n,blockType:"string"==typeof e.type&&e.type.trim()?e.type.trim():"unknown"})]:[]})}):[],l=r.length+s.length+i.length,c=function(e,t){if(!e||"object"!=typeof e)return null;let n=t.toLowerCase();for(let[t,o]of Object.entries(e))if(t.toLowerCase()===n&&"string"==typeof o&&o.trim())return o.trim();return null}(n,"Anthropic-Beta");return 0!==l||c?{applied:l>0,totalBreakpoints:l,anthropicBeta:c,systemBreakpoints:r,toolBreakpoints:s,messageBreakpoints:i}:null}(eR,eo,en),eO.logTargetRequest(et,en,eo),(0,D.updateFromHeaders)(ea,z,ee.headers,ee.status,ei)}catch(n){if((0,k.trackPendingRequest)(ei,ea,z,!1),(0,k.appendRequestLog)({model:ei,provider:ea,connectionId:z,status:`FAILED ${"AbortError"===n.name?499:h.HTTP_STATUS.BAD_GATEWAY}`}).catch(()=>{}),(0,S.saveCallLog)({method:"POST",path:G?.endpoint||"/v1/chat/completions",status:"AbortError"===n.name?499:h.HTTP_STATUS.BAD_GATEWAY,model:ei,requestedModel:ec,provider:ea,connectionId:z,duration:Date.now()-eu,requestBody:W(e,{claudePromptCache:eW}),error:n.message,sourceFormat:eh,targetFormat:eR,comboName:Z,apiKeyId:Q?.id||null,apiKeyName:Q?.name||null,noLog:Q?.noLog===!0}).catch(()=>{}),"AbortError"===n.name)return eF.handleError(n),(0,m.createErrorResult)(499,"Request aborted");ed(h.HTTP_STATUS.BAD_GATEWAY,n?.name||"upstream_error");let t=(0,m.formatProviderError)(n,ea,ei,h.HTTP_STATUS.BAD_GATEWAY);return console.log(`${l.COLORS.red}[ERROR] ${t}${l.COLORS.reset}`),(0,m.createErrorResult)(h.HTTP_STATUS.BAD_GATEWAY,t)}if(ee.status===h.HTTP_STATUS.UNAUTHORIZED||ee.status===h.HTTP_STATUS.FORBIDDEN){let e=await (0,u.refreshWithRetry)(()=>eU.refreshCredentials(n,H),3,H);if(e?.accessToken||e?.copilotToken){H?.info?.("TOKEN",`${ea.toUpperCase()} | refreshed`),Object.assign(n,e),K&&e&&await K(e);try{let e=String(eI.model||eS),t=await eU.execute({model:e,body:eI,stream:eb,credentials:eM(),signal:eF.signal,log:H,extendedContext:el,upstreamExtraHeaders:ev(e)});t.response.ok&&(ee=t.response,et=t.url)}catch(e){H?.warn?.("TOKEN",`${ea.toUpperCase()} | retry after refresh failed`)}}else H?.warn?.("TOKEN",`${ea.toUpperCase()} | refresh failed`)}if(await ep(ee.headers,ee.status),!ee.ok){(0,k.trackPendingRequest)(ei,ea,z,!1);let{statusCode:t,message:o,retryAfterMs:r}=await (0,m.parseUpstreamError)(ee,ea),s=(0,_.classifyProviderError)(t,o);if(z&&s)try{s===_.PROVIDER_ERROR_TYPES.FORBIDDEN?(await (0,y.updateProviderConnection)(z,{isActive:!1,testStatus:"banned",lastErrorType:s,lastError:o,errorCode:t}),console.warn(`[provider] Node ${z} banned (${t}) — disabling permanently`)):s===_.PROVIDER_ERROR_TYPES.QUOTA_EXHAUSTED?(await (0,y.updateProviderConnection)(z,{testStatus:"credits_exhausted",lastErrorType:s,lastError:o,errorCode:t}),console.warn(`[provider] Node ${z} exhausted quota (${t})`)):s===_.PROVIDER_ERROR_TYPES.ACCOUNT_DEACTIVATED?(await (0,y.updateProviderConnection)(z,{isActive:!1,testStatus:"expired",lastErrorType:s,lastError:o,errorCode:t}),console.warn(`[provider] Node ${z} account deactivated (${t}) — marked expired`)):s===_.PROVIDER_ERROR_TYPES.UNAUTHORIZED&&await (0,y.updateProviderConnection)(z,{lastErrorType:s,lastError:o,errorCode:t})}catch{}(0,k.appendRequestLog)({model:ei,provider:ea,connectionId:z,status:`FAILED ${t}`}).catch(()=>{}),(0,S.saveCallLog)({method:"POST",path:G?.endpoint||"/v1/chat/completions",status:t,model:ei,requestedModel:ec,provider:ea,connectionId:z,duration:Date.now()-eu,requestBody:W(e,{claudePromptCache:eW}),error:o,sourceFormat:eh,targetFormat:eR,comboName:Z,apiKeyId:Q?.id||null,apiKeyName:Q?.name||null,noLog:Q?.noLog===!0}).catch(()=>{});let a=(0,m.formatProviderError)(Error(o),ea,ei,t);if(console.log(`${l.COLORS.red}[ERROR] ${a}${l.COLORS.reset}`),r&&"antigravity"===ea){let e=Math.ceil(r/1e3);H?.debug?.("RETRY",`Antigravity quota reset in ${e}s (${r}ms)`)}if(eO.logError(Error(o),eo||eI),(0,D.updateFromHeaders)(ea,z,ee.headers,t,ei),!(0,F.isModelUnavailableError)(t,o))return ed(t,`upstream_${t}`),(0,m.createErrorResult)(t,a,r);{let e=(0,F.getNextFamilyFallback)(eK,eH);if(!e)return ed(t,"model_unavailable"),(0,m.createErrorResult)(t,a,r);eH.add(e),eK=e,eI.model=e,H?.info?.("MODEL_FALLBACK",`${ei} unavailable (${t}) → trying ${e}`);try{let n=await eB(e,!1);if(!n.response.ok)return ed(t,"model_unavailable"),(0,m.createErrorResult)(t,a,r);ee=n.response,et=n.url,en=n.headers,eo=n.transformedBody,H?.info?.("MODEL_FALLBACK",`Serving ${e} as fallback for ${ei}`)}catch{return ed(t,"model_unavailable"),(0,m.createErrorResult)(t,a,r)}}let i=Array.isArray(eI.tools)&&eI.tools.length>0;if(!eb){let e=(0,q.shouldUseFallback)(t,o,i,q.EMERGENCY_FALLBACK_CONFIG);if((0,q.isFallbackDecision)(e)){H?.info?.("EMERGENCY_FALLBACK",e.reason);try{let t=(0,O.getExecutor)(e.provider),o=await t.execute({model:e.model,body:{...eI,model:e.model,max_tokens:Math.min("number"==typeof eI.max_tokens?eI.max_tokens:e.maxOutputTokens,e.maxOutputTokens)},stream:!1,credentials:n,signal:eF.signal,log:H,extendedContext:el});o.response.ok?(ee=o.response,H?.info?.("EMERGENCY_FALLBACK",`Serving ${e.provider}/${e.model} as budget fallback for ${ea}/${ei}`)):H?.warn?.("EMERGENCY_FALLBACK",`Emergency fallback also failed (${o.response.status})`)}catch(e){H?.warn?.("EMERGENCY_FALLBACK",`Emergency fallback error: ${e?.message}`)}}}}if(!eb){let t;(0,k.trackPendingRequest)(ei,ea,z,!1);let n=(ee.headers.get("content-type")||"").toLowerCase(),r=await ee.text();if(n.includes("text/event-stream")||/(^|\n)\s*(event|data):/m.test(r)){let e=eR===a.FORMATS.OPENAI_RESPONSES?(0,$.parseSSEToResponsesOutput)(r,ei):(0,$.parseSSEToOpenAIResponse)(r,ei);if(!e)return(0,k.appendRequestLog)({model:ei,provider:ea,connectionId:z,status:`FAILED ${h.HTTP_STATUS.BAD_GATEWAY}`}).catch(()=>{}),ed(h.HTTP_STATUS.BAD_GATEWAY,"invalid_sse_payload"),(0,m.createErrorResult)(h.HTTP_STATUS.BAD_GATEWAY,"Invalid SSE response for non-streaming request");t=e}else try{t=r?JSON.parse(r):{}}catch{return(0,k.appendRequestLog)({model:ei,provider:ea,connectionId:z,status:`FAILED ${h.HTTP_STATUS.BAD_GATEWAY}`}).catch(()=>{}),ed(h.HTTP_STATUS.BAD_GATEWAY,"invalid_json_payload"),(0,m.createErrorResult)(h.HTTP_STATUS.BAD_GATEWAY,"Invalid JSON response from provider")}eh===a.FORMATS.CLAUDE&&eR===a.FORMATS.CLAUDE&&(t=function(e,t){if(!t||!Array.isArray(e?.content))return e;let n=!1,o=e.content.map(e=>{if(e?.type!=="tool_use"||"string"!=typeof e?.name)return e;let o=t.get(e.name)??e.name;return o===e.name?e:(n=!0,{...e,name:o})});return n?{...e,content:o}:e}(t,eN)),Y&&await Y();let i=(0,x.extractUsageFromResponse)(t,ea);(0,k.appendRequestLog)({model:ei,provider:ea,connectionId:z,tokens:i,status:"200 OK"}).catch(()=>{});let c=V(i);if((0,S.saveCallLog)({method:"POST",path:G?.endpoint||"/v1/chat/completions",status:200,model:ei,requestedModel:ec,provider:ea,connectionId:z,duration:Date.now()-eu,tokens:i,requestBody:W(e,{claudePromptCache:eW}),responseBody:W(t,{claudePromptCache:eW?{applied:eW.applied,totalBreakpoints:eW.totalBreakpoints,anthropicBeta:eW.anthropicBeta}:null,claudePromptCacheUsage:c}),sourceFormat:eh,targetFormat:eR,comboName:Z,apiKeyId:Q?.id||null,apiKeyName:Q?.name||null,noLog:Q?.noLog===!0}).catch(()=>{}),i&&"object"==typeof i){let e=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [USAGE] ${ea.toUpperCase()} | in=${(0,E.getLoggedInputTokens)(i)} | out=${(0,E.getLoggedOutputTokens)(i)}${z?` | account=${z.slice(0,8)}...`:""}`;console.log(`${l.COLORS.green}${e}${l.COLORS.reset}`),(0,k.saveRequestUsage)({provider:ea||"unknown",model:ei||"unknown",tokens:i,status:"200",success:!0,latencyMs:Date.now()-eu,timeToFirstTokenMs:Date.now()-eu,errorCode:null,timestamp:new Date().toISOString(),connectionId:z||void 0,apiKeyId:Q?.id||void 0,apiKeyName:Q?.name||void 0}).catch(e=>{console.error("Failed to save usage stats:",e.message)})}if(Q?.id&&i){let e=await (0,v.calculateCost)(ea,ei,i);e>0&&(0,R.recordCost)(Q.id,e)}let u=(0,s.needsTranslation)(eR,eh)?(0,w.translateNonStreamingResponse)(t,eR,eh,eN):t;if("claude"!==eh||eb||"string"!=typeof u?.choices?.[0]?.message?.content||(u.choices[0].message.content=(0,B.stripMarkdownCodeFence)(u.choices[0].message.content)),u?.choices)for(let e of u.choices)e.message?.tool_calls&&e.message.tool_calls.length>0&&"tool_calls"!==e.finish_reason&&(e.finish_reason="tool_calls");if(eh===a.FORMATS.OPENAI&&(u=(0,N.sanitizeOpenAIResponse)(u)),u?.usage){let e=(0,l.addBufferToUsage)(u.usage);u.usage=(0,l.filterUsageForFormat)(e,eh)}else{let t=JSON.stringify(u?.choices?.[0]?.message?.content||"").length;if(t>0){let n=(0,l.estimateUsage)(e,t,eh);u.usage=(0,l.filterUsageForFormat)(n,eh)}}if((0,P.isCacheable)(e,G?.headers)){let t=(0,P.generateSignature)(ei,e.messages,e.temperature,e.top_p),n=i?.prompt_tokens+i?.completion_tokens||0;(0,P.setCachedResponse)(t,ei,u,n),H?.debug?.("CACHE",`Stored response for ${ei} (${n} tokens)`)}return(0,U.saveIdempotency)(eg,u,200),{success:!0,response:new Response(JSON.stringify(u),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,o.getCorsOrigin)(),"X-OmniRoute-Cache":"MISS"}})}}Y&&await Y();let eY={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":(0,o.getCorsOrigin)()},eJ=({status:t,usage:n,responseBody:o})=>{let r=V(n);(0,S.saveCallLog)({method:"POST",path:G?.endpoint||"/v1/chat/completions",status:t||200,model:ei,requestedModel:ec,provider:ea,connectionId:z,duration:Date.now()-eu,tokens:n||{},requestBody:W(e,{claudePromptCache:eW}),responseBody:W(o??void 0,{claudePromptCache:eW?{applied:eW.applied,totalBreakpoints:eW.totalBreakpoints,anthropicBeta:eW.anthropicBeta}:null,claudePromptCacheUsage:r}),sourceFormat:eh,targetFormat:eR,comboName:Z,apiKeyId:Q?.id||null,apiKeyName:Q?.name||null,noLog:Q?.noLog===!0}).catch(()=>{}),Q?.id&&n&&(0,v.calculateCost)(ea,ei,n).then(e=>{e>0&&(0,R.recordCost)(Q.id,e)}).catch(()=>{})},eG=X?.toLowerCase().includes("droid")||X?.toLowerCase().includes("codex-cli");if(eR!==a.FORMATS.OPENAI_RESPONSES||eh!==a.FORMATS.OPENAI||e_||eG?(0,s.needsTranslation)(eR,eh)?(H?.debug?.("STREAM",`Translation mode: ${eR} → ${eh}`),er=(0,i.createSSETransformStreamWithLogger)(eR,eh,ea,eO,eN,ei,z,e,eJ,Q)):(H?.debug?.("STREAM","Standard passthrough mode"),er=(0,i.createPassthroughStreamWithLogger)(ea,eO,eN,ei,z,e,eJ,Q)):(H?.debug?.("STREAM",`Responses translation mode: openai-responses → openai`),er=(0,i.createSSETransformStreamWithLogger)("openai-responses","openai",ea,eO,eN,ei,z,e,eJ,Q)),(0,M.wantsProgress)(G?.headers)){let e=(0,M.createProgressTransform)({signal:eF.signal});es=(0,c.pipeWithDisconnect)(ee,er,eF).pipeThrough(e),eY["X-OmniRoute-Progress"]="enabled"}else es=(0,c.pipeWithDisconnect)(ee,er,eF);return{success:!0,response:new Response(es,{headers:eY})}}[O]=H.then?(await H)():H,e.s(["handleChatCore",()=>Y]),n()}catch(e){n(e)}},!1),485641,e=>{"use strict";let t=[{name:"system_override",pattern:/\b(ignore|disregard|forget)\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|prompts?|rules?|context)/i,severity:"high"},{name:"role_hijack",pattern:/\b(you\s+are\s+now|act\s+as\s+if|pretend\s+(to\s+be|you\s+are)|from\s+now\s+on\s+you\s+are)\b/i,severity:"medium"},{name:"system_prompt_leak",pattern:/\b(reveal|show|display|print|output|repeat)\s+(your\s+)?(system\s+prompt|instructions?|initial\s+prompt|hidden\s+prompt)/i,severity:"high"},{name:"delimiter_injection",pattern:/(\[SYSTEM\]|\[INST\]|<<SYS>>|<\|im_start\|>|<\|system\|>|<\|user\|>)/i,severity:"high"},{name:"jailbreak_dan",pattern:/\b(DAN|do\s+anything\s+now|jailbreak|developer\s+mode|enable\s+developer)\b/i,severity:"medium"},{name:"encoding_evasion",pattern:/\b(base64\s+decode|rot13|hex\s+decode|unicode\s+escape)\b.*\b(instruction|prompt|command)\b/i,severity:"medium"}],n=[{name:"email",pattern:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"[EMAIL_REDACTED]"},{name:"cpf",pattern:/\b\d{3}\.\d{3}\.\d{3}-\d{2}\b/g,replacement:"[CPF_REDACTED]"},{name:"cnpj",pattern:/\b\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}\b/g,replacement:"[CNPJ_REDACTED]"},{name:"credit_card",pattern:/\b(?:\d{4}[-\s]?){3}\d{4}\b/g,replacement:"[CARD_REDACTED]"},{name:"phone_br",pattern:/\b\(?\d{2}\)?\s?\d{4,5}-?\d{4}\b/g,replacement:"[PHONE_REDACTED]"},{name:"ssn_us",pattern:/\b\d{3}-\d{2}-\d{4}\b/g,replacement:"[SSN_REDACTED]"}];function o(e,t=!1){let r=[],s=e;for(let o of n){let n=e.match(o.pattern);n&&n.length>0&&(r.push({type:o.name,count:n.length}),t&&(s=s.replace(o.pattern,o.replacement)))}return{text:s,detections:r}}function r(e,n=console){let s={enabled:"false"!==process.env.INPUT_SANITIZER_ENABLED,mode:process.env.INPUT_SANITIZER_MODE||"warn",piiRedaction:"true"===process.env.PII_REDACTION_ENABLED},a={blocked:!1,modified:!1,detections:[],piiDetections:[],sanitizedBody:null};if(!s.enabled)return a;let i=(function(e){let t=[];for(let n of e.messages||e.input||[])if("string"==typeof n)t.push(n);else if("string"==typeof n.content)t.push(n.content);else if(Array.isArray(n.content))for(let e of n.content)"string"==typeof e?t.push(e):e.text&&t.push(e.text);if("string"==typeof e.system)t.push(e.system);else if(Array.isArray(e.system))for(let n of e.system)"string"==typeof n?t.push(n):n.text&&t.push(n.text);return t})(e).join("\n"),l=function(e){let n=[];for(let o of t){let t=e.match(o.pattern);t&&n.push({pattern:o.name,severity:o.severity,match:t[0].slice(0,50)})}return n}(i);if(l.length>0){a.detections=l;let e=l.filter(e=>"high"===e.severity),t=e.length>0?"warn":"info";if(n[t]&&n[t](`[SANITIZER] Prompt injection detected: ${l.map(e=>e.pattern).join(", ")}`),"block"===s.mode&&e.length>0)return a.blocked=!0,a}if(s.piiRedaction){let t=o(i,"redact"===s.mode);a.piiDetections=t.detections,t.detections.length>0&&(n.warn?.(`[SANITIZER] PII detected: ${t.detections.map(e=>`${e.type}(${e.count})`).join(", ")}`),"redact"===s.mode&&(a.sanitizedBody=function(e){let t=JSON.parse(JSON.stringify(e));for(let e of t.messages||t.input||[])if("string"==typeof e.content)e.content=o(e.content,!0).text;else if(Array.isArray(e.content))for(let t of e.content)if("string"==typeof t){let n=e.content.indexOf(t);e.content[n]=o(t,!0).text}else t.text&&(t.text=o(t.text,!0).text);return"string"==typeof t.system&&(t.system=o(t.system,!0).text),t}(e),a.modified=!0))}return a}e.s(["sanitizeRequest",()=>r])},577122,e=>{"use strict";var t=e.i(478500),n=e.i(254799);function o(){return(0,n.randomUUID)()}new t.AsyncLocalStorage,e.s(["generateRequestId",()=>o])},311250,e=>e.a(async(t,n)=>{try{var o=e.i(287726),r=e.i(192408),s=e.i(85713),a=e.i(284948),i=e.i(719201),l=e.i(928041),c=e.i(16023),u=e.i(878947),d=e.i(444675);e.i(706901);var p=e.i(249157),g=e.i(496973);e.i(245272);var f=e.i(548941),m=e.i(151205),h=e.i(496928),_=e.i(21245),y=e.i(485641),A=e.i(260222),T=e.i(982392),k=e.i(25687),S=e.i(454925),E=e.i(577122),R=e.i(478847),v=e.i(852705),C=e.i(154939),b=e.i(167389),O=t([a]);async function I(e,t=null){let n,s=(0,E.generateRequestId)(),a=new S.RequestTelemetry(s);try{a.startPhase("parse"),n=await e.json(),a.endPhase()}catch{return p.warn("CHAT","Invalid JSON body"),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Invalid JSON body")}a.startPhase("validate");let u=(0,y.sanitizeRequest)(n,p);if(u.blocked)return p.warn("SANITIZER","Request blocked due to prompt injection",{detections:u.detections}),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Request rejected: suspicious content detected");u.modified&&u.sanitizedBody&&(n=u.sanitizedBody),a.endPhase(),(e.headers.get("accept")||"").includes("text/event-stream")&&void 0===n.stream&&(n={...n,stream:!0},p.debug("STREAM","Accept: text/event-stream header → overriding stream=true (body had no stream field)")),t||(t={endpoint:new URL(e.url).pathname,body:n,headers:Object.fromEntries(e.headers.entries())});let d=new URL(e.url),g=n.model,h=n.messages?.length||n.input?.length||0,_=n.tools?.length||0,A=n.reasoning_effort||n.reasoning?.effort||null;p.request("POST",`${d.pathname} | ${g} | ${h} msgs${_?` | ${_} tools`:""}${A?` | effort=${A}`:""}`);let k=e.headers.get("Authorization"),b=(0,o.extractApiKey)(e);k&&b?p.debug("AUTH",`API Key: ${p.maskKey(b)}`):p.debug("AUTH","No API key provided (local mode)");let O=e.headers?.get?.("x-internal-test")==="combo-health-check";if("true"!==process.env.REQUIRE_API_KEY||O){if(b&&!O&&!await (0,o.isValidApiKey)(b))return p.warn("AUTH","API key not found or invalid (must be created in API Manager)"),(0,i.errorResponse)(c.HTTP_STATUS.UNAUTHORIZED,"Invalid API key")}else{if(!b)return p.warn("AUTH","Missing API key while REQUIRE_API_KEY=true"),(0,i.errorResponse)(c.HTTP_STATUS.UNAUTHORIZED,"Missing API key");if(!await (0,o.isValidApiKey)(b))return p.warn("AUTH","Invalid API key while REQUIRE_API_KEY=true"),(0,i.errorResponse)(c.HTTP_STATUS.UNAUTHORIZED,"Invalid API key")}if(!g)return p.warn("CHAT","Missing model"),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Missing model");let x=(0,C.extractExternalSessionId)(e.headers)||(0,C.generateSessionId)(n);x&&(0,C.touchSession)(x),a.startPhase("policy");let $=await (0,R.enforceApiKeyPolicy)(e,g);if($.rejection)return p.warn("POLICY",`API key policy rejected: ${g} (key=${$.apiKeyInfo?.id||"unknown"})`),$.rejection;let N=$.apiKeyInfo;if(a.endPhase(),N?.id&&x){let e="number"==typeof N.maxSessions&&N.maxSessions>0?N.maxSessions:0;if(e>0&&!(0,C.isSessionRegisteredForKey)(N.id,x)){let t=(0,C.checkSessionLimit)(N.id,e);if(t)return D((0,i.errorResponse)(c.HTTP_STATUS.RATE_LIMITED,t.message),x);(0,C.registerKeySession)(N.id,x)}}let P=g;if((0,v.getTaskRoutingConfig)().enabled){a.startPhase("task-route");let e=(0,v.applyTaskAwareRouting)(g,n);e.wasRouted?(P=e.model,n={...n,model:e.model},p.info("T05",`Task-Aware: detected="${e.taskType}" → model override: ${g} → ${e.model}`)):"chat"!==e.taskType&&p.debug("T05",`Task-Aware: detected="${e.taskType}" (no override configured)`),e.taskType,e.wasRouted,a.endPhase()}a.startPhase("resolve");let U=await (0,r.getComboForModel)(P);if(U){p.info("CHAT",`Combo "${g}" [${U.strategy||"priority"}] with ${U.models.length} models`);let s=async e=>{let t=await (0,r.getModelInfo)(e),n=t.provider;if(!n)return!0;if(!(0,T.isModelAvailable)(n,t.model||e))return p.debug("AVAILABILITY",`${n}/${t.model} in cooldown, skipping`),!1;let s=await (0,o.getProviderCredentials)(n,null,N?.allowedConnections??null,t.model||e);return!!s&&!s.allRateLimited},[i,c]=await Promise.all([(0,f.getSettings)().catch(()=>({})),(0,m.getCombos)().catch(()=>[])]);a.endPhase();let u=await l.handleComboChat({body:n,combo:U,handleSingleModel:(n,o)=>w(n,o,t,e,U.name,N,a,{sessionId:x}),isModelAvailable:s,log:p,settings:i,allCombos:c});return(0,S.recordTelemetry)(a),D(u,x)}a.endPhase();let M=await w(n,g,t,e,null,N,a,{sessionId:x});return(0,S.recordTelemetry)(a),D(M,x)}async function w(e,t,n=null,r=null,s=null,a=null,l=null,u={}){var d,f;let m=await x(t,e,n?.endpoint);if(m.error)return m.error;let{provider:y,model:S,sourceFormat:E,targetFormat:R,extendedContext:v}=m,O=(d=y,f=S,(0,T.isModelAvailable)(d,f)?(0,A.getCircuitBreaker)(d,{failureThreshold:5,resetTimeout:3e4,onStateChange:(e,t,n)=>p.info("CIRCUIT",`${e}: ${t} → ${n}`)}).canExecute()?null:(p.warn("CIRCUIT",`Circuit breaker OPEN for ${d}, rejecting request`),i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,`Provider ${d} circuit breaker is open`,30)):(p.warn("AVAILABILITY",`${d}/${f} is in cooldown, rejecting request`),i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,`Model ${d}/${f} is temporarily unavailable (cooldown)`,30)));if(O)return O;let I=(0,A.getCircuitBreaker)(y,{failureThreshold:5,resetTimeout:3e4,onStateChange:(e,t,n)=>p.info("CIRCUIT",`${e}: ${t} → ${n}`)}),D=r?.headers?.get("user-agent")||"",P=null,U=null,M=null;for(;;){let t=await (0,o.getProviderCredentials)(y,P,a?.allowedConnections??null,S);if(!t||t.allRateLimited)return(429===M||503===M)&&((0,T.setModelUnavailable)(y,S,6e4,`HTTP ${M}`),p.info("AVAILABILITY",`${y}/${S} marked unavailable — all accounts exhausted (HTTP ${M})`)),function(e,t,n,o,r,s){if(e?.allRateLimited){let t=r||e.lastError||"Unavailable",a=s||Number(e.lastErrorCode)||c.HTTP_STATUS.SERVICE_UNAVAILABLE;return p.warn("CHAT",`[${n}/${o}] ${t} (${e.retryAfterHuman})`),(0,i.unavailableResponse)(a,`[${n}/${o}] ${t}`,e.retryAfter,e.retryAfterHuman)}return t?(p.warn("CHAT","No more accounts available",{provider:n}),(0,i.errorResponse)(s||c.HTTP_STATUS.SERVICE_UNAVAILABLE,r||"All accounts unavailable")):(p.error("AUTH",`No credentials for provider: ${n}`),(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,`No credentials for provider: ${n}`))}(t,P,y,S,U,M);let d=t.connectionId.slice(0,8);p.info("AUTH",`Using ${y} account: ${d}...`),u.sessionId&&(0,C.touchSession)(u.sessionId,t.connectionId);let f=await (0,g.checkAndRefreshToken)(y,t),m=await N(t.connectionId),A=Date.now();l&&l.startPhase("connect");let{result:O,tlsFingerprintUsed:x}=await $({breaker:I,body:e,provider:y,model:S,refreshedCredentials:f,proxyInfo:m,log:p,clientRawRequest:n,credentials:t,apiKeyInfo:a,userAgent:D,comboName:s,extendedContext:v});l&&l.endPhase();let F=Date.now()-A;if(function({result:e,proxyInfo:t,proxyLatency:n,provider:o,model:r,sourceFormat:s,targetFormat:a,credentials:i,comboName:l,clientRawRequest:c,tlsFingerprintUsed:u=!1}){try{(0,h.logProxyEvent)({status:e.success?"success":408===e.status||504===e.status?"timeout":"error",proxy:t?.proxy||null,level:t?.level||"direct",levelId:t?.levelId||null,provider:o,targetUrl:`${o}/${r}`,latencyMs:n,error:e.success?null:e.error||null,connectionId:i.connectionId,comboId:l||null,account:i.connectionId?.slice(0,8)||null,tlsFingerprint:u})}catch{}try{(0,_.logTranslationEvent)({provider:o,model:r,sourceFormat:s,targetFormat:a,status:e.success?"success":"error",statusCode:e.success?200:e.status||500,latency:n,endpoint:c?.endpoint||"/v1/chat/completions",connectionId:i.connectionId||null,comboName:l||null})}catch{}}({result:O,proxyInfo:m,proxyLatency:F,provider:y,model:S,sourceFormat:E,targetFormat:R,credentials:t,comboName:s,clientRawRequest:n,tlsFingerprintUsed:x}),O.success)return(0,T.clearModelUnavailability)(y,S),l&&l.startPhase("finalize"),l&&l.endPhase(),O.response;if(!u.emergencyFallbackTried){let t=(0,b.shouldUseFallback)(Number(O.status||0),String(O.error||""),Array.isArray(e?.tools)&&e.tools.length>0);if((0,b.isFallbackDecision)(t)){let o=`${t.provider}/${t.model}`,i=`${y}/${S}`;if(o!==i){let c={...e,model:o},d=Math.min(Number(c.max_tokens??c.max_completion_tokens??t.maxOutputTokens)||t.maxOutputTokens,t.maxOutputTokens);return c.max_tokens=d,c.max_completion_tokens=d,p.warn("EMERGENCY_FALLBACK",`${i} -> ${o} | reason=${t.reason}`),w(c,o,n,r,s,a,l,{...u,emergencyFallbackTried:!0})}}}429===O.status&&(0,k.markAccountExhaustedFrom429)(t.connectionId,y);let{shouldFallback:L}=await (0,o.markAccountUnavailable)(t.connectionId,O.status,O.error,y,S);if(L){p.warn("AUTH",`Account ${d}... unavailable (${O.status}), trying fallback`),P=t.connectionId,U=O.error,M=O.status;continue}return O.response}}async function x(e,t,n=""){let o=await (0,r.getModelInfo)(e);if(!o.provider){if("ambiguous_model"===o.errorType){let t=o.errorMessage||`Ambiguous model '${e}'. Use provider/model prefix (ex: gh/${e} or cc/${e}).`;return p.warn("CHAT",t,{model:e,candidates:o.candidateAliases||o.candidateProviders||[]}),{error:(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,t)}}return p.warn("CHAT","Invalid model format",{model:e}),{error:(0,i.errorResponse)(c.HTTP_STATUS.BAD_REQUEST,"Invalid model format")}}let{provider:a,model:l,extendedContext:d}=o,g=(0,s.detectFormatFromEndpoint)(t,n),f=u.PROVIDER_ID_TO_ALIAS[a]||a,m=(0,u.getModelTargetFormat)(f,l)||(0,s.getTargetFormat)(a);"responses"===o.apiFormat&&(m="openai-responses",p.info("ROUTING",`Custom model apiFormat=responses → targetFormat=openai-responses`));let h=d&&"claude"===f?" [1m]":"";return e!==`${a}/${l}`?p.info("ROUTING",`${e} → ${a}/${l}${h}`):p.info("ROUTING",`Provider: ${a}, Model: ${l}${h}`),{provider:a,model:l,sourceFormat:g,targetFormat:m,extendedContext:d}}async function $({breaker:e,body:t,provider:n,model:r,refreshedCredentials:s,proxyInfo:l,log:u,clientRawRequest:f,credentials:m,apiKeyInfo:h,userAgent:_,comboName:y,extendedContext:T}){try{let i=()=>(0,d.runWithProxyContext)(l?.proxy||null,()=>a.handleChatCore({body:{...t,model:`${n}/${r}`},modelInfo:{provider:n,model:r,extendedContext:T},credentials:s,log:u,clientRawRequest:f,connectionId:m.connectionId,apiKeyInfo:h,userAgent:_,comboName:y,onCredentialsRefreshed:async e=>{await (0,g.updateProviderCredentials)(m.connectionId,{accessToken:e.accessToken,refreshToken:e.refreshToken,providerSpecificData:e.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,o.clearAccountError)(m.connectionId,m)}}));if(!l?.proxy&&(0,d.isTlsFingerprintActive)()){let t=await e.execute(async()=>(0,d.runWithTlsTracking)(i));return{result:t.result,tlsFingerprintUsed:t.tlsFingerprintUsed}}return{result:await e.execute(i),tlsFingerprintUsed:!1}}catch(e){if(e instanceof A.CircuitBreakerOpenError)return p.warn("CIRCUIT",`${n} circuit open during retry: ${e.message}`),{result:{success:!1,response:i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,`Provider ${n} circuit breaker is open`,Math.ceil(e.retryAfterMs/1e3)),status:c.HTTP_STATUS.SERVICE_UNAVAILABLE},tlsFingerprintUsed:!1};if(e?.code==="PROXY_UNREACHABLE"||/proxy unreachable/i.test(e?.message||"")){let t=e?.message||"Proxy unreachable";return p.warn("PROXY",t),{result:{success:!1,response:i.unavailableResponse(c.HTTP_STATUS.SERVICE_UNAVAILABLE,t,2),status:c.HTTP_STATUS.SERVICE_UNAVAILABLE,error:t},tlsFingerprintUsed:!1}}throw e}}async function N(e){try{return await (0,f.resolveProxyForConnection)(e)}catch(e){return p.debug("PROXY",`Failed to resolve proxy: ${e.message}`),null}}function D(e,t){if(!e||!t)return e;try{return e.headers.set("X-OmniRoute-Session-Id",t),e}catch{let n=new Response(e.body,{status:e.status,statusText:e.statusText,headers:e.headers});return n.headers.set("X-OmniRoute-Session-Id",t),n}}[a]=O.then?(await O)():O,e.s(["handleChat",()=>I]),n()}catch(e){n(e)}},!1)];
|
|
27
27
|
|
|
28
28
|
//# sourceMappingURL=_efd5ede2._.js.map
|
|
@@ -9,7 +9,7 @@ Respond ONLY with the JSON object, no other text.`)}else"json_object"===e.type&&
|
|
|
9
9
|
</tool_result>`}function G(e,t,n=null){return{id:`chatcmpl-${e.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.model,choices:[{index:0,delta:t,finish_reason:n}]}}function Y(e,t){e.thinkingBlockStarted&&(t.push({type:"content_block_stop",index:e.thinkingBlockIndex}),e.thinkingBlockStarted=!1)}function K(e,t){e.textBlockStarted&&!e.textBlockClosed&&(e.textBlockClosed=!0,t.push({type:"content_block_stop",index:e.textBlockIndex}),e.textBlockStarted=!1)}function H(e,t){if(!e)return null;let n=e.response||e;if(!n||!n.candidates?.[0])return null;let o=[],s=n.candidates[0],r=s.content;if(t.messageId||(t.messageId=n.responseId||`msg_${Date.now()}`,t.model=n.modelVersion||"gemini",t.functionIndex=0,o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),r?.parts)for(let e of r.parts){let n=e.thoughtSignature||e.thought_signature,s=!0===e.thought;if(n){let n=void 0!==e.text&&""!==e.text,r=!!e.functionCall;if(n&&o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:s?{reasoning_content:e.text}:{content:e.text},finish_reason:null}]}),r){let n=e.functionCall.name,s=e.functionCall.args||{},r=t.functionIndex++,i={id:`${n}-${Date.now()}-${r}`,index:r,type:"function",function:{name:n,arguments:JSON.stringify(s)}};t.toolCalls.set(r,i),o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{tool_calls:[i]},finish_reason:null}]})}continue}if(void 0!==e.text&&""!==e.text&&o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{content:e.text},finish_reason:null}]}),e.functionCall){let n=e.functionCall.name,s=e.functionCall.args||{},r=t.functionIndex++,i={id:`${n}-${Date.now()}-${r}`,index:r,type:"function",function:{name:n,arguments:JSON.stringify(s)}};t.toolCalls.set(r,i),o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{tool_calls:[i]},finish_reason:null}]})}let r=e.inlineData||e.inline_data;if(r?.data){let e=r.mimeType||r.mime_type||"image/png";o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${e};base64,${r.data}`}}]},finish_reason:null}]})}}let i=n.usageMetadata||e.usageMetadata;if(i&&"object"==typeof i){let e="number"==typeof i.cachedContentTokenCount?i.cachedContentTokenCount:0,n="number"==typeof i.promptTokenCount?i.promptTokenCount:0,o="number"==typeof i.thoughtsTokenCount?i.thoughtsTokenCount:0,s="number"==typeof i.candidatesTokenCount?i.candidatesTokenCount:0,r="number"==typeof i.totalTokenCount?i.totalTokenCount:0;0===s&&r>0&&(s=r-n-o)<0&&(s=0),t.usage={prompt_tokens:n,completion_tokens:s+o,total_tokens:r},e>0&&(t.usage.prompt_tokens_details={cached_tokens:e}),o>0&&(t.usage.completion_tokens_details={reasoning_tokens:o})}if(s.finishReason){let e=s.finishReason.toLowerCase();"stop"===e&&t.toolCalls.size>0&&(e="tool_calls");let n={id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:e}]};t.usage&&(n.usage=t.usage),o.push(n),t.finishReason=e}return o.length>0?o:null}function W(e,t){if(!e)return null;let n=e.response||e;if(!n||!n.candidates?.[0])return null;let o=[],s=n.candidates[0],r=s.content;if(t.messageId||(t.messageId=n.responseId||`msg_${Date.now()}`,t.model=n.modelVersion||"gemini",t.contentBlockIndex=0,t.openTextBlockIdx=null,o.push({type:"message_start",message:{id:t.messageId,type:"message",role:"assistant",model:t.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})),r?.parts)for(let e of r.parts){let n=e.thoughtSignature||e.thought_signature,s=!0===e.thought;if(s&&e.text){null!==t.openTextBlockIdx&&(o.push({type:"content_block_stop",index:t.openTextBlockIdx}),t.openTextBlockIdx=null);let n=t.contentBlockIndex++;o.push({type:"content_block_start",index:n,content_block:{type:"thinking",thinking:""}}),o.push({type:"content_block_delta",index:n,delta:{type:"thinking_delta",thinking:e.text}}),o.push({type:"content_block_stop",index:n});continue}if(e.functionCall){null!==t.openTextBlockIdx&&(o.push({type:"content_block_stop",index:t.openTextBlockIdx}),t.openTextBlockIdx=null);let n=e.functionCall,s=t.contentBlockIndex++,r=n.id||`toolu_${Date.now()}_${s}`;o.push({type:"content_block_start",index:s,content_block:{type:"tool_use",id:r,name:n.name,input:{}}});let i=JSON.stringify(n.args||{});o.push({type:"content_block_delta",index:s,delta:{type:"input_json_delta",partial_json:i}}),o.push({type:"content_block_stop",index:s}),t.hasToolUse||(t.hasToolUse=!0);continue}let r=void 0!==e.text&&""!==e.text&&!n,i=n&&void 0!==e.text&&""!==e.text&&!s&&!e.functionCall;if(r||i){if(null===t.openTextBlockIdx){let e=t.contentBlockIndex++;t.openTextBlockIdx=e,o.push({type:"content_block_start",index:e,content_block:{type:"text",text:""}})}o.push({type:"content_block_delta",index:t.openTextBlockIdx,delta:{type:"text_delta",text:e.text}})}}let i=n.usageMetadata||e.usageMetadata;if(i&&"object"==typeof i){let e="number"==typeof i.promptTokenCount?i.promptTokenCount:0,n="number"==typeof i.candidatesTokenCount?i.candidatesTokenCount:0,o="number"==typeof i.thoughtsTokenCount?i.thoughtsTokenCount:0,s="number"==typeof i.cachedContentTokenCount?i.cachedContentTokenCount:0;t.usage={input_tokens:e,output_tokens:n+o},s>0&&(t.usage.cache_read_input_tokens=s)}if(s.finishReason){let e;null!==t.openTextBlockIdx&&(o.push({type:"content_block_stop",index:t.openTextBlockIdx}),t.openTextBlockIdx=null);let n=s.finishReason.toLowerCase();e=t.hasToolUse||"tool_calls"===n?"tool_use":"max_tokens"===n||"length"===n?"max_tokens":"end_turn",o.push({type:"message_delta",delta:{stop_reason:e,stop_sequence:null},usage:t.usage||{input_tokens:0,output_tokens:0}}),o.push({type:"message_stop"})}return o.length>0?o:null}function Z(e,t,n){e.reasoningId||(e.reasoningId=`rs_${e.responseId}_${n}`,e.reasoningIndex=n,t("response.output_item.added",{type:"response.output_item.added",output_index:n,item:{id:e.reasoningId,type:"reasoning",summary:[]}}),t("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:e.reasoningId,output_index:n,summary_index:0,part:{type:"summary_text",text:""}}),e.reasoningPartAdded=!0)}function V(e,t,n){n&&(e.reasoningBuf+=n,t("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:e.reasoningId,output_index:e.reasoningIndex,summary_index:0,delta:n}))}function X(e,t){e.reasoningId&&!e.reasoningDone&&(e.reasoningDone=!0,t("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:e.reasoningId,output_index:e.reasoningIndex,summary_index:0,text:e.reasoningBuf}),t("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:e.reasoningId,output_index:e.reasoningIndex,summary_index:0,part:{type:"summary_text",text:e.reasoningBuf}}),t("response.output_item.done",{type:"response.output_item.done",output_index:e.reasoningIndex,item:{id:e.reasoningId,type:"reasoning",summary:[{type:"summary_text",text:e.reasoningBuf}]}}))}function z(e,t,n){if(e.msgItemAdded[n]&&!e.msgItemDone[n]){e.msgItemDone[n]=!0;let o=e.msgTextBuf[n]||"",s=`msg_${e.responseId}_${n}`;t("response.output_text.done",{type:"response.output_text.done",item_id:s,output_index:parseInt(n),content_index:0,text:o,logprobs:[]}),t("response.content_part.done",{type:"response.content_part.done",item_id:s,output_index:parseInt(n),content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:o}}),t("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(n),item:{id:s,type:"message",content:[{type:"output_text",annotations:[],logprobs:[],text:o}],role:"assistant"}})}}function Q(e,t,n){let o=e.funcCallIds[n];if(o&&!e.funcItemDone[n]){let s=e.funcArgsBuf[n]||"{}";t("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:`fc_${o}`,output_index:parseInt(n),arguments:s}),t("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(n),item:{id:`fc_${o}`,type:"function_call",arguments:s,call_id:o,name:e.funcNames[n]||""}}),e.funcItemDone[n]=!0,e.funcArgsDone[n]=!0}}function ee(e,t){e.completedSent||(e.completedSent=!0,t("response.completed",{type:"response.completed",response:{id:e.responseId,object:"response",created_at:e.created,status:"completed",background:!1,error:null}}))}function et(){}(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.KIRO,function(e,t,n,o){let s=t.messages||[],r=t.tools||[],i=t.temperature,l=t.top_p,{history:a,currentMessage:u}=function(e,t,n){let o=[],s=null,r=[],i=[],l=[],a=null,u=()=>{if("user"===a){let e={userInputMessage:{content:r.join("\n\n").trim()||"continue",modelId:""}};l.length>0&&(e.userInputMessage.userInputMessageContext={toolResults:l}),t&&t.length>0&&0===o.length&&(e.userInputMessage.userInputMessageContext||(e.userInputMessage.userInputMessageContext={}),e.userInputMessage.userInputMessageContext.tools=t.map(e=>{let t=e.function?.name||e.name,n=e.function?.description||e.description||"";return n.trim()||(n=`Tool: ${t}`),{toolSpecification:{name:t,description:n,inputSchema:{json:e.function?.parameters||e.parameters||e.input_schema||{}}}}})),o.push(e),s=e,r=[],l=[]}else if("assistant"===a){let e=i.join("\n\n").trim()||"...";o.push({assistantResponseMessage:{content:e}}),i=[]}};for(let t=0;t<e.length;t++){let n=e[t],s=n.role;if(("system"===s||"tool"===s)&&(s="user"),s!==a&&null!==a&&u(),a=s,"user"===s){let e="";if("string"==typeof n.content)e=n.content;else if(Array.isArray(n.content)){e=n.content.filter(e=>"text"===e.type||e.text).map(e=>e.text||"").join("\n");let t=n.content.filter(e=>"tool_result"===e.type);t.length>0&&t.forEach(e=>{let t=Array.isArray(e.content)?e.content.map(e=>e.text||"").join("\n"):"string"==typeof e.content?e.content:"";l.push({toolUseId:e.tool_use_id,status:"success",content:[{text:t}]})})}if("tool"===n.role){let e="string"==typeof n.content?n.content:"";l.push({toolUseId:n.tool_call_id,status:"success",content:[{text:e}]})}else e&&r.push(e)}else if("assistant"===s){let e="",t=[];if(Array.isArray(n.content)?(e=n.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n").trim(),t=n.content.filter(e=>"tool_use"===e.type)):"string"==typeof n.content&&(e=n.content.trim()),n.tool_calls&&n.tool_calls.length>0&&(t=n.tool_calls),e&&i.push(e),t.length>0){i.length,u();let e=o[o.length-1];e?.assistantResponseMessage&&(e.assistantResponseMessage.toolUses=t.map(e=>e.function?{toolUseId:e.id||(0,U.v4)(),name:e.function.name,input:"string"==typeof e.function.arguments?JSON.parse(e.function.arguments):e.function.arguments||{}}:{toolUseId:e.id||(0,U.v4)(),name:e.name,input:e.input||{}})),a=null}}}null!==a&&u(),o.length>0&&o[o.length-1].userInputMessage&&(s=o.pop());let c=o[0];return c?.userInputMessage?.userInputMessageContext?.tools&&!s?.userInputMessage?.userInputMessageContext?.tools&&(s.userInputMessage.userInputMessageContext||(s.userInputMessage.userInputMessageContext={}),s.userInputMessage.userInputMessageContext.tools=c.userInputMessage.userInputMessageContext.tools),o.forEach(e=>{e.userInputMessage?.userInputMessageContext?.tools&&delete e.userInputMessage.userInputMessageContext.tools,e.userInputMessage?.userInputMessageContext&&0===Object.keys(e.userInputMessage.userInputMessageContext).length&&delete e.userInputMessage.userInputMessageContext,e.userInputMessage&&!e.userInputMessage.modelId&&(e.userInputMessage.modelId=n)}),{history:o,currentMessage:s}}(s,r,e),c=o?.providerSpecificData?.profileArn||"",p=u?.userInputMessage?.content||"",f=new Date().toISOString();p=`[Context: Current time is ${f}]
|
|
10
10
|
|
|
11
11
|
${p}`;let d={conversationState:{chatTriggerType:"MANUAL",conversationId:(0,U.v4)(),currentMessage:{userInputMessage:{content:p,modelId:e,origin:"AI_EDITOR",...u?.userInputMessage?.userInputMessageContext&&{userInputMessageContext:u.userInputMessage.userInputMessageContext}}},history:a}};return c&&(d.profileArn=c),d.inferenceConfig={},d.inferenceConfig.maxTokens=32e3,void 0!==i&&(d.inferenceConfig.temperature=i),void 0!==l&&(d.inferenceConfig.topP=l),d},null),(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.CURSOR,function(e,t,n,o){let s=function(e){let t=[],n=new Map,o=(e,t)=>{if(!e)return;let o=t||"tool";n.set(e,{name:o});let s=q(e);s&&s!==e&&n.set(s,{name:o})};for(let t of e){if("assistant"===t.role&&t.tool_calls)for(let e of t.tool_calls)o(e.id||"",e.function?.name||"tool");if("assistant"===t.role&&Array.isArray(t.content))for(let e of t.content)e?.type==="tool_use"&&o(e.id||"",e.name||"tool")}for(let o=0;o<e.length;o++){let s=e[o];if("system"===s.role){t.push({role:"user",content:`[System Instructions]
|
|
12
|
-
${L(s.content)}`});continue}if("tool"===s.role){let e=L(s.content),o=s.tool_call_id||"",r=n.get(o)||{},i=s.name||r.name||"tool";t.push({role:"user",content:J(i,o,e)});continue}if("user"===s.role||"assistant"===s.role){if("user"===s.role&&Array.isArray(s.content)){let e=[];for(let t of s.content)if(t&&"object"==typeof t){if("text"===t.type){"string"==typeof t.text&&e.push(t.text||"");continue}if("tool_result"===t.type){let o=t.tool_use_id||"",s=n.get(o)||n.get(q(o)),r=s?.name||"tool",i=L(t.content);e.push(J(r,o,i))}}let o=e.filter(Boolean).join("\n");o&&t.push({role:"user",content:o});continue}let e=L(s.content);if("assistant"===s.role&&s.tool_calls&&s.tool_calls.length>0){let n={role:"assistant",content:e||""};n.tool_calls=s.tool_calls.map(e=>{let{index:t,...n}=e||{};return n}),t.push(n)}else if("assistant"===s.role&&Array.isArray(s.content)){let n=s.content.filter(e=>e?.type==="tool_use").map(e=>({id:e.id||"",type:"function",function:{name:e.name||"tool",arguments:JSON.stringify(e.input||{})}})).filter(e=>e.id);n.length>0?t.push({role:"assistant",content:e||"",tool_calls:n}):e&&t.push({role:"assistant",content:e})}else e&&t.push({role:s.role,content:e})}}return t}(t.messages||[]);return{...t,messages:s}},null),(0,_.register)(t.FORMATS.CLAUDE,t.FORMATS.GEMINI,function(e,t,n){let o={model:e,contents:[],generationConfig:{},safetySettings:O};if(void 0!==t.temperature&&(o.generationConfig.temperature=t.temperature),void 0!==t.top_p&&(o.generationConfig.topP=t.top_p),void 0!==t.top_k&&(o.generationConfig.topK=t.top_k),void 0!==t.max_tokens&&(o.generationConfig.maxOutputTokens=t.max_tokens),t.system){let e;(e=Array.isArray(t.system)?t.system.map(e=>e.text||"").join("\n"):String(t.system))&&(o.systemInstruction={role:"user",parts:[{text:e}]})}let s={};if(t.messages&&Array.isArray(t.messages)){for(let e of t.messages)if("assistant"===e.role&&Array.isArray(e.content))for(let t of e.content)"tool_use"===t.type&&t.id&&t.name&&(s[t.id]=t.name)}if(t.messages&&Array.isArray(t.messages))for(let e of t.messages){let t=[];if(Array.isArray(e.content))for(let n of e.content)switch(n.type){case"text":n.text&&t.push({text:n.text});break;case"thinking":n.thinking&&(t.push({thought:!0,text:n.thinking}),t.push({thoughtSignature:i.DEFAULT_THINKING_GEMINI_SIGNATURE,text:""}));break;case"tool_use":t.push({thoughtSignature:i.DEFAULT_THINKING_GEMINI_SIGNATURE,functionCall:{id:n.id,name:n.name,args:n.input||{}}});break;case"tool_result":{let e=n.content;Array.isArray(e)&&(e=e.map(e=>"text"===e.type?e.text:JSON.stringify(e)).join("\n"));let o=b(e);null===o?o={result:e}:"object"!=typeof o&&(o={result:o}),t.push({functionResponse:{id:n.tool_use_id,name:s[n.tool_use_id]||"unknown",response:{result:o}}});break}case"image":n.source?.type==="base64"&&t.push({inlineData:{mimeType:n.source.media_type,data:n.source.data}})}else"string"==typeof e.content&&e.content&&t.push({text:e.content});if(t.length>0){let n="assistant"===e.role?"model":"user";o.contents.push({role:n,parts:t})}}if(t.tools&&Array.isArray(t.tools)&&t.tools.length>0){let e=[];for(let n of t.tools)n.name&&e.push({name:n.name,description:n.description||"",parameters:R(n.input_schema||{type:"object",properties:{}})});e.length>0&&(o.tools=[{functionDeclarations:e}])}return t.thinking?.type==="enabled"&&t.thinking.budget_tokens&&(o.generationConfig.thinkingConfig={thinkingBudget:t.thinking.budget_tokens,include_thoughts:!0}),o},null),(0,_.register)(t.FORMATS.CLAUDE,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;let n=[];switch(e.type){case"message_start":t.messageId=e.message?.id||`msg_${Date.now()}`,t.model=e.message?.model,t.toolCallIndex=0,n.push(G(t,{role:"assistant"}));break;case"content_block_start":{let o=e.content_block;if(o?.type==="text")t.textBlockStarted=!0;else if(o?.type==="thinking")t.inThinkingBlock=!0,t.currentBlockIndex=e.index,n.push(G(t,{reasoning_content:""}));else if(o?.type==="tool_use"){let s=t.toolCallIndex++,r=t.toolNameMap?.get(o.name)||o.name,i={index:s,id:o.id,type:"function",function:{name:r,arguments:""}};t.toolCalls.set(e.index,i),n.push(G(t,{tool_calls:[i]}))}break}case"content_block_delta":{let o=e.delta;if(o?.type==="text_delta"&&o.text)n.push(G(t,{content:o.text}));else if(o?.type==="thinking_delta"&&o.thinking)n.push(G(t,{reasoning_content:o.thinking}));else if(o?.type==="input_json_delta"&&o.partial_json){let s=t.toolCalls.get(e.index);s&&(s.function.arguments+=o.partial_json,n.push(G(t,{tool_calls:[{index:s.index,id:s.id,function:{arguments:o.partial_json}}]})))}break}case"content_block_stop":t.inThinkingBlock&&e.index===t.currentBlockIndex&&(t.inThinkingBlock=!1),t.textBlockStarted=!1,t.thinkingBlockStarted=!1;break;case"message_delta":if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.input_tokens?e.usage.input_tokens:0,o="number"==typeof e.usage.output_tokens?e.usage.output_tokens:0,s="number"==typeof e.usage.cache_read_input_tokens?e.usage.cache_read_input_tokens:0,r="number"==typeof e.usage.cache_creation_input_tokens?e.usage.cache_creation_input_tokens:0;t.usage={prompt_tokens:n,completion_tokens:o,input_tokens:n,output_tokens:o},s>0&&(t.usage.cache_read_input_tokens=s),r>0&&(t.usage.cache_creation_input_tokens=r)}if(e.delta?.stop_reason){t.finishReason=function(e){switch(e){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(e.delta.stop_reason);let o={id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:t.finishReason}]};if(t.usage&&"object"==typeof t.usage){let e=t.usage.input_tokens||0,n=t.usage.output_tokens||0,s=t.usage.cache_read_input_tokens||0,r=t.usage.cache_creation_input_tokens||0,i=e+s+r;o.usage={prompt_tokens:i,completion_tokens:n,total_tokens:i+n},(s>0||r>0)&&(o.usage.prompt_tokens_details={},s>0&&(o.usage.prompt_tokens_details.cached_tokens=s),r>0&&(o.usage.prompt_tokens_details.cache_creation_tokens=r))}n.push(o),t.finishReasonSent=!0}break;case"message_stop":if(!t.finishReasonSent){let e=t.finishReason||(t.toolCalls?.size>0?"tool_calls":"stop"),o=t.usage&&"object"==typeof t.usage?{usage:{prompt_tokens:t.usage.input_tokens||0,completion_tokens:t.usage.output_tokens||0,total_tokens:(t.usage.input_tokens||0)+(t.usage.output_tokens||0)}}:{};n.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:e}],...o}),t.finishReasonSent=!0}}return n.length>0?n:null}),(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.CLAUDE,null,function(e,t){if(!e||!e.choices?.[0])return null;let n=[],o=e.choices[0],s=o.delta;if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.prompt_tokens?e.usage.prompt_tokens:0,o="number"==typeof e.usage.completion_tokens?e.usage.completion_tokens:0,s=e.usage.prompt_tokens_details?.cached_tokens,r=e.usage.prompt_tokens_details?.cache_creation_tokens,i="number"==typeof s?s:0,l="number"==typeof r?r:0;t.usage={input_tokens:n-i-l,output_tokens:o},i>0&&(t.usage.cache_read_input_tokens=i),l>0&&(t.usage.cache_creation_input_tokens=l)}t.messageStartSent||(t.messageStartSent=!0,t.messageId=e.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!t.messageId||"chat"===t.messageId||t.messageId.length<8)&&(t.messageId=e.extend_fields?.requestId||e.extend_fields?.traceId||`msg_${Date.now()}`),t.model=e.model||"unknown",t.nextBlockIndex=0,n.push({type:"message_start",message:{id:t.messageId,type:"message",role:"assistant",model:t.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let r=s?.reasoning_content||s?.reasoning;if(!r&&Array.isArray(s?.reasoning_details)){let e=[];for(let t of s.reasoning_details)if(t&&"object"==typeof t){let n=t.text||t.content;"string"==typeof n&&n&&e.push(n)}e.length>0&&(r=e.join(""))}if(r&&(K(t,n),t.thinkingBlockStarted||(t.thinkingBlockIndex=t.nextBlockIndex++,t.thinkingBlockStarted=!0,n.push({type:"content_block_start",index:t.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),n.push({type:"content_block_delta",index:t.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:r}})),s?.content&&(Y(t,n),t.textBlockStarted||(t.textBlockIndex=t.nextBlockIndex++,t.textBlockStarted=!0,t.textBlockClosed=!1,n.push({type:"content_block_start",index:t.textBlockIndex,content_block:{type:"text",text:""}})),n.push({type:"content_block_delta",index:t.textBlockIndex,delta:{type:"text_delta",text:s.content}})),s?.tool_calls)for(let e of s.tool_calls){let o=e.index??0;if(e.id){Y(t,n),K(t,n);let s=t.nextBlockIndex++;t.toolCalls.set(o,{id:e.id,name:e.function?.name||"",blockIndex:s});let r=e.function?.name||"";r.startsWith(A.CLAUDE_OAUTH_TOOL_PREFIX)&&(r=r.slice(A.CLAUDE_OAUTH_TOOL_PREFIX.length)),n.push({type:"content_block_start",index:s,content_block:{type:"tool_use",id:e.id,name:r,input:{}}})}if(e.function?.arguments){let s=t.toolCalls.get(o);s&&n.push({type:"content_block_delta",index:s.blockIndex,delta:{type:"input_json_delta",partial_json:e.function.arguments}})}}if(o.finish_reason){for(let[,e]of(Y(t,n),K(t,n),t.toolCalls))n.push({type:"content_block_stop",index:e.blockIndex});t.finishReason=o.finish_reason;let e=t.usage||{input_tokens:0,output_tokens:0};n.push({type:"message_delta",delta:{stop_reason:function(e){switch(e){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(o.finish_reason)},usage:e}),n.push({type:"message_stop"})}return n.length>0?n:null}),(0,_.register)(t.FORMATS.GEMINI,t.FORMATS.OPENAI,null,H),(0,_.register)(t.FORMATS.GEMINI_CLI,t.FORMATS.OPENAI,null,H),(0,_.register)(t.FORMATS.ANTIGRAVITY,t.FORMATS.OPENAI,null,H),(0,_.register)(t.FORMATS.GEMINI,t.FORMATS.CLAUDE,null,W),(0,_.register)(t.FORMATS.GEMINI_CLI,t.FORMATS.CLAUDE,null,W),(0,_.register)(t.FORMATS.ANTIGRAVITY,t.FORMATS.CLAUDE,null,W),(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.ANTIGRAVITY,null,function(e,t){if(!e)return null;let n=e.choices?.[0];if(!n)return e.usage&&(t._usage=e.usage),null;let o=n.delta||{},s=n.finish_reason;t._toolCallAccum||(t._toolCallAccum={}),t._responseId||(t._responseId=e.id||`resp_${Date.now()}`),t._modelVersion||(t._modelVersion=e.model||"");let r=[];if(o.reasoning_content&&r.push({thought:!0,text:o.reasoning_content}),o.content&&r.push({text:o.content}),o.tool_calls){for(let e of o.tool_calls){let n=e.index??0;t._toolCallAccum[n]||(t._toolCallAccum[n]={id:"",name:"",arguments:""});let o=t._toolCallAccum[n];e.id&&(o.id=e.id),e.function?.name&&(o.name+=e.function.name),e.function?.arguments&&(o.arguments+=e.function.arguments)}if(0===r.length&&!s)return null}if(s)for(let e of Object.keys(t._toolCallAccum)){let n=t._toolCallAccum[e],o={};try{o=JSON.parse(n.arguments)}catch{}r.push({functionCall:{name:n.name,args:o}})}if(0===r.length&&!s)return null;0===r.length&&s&&r.push({text:""});let i={content:{role:"model",parts:r}};s&&(i.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[s]||"STOP");let l={candidates:[i],modelVersion:t._modelVersion,responseId:t._responseId},a=e.usage||t._usage;return a&&(l.usageMetadata={promptTokenCount:a.prompt_tokens||0,candidatesTokenCount:a.completion_tokens||0,totalTokenCount:a.total_tokens||0},a.completion_tokens_details?.reasoning_tokens&&(l.usageMetadata.thoughtsTokenCount=a.completion_tokens_details.reasoning_tokens),a.prompt_tokens_details?.cached_tokens&&(l.usageMetadata.cachedContentTokenCount=a.prompt_tokens_details.cached_tokens)),{response:l}}),(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.OPENAI_RESPONSES,null,function(e,t){if(!e){var n=t;if(n.completedSent)return[];let e=[],o=(t,o)=>{o.sequence_number=++n.seq,e.push({event:t,data:o})};for(let e in n.msgItemAdded)z(n,o,e);for(let e in X(n,o),n.funcCallIds)Q(n,o,e);return ee(n,o),e}if(!e.choices?.length)return[];let o=[],s=(e,n)=>{n.sequence_number=++t.seq,o.push({event:e,data:n})},r=e.choices[0],i=r.index||0,l=r.delta||{};if(t.started||(t.started=!0,t.responseId=e.id?`resp_${e.id}`:t.responseId,s("response.created",{type:"response.created",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress",background:!1,error:null,output:[]}}),s("response.in_progress",{type:"response.in_progress",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress"}})),l.reasoning_content&&(Z(t,s,i),V(t,s,l.reasoning_content)),l.content){let e=l.content;if(e.includes("<think>")&&(t.inThinking=!0,e=e.replace("<think>",""),Z(t,s,i)),e.includes("</think>")){let n=e.split("</think>"),o=n[0],r=n.slice(1).join("</think>");o&&V(t,s,o),X(t,s),t.inThinking=!1,e=r}if(t.inThinking&&e)return V(t,s,e),o;e&&function(e,t,n,o){if(!e.msgItemAdded[n]){e.msgItemAdded[n]=!0;let o=`msg_${e.responseId}_${n}`;t("response.output_item.added",{type:"response.output_item.added",output_index:n,item:{id:o,type:"message",content:[],role:"assistant"}})}e.msgContentAdded[n]||(e.msgContentAdded[n]=!0,t("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),t("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,delta:o,logprobs:[]}),e.msgTextBuf[n]||(e.msgTextBuf[n]=""),e.msgTextBuf[n]+=o}(t,s,i,e)}if(l.tool_calls)for(let e of(z(t,s,i),l.tool_calls))!function(e,t,n){let o=n.index??0,s=n.id,r=n.function?.name;if(e.funcCallIds[o]&&s&&e.funcCallIds[o]!==s&&(Q(e,t,o),delete e.funcCallIds[o],delete e.funcNames[o],delete e.funcArgsBuf[o],delete e.funcArgsDone[o],delete e.funcItemDone[o]),r&&(e.funcNames[o]=r),!e.funcCallIds[o]&&s&&(e.funcCallIds[o]=s,t("response.output_item.added",{type:"response.output_item.added",output_index:o,item:{id:`fc_${s}`,type:"function_call",arguments:"",call_id:s,name:e.funcNames[o]||""}})),e.funcArgsBuf[o]||(e.funcArgsBuf[o]=""),n.function?.arguments){let r=e.funcCallIds[o]||s;r&&t("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${r}`,output_index:o,delta:n.function.arguments}),e.funcArgsBuf[o]+=n.function.arguments}}(t,s,e);if(r.finish_reason){for(let e in t.msgItemAdded)z(t,s,e);for(let e in X(t,s),t.funcCallIds)Q(t,s,e);ee(t,s)}return o}),(0,_.register)(t.FORMATS.OPENAI_RESPONSES,t.FORMATS.OPENAI,null,function(e,t){if(!e){if(!t.finishReasonSent&&t.started){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0;return{id:t.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:t.created||Math.floor(Date.now()/1e3),model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e?"tool_calls":"stop"}]}}return null}let n=e.type||e.event,o=e.data||e;if(t.started||(t.started=!0,t.chatId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.toolCallIndex=0,t.currentToolCallId=null),"response.output_text.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{content:e},finish_reason:null}]}:null}if("response.output_text.done"===n)return null;if("response.output_item.added"===n&&o.item?.type==="function_call"){let e=o.item;return t.currentToolCallId=e.call_id||`call_${Date.now()}`,{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,id:t.currentToolCallId,type:"function",function:{name:e.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,function:{arguments:e}}]},finish_reason:null}]}:null}if("response.output_item.done"===n&&o.item?.type==="function_call")return t.toolCallIndex++,null;if("response.completed"===n){let e=o.response?.usage;if(e&&"object"==typeof e){let n=e.input_tokens||e.prompt_tokens||0,o=e.output_tokens||e.completion_tokens||0,s=e.cache_read_input_tokens||0,r=e.cache_creation_input_tokens||0,i=n+s+r;t.usage={prompt_tokens:i,completion_tokens:o,total_tokens:i+o},(s>0||r>0)&&(t.usage.prompt_tokens_details={},s>0&&(t.usage.prompt_tokens_details.cached_tokens=s),r>0&&(t.usage.prompt_tokens_details.cache_creation_tokens=r))}if(!t.finishReasonSent){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0?"tool_calls":"stop";t.finishReason=e;let n={id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e}]};return t.usage&&"object"==typeof t.usage&&(n.usage=t.usage),n}}return null}),(0,_.register)(t.FORMATS.KIRO,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;if("chat.completion.chunk"===e.object&&e.choices)return e;let n=e;if("string"==typeof e){let t=e.split("\n"),o="",s="";for(let e of t)e.startsWith("event:")?o=e.slice(6).trim():e.startsWith(":event-type:")?o=e.slice(12).trim():e.startsWith("data:")?s=e.slice(5).trim():e.startsWith(":content-type:")||e.trim()&&!e.startsWith(":")&&(s=e.trim());if(!s)return null;try{(n=JSON.parse(s))._eventType=o}catch{n={text:s,_eventType:o}}}t.responseId||(t.responseId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.chunkIndex=0);let o=n._eventType||n.event||"";if("assistantResponseEvent"===o||n.assistantResponseEvent){let e=n.assistantResponseEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:e},finish_reason:null}]};return t.chunkIndex++,o}if("reasoningContentEvent"===o||n.reasoningContentEvent){let e=n.reasoningContentEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:`<thinking>${e}</thinking>`},finish_reason:null}]};return t.chunkIndex++,o}if("toolUseEvent"===o||n.toolUseEvent){let e=n.toolUseEvent||n,o=e.toolUseId||`call_${Date.now()}`,s=e.name||"",r=e.input||{},i={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:o,type:"function",function:{name:s,arguments:JSON.stringify(r)}}]},finish_reason:null}]};return t.chunkIndex++,i}if("messageStopEvent"===o||"done"===o||n.messageStopEvent){t.finishReason="stop";let e={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return t.usage&&"object"==typeof t.usage&&(e.usage=t.usage),e}if("usageEvent"===o||n.usageEvent){let e=n.usageEvent||n;e&&"object"==typeof e&&(t.usage={prompt_tokens:e.inputTokens||0,completion_tokens:e.outputTokens||0,total_tokens:(e.inputTokens||0)+(e.outputTokens||0)})}return null}),(0,_.register)(t.FORMATS.CURSOR,t.FORMATS.OPENAI,null,function(e,t){return e?("chat.completion.chunk"===e.object&&e.choices||"chat.completion"===e.object&&e.choices,e):null});var en=e.i(85713),eo=e.i(384094);let es=new Set([]),er=["glm-","ernie-"];function ei(e){return"string"==typeof e?e:Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e&&"type"in e&&"text"===e.type).map(e=>"string"==typeof e.text?e.text:"").join("\n"):""}function el(e,t,n,o,s){if(!Array.isArray(e))return e;let r=Array.isArray(e)&&("openai"!==o||!1===s)?e.map(e=>e&&"object"==typeof e&&"developer"===("string"==typeof e.role?e.role:"").toLowerCase()?{...e,role:"system"}:e):e;return function(e,t,n){if(!Array.isArray(e)||0===e.length||function(e,t){if(es.has(e))return!1;let n=(t||"").toLowerCase();for(let e of er)if(n.startsWith(e))return!1;return!0}(t,n))return e;let o=e.filter(e=>"system"===e.role||"developer"===e.role);if(0===o.length)return e;let s=o.map(e=>ei(e.content)).filter(Boolean).join("\n\n");if(!s)return e.filter(e=>"system"!==e.role&&"developer"!==e.role);let r=e.filter(e=>"system"!==e.role&&"developer"!==e.role),i=r.findIndex(e=>"user"===e.role);if(i>=0){let e=r[i],t=ei(e.content);r[i]={...e,content:`[System Instructions]
|
|
12
|
+
${L(s.content)}`});continue}if("tool"===s.role){let e=L(s.content),o=s.tool_call_id||"",r=n.get(o)||{},i=s.name||r.name||"tool";t.push({role:"user",content:J(i,o,e)});continue}if("user"===s.role||"assistant"===s.role){if("user"===s.role&&Array.isArray(s.content)){let e=[];for(let t of s.content)if(t&&"object"==typeof t){if("text"===t.type){"string"==typeof t.text&&e.push(t.text||"");continue}if("tool_result"===t.type){let o=t.tool_use_id||"",s=n.get(o)||n.get(q(o)),r=s?.name||"tool",i=L(t.content);e.push(J(r,o,i))}}let o=e.filter(Boolean).join("\n");o&&t.push({role:"user",content:o});continue}let e=L(s.content);if("assistant"===s.role&&s.tool_calls&&s.tool_calls.length>0){let n={role:"assistant",content:e||""};n.tool_calls=s.tool_calls.map(e=>{let{index:t,...n}=e||{};return n}),t.push(n)}else if("assistant"===s.role&&Array.isArray(s.content)){let n=s.content.filter(e=>e?.type==="tool_use").map(e=>({id:e.id||"",type:"function",function:{name:e.name||"tool",arguments:JSON.stringify(e.input||{})}})).filter(e=>e.id);n.length>0?t.push({role:"assistant",content:e||"",tool_calls:n}):e&&t.push({role:"assistant",content:e})}else e&&t.push({role:s.role,content:e})}}return t}(t.messages||[]);return{...t,messages:s}},null),(0,_.register)(t.FORMATS.CLAUDE,t.FORMATS.GEMINI,function(e,t,n){let o={model:e,contents:[],generationConfig:{},safetySettings:O};if(void 0!==t.temperature&&(o.generationConfig.temperature=t.temperature),void 0!==t.top_p&&(o.generationConfig.topP=t.top_p),void 0!==t.top_k&&(o.generationConfig.topK=t.top_k),void 0!==t.max_tokens&&(o.generationConfig.maxOutputTokens=t.max_tokens),t.system){let e;(e=Array.isArray(t.system)?t.system.map(e=>e.text||"").join("\n"):String(t.system))&&(o.systemInstruction={role:"user",parts:[{text:e}]})}let s={};if(t.messages&&Array.isArray(t.messages)){for(let e of t.messages)if("assistant"===e.role&&Array.isArray(e.content))for(let t of e.content)"tool_use"===t.type&&t.id&&t.name&&(s[t.id]=t.name)}if(t.messages&&Array.isArray(t.messages))for(let e of t.messages){let t=[];if(Array.isArray(e.content))for(let n of e.content)switch(n.type){case"text":n.text&&t.push({text:n.text});break;case"thinking":n.thinking&&(t.push({thought:!0,text:n.thinking}),t.push({thoughtSignature:i.DEFAULT_THINKING_GEMINI_SIGNATURE,text:""}));break;case"tool_use":t.push({thoughtSignature:i.DEFAULT_THINKING_GEMINI_SIGNATURE,functionCall:{id:n.id,name:n.name,args:n.input||{}}});break;case"tool_result":{let e=n.content;Array.isArray(e)&&(e=e.map(e=>"text"===e.type?e.text:JSON.stringify(e)).join("\n"));let o=b(e);null===o?o={result:e}:"object"!=typeof o&&(o={result:o}),t.push({functionResponse:{id:n.tool_use_id,name:s[n.tool_use_id]||"unknown",response:{result:o}}});break}case"image":n.source?.type==="base64"&&t.push({inlineData:{mimeType:n.source.media_type,data:n.source.data}})}else"string"==typeof e.content&&e.content&&t.push({text:e.content});if(t.length>0){let n="assistant"===e.role?"model":"user";o.contents.push({role:n,parts:t})}}if(t.tools&&Array.isArray(t.tools)&&t.tools.length>0){let e=[];for(let n of t.tools)n.name&&e.push({name:n.name,description:n.description||"",parameters:R(n.input_schema||{type:"object",properties:{}})});e.length>0&&(o.tools=[{functionDeclarations:e}])}return t.thinking?.type==="enabled"&&t.thinking.budget_tokens&&(o.generationConfig.thinkingConfig={thinkingBudget:t.thinking.budget_tokens,include_thoughts:!0}),o},null),(0,_.register)(t.FORMATS.CLAUDE,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;let n=[];switch(e.type){case"message_start":t.messageId=e.message?.id||`msg_${Date.now()}`,t.model=e.message?.model,t.toolCallIndex=0,n.push(G(t,{role:"assistant"}));break;case"content_block_start":{let o=e.content_block;if(o?.type==="text")t.textBlockStarted=!0;else if(o?.type==="thinking")t.inThinkingBlock=!0,t.currentBlockIndex=e.index,n.push(G(t,{reasoning_content:""}));else if(o?.type==="tool_use"){let s=t.toolCallIndex++,r=t.toolNameMap?.get(o.name)||o.name,i={index:s,id:o.id,type:"function",function:{name:r,arguments:""}};t.toolCalls.set(e.index,i),n.push(G(t,{tool_calls:[i]}))}break}case"content_block_delta":{let o=e.delta;if(o?.type==="text_delta"&&o.text)n.push(G(t,{content:o.text}));else if(o?.type==="thinking_delta"&&o.thinking)n.push(G(t,{reasoning_content:o.thinking}));else if(o?.type==="input_json_delta"&&o.partial_json){let s=t.toolCalls.get(e.index);s&&(s.function.arguments+=o.partial_json,n.push(G(t,{tool_calls:[{index:s.index,function:{arguments:o.partial_json}}]})))}break}case"content_block_stop":t.inThinkingBlock&&e.index===t.currentBlockIndex&&(t.inThinkingBlock=!1),t.textBlockStarted=!1,t.thinkingBlockStarted=!1;break;case"message_delta":if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.input_tokens?e.usage.input_tokens:0,o="number"==typeof e.usage.output_tokens?e.usage.output_tokens:0,s="number"==typeof e.usage.cache_read_input_tokens?e.usage.cache_read_input_tokens:0,r="number"==typeof e.usage.cache_creation_input_tokens?e.usage.cache_creation_input_tokens:0;t.usage={prompt_tokens:n,completion_tokens:o,input_tokens:n,output_tokens:o},s>0&&(t.usage.cache_read_input_tokens=s),r>0&&(t.usage.cache_creation_input_tokens=r)}if(e.delta?.stop_reason){t.finishReason=function(e){switch(e){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(e.delta.stop_reason);let o={id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:t.finishReason}]};if(t.usage&&"object"==typeof t.usage){let e=t.usage.input_tokens||0,n=t.usage.output_tokens||0,s=t.usage.cache_read_input_tokens||0,r=t.usage.cache_creation_input_tokens||0,i=e+s+r;o.usage={prompt_tokens:i,completion_tokens:n,total_tokens:i+n},(s>0||r>0)&&(o.usage.prompt_tokens_details={},s>0&&(o.usage.prompt_tokens_details.cached_tokens=s),r>0&&(o.usage.prompt_tokens_details.cache_creation_tokens=r))}n.push(o),t.finishReasonSent=!0}break;case"message_stop":if(!t.finishReasonSent){let e=t.finishReason||(t.toolCalls?.size>0?"tool_calls":"stop"),o=t.usage&&"object"==typeof t.usage?{usage:{prompt_tokens:t.usage.input_tokens||0,completion_tokens:t.usage.output_tokens||0,total_tokens:(t.usage.input_tokens||0)+(t.usage.output_tokens||0)}}:{};n.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:e}],...o}),t.finishReasonSent=!0}}return n.length>0?n:null}),(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.CLAUDE,null,function(e,t){if(!e||!e.choices?.[0])return null;let n=[],o=e.choices[0],s=o.delta;if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.prompt_tokens?e.usage.prompt_tokens:0,o="number"==typeof e.usage.completion_tokens?e.usage.completion_tokens:0,s=e.usage.prompt_tokens_details?.cached_tokens,r=e.usage.prompt_tokens_details?.cache_creation_tokens,i="number"==typeof s?s:0,l="number"==typeof r?r:0;t.usage={input_tokens:n-i-l,output_tokens:o},i>0&&(t.usage.cache_read_input_tokens=i),l>0&&(t.usage.cache_creation_input_tokens=l)}t.messageStartSent||(t.messageStartSent=!0,t.messageId=e.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!t.messageId||"chat"===t.messageId||t.messageId.length<8)&&(t.messageId=e.extend_fields?.requestId||e.extend_fields?.traceId||`msg_${Date.now()}`),t.model=e.model||"unknown",t.nextBlockIndex=0,n.push({type:"message_start",message:{id:t.messageId,type:"message",role:"assistant",model:t.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let r=s?.reasoning_content||s?.reasoning;if(!r&&Array.isArray(s?.reasoning_details)){let e=[];for(let t of s.reasoning_details)if(t&&"object"==typeof t){let n=t.text||t.content;"string"==typeof n&&n&&e.push(n)}e.length>0&&(r=e.join(""))}if(r&&(K(t,n),t.thinkingBlockStarted||(t.thinkingBlockIndex=t.nextBlockIndex++,t.thinkingBlockStarted=!0,n.push({type:"content_block_start",index:t.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),n.push({type:"content_block_delta",index:t.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:r}})),s?.content&&(Y(t,n),t.textBlockStarted||(t.textBlockIndex=t.nextBlockIndex++,t.textBlockStarted=!0,t.textBlockClosed=!1,n.push({type:"content_block_start",index:t.textBlockIndex,content_block:{type:"text",text:""}})),n.push({type:"content_block_delta",index:t.textBlockIndex,delta:{type:"text_delta",text:s.content}})),s?.tool_calls)for(let e of s.tool_calls){let o=e.index??0;if(e.id){Y(t,n),K(t,n);let s=t.nextBlockIndex++;t.toolCalls.set(o,{id:e.id,name:e.function?.name||"",blockIndex:s});let r=e.function?.name||"";r.startsWith(A.CLAUDE_OAUTH_TOOL_PREFIX)&&(r=r.slice(A.CLAUDE_OAUTH_TOOL_PREFIX.length)),n.push({type:"content_block_start",index:s,content_block:{type:"tool_use",id:e.id,name:r,input:{}}})}if(e.function?.arguments){let s=t.toolCalls.get(o);s&&n.push({type:"content_block_delta",index:s.blockIndex,delta:{type:"input_json_delta",partial_json:e.function.arguments}})}}if(o.finish_reason){for(let[,e]of(Y(t,n),K(t,n),t.toolCalls))n.push({type:"content_block_stop",index:e.blockIndex});t.finishReason=o.finish_reason;let e=t.usage||{input_tokens:0,output_tokens:0};n.push({type:"message_delta",delta:{stop_reason:function(e){switch(e){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(o.finish_reason)},usage:e}),n.push({type:"message_stop"})}return n.length>0?n:null}),(0,_.register)(t.FORMATS.GEMINI,t.FORMATS.OPENAI,null,H),(0,_.register)(t.FORMATS.GEMINI_CLI,t.FORMATS.OPENAI,null,H),(0,_.register)(t.FORMATS.ANTIGRAVITY,t.FORMATS.OPENAI,null,H),(0,_.register)(t.FORMATS.GEMINI,t.FORMATS.CLAUDE,null,W),(0,_.register)(t.FORMATS.GEMINI_CLI,t.FORMATS.CLAUDE,null,W),(0,_.register)(t.FORMATS.ANTIGRAVITY,t.FORMATS.CLAUDE,null,W),(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.ANTIGRAVITY,null,function(e,t){if(!e)return null;let n=e.choices?.[0];if(!n)return e.usage&&(t._usage=e.usage),null;let o=n.delta||{},s=n.finish_reason;t._toolCallAccum||(t._toolCallAccum={}),t._responseId||(t._responseId=e.id||`resp_${Date.now()}`),t._modelVersion||(t._modelVersion=e.model||"");let r=[];if(o.reasoning_content&&r.push({thought:!0,text:o.reasoning_content}),o.content&&r.push({text:o.content}),o.tool_calls){for(let e of o.tool_calls){let n=e.index??0;t._toolCallAccum[n]||(t._toolCallAccum[n]={id:"",name:"",arguments:""});let o=t._toolCallAccum[n];e.id&&(o.id=e.id),e.function?.name&&(o.name+=e.function.name),e.function?.arguments&&(o.arguments+=e.function.arguments)}if(0===r.length&&!s)return null}if(s)for(let e of Object.keys(t._toolCallAccum)){let n=t._toolCallAccum[e],o={};try{o=JSON.parse(n.arguments)}catch{}r.push({functionCall:{name:n.name,args:o}})}if(0===r.length&&!s)return null;0===r.length&&s&&r.push({text:""});let i={content:{role:"model",parts:r}};s&&(i.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[s]||"STOP");let l={candidates:[i],modelVersion:t._modelVersion,responseId:t._responseId},a=e.usage||t._usage;return a&&(l.usageMetadata={promptTokenCount:a.prompt_tokens||0,candidatesTokenCount:a.completion_tokens||0,totalTokenCount:a.total_tokens||0},a.completion_tokens_details?.reasoning_tokens&&(l.usageMetadata.thoughtsTokenCount=a.completion_tokens_details.reasoning_tokens),a.prompt_tokens_details?.cached_tokens&&(l.usageMetadata.cachedContentTokenCount=a.prompt_tokens_details.cached_tokens)),{response:l}}),(0,_.register)(t.FORMATS.OPENAI,t.FORMATS.OPENAI_RESPONSES,null,function(e,t){if(!e){var n=t;if(n.completedSent)return[];let e=[],o=(t,o)=>{o.sequence_number=++n.seq,e.push({event:t,data:o})};for(let e in n.msgItemAdded)z(n,o,e);for(let e in X(n,o),n.funcCallIds)Q(n,o,e);return ee(n,o),e}if(!e.choices?.length)return[];let o=[],s=(e,n)=>{n.sequence_number=++t.seq,o.push({event:e,data:n})},r=e.choices[0],i=r.index||0,l=r.delta||{};if(t.started||(t.started=!0,t.responseId=e.id?`resp_${e.id}`:t.responseId,s("response.created",{type:"response.created",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress",background:!1,error:null,output:[]}}),s("response.in_progress",{type:"response.in_progress",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress"}})),l.reasoning_content&&(Z(t,s,i),V(t,s,l.reasoning_content)),l.content){let e=l.content;if(e.includes("<think>")&&(t.inThinking=!0,e=e.replace("<think>",""),Z(t,s,i)),e.includes("</think>")){let n=e.split("</think>"),o=n[0],r=n.slice(1).join("</think>");o&&V(t,s,o),X(t,s),t.inThinking=!1,e=r}if(t.inThinking&&e)return V(t,s,e),o;e&&function(e,t,n,o){if(!e.msgItemAdded[n]){e.msgItemAdded[n]=!0;let o=`msg_${e.responseId}_${n}`;t("response.output_item.added",{type:"response.output_item.added",output_index:n,item:{id:o,type:"message",content:[],role:"assistant"}})}e.msgContentAdded[n]||(e.msgContentAdded[n]=!0,t("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),t("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,delta:o,logprobs:[]}),e.msgTextBuf[n]||(e.msgTextBuf[n]=""),e.msgTextBuf[n]+=o}(t,s,i,e)}if(l.tool_calls)for(let e of(z(t,s,i),l.tool_calls))!function(e,t,n){let o=n.index??0,s=n.id,r=n.function?.name;if(e.funcCallIds[o]&&s&&e.funcCallIds[o]!==s&&(Q(e,t,o),delete e.funcCallIds[o],delete e.funcNames[o],delete e.funcArgsBuf[o],delete e.funcArgsDone[o],delete e.funcItemDone[o]),r&&(e.funcNames[o]=r),!e.funcCallIds[o]&&s&&(e.funcCallIds[o]=s,t("response.output_item.added",{type:"response.output_item.added",output_index:o,item:{id:`fc_${s}`,type:"function_call",arguments:"",call_id:s,name:e.funcNames[o]||""}})),e.funcArgsBuf[o]||(e.funcArgsBuf[o]=""),n.function?.arguments){let r=e.funcCallIds[o]||s;r&&t("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${r}`,output_index:o,delta:n.function.arguments}),e.funcArgsBuf[o]+=n.function.arguments}}(t,s,e);if(r.finish_reason){for(let e in t.msgItemAdded)z(t,s,e);for(let e in X(t,s),t.funcCallIds)Q(t,s,e);ee(t,s)}return o}),(0,_.register)(t.FORMATS.OPENAI_RESPONSES,t.FORMATS.OPENAI,null,function(e,t){if(!e){if(!t.finishReasonSent&&t.started){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0;return{id:t.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:t.created||Math.floor(Date.now()/1e3),model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e?"tool_calls":"stop"}]}}return null}let n=e.type||e.event,o=e.data||e;if(t.started||(t.started=!0,t.chatId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.toolCallIndex=0,t.currentToolCallId=null),"response.output_text.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{content:e},finish_reason:null}]}:null}if("response.output_text.done"===n)return null;if("response.output_item.added"===n&&o.item?.type==="function_call"){let e=o.item;return t.currentToolCallId=e.call_id||`call_${Date.now()}`,{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,id:t.currentToolCallId,type:"function",function:{name:e.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,function:{arguments:e}}]},finish_reason:null}]}:null}if("response.output_item.done"===n&&o.item?.type==="function_call")return t.toolCallIndex++,null;if("response.completed"===n){let e=o.response?.usage;if(e&&"object"==typeof e){let n=e.input_tokens||e.prompt_tokens||0,o=e.output_tokens||e.completion_tokens||0,s=e.cache_read_input_tokens||0,r=e.cache_creation_input_tokens||0,i=n+s+r;t.usage={prompt_tokens:i,completion_tokens:o,total_tokens:i+o},(s>0||r>0)&&(t.usage.prompt_tokens_details={},s>0&&(t.usage.prompt_tokens_details.cached_tokens=s),r>0&&(t.usage.prompt_tokens_details.cache_creation_tokens=r))}if(!t.finishReasonSent){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0?"tool_calls":"stop";t.finishReason=e;let n={id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e}]};return t.usage&&"object"==typeof t.usage&&(n.usage=t.usage),n}}return null}),(0,_.register)(t.FORMATS.KIRO,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;if("chat.completion.chunk"===e.object&&e.choices)return e;let n=e;if("string"==typeof e){let t=e.split("\n"),o="",s="";for(let e of t)e.startsWith("event:")?o=e.slice(6).trim():e.startsWith(":event-type:")?o=e.slice(12).trim():e.startsWith("data:")?s=e.slice(5).trim():e.startsWith(":content-type:")||e.trim()&&!e.startsWith(":")&&(s=e.trim());if(!s)return null;try{(n=JSON.parse(s))._eventType=o}catch{n={text:s,_eventType:o}}}t.responseId||(t.responseId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.chunkIndex=0);let o=n._eventType||n.event||"";if("assistantResponseEvent"===o||n.assistantResponseEvent){let e=n.assistantResponseEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:e},finish_reason:null}]};return t.chunkIndex++,o}if("reasoningContentEvent"===o||n.reasoningContentEvent){let e=n.reasoningContentEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:`<thinking>${e}</thinking>`},finish_reason:null}]};return t.chunkIndex++,o}if("toolUseEvent"===o||n.toolUseEvent){let e=n.toolUseEvent||n,o=e.toolUseId||`call_${Date.now()}`,s=e.name||"",r=e.input||{},i={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:o,type:"function",function:{name:s,arguments:JSON.stringify(r)}}]},finish_reason:null}]};return t.chunkIndex++,i}if("messageStopEvent"===o||"done"===o||n.messageStopEvent){t.finishReason="stop";let e={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return t.usage&&"object"==typeof t.usage&&(e.usage=t.usage),e}if("usageEvent"===o||n.usageEvent){let e=n.usageEvent||n;e&&"object"==typeof e&&(t.usage={prompt_tokens:e.inputTokens||0,completion_tokens:e.outputTokens||0,total_tokens:(e.inputTokens||0)+(e.outputTokens||0)})}return null}),(0,_.register)(t.FORMATS.CURSOR,t.FORMATS.OPENAI,null,function(e,t){return e?("chat.completion.chunk"===e.object&&e.choices||"chat.completion"===e.object&&e.choices,e):null});var en=e.i(85713),eo=e.i(384094);let es=new Set([]),er=["glm-","ernie-"];function ei(e){return"string"==typeof e?e:Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e&&"type"in e&&"text"===e.type).map(e=>"string"==typeof e.text?e.text:"").join("\n"):""}function el(e,t,n,o,s){if(!Array.isArray(e))return e;let r=Array.isArray(e)&&("openai"!==o||!1===s)?e.map(e=>e&&"object"==typeof e&&"developer"===("string"==typeof e.role?e.role:"").toLowerCase()?{...e,role:"system"}:e):e;return function(e,t,n){if(!Array.isArray(e)||0===e.length||function(e,t){if(es.has(e))return!1;let n=(t||"").toLowerCase();for(let e of er)if(n.startsWith(e))return!1;return!0}(t,n))return e;let o=e.filter(e=>"system"===e.role||"developer"===e.role);if(0===o.length)return e;let s=o.map(e=>ei(e.content)).filter(Boolean).join("\n\n");if(!s)return e.filter(e=>"system"!==e.role&&"developer"!==e.role);let r=e.filter(e=>"system"!==e.role&&"developer"!==e.role),i=r.findIndex(e=>"user"===e.role);if(i>=0){let e=r[i],t=ei(e.content);r[i]={...e,content:`[System Instructions]
|
|
13
13
|
${s}
|
|
14
14
|
|
|
15
15
|
[User Message]
|
|
@@ -12,6 +12,6 @@ module.exports=[400722,e=>{"use strict";var t=e.i(157763),n=e.i(461145),o=e.i(23
|
|
|
12
12
|
ORDER BY timestamp DESC
|
|
13
13
|
LIMIT @maxRows
|
|
14
14
|
`).all({sinceIso:u,maxRows:s}),p=new Map;for(let e of l){let t=a(e.provider),n=a(e.model);if(!t||!n)continue;let o=`${t}/${n}`;p.has(o)||p.set(o,{provider:t,model:n,totalRequests:0,successfulRequests:0,successfulLatencies:[],allLatencies:[]});let s=p.get(o);if(!s)continue;s.totalRequests+=1;let r=0!==i(e.success);r&&(s.successfulRequests+=1);let c=i(e.latency_ms);c>0&&(s.allLatencies.push(c),r&&s.successfulLatencies.push(c))}let m={};for(let[e,t]of p.entries()){let s=t.successfulLatencies.length>=o?t.successfulLatencies:t.allLatencies;if(s.length<o)continue;let r=[...s].sort((e,t)=>e-t),a=r.reduce((e,t)=>e+t,0)/r.length,i=t.totalRequests>0?t.successfulRequests/t.totalRequests:0;m[e]={provider:t.provider,model:t.model,key:e,totalRequests:t.totalRequests,successfulRequests:t.successfulRequests,successRate:i,avgLatencyMs:Math.round(a),p50LatencyMs:Math.round(c(r,.5)),p95LatencyMs:Math.round(c(r,.95)),p99LatencyMs:Math.round(c(r,.99)),latencyStdDev:Math.round(function(e,t){return e.length<=1?0:Math.sqrt(Math.max(0,e.reduce((e,n)=>e+(n-t)**2,0)/e.length))}(r,a)),windowHours:n}}return m}async function b({model:t,provider:i,connectionId:c,tokens:u,status:l}){if(n.shouldPersistToDisk)try{let p=function(e=new Date){let t=e=>String(e).padStart(2,"0"),n=t(e.getDate()),o=t(e.getMonth()+1),s=e.getFullYear(),r=t(e.getHours()),a=t(e.getMinutes()),i=t(e.getSeconds());return`${n}-${o}-${s} ${r}:${a}:${i}`}(),m=i?.toUpperCase()||"-",d=c?c.slice(0,8):"-";try{let{getProviderConnections:t}=await e.A(605589),n=(await t()).find(e=>r(e).id===c);if(n){let e=r(n);d=a(e.name)||a(e.email)||d}}catch{}let y=u?(0,o.getLoggedInputTokens)(u):"-",g=u?(0,o.getLoggedOutputTokens)(u):"-",b=`${p} | ${t||"-"} | ${m} | ${d} | ${y} | ${g} | ${l}
|
|
15
|
-
`;s.default.appendFileSync(n.LOG_FILE,b);let f=s.default.readFileSync(n.LOG_FILE,"utf-8").trim().split("\n");f.length>200&&s.default.writeFileSync(n.LOG_FILE,f.slice(-200).join("\n")+"\n")}catch(e){console.error("Failed to append to log.txt:",e.message)}}async function f(e=200){if(!n.shouldPersistToDisk||!s.default||"function"!=typeof s.default.existsSync||!n.LOG_FILE||!s.default.existsSync(n.LOG_FILE))return[];try{return s.default.readFileSync(n.LOG_FILE,"utf-8").trim().split("\n").slice(-e).reverse()}catch(e){return console.error("[usageDb] Failed to read log.txt:",e.message),[]}}e.s(["appendRequestLog",()=>b,"getModelLatencyStats",()=>g,"getPendingRequests",()=>p,"getRecentLogs",()=>f,"getUsageDb",()=>m,"getUsageHistory",()=>y,"saveRequestUsage",()=>d,"trackPendingRequest",()=>l])},
|
|
15
|
+
`;s.default.appendFileSync(n.LOG_FILE,b);let f=s.default.readFileSync(n.LOG_FILE,"utf-8").trim().split("\n");f.length>200&&s.default.writeFileSync(n.LOG_FILE,f.slice(-200).join("\n")+"\n")}catch(e){console.error("Failed to append to log.txt:",e.message)}}async function f(e=200){if(!n.shouldPersistToDisk||!s.default||"function"!=typeof s.default.existsSync||!n.LOG_FILE||!s.default.existsSync(n.LOG_FILE))return[];try{return s.default.readFileSync(n.LOG_FILE,"utf-8").trim().split("\n").slice(-e).reverse()}catch(e){return console.error("[usageDb] Failed to read log.txt:",e.message),[]}}e.s(["appendRequestLog",()=>b,"getModelLatencyStats",()=>g,"getPendingRequests",()=>p,"getRecentLogs",()=>f,"getUsageDb",()=>m,"getUsageHistory",()=>y,"saveRequestUsage",()=>d,"trackPendingRequest",()=>l])},15844,e=>{"use strict";function t(e,n=0){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:n}return n}async function n(n,o,s){if(!s||!n||!o)return 0;try{let{getPricingForModel:r}=await e.A(605589),a=await r(n,o);if(!a){let e=function(e){if(!e||!e.includes("/"))return e;let t=e.split("/");return t[t.length-1]}(o);e!==o&&(a=await r(n,e))}if(!a)return 0;let i=a&&"object"==typeof a&&!Array.isArray(a)?a:{},c=t(i.input,0),u=t(i.cached,c),l=t(i.output,0),p=t(i.reasoning,l),m=t(i.cache_creation,c),d=0,y=s.input??s.prompt_tokens??s.input_tokens??0,g=s.cacheRead??s.cached_tokens??s.cache_read_input_tokens??0,b=Math.max(0,y-g);d+=c/1e6*b,g>0&&(d+=u/1e6*g);let f=s.output??s.completion_tokens??s.output_tokens??0;d+=l/1e6*f;let k=s.reasoning??s.reasoning_tokens??0;k>0&&(d+=p/1e6*k);let _=s.cacheCreation??s.cache_creation_input_tokens??0;return _>0&&(d+=m/1e6*_),d}catch(e){return console.error("Error calculating cost:",e),0}}e.s(["calculateCost",()=>n])},312125,897114,e=>{"use strict";e.i(461145);var t=e.i(400722),n=e.i(15844),o=e.i(157763),s=e.i(662636);function r(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function a(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:0}return 0}function i(e){return"string"==typeof e?e:""}async function c(){let c=(0,o.getDbInstance)().prepare("SELECT * FROM usage_history ORDER BY timestamp ASC").all(),{getProviderConnections:u}=await e.A(605589),l=[];try{let e=await u();l=Array.isArray(e)?e:[]}catch{}let p={};for(let e of l){let t=r(e),n=i(t.id);n&&(p[n]=i(t.name)||i(t.email)||n)}let m=(0,t.getPendingRequests)(),d={totalRequests:c.length,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},last10Minutes:[],pending:m,activeRequests:[]};for(let[e,t]of Object.entries(m.byAccount))for(let[n,o]of Object.entries(t))if(o>0){let t=p[e]||(0,s.getAccountDisplayName)({id:e}),r=n.match(/^(.*) \((.*)\)$/);d.activeRequests.push({model:r?r[1]:n,provider:r?r[2]:"unknown",account:t,count:o})}let y=new Date,g=new Date(6e4*Math.floor(y.getTime()/6e4)),b={};for(let e=0;e<10;e++){let t=new Date(g.getTime()-(9-e)*6e4).getTime();b[t]={requests:0,promptTokens:0,completionTokens:0,cost:0},d.last10Minutes.push(b[t])}let f=new Date(g.getTime()-54e4);for(let e of c){let t=r(e),o=i(t.provider)||"unknown",c=i(t.model)||"unknown",u=i(t.timestamp)||new Date(0).toISOString(),l=i(t.connection_id)||null,m=i(t.api_key_id)||null,g=i(t.api_key_name)||null,k=a(t.tokens_input),_=a(t.tokens_output),h=new Date(u),M={input:a(t.tokens_input),output:a(t.tokens_output),cacheRead:a(t.tokens_cache_read),cacheCreation:a(t.tokens_cache_creation),reasoning:a(t.tokens_reasoning)},T=await (0,n.calculateCost)(o,c,M);if(d.totalPromptTokens+=k,d.totalCompletionTokens+=_,d.totalCost+=T,h>=f&&h<=y){let e=6e4*Math.floor(h.getTime()/6e4);b[e]&&(b[e].requests++,b[e].promptTokens+=k,b[e].completionTokens+=_,b[e].cost+=T)}d.byProvider[o]||(d.byProvider[o]={requests:0,promptTokens:0,completionTokens:0,cost:0}),d.byProvider[o].requests++,d.byProvider[o].promptTokens+=k,d.byProvider[o].completionTokens+=_,d.byProvider[o].cost+=T;let D=`${c} (${o})`;if(d.byModel[D]||(d.byModel[D]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:c,provider:o,lastUsed:u}),d.byModel[D].requests++,d.byModel[D].promptTokens+=k,d.byModel[D].completionTokens+=_,d.byModel[D].cost+=T,new Date(u)>new Date(d.byModel[D].lastUsed)&&(d.byModel[D].lastUsed=u),l){let e=p[l]||(0,s.getAccountDisplayName)({id:l}),t=`${c} (${o} - ${e})`;d.byAccount[t]||(d.byAccount[t]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:c,provider:o,connectionId:l,accountName:e,lastUsed:u}),d.byAccount[t].requests++,d.byAccount[t].promptTokens+=k,d.byAccount[t].completionTokens+=_,d.byAccount[t].cost+=T,new Date(u)>new Date(d.byAccount[t].lastUsed)&&(d.byAccount[t].lastUsed=u)}if(m||g){let e=g||m||"unknown",t=m||null,n=t?`${e} (${t})`:e;d.byApiKey[n]||(d.byApiKey[n]={requests:0,promptTokens:0,completionTokens:0,cost:0,apiKeyId:t,apiKeyName:e,lastUsed:u}),d.byApiKey[n].requests++,d.byApiKey[n].promptTokens+=k,d.byApiKey[n].completionTokens+=_,d.byApiKey[n].cost+=T,new Date(u)>new Date(d.byApiKey[n].lastUsed)&&(d.byApiKey[n].lastUsed=u)}}return d}e.s(["getUsageStats",()=>c],897114),e.i(397506),e.s([],312125)}];
|
|
16
16
|
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=src_lib_2ef733b9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[918622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),342602,(a,b,c)=>{"use strict";b.exports=a.r(918622)},187924,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactJsxRuntime},572131,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].React},804730,a=>{a.v({name:"omniroute",version:"3.1.
|
|
1
|
+
module.exports=[918622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),342602,(a,b,c)=>{"use strict";b.exports=a.r(918622)},187924,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactJsxRuntime},572131,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].React},804730,a=>{a.v({name:"omniroute",version:"3.1.10",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"node scripts/build-next-isolated.mjs","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"c8 --exclude=tests/** --exclude=**/*.test.* --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov --check-coverage --statements 55 --lines 55 --functions 55 --branches 60 node --import tsx/esm --test tests/unit/*.test.mjs","test:coverage:legacy":"c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","coverage:report":"c8 report --exclude=tests/** --exclude=**/*.test.* --reporter=text --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov","coverage:report:legacy":"c8 report --exclude=open-sse --reporter=text --reporter=text-summary","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@lobehub/icons":"^5.0.1","@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0","@swc/helpers":"0.5.19",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3",keytar:"^7.9.0",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.0.10","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",zod:"^4.3.6",zustand:"^5.0.10"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/keytar":"^4.4.0","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3",c8:"^11.0.0",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"^16.0.10",husky:"^9.1.7","lint-staged":"^16.2.7",prettier:"^3.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]},overrides:{dompurify:"^3.3.2"}})},588788,a=>{"use strict";var b=a.i(32886),c=a.i(187924);function d({locale:a,...d}){if(!a)throw Error(void 0);return(0,c.jsx)(b.IntlProvider,{locale:a,...d})}a.s(["default",()=>d])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__9ef96d20._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),804730,a=>{a.v({name:"omniroute",version:"3.1.
|
|
1
|
+
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),804730,a=>{a.v({name:"omniroute",version:"3.1.10",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"node scripts/build-next-isolated.mjs","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"c8 --exclude=tests/** --exclude=**/*.test.* --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov --check-coverage --statements 55 --lines 55 --functions 55 --branches 60 node --import tsx/esm --test tests/unit/*.test.mjs","test:coverage:legacy":"c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","coverage:report":"c8 report --exclude=tests/** --exclude=**/*.test.* --reporter=text --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov","coverage:report:legacy":"c8 report --exclude=open-sse --reporter=text --reporter=text-summary","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@lobehub/icons":"^5.0.1","@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0","@swc/helpers":"0.5.19",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3",keytar:"^7.9.0",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.0.10","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",zod:"^4.3.6",zustand:"^5.0.10"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/keytar":"^4.4.0","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3",c8:"^11.0.0",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"^16.0.10",husky:"^9.1.7","lint-staged":"^16.2.7",prettier:"^3.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]},overrides:{dompurify:"^3.3.2"}})},569264,a=>{a.n(a.i(354832))},650645,a=>{a.n(a.i(827572))},923576,a=>{a.n(a.i(104858))},825210,a=>{a.n(a.i(402747))},517537,a=>{a.n(a.i(903363))},13718,a=>{a.n(a.i(47967))},118198,a=>{a.n(a.i(545518))},296736,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},500790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(211857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},784707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(211857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},297647,a=>{"use strict";a.i(500790);var b=a.i(784707);a.n(b)},395936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(296736),g=a.r(907997),h=f._(a.r(297647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},330878,a=>{"use strict";var b=a.i(800717),c=a.i(118845),d=a.i(40953),e=(0,b.cache)(function(a,b){return function({_cache:a=(0,c.b)(),_formatters:b=(0,c.c)(a),getMessageFallback:e=d.d,messages:f,namespace:g,onError:h=d.b,...i}){return function({messages:a,namespace:b,...c},e){return a=a["!"],b=(0,d.r)(b,"!"),(0,d.a)({...c,messages:a,namespace:b})}({...i,onError:h,cache:a,formatters:b,getMessageFallback:e,messages:{"!":f},namespace:g?`!.${g}`:"!"},0)}({...a,namespace:b})});a.s(["default",()=>e],330878)},442979,a=>{"use strict";var b=a.i(330878),c=a.i(767228),d=a.i(800717)["use".trim()];function e(...[a]){let f=function(a){var b=(0,c.default)();try{return d(b)}catch(b){throw b instanceof TypeError&&b.message.includes("Cannot read properties of null (reading 'use')")?Error(`\`${a}\` is not callable within an async component. Please refer to https://next-intl.dev/docs/environments/server-client-components#async-components`,{cause:b}):b}}("useTranslations");return(0,b.default)(f,a)}a.s(["useTranslations",()=>e],442979)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__a6942102._.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/ad127912b31cdc66.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"ViewportBoundary\"]\n9:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"MetadataBoundary\"]\nb:I[168027,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--jzcx_xYQec4FcMNBxRHI4--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/ad127912b31cdc66.js"/><script src="/_next/static/chunks/3dd6d23a48e5d078.js" async=""></script><script src="/_next/static/chunks/4fa395d360c87cc3.js" async=""></script><script src="/_next/static/chunks/b133d1854532ff8c.js" async=""></script><script src="/_next/static/chunks/c88fcc5f8b21ff92.js" async=""></script><script src="/_next/static/chunks/turbopack-782b2fac4674487a.js" async=""></script><script src="/_next/static/chunks/d96012bcfc98706a.js" async=""></script><script src="/_next/static/chunks/16ea27c3b926bc31.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/ad127912b31cdc66.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"ViewportBoundary\"]\n9:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"MetadataBoundary\"]\nb:I[168027,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"jzcx_xYQec4FcMNBxRHI4\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d96012bcfc98706a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/16ea27c3b926bc31.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"g6hLz1fCXqW0zW2a7BvOU4mE1OFdIN79zXPqYTTN3cM=\"\n}"
|