@augmentcode/onison 1.1.0-prerelease.202608110224 → 1.1.0-prerelease.202608110824
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/auggie-v2.mjs +4 -4
- package/package.json +1 -1
package/auggie-v2.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as Ek6}from"node:module";var wk6=Object.create;var{getPrototypeOf:Dk6,defineProperty:_40,getOwnPropertyNames:_k6}=Object;var Fk6=Object.prototype.hasOwnProperty;function Mk6(A){return this[A]}var Nk6,Ok6,iA=(A,Q,B)=>{var J=A!=null&&typeof A==="object";if(J){var $=Q?Nk6??=new WeakMap:Ok6??=new WeakMap,Y=$.get(A);if(Y)return Y}B=A!=null?wk6(Dk6(A)):{};let X=Q||!A||!A.__esModule?_40(B,"default",{value:A,enumerable:!0}):B;for(let W of _k6(A))if(!Fk6.call(X,W))_40(X,W,{get:Mk6.bind(A,W),enumerable:!0});if(J)$.set(A,X);return X};var c=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var qk6=(A)=>A;function Lk6(A,Q){this[A]=qk6.bind(null,Q)}var $5=(A,Q)=>{for(var B in Q)_40(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:Lk6.bind(Q,B)})};var C=(A,Q)=>()=>(A&&(Q=A(A=0)),Q);var H0=Ek6(import.meta.url);var _Z={};$5(_Z,{IsUndefined:()=>XY,IsUint8Array:()=>eI,IsSymbol:()=>q40,IsString:()=>E7,IsRegExp:()=>$71,IsObject:()=>yQ,IsNumber:()=>BK,IsNull:()=>O40,IsIterator:()=>N40,IsFunction:()=>M40,IsDate:()=>ah,IsBoolean:()=>sq,IsBigInt:()=>J71,IsAsyncIterator:()=>F40,IsArray:()=>YY,HasPropertyKey:()=>BE1});function BE1(A,Q){return Q in A}function F40(A){return yQ(A)&&!YY(A)&&!eI(A)&&Symbol.asyncIterator in A}function YY(A){return Array.isArray(A)}function J71(A){return typeof A==="bigint"}function sq(A){return typeof A==="boolean"}function ah(A){return A instanceof globalThis.Date}function M40(A){return typeof A==="function"}function N40(A){return yQ(A)&&!YY(A)&&!eI(A)&&Symbol.iterator in A}function O40(A){return A===null}function BK(A){return typeof A==="number"}function yQ(A){return typeof A==="object"&&A!==null}function $71(A){return A instanceof globalThis.RegExp}function E7(A){return typeof A==="string"}function q40(A){return typeof A==="symbol"}function eI(A){return A instanceof globalThis.Uint8Array}function XY(A){return A===void 0}function Ck6(A){return A.map((Q)=>JE1(Q))}function Ik6(A){return new Date(A.getTime())}function Rk6(A){return new Uint8Array(A)}function jk6(A){return new RegExp(A.source,A.flags)}function Tk6(A){let Q={};for(let B of Object.getOwnPropertyNames(A))Q[B]=JE1(A[B]);for(let B of Object.getOwnPropertySymbols(A))Q[B]=JE1(A[B]);return Q}function JE1(A){return YY(A)?Ck6(A):ah(A)?Ik6(A):eI(A)?Rk6(A):$71(A)?jk6(A):yQ(A)?Tk6(A):A}function zB(A){return JE1(A)}var JK=()=>{};function Pk6(A){return A.map((Q)=>Yk(Q))}function Yk(A,Q){return Q===void 0?zB(A):zB({...Q,...A})}var $E1=C(()=>{JK()});var L40=C(()=>{$E1();JK()});function YE1(A){return a5(A)&&globalThis.Symbol.asyncIterator in A}function XE1(A){return a5(A)&&globalThis.Symbol.iterator in A}function E40(A){return a5(A)&&(globalThis.Object.getPrototypeOf(A)===Object.prototype||globalThis.Object.getPrototypeOf(A)===null)}function WE1(A){return A instanceof globalThis.Promise}function jU(A){return A instanceof Date&&globalThis.Number.isFinite(A.getTime())}function MGA(A){return A instanceof globalThis.Map}function NGA(A){return A instanceof globalThis.Set}function FD(A){return globalThis.ArrayBuffer.isView(A)}function vo(A){return A instanceof globalThis.Uint8Array}function Y5(A,Q){return Q in A}function a5(A){return A!==null&&typeof A==="object"}function n4(A){return globalThis.Array.isArray(A)&&!globalThis.ArrayBuffer.isView(A)}function qB(A){return A===void 0}function AR(A){return A===null}function tq(A){return typeof A==="boolean"}function q4(A){return typeof A==="number"}function ZE1(A){return globalThis.Number.isInteger(A)}function FZ(A){return typeof A==="bigint"}function k3(A){return typeof A==="string"}function Xk(A){return typeof A==="function"}function QR(A){return typeof A==="symbol"}function UV(A){return FZ(A)||tq(A)||AR(A)||q4(A)||k3(A)||QR(A)||qB(A)}var kY=()=>{};var KB;var Y71=C(()=>{kY();(function(A){A.InstanceMode="default",A.ExactOptionalPropertyTypes=!1,A.AllowArrayObject=!1,A.AllowNaN=!1,A.AllowNullVoid=!1;function Q(X,W){return A.ExactOptionalPropertyTypes?W in X:X[W]!==void 0}A.IsExactOptionalProperty=Q;function B(X){let W=a5(X);return A.AllowArrayObject?W:W&&!n4(X)}A.IsObjectLike=B;function J(X){return B(X)&&!(X instanceof Date)&&!(X instanceof Uint8Array)}A.IsRecordLike=J;function $(X){return A.AllowNaN?q4(X):Number.isFinite(X)}A.IsNumberLike=$;function Y(X){let W=qB(X);return A.AllowNullVoid?W||X===null:W}A.IsVoidLike=Y})(KB||(KB={}))});function Sk6(A){return globalThis.Object.freeze(A).map((Q)=>X71(Q))}function kk6(A){return A}function bk6(A){return A}function xk6(A){return A}function vk6(A){let Q={};for(let B of Object.getOwnPropertyNames(A))Q[B]=X71(A[B]);for(let B of Object.getOwnPropertySymbols(A))Q[B]=X71(A[B]);return globalThis.Object.freeze(Q)}function X71(A){return YY(A)?Sk6(A):ah(A)?kk6(A):eI(A)?bk6(A):$71(A)?xk6(A):yQ(A)?vk6(A):A}var OGA=()=>{};function x2(A,Q){let B=Q!==void 0?{...Q,...A}:A;switch(KB.InstanceMode){case"freeze":return X71(B);case"clone":return zB(B);default:return B}}var h4=C(()=>{Y71();OGA();JK()});var BR=C(()=>{h4()});var m4;var C40=C(()=>{m4=class m4 extends Error{constructor(A){super(A)}}});var oB=C(()=>{C40()});var LB,MD,zW,TU,E2;var W71=C(()=>{LB=Symbol.for("TypeBox.Transform"),MD=Symbol.for("TypeBox.Readonly"),zW=Symbol.for("TypeBox.Optional"),TU=Symbol.for("TypeBox.Hint"),E2=Symbol.for("TypeBox.Kind")});var u6=C(()=>{W71()});var hM={};$5(hM,{IsVoid:()=>jGA,IsUnsafe:()=>RGA,IsUnknown:()=>IGA,IsUnion:()=>F3,IsUndefined:()=>QL,IsUint8Array:()=>CGA,IsTuple:()=>XK,IsTransform:()=>n3,IsThis:()=>EGA,IsTemplateLiteral:()=>YK,IsSymbol:()=>fo,IsString:()=>AL,IsSchema:()=>EB,IsRegExp:()=>zE1,IsRef:()=>xJ,IsRecursive:()=>uk6,IsRecord:()=>zk,IsReadonly:()=>oh,IsProperties:()=>fk6,IsPromise:()=>Uk,IsOptional:()=>PU,IsObject:()=>X$,IsNumber:()=>CD,IsNull:()=>yo,IsNot:()=>LGA,IsNever:()=>JR,IsMappedResult:()=>HB,IsMappedKey:()=>$K,IsLiteralValue:()=>Z71,IsLiteralString:()=>gk6,IsLiteralNumber:()=>hk6,IsLiteralBoolean:()=>mk6,IsLiteral:()=>MZ,IsKindOf:()=>h8,IsKind:()=>$R,IsIterator:()=>Gk,IsIntersect:()=>rB,IsInteger:()=>ED,IsImport:()=>yk6,IsFunction:()=>LD,IsDate:()=>qGA,IsConstructor:()=>qD,IsComputed:()=>OD,IsBoolean:()=>eq,IsBigInt:()=>Zk,IsAsyncIterator:()=>Wk,IsArray:()=>ND,IsArgument:()=>UE1,IsAny:()=>GE1});function oh(A){return yQ(A)&&A[MD]==="Readonly"}function PU(A){return yQ(A)&&A[zW]==="Optional"}function GE1(A){return h8(A,"Any")}function UE1(A){return h8(A,"Argument")}function ND(A){return h8(A,"Array")}function Wk(A){return h8(A,"AsyncIterator")}function Zk(A){return h8(A,"BigInt")}function eq(A){return h8(A,"Boolean")}function OD(A){return h8(A,"Computed")}function qD(A){return h8(A,"Constructor")}function qGA(A){return h8(A,"Date")}function LD(A){return h8(A,"Function")}function yk6(A){return h8(A,"Import")}function ED(A){return h8(A,"Integer")}function fk6(A){return yQ(A)}function rB(A){return h8(A,"Intersect")}function Gk(A){return h8(A,"Iterator")}function h8(A,Q){return yQ(A)&&E2 in A&&A[E2]===Q}function gk6(A){return MZ(A)&&E7(A.const)}function hk6(A){return MZ(A)&&BK(A.const)}function mk6(A){return MZ(A)&&sq(A.const)}function Z71(A){return sq(A)||BK(A)||E7(A)}function MZ(A){return h8(A,"Literal")}function $K(A){return h8(A,"MappedKey")}function HB(A){return h8(A,"MappedResult")}function JR(A){return h8(A,"Never")}function LGA(A){return h8(A,"Not")}function yo(A){return h8(A,"Null")}function CD(A){return h8(A,"Number")}function X$(A){return h8(A,"Object")}function Uk(A){return h8(A,"Promise")}function zk(A){return h8(A,"Record")}function uk6(A){return yQ(A)&&TU in A&&A[TU]==="Recursive"}function xJ(A){return h8(A,"Ref")}function zE1(A){return h8(A,"RegExp")}function AL(A){return h8(A,"String")}function fo(A){return h8(A,"Symbol")}function YK(A){return h8(A,"TemplateLiteral")}function EGA(A){return h8(A,"This")}function n3(A){return yQ(A)&&LB in A}function XK(A){return h8(A,"Tuple")}function QL(A){return h8(A,"Undefined")}function F3(A){return h8(A,"Union")}function CGA(A){return h8(A,"Uint8Array")}function IGA(A){return h8(A,"Unknown")}function RGA(A){return h8(A,"Unsafe")}function jGA(A){return h8(A,"Void")}function $R(A){return yQ(A)&&E2 in A&&E7(A[E2])}function EB(A){return GE1(A)||UE1(A)||ND(A)||eq(A)||Zk(A)||Wk(A)||OD(A)||qD(A)||qGA(A)||LD(A)||ED(A)||rB(A)||Gk(A)||MZ(A)||$K(A)||HB(A)||JR(A)||LGA(A)||yo(A)||CD(A)||X$(A)||Uk(A)||zk(A)||xJ(A)||zE1(A)||AL(A)||fo(A)||YK(A)||EGA(A)||XK(A)||QL(A)||F3(A)||CGA(A)||IGA(A)||RGA(A)||jGA(A)||$R(A)}var q8=C(()=>{u6()});var mA={};$5(mA,{TypeGuardUnknownTypeError:()=>TGA,IsVoid:()=>DUA,IsUnsafe:()=>wUA,IsUnknown:()=>VUA,IsUnionLiteral:()=>rk6,IsUnion:()=>j40,IsUndefined:()=>KUA,IsUint8Array:()=>HUA,IsTuple:()=>zUA,IsTransform:()=>UUA,IsThis:()=>GUA,IsTemplateLiteral:()=>ZUA,IsSymbol:()=>WUA,IsString:()=>XUA,IsSchema:()=>CB,IsRegExp:()=>YUA,IsRef:()=>$UA,IsRecursive:()=>ok6,IsRecord:()=>JUA,IsReadonly:()=>lk6,IsProperties:()=>KE1,IsPromise:()=>BUA,IsOptional:()=>ik6,IsObject:()=>QUA,IsNumber:()=>AUA,IsNull:()=>eGA,IsNot:()=>tGA,IsNever:()=>sGA,IsMappedResult:()=>rGA,IsMappedKey:()=>oGA,IsLiteralValue:()=>aGA,IsLiteralString:()=>iGA,IsLiteralNumber:()=>nGA,IsLiteralBoolean:()=>ak6,IsLiteral:()=>U71,IsKindOf:()=>m8,IsKind:()=>_UA,IsIterator:()=>lGA,IsIntersect:()=>cGA,IsInteger:()=>dGA,IsImport:()=>nk6,IsFunction:()=>pGA,IsDate:()=>uGA,IsConstructor:()=>mGA,IsComputed:()=>hGA,IsBoolean:()=>gGA,IsBigInt:()=>fGA,IsAsyncIterator:()=>yGA,IsArray:()=>vGA,IsArgument:()=>xGA,IsAny:()=>bGA});function PGA(A){try{return new RegExp(A),!0}catch{return!1}}function I40(A){if(!E7(A))return!1;for(let Q=0;Q<A.length;Q++){let B=A.charCodeAt(Q);if(B>=7&&B<=13||B===27||B===127)return!1}return!0}function SGA(A){return R40(A)||CB(A)}function G71(A){return XY(A)||J71(A)}function c7(A){return XY(A)||BK(A)}function R40(A){return XY(A)||sq(A)}function G7(A){return XY(A)||E7(A)}function dk6(A){return XY(A)||E7(A)&&I40(A)&&PGA(A)}function ck6(A){return XY(A)||E7(A)&&I40(A)}function kGA(A){return XY(A)||CB(A)}function lk6(A){return yQ(A)&&A[MD]==="Readonly"}function ik6(A){return yQ(A)&&A[zW]==="Optional"}function bGA(A){return m8(A,"Any")&&G7(A.$id)}function xGA(A){return m8(A,"Argument")&&BK(A.index)}function vGA(A){return m8(A,"Array")&&A.type==="array"&&G7(A.$id)&&CB(A.items)&&c7(A.minItems)&&c7(A.maxItems)&&R40(A.uniqueItems)&&kGA(A.contains)&&c7(A.minContains)&&c7(A.maxContains)}function yGA(A){return m8(A,"AsyncIterator")&&A.type==="AsyncIterator"&&G7(A.$id)&&CB(A.items)}function fGA(A){return m8(A,"BigInt")&&A.type==="bigint"&&G7(A.$id)&&G71(A.exclusiveMaximum)&&G71(A.exclusiveMinimum)&&G71(A.maximum)&&G71(A.minimum)&&G71(A.multipleOf)}function gGA(A){return m8(A,"Boolean")&&A.type==="boolean"&&G7(A.$id)}function hGA(A){return m8(A,"Computed")&&E7(A.target)&&YY(A.parameters)&&A.parameters.every((Q)=>CB(Q))}function mGA(A){return m8(A,"Constructor")&&A.type==="Constructor"&&G7(A.$id)&&YY(A.parameters)&&A.parameters.every((Q)=>CB(Q))&&CB(A.returns)}function uGA(A){return m8(A,"Date")&&A.type==="Date"&&G7(A.$id)&&c7(A.exclusiveMaximumTimestamp)&&c7(A.exclusiveMinimumTimestamp)&&c7(A.maximumTimestamp)&&c7(A.minimumTimestamp)&&c7(A.multipleOfTimestamp)}function pGA(A){return m8(A,"Function")&&A.type==="Function"&&G7(A.$id)&&YY(A.parameters)&&A.parameters.every((Q)=>CB(Q))&&CB(A.returns)}function nk6(A){return m8(A,"Import")&&BE1(A,"$defs")&&yQ(A.$defs)&&KE1(A.$defs)&&BE1(A,"$ref")&&E7(A.$ref)&&A.$ref in A.$defs}function dGA(A){return m8(A,"Integer")&&A.type==="integer"&&G7(A.$id)&&c7(A.exclusiveMaximum)&&c7(A.exclusiveMinimum)&&c7(A.maximum)&&c7(A.minimum)&&c7(A.multipleOf)}function KE1(A){return yQ(A)&&Object.entries(A).every(([Q,B])=>I40(Q)&&CB(B))}function cGA(A){return m8(A,"Intersect")&&(E7(A.type)&&A.type!=="object"?!1:!0)&&YY(A.allOf)&&A.allOf.every((Q)=>CB(Q)&&!UUA(Q))&&G7(A.type)&&(R40(A.unevaluatedProperties)||kGA(A.unevaluatedProperties))&&G7(A.$id)}function lGA(A){return m8(A,"Iterator")&&A.type==="Iterator"&&G7(A.$id)&&CB(A.items)}function m8(A,Q){return yQ(A)&&E2 in A&&A[E2]===Q}function iGA(A){return U71(A)&&E7(A.const)}function nGA(A){return U71(A)&&BK(A.const)}function ak6(A){return U71(A)&&sq(A.const)}function U71(A){return m8(A,"Literal")&&G7(A.$id)&&aGA(A.const)}function aGA(A){return sq(A)||BK(A)||E7(A)}function oGA(A){return m8(A,"MappedKey")&&YY(A.keys)&&A.keys.every((Q)=>BK(Q)||E7(Q))}function rGA(A){return m8(A,"MappedResult")&&KE1(A.properties)}function sGA(A){return m8(A,"Never")&&yQ(A.not)&&Object.getOwnPropertyNames(A.not).length===0}function tGA(A){return m8(A,"Not")&&CB(A.not)}function eGA(A){return m8(A,"Null")&&A.type==="null"&&G7(A.$id)}function AUA(A){return m8(A,"Number")&&A.type==="number"&&G7(A.$id)&&c7(A.exclusiveMaximum)&&c7(A.exclusiveMinimum)&&c7(A.maximum)&&c7(A.minimum)&&c7(A.multipleOf)}function QUA(A){return m8(A,"Object")&&A.type==="object"&&G7(A.$id)&&KE1(A.properties)&&SGA(A.additionalProperties)&&c7(A.minProperties)&&c7(A.maxProperties)}function BUA(A){return m8(A,"Promise")&&A.type==="Promise"&&G7(A.$id)&&CB(A.item)}function JUA(A){return m8(A,"Record")&&A.type==="object"&&G7(A.$id)&&SGA(A.additionalProperties)&&yQ(A.patternProperties)&&((Q)=>{let B=Object.getOwnPropertyNames(Q.patternProperties);return B.length===1&&PGA(B[0])&&yQ(Q.patternProperties)&&CB(Q.patternProperties[B[0]])})(A)}function ok6(A){return yQ(A)&&TU in A&&A[TU]==="Recursive"}function $UA(A){return m8(A,"Ref")&&G7(A.$id)&&E7(A.$ref)}function YUA(A){return m8(A,"RegExp")&&G7(A.$id)&&E7(A.source)&&E7(A.flags)&&c7(A.maxLength)&&c7(A.minLength)}function XUA(A){return m8(A,"String")&&A.type==="string"&&G7(A.$id)&&c7(A.minLength)&&c7(A.maxLength)&&dk6(A.pattern)&&ck6(A.format)}function WUA(A){return m8(A,"Symbol")&&A.type==="symbol"&&G7(A.$id)}function ZUA(A){return m8(A,"TemplateLiteral")&&A.type==="string"&&E7(A.pattern)&&A.pattern[0]==="^"&&A.pattern[A.pattern.length-1]==="$"}function GUA(A){return m8(A,"This")&&G7(A.$id)&&E7(A.$ref)}function UUA(A){return yQ(A)&&LB in A}function zUA(A){return m8(A,"Tuple")&&A.type==="array"&&G7(A.$id)&&BK(A.minItems)&&BK(A.maxItems)&&A.minItems===A.maxItems&&(XY(A.items)&&XY(A.additionalItems)&&A.minItems===0||YY(A.items)&&A.items.every((Q)=>CB(Q)))}function KUA(A){return m8(A,"Undefined")&&A.type==="undefined"&&G7(A.$id)}function rk6(A){return j40(A)&&A.anyOf.every((Q)=>iGA(Q)||nGA(Q))}function j40(A){return m8(A,"Union")&&G7(A.$id)&&yQ(A)&&YY(A.anyOf)&&A.anyOf.every((Q)=>CB(Q))}function HUA(A){return m8(A,"Uint8Array")&&A.type==="Uint8Array"&&G7(A.$id)&&c7(A.minByteLength)&&c7(A.maxByteLength)}function VUA(A){return m8(A,"Unknown")&&G7(A.$id)}function wUA(A){return m8(A,"Unsafe")}function DUA(A){return m8(A,"Void")&&A.type==="void"&&G7(A.$id)}function _UA(A){return yQ(A)&&E2 in A&&E7(A[E2])&&!pk6.includes(A[E2])}function CB(A){return yQ(A)&&(bGA(A)||xGA(A)||vGA(A)||gGA(A)||fGA(A)||yGA(A)||hGA(A)||mGA(A)||uGA(A)||pGA(A)||dGA(A)||cGA(A)||lGA(A)||U71(A)||oGA(A)||rGA(A)||sGA(A)||tGA(A)||eGA(A)||AUA(A)||QUA(A)||BUA(A)||JUA(A)||$UA(A)||YUA(A)||XUA(A)||WUA(A)||ZUA(A)||GUA(A)||zUA(A)||KUA(A)||j40(A)||HUA(A)||VUA(A)||wUA(A)||DUA(A)||_UA(A))}var TGA,pk6;var T40=C(()=>{u6();oB();TGA=class TGA extends m4{};pk6=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"]});var P40=C(()=>{q8();T40()});function sk6(A){return(parseInt(A)+1).toString()}var FUA=()=>{};var S40="(true|false)",z71="(0|[1-9][0-9]*)",k40="(.*)",tk6="(?!.*)",ek6="^(true|false)$",YR="^(0|[1-9][0-9]*)$",XR="^(.*)$",b40="^(?!.*)$";var K71=()=>{};var RG={};$5(RG,{Set:()=>$b6,Has:()=>Jb6,Get:()=>Yb6,Entries:()=>Ab6,Delete:()=>Bb6,Clear:()=>Qb6});function Ab6(){return new Map(go)}function Qb6(){return go.clear()}function Bb6(A){return go.delete(A)}function Jb6(A){return go.has(A)}function $b6(A,Q){go.set(A,Q)}function Yb6(A){return go.get(A)}var go;var MUA=C(()=>{go=new Map});var bY={};$5(bY,{Set:()=>Ub6,Has:()=>Gb6,Get:()=>zb6,Entries:()=>Xb6,Delete:()=>Zb6,Clear:()=>Wb6});function Xb6(){return new Map(ho)}function Wb6(){return ho.clear()}function Zb6(A){return ho.delete(A)}function Gb6(A){return ho.has(A)}function Ub6(A,Q){ho.set(A,Q)}function zb6(A){return ho.get(A)}var ho;var NUA=C(()=>{ho=new Map});var rh=C(()=>{MUA();NUA()});function HE1(A,Q){return A.includes(Q)}function Kb6(A,Q){return A.every((B)=>HE1(Q,B))}function x40(A){return[...new Set(A)]}function OUA(A,Q){return A.filter((B)=>Q.includes(B))}function Hb6(A,Q){return[...A,...Q]}function Vb6(A,Q){return A.filter((B)=>!Q.includes(B))}function wb6(A,Q){return A.reduce((B,J)=>{return OUA(B,J)},Q)}function v40(A){return A.length===1?A[0]:A.length>1?wb6(A.slice(1),A[0]):[]}function y40(A){let Q=[];for(let B of A)Q.push(...B);return Q}var H71=()=>{};function mM(A){return x2({[E2]:"Any"},A)}var qUA=C(()=>{BR();u6()});var mo=C(()=>{qUA()});function WR(A,Q){return x2({[E2]:"Array",type:"array",items:A},Q)}var LUA=C(()=>{h4();u6()});var uo=C(()=>{LUA()});function V71(A){return x2({[E2]:"Argument",index:A})}var EUA=C(()=>{h4();u6()});var VE1=C(()=>{EUA()});function ZR(A,Q){return x2({[E2]:"AsyncIterator",type:"AsyncIterator",items:A},Q)}var CUA=C(()=>{u6();h4()});var po=C(()=>{CUA()});function l7(A,Q,B){return x2({[E2]:"Computed",target:A,parameters:Q},B)}var IUA=C(()=>{BR();W71()});var Kk=C(()=>{IUA()});function Db6(A,Q){let{[Q]:B,...J}=A;return J}function vJ(A,Q){return Q.reduce((B,J)=>Db6(B,J),A)}var GR=()=>{};function o5(A){return x2({[E2]:"Never",not:{}},A)}var RUA=C(()=>{h4();u6()});var WY=C(()=>{RUA()});function _b6(A){return x2({[E2]:"MappedKey",keys:A})}var jUA=C(()=>{h4();u6()});function b3(A){return x2({[E2]:"MappedResult",properties:A})}var f40=C(()=>{h4();u6()});function UR(A,Q,B){return x2({[E2]:"Constructor",type:"Constructor",parameters:A,returns:Q},B)}var TUA=C(()=>{h4();u6()});var co=C(()=>{TUA()});function zV(A,Q,B){return x2({[E2]:"Function",type:"Function",parameters:A,returns:Q},B)}var PUA=C(()=>{h4();u6()});var Hk=C(()=>{PUA()});function w71(A,Q){return x2({[E2]:"Union",anyOf:A},Q)}var g40=C(()=>{h4();u6()});function Fb6(A){return A.some((Q)=>PU(Q))}function SUA(A){return A.map((Q)=>PU(Q)?Mb6(Q):Q)}function Mb6(A){return vJ(A,[zW])}function Nb6(A,Q){return Fb6(A)?MX(w71(SUA(A),Q)):w71(SUA(A),Q)}function uM(A,Q){return A.length===1?x2(A[0],Q):A.length===0?o5(Q):Nb6(A,Q)}var kUA=C(()=>{h4();u6();GR();WY();BL();g40();q8()});var bUA=()=>{};function M3(A,Q){return A.length===0?o5(Q):A.length===1?x2(A[0],Q):w71(A,Q)}var xUA=C(()=>{WY();h4();g40()});var W$=C(()=>{kUA();bUA();xUA()});function Ob6(A){return A.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function h40(A,Q,B){return A[Q]===B&&A.charCodeAt(Q-1)!==92}function zR(A,Q){return h40(A,Q,"(")}function D71(A,Q){return h40(A,Q,")")}function vUA(A,Q){return h40(A,Q,"|")}function qb6(A){if(!(zR(A,0)&&D71(A,A.length-1)))return!1;let Q=0;for(let B=0;B<A.length;B++){if(zR(A,B))Q+=1;if(D71(A,B))Q-=1;if(Q===0&&B!==A.length-1)return!1}return!0}function Lb6(A){return A.slice(1,A.length-1)}function Eb6(A){let Q=0;for(let B=0;B<A.length;B++){if(zR(A,B))Q+=1;if(D71(A,B))Q-=1;if(vUA(A,B)&&Q===0)return!0}return!1}function Cb6(A){for(let Q=0;Q<A.length;Q++)if(zR(A,Q))return!0;return!1}function Ib6(A){let[Q,B]=[0,0],J=[];for(let Y=0;Y<A.length;Y++){if(zR(A,Y))Q+=1;if(D71(A,Y))Q-=1;if(vUA(A,Y)&&Q===0){let X=A.slice(B,Y);if(X.length>0)J.push(sh(X));B=Y+1}}let $=A.slice(B);if($.length>0)J.push(sh($));if(J.length===0)return{type:"const",const:""};if(J.length===1)return J[0];return{type:"or",expr:J}}function Rb6(A){function Q($,Y){if(!zR($,Y))throw new wE1("TemplateLiteralParser: Index must point to open parens");let X=0;for(let W=Y;W<$.length;W++){if(zR($,W))X+=1;if(D71($,W))X-=1;if(X===0)return[Y,W]}throw new wE1("TemplateLiteralParser: Unclosed group parens in expression")}function B($,Y){for(let X=Y;X<$.length;X++)if(zR($,X))return[Y,X];return[Y,$.length]}let J=[];for(let $=0;$<A.length;$++)if(zR(A,$)){let[Y,X]=Q(A,$),W=A.slice(Y,X+1);J.push(sh(W)),$=X}else{let[Y,X]=B(A,$),W=A.slice(Y,X);if(W.length>0)J.push(sh(W));$=X-1}return J.length===0?{type:"const",const:""}:J.length===1?J[0]:{type:"and",expr:J}}function sh(A){return qb6(A)?sh(Lb6(A)):Eb6(A)?Ib6(A):Cb6(A)?Rb6(A):{type:"const",const:Ob6(A)}}function th(A){return sh(A.slice(1,A.length-1))}var wE1;var DE1=C(()=>{oB();wE1=class wE1 extends m4{}});function jb6(A){return A.type==="or"&&A.expr.length===2&&A.expr[0].type==="const"&&A.expr[0].const==="0"&&A.expr[1].type==="const"&&A.expr[1].const==="[1-9][0-9]*"}function Tb6(A){return A.type==="or"&&A.expr.length===2&&A.expr[0].type==="const"&&A.expr[0].const==="true"&&A.expr[1].type==="const"&&A.expr[1].const==="false"}function Pb6(A){return A.type==="const"&&A.const===".*"}function Vk(A){return jb6(A)||Pb6(A)?!1:Tb6(A)?!0:A.type==="and"?A.expr.every((Q)=>Vk(Q)):A.type==="or"?A.expr.every((Q)=>Vk(Q)):A.type==="const"?!0:(()=>{throw new m40("Unknown expression type")})()}function _71(A){let Q=th(A.pattern);return Vk(Q)}var m40;var u40=C(()=>{DE1();oB();m40=class m40 extends m4{}});function*yUA(A){if(A.length===1)return yield*A[0];for(let Q of A[0])for(let B of yUA(A.slice(1)))yield`${Q}${B}`}function*Sb6(A){return yield*yUA(A.expr.map((Q)=>[...lo(Q)]))}function*kb6(A){for(let Q of A.expr)yield*lo(Q)}function*bb6(A){return yield A.const}function*lo(A){return A.type==="and"?yield*Sb6(A):A.type==="or"?yield*kb6(A):A.type==="const"?yield*bb6(A):(()=>{throw new p40("Unknown expression")})()}function eh(A){let Q=th(A.pattern);return Vk(Q)?[...lo(Q)]:[]}var p40;var d40=C(()=>{u40();DE1();oB();p40=class p40 extends m4{}});function b8(A,Q){return x2({[E2]:"Literal",const:A,type:typeof A},Q)}var fUA=C(()=>{h4();u6()});var jG=C(()=>{fUA()});function Am(A){return x2({[E2]:"Boolean",type:"boolean"},A)}var gUA=C(()=>{u6();BR()});var F71=C(()=>{gUA()});function KR(A){return x2({[E2]:"BigInt",type:"bigint"},A)}var hUA=C(()=>{u6();BR()});var io=C(()=>{hUA()});function SU(A){return x2({[E2]:"Number",type:"number"},A)}var mUA=C(()=>{h4();u6()});var wk=C(()=>{mUA()});function KW(A){return x2({[E2]:"String",type:"string"},A)}var uUA=C(()=>{h4();u6()});var Dk=C(()=>{uUA()});function*xb6(A){let Q=A.trim().replace(/"|'/g,"");return Q==="boolean"?yield Am():Q==="number"?yield SU():Q==="bigint"?yield KR():Q==="string"?yield KW():yield(()=>{let B=Q.split("|").map((J)=>b8(J.trim()));return B.length===0?o5():B.length===1?B[0]:uM(B)})()}function*vb6(A){if(A[1]!=="{"){let Q=b8("$"),B=c40(A.slice(1));return yield*[Q,...B]}for(let Q=2;Q<A.length;Q++)if(A[Q]==="}"){let B=xb6(A.slice(2,Q)),J=c40(A.slice(Q+1));return yield*[...B,...J]}yield b8(A)}function*c40(A){for(let Q=0;Q<A.length;Q++)if(A[Q]==="$"){let B=b8(A.slice(0,Q)),J=vb6(A.slice(Q));return yield*[B,...J]}yield b8(A)}function l40(A){return[...c40(A)]}var i40=C(()=>{jG();F71();io();wk();Dk();W$();WY()});function yb6(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pUA(A,Q){return YK(A)?A.pattern.slice(1,A.pattern.length-1):F3(A)?`(${A.anyOf.map((B)=>pUA(B,Q)).join("|")})`:CD(A)?`${Q}${z71}`:ED(A)?`${Q}${z71}`:Zk(A)?`${Q}${z71}`:AL(A)?`${Q}${k40}`:MZ(A)?`${Q}${yb6(A.const.toString())}`:eq(A)?`${Q}${S40}`:(()=>{throw new n40(`Unexpected Kind '${A[E2]}'`)})()}function _E1(A){return`^${A.map((Q)=>pUA(Q,"")).join("")}$`}var n40;var a40=C(()=>{K71();u6();oB();q8();n40=class n40 extends m4{}});function _k(A){let B=eh(A).map((J)=>b8(J));return uM(B)}var dUA=C(()=>{W$();jG();d40()});function Qm(A,Q){let B=E7(A)?_E1(l40(A)):_E1(A);return x2({[E2]:"TemplateLiteral",type:"string",pattern:B},Q)}var cUA=C(()=>{h4();i40();a40();u6()});var pM=C(()=>{u40();d40();i40();DE1();a40();dUA();cUA()});function fb6(A){return eh(A).map((B)=>B.toString())}function gb6(A){let Q=[];for(let B of A)Q.push(...kU(B));return Q}function hb6(A){return[A.toString()]}function kU(A){return[...new Set(YK(A)?fb6(A):F3(A)?gb6(A.anyOf):MZ(A)?hb6(A.const):CD(A)?["[number]"]:ED(A)?["[number]"]:[])]}var FE1=C(()=>{pM();q8()});function mb6(A,Q,B){let J={};for(let $ of Object.getOwnPropertyNames(Q))J[$]=dM(A,kU(Q[$]),B);return J}function ub6(A,Q,B){return mb6(A,Q.properties,B)}function o40(A,Q,B){let J=ub6(A,Q,B);return b3(J)}var r40=C(()=>{xY();FE1();cM()});function iUA(A,Q){return A.map((B)=>s40(B,Q))}function pb6(A){return A.filter((Q)=>!JR(Q))}function db6(A,Q){return M71(pb6(iUA(A,Q)))}function cb6(A){return A.some((Q)=>JR(Q))?[]:A}function lb6(A,Q){return uM(cb6(iUA(A,Q)))}function ib6(A,Q){return Q in A?A[Q]:Q==="[number]"?uM(A):o5()}function nb6(A,Q){return Q==="[number]"?A:o5()}function ab6(A,Q){return Q in A?A[Q]:o5()}function s40(A,Q){return rB(A)?db6(A.allOf,Q):F3(A)?lb6(A.anyOf,Q):XK(A)?ib6(A.items??[],Q):ND(A)?nb6(A.items,Q):X$(A)?ab6(A.properties,Q):o5()}function no(A,Q){return Q.map((B)=>s40(A,B))}function lUA(A,Q){return uM(no(A,Q))}function ob6(A,Q){return l7("Index",[A,Q])}function dM(A,Q,B){if(xJ(A)||xJ(Q)){if(!EB(A)||!EB(Q))throw new m4("Index types using Ref parameters require both Type and Key to be of TSchema");return l7("Index",[A,Q])}if(HB(Q))return o40(A,Q,B);if($K(Q))return t40(A,Q,B);return x2(EB(Q)?lUA(A,kU(Q)):lUA(A,Q),B)}var ME1=C(()=>{h4();oB();Kk();WY();KV();W$();FE1();e40();r40();q8()});function rb6(A,Q,B){return{[Q]:dM(A,[Q],zB(B))}}function sb6(A,Q,B){return Q.reduce((J,$)=>{return{...J,...rb6(A,$,B)}},{})}function tb6(A,Q,B){return sb6(A,Q.keys,B)}function t40(A,Q,B){let J=tb6(A,Q,B);return b3(J)}var e40=C(()=>{ME1();xY();JK()});var cM=C(()=>{e40();r40();FE1();ME1()});function HR(A,Q){return x2({[E2]:"Iterator",type:"Iterator",items:A},Q)}var nUA=C(()=>{h4();u6()});var ao=C(()=>{nUA()});function eb6(A){return globalThis.Object.keys(A).filter((Q)=>!PU(A[Q]))}function Ax6(A,Q){let B=eb6(A),J=B.length>0?{[E2]:"Object",type:"object",required:B,properties:A}:{[E2]:"Object",type:"object",properties:A};return x2(J,Q)}var N3;var aUA=C(()=>{h4();u6();q8();N3=Ax6});var bU=C(()=>{aUA()});function Bm(A,Q){return x2({[E2]:"Promise",type:"Promise",item:A},Q)}var oUA=C(()=>{h4();u6()});var N71=C(()=>{oUA()});function Qx6(A){return x2(vJ(A,[MD]))}function Bx6(A){return x2({...A,[MD]:"Readonly"})}function Jx6(A,Q){return Q===!1?Qx6(A):Bx6(A)}function NZ(A,Q){let B=Q??!0;return HB(A)?Q50(A,B):Jx6(A,B)}var A50=C(()=>{h4();u6();GR();B50();q8()});function $x6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=NZ(A[J],Q);return B}function Yx6(A,Q){return $x6(A.properties,Q)}function Q50(A,Q){let B=Yx6(A,Q);return b3(B)}var B50=C(()=>{xY();A50()});var Fk=C(()=>{B50();A50()});function xU(A,Q){return x2(A.length>0?{[E2]:"Tuple",type:"array",items:A,additionalItems:!1,minItems:A.length,maxItems:A.length}:{[E2]:"Tuple",type:"array",minItems:A.length,maxItems:A.length},Q)}var rUA=C(()=>{h4();u6()});var VR=C(()=>{rUA()});function sUA(A,Q){return A in Q?ID(A,Q[A]):b3(Q)}function Xx6(A){return{[A]:b8(A)}}function Wx6(A){let Q={};for(let B of A)Q[B]=b8(B);return Q}function Zx6(A,Q){return HE1(Q,A)?Xx6(A):Wx6(Q)}function Gx6(A,Q){let B=Zx6(A,Q);return sUA(A,B)}function O71(A,Q){return Q.map((B)=>ID(A,B))}function Ux6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(Q))B[J]=ID(A,Q[J]);return B}function ID(A,Q){let B={...Q};return PU(Q)?MX(ID(A,vJ(Q,[zW]))):oh(Q)?NZ(ID(A,vJ(Q,[MD]))):HB(Q)?sUA(A,Q.properties):$K(Q)?Gx6(A,Q.keys):qD(Q)?UR(O71(A,Q.parameters),ID(A,Q.returns),B):LD(Q)?zV(O71(A,Q.parameters),ID(A,Q.returns),B):Wk(Q)?ZR(ID(A,Q.items),B):Gk(Q)?HR(ID(A,Q.items),B):rB(Q)?NX(O71(A,Q.allOf),B):F3(Q)?M3(O71(A,Q.anyOf),B):XK(Q)?xU(O71(A,Q.items??[]),B):X$(Q)?N3(Ux6(A,Q.properties),B):ND(Q)?WR(ID(A,Q.items),B):Uk(Q)?Bm(ID(A,Q.item),B):Q}function tUA(A,Q){let B={};for(let J of A)B[J]=ID(J,Q);return B}function q71(A,Q,B){let J=EB(A)?kU(A):A,$=Q({[E2]:"MappedKey",keys:J}),Y=tUA(J,$);return N3(Y,B)}var eUA=C(()=>{u6();GR();uo();po();co();Hk();cM();KV();ao();jG();bU();BL();N71();Fk();VR();W$();H71();f40();q8()});var xY=C(()=>{jUA();f40();eUA()});function zx6(A){return x2(vJ(A,[zW]))}function Kx6(A){return x2({...A,[zW]:"Optional"})}function Hx6(A,Q){return Q===!1?zx6(A):Kx6(A)}function MX(A,Q){let B=Q??!0;return HB(A)?$50(A,B):Hx6(A,B)}var J50=C(()=>{h4();u6();GR();Y50();q8()});function Vx6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=MX(A[J],Q);return B}function wx6(A,Q){return Vx6(A.properties,Q)}function $50(A,Q){let B=wx6(A,Q);return b3(B)}var Y50=C(()=>{xY();J50()});var BL=C(()=>{Y50();J50()});function L71(A,Q={}){let B=A.every(($)=>X$($)),J=EB(Q.unevaluatedProperties)?{unevaluatedProperties:Q.unevaluatedProperties}:{};return x2(Q.unevaluatedProperties===!1||EB(Q.unevaluatedProperties)||B?{...J,[E2]:"Intersect",type:"object",allOf:A}:{...J,[E2]:"Intersect",allOf:A},Q)}var X50=C(()=>{h4();u6();q8()});function Dx6(A){return A.every((Q)=>PU(Q))}function _x6(A){return vJ(A,[zW])}function AzA(A){return A.map((Q)=>PU(Q)?_x6(Q):Q)}function Fx6(A,Q){return Dx6(A)?MX(L71(AzA(A),Q)):L71(AzA(A),Q)}function M71(A,Q={}){if(A.length===1)return x2(A[0],Q);if(A.length===0)return o5(Q);if(A.some((B)=>n3(B)))throw Error("Cannot intersect transform types");return Fx6(A,Q)}var QzA=C(()=>{u6();h4();GR();WY();BL();X50();q8()});var BzA=()=>{};function NX(A,Q){if(A.length===1)return x2(A[0],Q);if(A.length===0)return o5(Q);if(A.some((B)=>n3(B)))throw Error("Cannot intersect transform types");return L71(A,Q)}var JzA=C(()=>{h4();WY();X50();q8()});var KV=C(()=>{QzA();BzA();JzA()});function vU(...A){let[Q,B]=typeof A[0]==="string"?[A[0],A[1]]:[A[0].$id,A[1]];if(typeof Q!=="string")throw new m4("Ref: $ref must be a string");return x2({[E2]:"Ref",$ref:Q},B)}var $zA=C(()=>{oB();h4();u6()});var wR=C(()=>{$zA()});function Mx6(A,Q){return l7("Awaited",[l7(A,Q)])}function Nx6(A){return l7("Awaited",[vU(A)])}function Ox6(A){return NX(YzA(A))}function qx6(A){return M3(YzA(A))}function Lx6(A){return DR(A)}function YzA(A){return A.map((Q)=>DR(Q))}function DR(A,Q){return x2(OD(A)?Mx6(A.target,A.parameters):rB(A)?Ox6(A.allOf):F3(A)?qx6(A.anyOf):Uk(A)?Lx6(A.item):xJ(A)?Nx6(A.$ref):A,Q)}var XzA=C(()=>{h4();Kk();KV();W$();wR();q8()});var E71=C(()=>{XzA()});function WzA(A){let Q=[];for(let B of A)Q.push(yU(B));return Q}function Ex6(A){let Q=WzA(A);return y40(Q)}function Cx6(A){let Q=WzA(A);return v40(Q)}function Ix6(A){return A.map((Q,B)=>B.toString())}function Rx6(A){return["[number]"]}function jx6(A){return globalThis.Object.getOwnPropertyNames(A)}function Tx6(A){if(!W50)return[];return globalThis.Object.getOwnPropertyNames(A).map((B)=>{return B[0]==="^"&&B[B.length-1]==="$"?B.slice(1,B.length-1):B})}function yU(A){return rB(A)?Ex6(A.allOf):F3(A)?Cx6(A.anyOf):XK(A)?Ix6(A.items??[]):ND(A)?Rx6(A.items):X$(A)?jx6(A.properties):zk(A)?Tx6(A.patternProperties):[]}function JL(A){W50=!0;let Q=yU(A);return W50=!1,`^(${Q.map((J)=>`(${J})`).join("|")})$`}var W50=!1;var NE1=C(()=>{H71();q8()});function Px6(A,Q){return l7("KeyOf",[l7(A,Q)])}function Sx6(A){return l7("KeyOf",[vU(A)])}function kx6(A,Q){let B=yU(A),J=ZzA(B),$=uM(J);return x2($,Q)}function ZzA(A){return A.map((Q)=>Q==="[number]"?SU():b8(Q))}function _R(A,Q){return OD(A)?Px6(A.target,A.parameters):xJ(A)?Sx6(A.$ref):HB(A)?G50(A,Q):kx6(A,Q)}var Z50=C(()=>{h4();jG();wk();Kk();wR();NE1();W$();U50();q8()});function bx6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=_R(A[J],zB(Q));return B}function xx6(A,Q){return bx6(A.properties,Q)}function G50(A,Q){let B=xx6(A,Q);return b3(B)}var U50=C(()=>{xY();Z50();JK()});function C71(A){let Q=yU(A),B=no(A,Q);return Q.map((J,$)=>[Q[$],B[$]])}var GzA=C(()=>{ME1();NE1()});var RD=C(()=>{U50();GzA();NE1();Z50()});function vx6(A){let Q=[];for(let B of A)Q.push(...yU(B));return x40(Q)}function yx6(A){return A.filter((Q)=>!JR(Q))}function fx6(A,Q){let B=[];for(let J of A)B.push(...no(J,[Q]));return yx6(B)}function gx6(A,Q){let B={};for(let J of Q)B[J]=M71(fx6(A,J));return B}function I71(A,Q){let B=vx6(A),J=gx6(A,B);return N3(J,Q)}var UzA=C(()=>{KV();cM();RD();bU();H71();q8()});var OE1=C(()=>{UzA()});function Jm(A){return x2({[E2]:"Date",type:"Date"},A)}var zzA=C(()=>{u6();h4()});var R71=C(()=>{zzA()});function $m(A){return x2({[E2]:"Null",type:"null"},A)}var KzA=C(()=>{h4();u6()});var j71=C(()=>{KzA()});function Ym(A){return x2({[E2]:"Symbol",type:"symbol"},A)}var HzA=C(()=>{h4();u6()});var T71=C(()=>{HzA()});function Xm(A){return x2({[E2]:"Undefined",type:"undefined"},A)}var VzA=C(()=>{h4();u6()});var P71=C(()=>{VzA()});function Wm(A){return x2({[E2]:"Uint8Array",type:"Uint8Array"},A)}var wzA=C(()=>{h4();u6()});var S71=C(()=>{wzA()});function WK(A){return x2({[E2]:"Unknown"},A)}var DzA=C(()=>{h4();u6()});var Mk=C(()=>{DzA()});function hx6(A){return A.map((Q)=>z50(Q,!1))}function mx6(A){let Q={};for(let B of globalThis.Object.getOwnPropertyNames(A))Q[B]=NZ(z50(A[B],!1));return Q}function qE1(A,Q){return Q===!0?A:NZ(A)}function z50(A,Q){return F40(A)?qE1(mM(),Q):N40(A)?qE1(mM(),Q):YY(A)?NZ(xU(hx6(A))):eI(A)?Wm():ah(A)?Jm():yQ(A)?qE1(N3(mx6(A)),Q):M40(A)?qE1(zV([],WK()),Q):XY(A)?Xm():O40(A)?$m():q40(A)?Ym():J71(A)?KR():BK(A)?b8(A):sq(A)?b8(A):E7(A)?b8(A):N3({})}function k71(A,Q){return x2(z50(A,!0),Q)}var _zA=C(()=>{mo();io();R71();Hk();jG();j71();bU();T71();VR();Fk();P71();S71();Mk();BR()});var LE1=C(()=>{_zA()});function b71(A,Q){return qD(A)?xU(A.parameters,Q):o5(Q)}var FzA=C(()=>{VR();WY();q8()});var EE1=C(()=>{FzA()});function x71(A,Q){if(XY(A))throw Error("Enum undefined or empty");let B=globalThis.Object.getOwnPropertyNames(A).filter((Y)=>isNaN(Y)).map((Y)=>A[Y]),$=[...new Set(B)].map((Y)=>b8(Y));return M3($,{...Q,[TU]:"Enum"})}var MzA=C(()=>{jG();u6();W$()});var CE1=C(()=>{MzA()});function jD(A){return A===g2.False?A:g2.True}function oo(A){throw new w50(A)}function vY(A){return mA.IsNever(A)||mA.IsIntersect(A)||mA.IsUnion(A)||mA.IsUnknown(A)||mA.IsAny(A)}function yY(A,Q){return mA.IsNever(Q)?IzA(A,Q):mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)?_50(A,Q):mA.IsUnknown(Q)?PzA(A,Q):mA.IsAny(Q)?D50(A,Q):oo("StructuralRight")}function D50(A,Q){return g2.True}function ux6(A,Q){return mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)&&Q.anyOf.some((B)=>mA.IsAny(B)||mA.IsUnknown(B))?g2.True:mA.IsUnion(Q)?g2.Union:mA.IsUnknown(Q)?g2.True:mA.IsAny(Q)?g2.True:g2.Union}function px6(A,Q){return mA.IsUnknown(A)?g2.False:mA.IsAny(A)?g2.Union:mA.IsNever(A)?g2.True:g2.False}function dx6(A,Q){return mA.IsObject(Q)&&RE1(Q)?g2.True:vY(Q)?yY(A,Q):!mA.IsArray(Q)?g2.False:jD(U7(A.items,Q.items))}function cx6(A,Q){return vY(Q)?yY(A,Q):!mA.IsAsyncIterator(Q)?g2.False:jD(U7(A.items,Q.items))}function lx6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsBigInt(Q)?g2.True:g2.False}function EzA(A,Q){return mA.IsLiteralBoolean(A)?g2.True:mA.IsBoolean(A)?g2.True:g2.False}function ix6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsBoolean(Q)?g2.True:g2.False}function nx6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):!mA.IsConstructor(Q)?g2.False:A.parameters.length>Q.parameters.length?g2.False:!A.parameters.every((B,J)=>jD(U7(Q.parameters[J],B))===g2.True)?g2.False:jD(U7(A.returns,Q.returns))}function ax6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsDate(Q)?g2.True:g2.False}function ox6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):!mA.IsFunction(Q)?g2.False:A.parameters.length>Q.parameters.length?g2.False:!A.parameters.every((B,J)=>jD(U7(Q.parameters[J],B))===g2.True)?g2.False:jD(U7(A.returns,Q.returns))}function CzA(A,Q){return mA.IsLiteral(A)&&_Z.IsNumber(A.const)?g2.True:mA.IsNumber(A)||mA.IsInteger(A)?g2.True:g2.False}function rx6(A,Q){return mA.IsInteger(Q)||mA.IsNumber(Q)?g2.True:vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):g2.False}function IE1(A,Q){return Q.allOf.every((B)=>U7(A,B)===g2.True)?g2.True:g2.False}function sx6(A,Q){return A.allOf.some((B)=>U7(B,Q)===g2.True)?g2.True:g2.False}function tx6(A,Q){return vY(Q)?yY(A,Q):!mA.IsIterator(Q)?g2.False:jD(U7(A.items,Q.items))}function ex6(A,Q){return mA.IsLiteral(Q)&&Q.const===A.const?g2.True:vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsString(Q)?TzA(A,Q):mA.IsNumber(Q)?RzA(A,Q):mA.IsInteger(Q)?CzA(A,Q):mA.IsBoolean(Q)?EzA(A,Q):g2.False}function IzA(A,Q){return g2.False}function Av6(A,Q){return g2.True}function NzA(A){let[Q,B]=[A,0];while(!0){if(!mA.IsNot(Q))break;Q=Q.not,B+=1}return B%2===0?Q:WK()}function Qv6(A,Q){return mA.IsNot(A)?U7(NzA(A),Q):mA.IsNot(Q)?U7(A,NzA(Q)):oo("Invalid fallthrough for Not")}function Bv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsNull(Q)?g2.True:g2.False}function RzA(A,Q){return mA.IsLiteralNumber(A)?g2.True:mA.IsNumber(A)||mA.IsInteger(A)?g2.True:g2.False}function Jv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsInteger(Q)||mA.IsNumber(Q)?g2.True:g2.False}function ZK(A,Q){return Object.getOwnPropertyNames(A.properties).length===Q}function OzA(A){return RE1(A)}function qzA(A){return ZK(A,0)||ZK(A,1)&&"description"in A.properties&&mA.IsUnion(A.properties.description)&&A.properties.description.anyOf.length===2&&(mA.IsString(A.properties.description.anyOf[0])&&mA.IsUndefined(A.properties.description.anyOf[1])||mA.IsString(A.properties.description.anyOf[1])&&mA.IsUndefined(A.properties.description.anyOf[0]))}function K50(A){return ZK(A,0)}function LzA(A){return ZK(A,0)}function $v6(A){return ZK(A,0)}function Yv6(A){return ZK(A,0)}function Xv6(A){return RE1(A)}function Wv6(A){let Q=SU();return ZK(A,0)||ZK(A,1)&&"length"in A.properties&&jD(U7(A.properties.length,Q))===g2.True}function Zv6(A){return ZK(A,0)}function RE1(A){let Q=SU();return ZK(A,0)||ZK(A,1)&&"length"in A.properties&&jD(U7(A.properties.length,Q))===g2.True}function Gv6(A){let Q=zV([mM()],mM());return ZK(A,0)||ZK(A,1)&&"then"in A.properties&&jD(U7(A.properties.then,Q))===g2.True}function jzA(A,Q){return U7(A,Q)===g2.False?g2.False:mA.IsOptional(A)&&!mA.IsOptional(Q)?g2.False:g2.True}function TG(A,Q){return mA.IsUnknown(A)?g2.False:mA.IsAny(A)?g2.Union:mA.IsNever(A)||mA.IsLiteralString(A)&&OzA(Q)||mA.IsLiteralNumber(A)&&K50(Q)||mA.IsLiteralBoolean(A)&&LzA(Q)||mA.IsSymbol(A)&&qzA(Q)||mA.IsBigInt(A)&&$v6(Q)||mA.IsString(A)&&OzA(Q)||mA.IsSymbol(A)&&qzA(Q)||mA.IsNumber(A)&&K50(Q)||mA.IsInteger(A)&&K50(Q)||mA.IsBoolean(A)&&LzA(Q)||mA.IsUint8Array(A)&&Xv6(Q)||mA.IsDate(A)&&Yv6(Q)||mA.IsConstructor(A)&&Zv6(Q)||mA.IsFunction(A)&&Wv6(Q)?g2.True:mA.IsRecord(A)&&mA.IsString(H50(A))?(()=>{return Q[TU]==="Record"?g2.True:g2.False})():mA.IsRecord(A)&&mA.IsNumber(H50(A))?(()=>{return ZK(Q,0)?g2.True:g2.False})():g2.False}function Uv6(A,Q){return vY(Q)?yY(A,Q):mA.IsRecord(Q)?TD(A,Q):!mA.IsObject(Q)?g2.False:(()=>{for(let B of Object.getOwnPropertyNames(Q.properties)){if(!(B in A.properties)&&!mA.IsOptional(Q.properties[B]))return g2.False;if(mA.IsOptional(Q.properties[B]))return g2.True;if(jzA(A.properties[B],Q.properties[B])===g2.False)return g2.False}return g2.True})()}function zv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)&&Gv6(Q)?g2.True:!mA.IsPromise(Q)?g2.False:jD(U7(A.item,Q.item))}function H50(A){return YR in A.patternProperties?SU():(XR in A.patternProperties)?KW():oo("Unknown record key pattern")}function V50(A){return YR in A.patternProperties?A.patternProperties[YR]:(XR in A.patternProperties)?A.patternProperties[XR]:oo("Unable to get record value schema")}function TD(A,Q){let[B,J]=[H50(Q),V50(Q)];return mA.IsLiteralString(A)&&mA.IsNumber(B)&&jD(U7(A,J))===g2.True?g2.True:mA.IsUint8Array(A)&&mA.IsNumber(B)?U7(A,J):mA.IsString(A)&&mA.IsNumber(B)?U7(A,J):mA.IsArray(A)&&mA.IsNumber(B)?U7(A,J):mA.IsObject(A)?(()=>{for(let $ of Object.getOwnPropertyNames(A.properties))if(jzA(J,A.properties[$])===g2.False)return g2.False;return g2.True})():g2.False}function Kv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):!mA.IsRecord(Q)?g2.False:U7(V50(A),V50(Q))}function Hv6(A,Q){let B=mA.IsRegExp(A)?KW():A,J=mA.IsRegExp(Q)?KW():Q;return U7(B,J)}function TzA(A,Q){return mA.IsLiteral(A)&&_Z.IsString(A.const)?g2.True:mA.IsString(A)?g2.True:g2.False}function Vv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsString(Q)?g2.True:g2.False}function wv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsSymbol(Q)?g2.True:g2.False}function Dv6(A,Q){return mA.IsTemplateLiteral(A)?U7(_k(A),Q):mA.IsTemplateLiteral(Q)?U7(A,_k(Q)):oo("Invalid fallthrough for TemplateLiteral")}function _v6(A,Q){return mA.IsArray(Q)&&A.items!==void 0&&A.items.every((B)=>U7(B,Q.items)===g2.True)}function Fv6(A,Q){return mA.IsNever(A)?g2.True:mA.IsUnknown(A)?g2.False:mA.IsAny(A)?g2.Union:g2.False}function Mv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)&&RE1(Q)?g2.True:mA.IsArray(Q)&&_v6(A,Q)?g2.True:!mA.IsTuple(Q)?g2.False:_Z.IsUndefined(A.items)&&!_Z.IsUndefined(Q.items)||!_Z.IsUndefined(A.items)&&_Z.IsUndefined(Q.items)?g2.False:_Z.IsUndefined(A.items)&&!_Z.IsUndefined(Q.items)?g2.True:A.items.every((B,J)=>U7(B,Q.items[J])===g2.True)?g2.True:g2.False}function Nv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsUint8Array(Q)?g2.True:g2.False}function Ov6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsVoid(Q)?Ev6(A,Q):mA.IsUndefined(Q)?g2.True:g2.False}function _50(A,Q){return Q.anyOf.some((B)=>U7(A,B)===g2.True)?g2.True:g2.False}function qv6(A,Q){return A.anyOf.every((B)=>U7(B,Q)===g2.True)?g2.True:g2.False}function PzA(A,Q){return g2.True}function Lv6(A,Q){return mA.IsNever(Q)?IzA(A,Q):mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)?_50(A,Q):mA.IsAny(Q)?D50(A,Q):mA.IsString(Q)?TzA(A,Q):mA.IsNumber(Q)?RzA(A,Q):mA.IsInteger(Q)?CzA(A,Q):mA.IsBoolean(Q)?EzA(A,Q):mA.IsArray(Q)?px6(A,Q):mA.IsTuple(Q)?Fv6(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsUnknown(Q)?g2.True:g2.False}function Ev6(A,Q){return mA.IsUndefined(A)?g2.True:mA.IsUndefined(A)?g2.True:g2.False}function Cv6(A,Q){return mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)?_50(A,Q):mA.IsUnknown(Q)?PzA(A,Q):mA.IsAny(Q)?D50(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsVoid(Q)?g2.True:g2.False}function U7(A,Q){return mA.IsTemplateLiteral(A)||mA.IsTemplateLiteral(Q)?Dv6(A,Q):mA.IsRegExp(A)||mA.IsRegExp(Q)?Hv6(A,Q):mA.IsNot(A)||mA.IsNot(Q)?Qv6(A,Q):mA.IsAny(A)?ux6(A,Q):mA.IsArray(A)?dx6(A,Q):mA.IsBigInt(A)?lx6(A,Q):mA.IsBoolean(A)?ix6(A,Q):mA.IsAsyncIterator(A)?cx6(A,Q):mA.IsConstructor(A)?nx6(A,Q):mA.IsDate(A)?ax6(A,Q):mA.IsFunction(A)?ox6(A,Q):mA.IsInteger(A)?rx6(A,Q):mA.IsIntersect(A)?sx6(A,Q):mA.IsIterator(A)?tx6(A,Q):mA.IsLiteral(A)?ex6(A,Q):mA.IsNever(A)?Av6(A,Q):mA.IsNull(A)?Bv6(A,Q):mA.IsNumber(A)?Jv6(A,Q):mA.IsObject(A)?Uv6(A,Q):mA.IsRecord(A)?Kv6(A,Q):mA.IsString(A)?Vv6(A,Q):mA.IsSymbol(A)?wv6(A,Q):mA.IsTuple(A)?Mv6(A,Q):mA.IsPromise(A)?zv6(A,Q):mA.IsUint8Array(A)?Nv6(A,Q):mA.IsUndefined(A)?Ov6(A,Q):mA.IsUnion(A)?qv6(A,Q):mA.IsUnknown(A)?Lv6(A,Q):mA.IsVoid(A)?Cv6(A,Q):oo(`Unknown left type operand '${A[E2]}'`)}function FR(A,Q){return U7(A,Q)}var w50,g2;var F50=C(()=>{mo();Hk();wk();Dk();Mk();pM();K71();u6();oB();P40();w50=class w50 extends m4{};(function(A){A[A.Union=0]="Union",A[A.True=1]="True",A[A.False=2]="False"})(g2||(g2={}))});function Iv6(A,Q,B,J,$){let Y={};for(let X of globalThis.Object.getOwnPropertyNames(A))Y[X]=MR(A[X],Q,B,J,zB($));return Y}function Rv6(A,Q,B,J,$){return Iv6(A.properties,Q,B,J,$)}function M50(A,Q,B,J,$){let Y=Rv6(A,Q,B,J,$);return b3(Y)}var N50=C(()=>{xY();jE1();JK()});function jv6(A,Q,B,J){let $=FR(A,Q);return $===g2.Union?M3([B,J]):$===g2.True?B:J}function MR(A,Q,B,J,$){return HB(A)?M50(A,Q,B,J,$):$K(A)?x2(O50(A,Q,B,J,$)):x2(jv6(A,Q,B,J),$)}var jE1=C(()=>{h4();W$();F50();q50();N50();q8()});function Tv6(A,Q,B,J,$){return{[A]:MR(b8(A),Q,B,J,zB($))}}function Pv6(A,Q,B,J,$){return A.reduce((Y,X)=>{return{...Y,...Tv6(X,Q,B,J,$)}},{})}function Sv6(A,Q,B,J,$){return Pv6(A.keys,Q,B,J,$)}function O50(A,Q,B,J,$){let Y=Sv6(A,Q,B,J,$);return b3(Y)}var q50=C(()=>{xY();jG();jE1();JK()});function kv6(A){return A.allOf.every((Q)=>$L(Q))}function bv6(A){return A.anyOf.some((Q)=>$L(Q))}function xv6(A){return!$L(A.not)}function $L(A){return A[E2]==="Intersect"?kv6(A):A[E2]==="Union"?bv6(A):A[E2]==="Not"?xv6(A):A[E2]==="Undefined"?!0:!1}var TE1=C(()=>{u6()});var Zm=C(()=>{F50();q50();N50();TE1();jE1()});function L50(A,Q){return NR(_k(A),Q)}var E50=C(()=>{PE1();pM()});function vv6(A,Q){let B=A.filter((J)=>FR(J,Q)===g2.False);return B.length===1?B[0]:M3(B)}function NR(A,Q,B={}){if(YK(A))return x2(L50(A,Q),B);if(HB(A))return x2(C50(A,Q),B);return x2(F3(A)?vv6(A.anyOf,Q):FR(A,Q)!==g2.False?o5():A,B)}var PE1=C(()=>{h4();W$();WY();Zm();I50();E50();q8()});function yv6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=NR(A[J],Q);return B}function fv6(A,Q){return yv6(A.properties,Q)}function C50(A,Q){let B=fv6(A,Q);return b3(B)}var I50=C(()=>{xY();PE1()});var SE1=C(()=>{I50();E50();PE1()});function R50(A,Q){return OR(_k(A),Q)}var j50=C(()=>{kE1();pM()});function gv6(A,Q){let B=A.filter((J)=>FR(J,Q)!==g2.False);return B.length===1?B[0]:M3(B)}function OR(A,Q,B){if(YK(A))return x2(R50(A,Q),B);if(HB(A))return x2(T50(A,Q),B);return x2(F3(A)?gv6(A.anyOf,Q):FR(A,Q)!==g2.False?A:o5(),B)}var kE1=C(()=>{h4();W$();WY();Zm();P50();j50();q8()});function hv6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=OR(A[J],Q);return B}function mv6(A,Q){return hv6(A.properties,Q)}function T50(A,Q){let B=mv6(A,Q);return b3(B)}var P50=C(()=>{xY();kE1()});var bE1=C(()=>{P50();j50();kE1()});function v71(A,Q){return qD(A)?x2(A.returns,Q):o5(Q)}var SzA=C(()=>{h4();WY();q8()});var xE1=C(()=>{SzA()});function Gm(A){return NZ(MX(A))}var kzA=C(()=>{Fk();BL()});var y71=C(()=>{kzA()});function Um(A,Q,B){return x2({[E2]:"Record",type:"object",patternProperties:{[A]:Q}},B)}function S50(A,Q,B){let J={};for(let $ of A)J[$]=Q;return N3(J,{...B,[TU]:"Record"})}function uv6(A,Q,B){return _71(A)?S50(kU(A),Q,B):Um(A.pattern,Q,B)}function pv6(A,Q,B){return S50(kU(M3(A)),Q,B)}function dv6(A,Q,B){return S50([A.toString()],Q,B)}function cv6(A,Q,B){return Um(A.source,Q,B)}function lv6(A,Q,B){let J=XY(A.pattern)?XR:A.pattern;return Um(J,Q,B)}function iv6(A,Q,B){return Um(XR,Q,B)}function nv6(A,Q,B){return Um(b40,Q,B)}function av6(A,Q,B){return N3({true:Q,false:Q},B)}function ov6(A,Q,B){return Um(YR,Q,B)}function rv6(A,Q,B){return Um(YR,Q,B)}function zm(A,Q,B={}){return F3(A)?pv6(A.anyOf,Q,B):YK(A)?uv6(A,Q,B):MZ(A)?dv6(A.const,Q,B):eq(A)?av6(A,Q,B):ED(A)?ov6(A,Q,B):CD(A)?rv6(A,Q,B):zE1(A)?cv6(A,Q,B):AL(A)?lv6(A,Q,B):GE1(A)?iv6(A,Q,B):JR(A)?nv6(A,Q,B):o5(B)}function f71(A){return globalThis.Object.getOwnPropertyNames(A.patternProperties)[0]}function k50(A){let Q=f71(A);return Q===XR?KW():Q===YR?SU():KW({pattern:Q})}function g71(A){return A.patternProperties[f71(A)]}var bzA=C(()=>{h4();u6();WY();wk();bU();Dk();W$();pM();K71();cM();q8()});var ro=C(()=>{bzA()});function sv6(A,Q){return Q.parameters=so(A,Q.parameters),Q.returns=lM(A,Q.returns),Q}function tv6(A,Q){return Q.parameters=so(A,Q.parameters),Q.returns=lM(A,Q.returns),Q}function ev6(A,Q){return Q.allOf=so(A,Q.allOf),Q}function Ay6(A,Q){return Q.anyOf=so(A,Q.anyOf),Q}function Qy6(A,Q){if(XY(Q.items))return Q;return Q.items=so(A,Q.items),Q}function By6(A,Q){return Q.items=lM(A,Q.items),Q}function Jy6(A,Q){return Q.items=lM(A,Q.items),Q}function $y6(A,Q){return Q.items=lM(A,Q.items),Q}function Yy6(A,Q){return Q.item=lM(A,Q.item),Q}function Xy6(A,Q){let B=Uy6(A,Q.properties);return{...Q,...N3(B)}}function Wy6(A,Q){let B=lM(A,k50(Q)),J=lM(A,g71(Q)),$=zm(B,J);return{...Q,...$}}function Zy6(A,Q){return Q.index in A?A[Q.index]:WK()}function Gy6(A,Q){let B=oh(Q),J=PU(Q),$=lM(A,Q);return B&&J?Gm($):B&&!J?NZ($):!B&&J?MX($):$}function Uy6(A,Q){return globalThis.Object.getOwnPropertyNames(Q).reduce((B,J)=>{return{...B,[J]:Gy6(A,Q[J])}},{})}function so(A,Q){return Q.map((B)=>lM(A,B))}function lM(A,Q){return qD(Q)?sv6(A,Q):LD(Q)?tv6(A,Q):rB(Q)?ev6(A,Q):F3(Q)?Ay6(A,Q):XK(Q)?Qy6(A,Q):ND(Q)?By6(A,Q):Wk(Q)?Jy6(A,Q):Gk(Q)?$y6(A,Q):Uk(Q)?Yy6(A,Q):X$(Q)?Xy6(A,Q):zk(Q)?Wy6(A,Q):UE1(Q)?Zy6(A,Q):Q}function h71(A,Q){return lM(Q,Yk(A))}var xzA=C(()=>{$E1();Mk();y71();Fk();BL();bU();ro();q8()});var vE1=C(()=>{xzA()});function m71(A){return x2({[E2]:"Integer",type:"integer"},A)}var vzA=C(()=>{h4();u6()});var yE1=C(()=>{vzA()});function zy6(A,Q,B){return{[A]:PD(b8(A),Q,zB(B))}}function Ky6(A,Q,B){return A.reduce(($,Y)=>{return{...$,...zy6(Y,Q,B)}},{})}function Hy6(A,Q,B){return Ky6(A.keys,Q,B)}function b50(A,Q,B){let J=Hy6(A,Q,B);return b3(J)}var x50=C(()=>{xY();Km();jG();JK()});function Vy6(A){let[Q,B]=[A.slice(0,1),A.slice(1)];return[Q.toLowerCase(),B].join("")}function wy6(A){let[Q,B]=[A.slice(0,1),A.slice(1)];return[Q.toUpperCase(),B].join("")}function Dy6(A){return A.toUpperCase()}function _y6(A){return A.toLowerCase()}function Fy6(A,Q,B){let J=th(A.pattern);if(!Vk(J))return{...A,pattern:yzA(A.pattern,Q)};let X=[...lo(J)].map((G)=>b8(G)),W=fzA(X,Q),Z=M3(W);return Qm([Z],B)}function yzA(A,Q){return typeof A==="string"?Q==="Uncapitalize"?Vy6(A):Q==="Capitalize"?wy6(A):Q==="Uppercase"?Dy6(A):Q==="Lowercase"?_y6(A):A:A.toString()}function fzA(A,Q){return A.map((B)=>PD(B,Q))}function PD(A,Q,B={}){return $K(A)?b50(A,Q,B):YK(A)?Fy6(A,Q,B):F3(A)?M3(fzA(A.anyOf,Q),B):MZ(A)?b8(yzA(A.const,Q),B):x2(A,B)}var Km=C(()=>{h4();pM();x50();jG();W$();q8()});function u71(A,Q={}){return PD(A,"Capitalize",Q)}var gzA=C(()=>{Km()});function p71(A,Q={}){return PD(A,"Lowercase",Q)}var hzA=C(()=>{Km()});function d71(A,Q={}){return PD(A,"Uncapitalize",Q)}var mzA=C(()=>{Km()});function c71(A,Q={}){return PD(A,"Uppercase",Q)}var uzA=C(()=>{Km()});var fE1=C(()=>{gzA();x50();Km();hzA();mzA();uzA()});function My6(A,Q,B){let J={};for(let $ of globalThis.Object.getOwnPropertyNames(A))J[$]=iM(A[$],Q,zB(B));return J}function Ny6(A,Q,B){return My6(A.properties,Q,B)}function v50(A,Q,B){let J=Ny6(A,Q,B);return b3(J)}var y50=C(()=>{xY();gE1();JK()});function Oy6(A,Q){return A.map((B)=>f50(B,Q))}function qy6(A,Q){return A.map((B)=>f50(B,Q))}function Ly6(A,Q){let{[Q]:B,...J}=A;return J}function Ey6(A,Q){return Q.reduce((B,J)=>Ly6(B,J),A)}function Cy6(A,Q,B){let J=vJ(A,[LB,"$id","required","properties"]),$=Ey6(B,Q);return N3($,J)}function Iy6(A){let Q=A.reduce((B,J)=>Z71(J)?[...B,b8(J)]:B,[]);return M3(Q)}function f50(A,Q){return rB(A)?NX(Oy6(A.allOf,Q)):F3(A)?M3(qy6(A.anyOf,Q)):X$(A)?Cy6(A,Q,A.properties):N3({})}function iM(A,Q,B){let J=YY(Q)?Iy6(Q):Q,$=EB(Q)?kU(Q):Q,Y=xJ(A),X=xJ(Q);return HB(A)?v50(A,$,B):$K(Q)?g50(A,Q,B):Y&&X?l7("Omit",[A,J],B):!Y&&X?l7("Omit",[A,J],B):Y&&!X?l7("Omit",[A,J],B):x2({...f50(A,$),...B})}var gE1=C(()=>{h4();W71();Kk();jG();cM();KV();W$();bU();h50();y50();q8()});function Ry6(A,Q,B){return{[Q]:iM(A,[Q],zB(B))}}function jy6(A,Q,B){return Q.reduce((J,$)=>{return{...J,...Ry6(A,$,B)}},{})}function Ty6(A,Q,B){return jy6(A,Q.keys,B)}function g50(A,Q,B){let J=Ty6(A,Q,B);return b3(J)}var h50=C(()=>{xY();gE1();JK()});var l71=C(()=>{h50();y50();gE1()});function Py6(A,Q,B){let J={};for(let $ of globalThis.Object.getOwnPropertyNames(A))J[$]=nM(A[$],Q,zB(B));return J}function Sy6(A,Q,B){return Py6(A.properties,Q,B)}function m50(A,Q,B){let J=Sy6(A,Q,B);return b3(J)}var u50=C(()=>{xY();hE1();JK()});function ky6(A,Q){return A.map((B)=>p50(B,Q))}function by6(A,Q){return A.map((B)=>p50(B,Q))}function xy6(A,Q){let B={};for(let J of Q)if(J in A)B[J]=A[J];return B}function vy6(A,Q,B){let J=vJ(A,[LB,"$id","required","properties"]),$=xy6(B,Q);return N3($,J)}function yy6(A){let Q=A.reduce((B,J)=>Z71(J)?[...B,b8(J)]:B,[]);return M3(Q)}function p50(A,Q){return rB(A)?NX(ky6(A.allOf,Q)):F3(A)?M3(by6(A.anyOf,Q)):X$(A)?vy6(A,Q,A.properties):N3({})}function nM(A,Q,B){let J=YY(Q)?yy6(Q):Q,$=EB(Q)?kU(Q):Q,Y=xJ(A),X=xJ(Q);return HB(A)?m50(A,$,B):$K(Q)?d50(A,Q,B):Y&&X?l7("Pick",[A,J],B):!Y&&X?l7("Pick",[A,J],B):Y&&!X?l7("Pick",[A,J],B):x2({...p50(A,$),...B})}var hE1=C(()=>{h4();Kk();KV();jG();bU();W$();cM();W71();q8();c50();u50()});function fy6(A,Q,B){return{[Q]:nM(A,[Q],zB(B))}}function gy6(A,Q,B){return Q.reduce((J,$)=>{return{...J,...fy6(A,$,B)}},{})}function hy6(A,Q,B){return gy6(A,Q.keys,B)}function d50(A,Q,B){let J=hy6(A,Q,B);return b3(J)}var c50=C(()=>{xY();hE1();JK()});var i71=C(()=>{c50();u50();hE1()});function my6(A,Q){return l7("Partial",[l7(A,Q)])}function uy6(A){return l7("Partial",[vU(A)])}function py6(A){let Q={};for(let B of globalThis.Object.getOwnPropertyNames(A))Q[B]=MX(A[B]);return Q}function dy6(A,Q){let B=vJ(A,[LB,"$id","required","properties"]),J=py6(Q);return N3(J,B)}function pzA(A){return A.map((Q)=>dzA(Q))}function dzA(A){return OD(A)?my6(A.target,A.parameters):xJ(A)?uy6(A.$ref):rB(A)?NX(pzA(A.allOf)):F3(A)?M3(pzA(A.anyOf)):X$(A)?dy6(A,A.properties):Zk(A)?A:eq(A)?A:ED(A)?A:MZ(A)?A:yo(A)?A:CD(A)?A:AL(A)?A:fo(A)?A:QL(A)?A:N3({})}function qR(A,Q){if(HB(A))return i50(A,Q);else return x2({...dzA(A),...Q})}var l50=C(()=>{h4();Kk();BL();bU();KV();W$();wR();GR();u6();n50();q8()});function cy6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=qR(A[J],zB(Q));return B}function ly6(A,Q){return cy6(A.properties,Q)}function i50(A,Q){let B=ly6(A,Q);return b3(B)}var n50=C(()=>{xY();l50();JK()});var n71=C(()=>{n50();l50()});function iy6(A,Q){return l7("Required",[l7(A,Q)])}function ny6(A){return l7("Required",[vU(A)])}function ay6(A){let Q={};for(let B of globalThis.Object.getOwnPropertyNames(A))Q[B]=vJ(A[B],[zW]);return Q}function oy6(A,Q){let B=vJ(A,[LB,"$id","required","properties"]),J=ay6(Q);return N3(J,B)}function czA(A){return A.map((Q)=>lzA(Q))}function lzA(A){return OD(A)?iy6(A.target,A.parameters):xJ(A)?ny6(A.$ref):rB(A)?NX(czA(A.allOf)):F3(A)?M3(czA(A.anyOf)):X$(A)?oy6(A,A.properties):Zk(A)?A:eq(A)?A:ED(A)?A:MZ(A)?A:yo(A)?A:CD(A)?A:AL(A)?A:fo(A)?A:QL(A)?A:N3({})}function LR(A,Q){if(HB(A))return o50(A,Q);else return x2({...lzA(A),...Q})}var a50=C(()=>{h4();Kk();bU();KV();W$();wR();u6();GR();r50();q8()});function ry6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=LR(A[J],Q);return B}function sy6(A,Q){return ry6(A.properties,Q)}function o50(A,Q){let B=sy6(A,Q);return b3(B)}var r50=C(()=>{xY();a50()});var a71=C(()=>{r50();a50()});function ty6(A,Q){return Q.map((B)=>{return xJ(B)?s50(A,B.$ref):HV(A,B)})}function s50(A,Q){return Q in A?xJ(A[Q])?s50(A,A[Q].$ref):HV(A,A[Q]):o5()}function ey6(A){return DR(A[0])}function Af6(A){return dM(A[0],A[1])}function Qf6(A){return _R(A[0])}function Bf6(A){return qR(A[0])}function Jf6(A){return iM(A[0],A[1])}function $f6(A){return nM(A[0],A[1])}function Yf6(A){return LR(A[0])}function Xf6(A,Q,B){let J=ty6(A,B);return Q==="Awaited"?ey6(J):Q==="Index"?Af6(J):Q==="KeyOf"?Qf6(J):Q==="Partial"?Bf6(J):Q==="Omit"?Jf6(J):Q==="Pick"?$f6(J):Q==="Required"?Yf6(J):o5()}function Wf6(A,Q){return WR(HV(A,Q))}function Zf6(A,Q){return ZR(HV(A,Q))}function Gf6(A,Q,B){return UR(o71(A,Q),HV(A,B))}function Uf6(A,Q,B){return zV(o71(A,Q),HV(A,B))}function zf6(A,Q){return NX(o71(A,Q))}function Kf6(A,Q){return HR(HV(A,Q))}function Hf6(A,Q){return N3(globalThis.Object.keys(Q).reduce((B,J)=>{return{...B,[J]:HV(A,Q[J])}},{}))}function Vf6(A,Q){let[B,J]=[HV(A,g71(Q)),f71(Q)],$=Yk(Q);return $.patternProperties[J]=B,$}function wf6(A,Q){return xJ(Q)?{...s50(A,Q.$ref),[LB]:Q[LB]}:Q}function Df6(A,Q){return xU(o71(A,Q))}function _f6(A,Q){return M3(o71(A,Q))}function o71(A,Q){return Q.map((B)=>HV(A,B))}function HV(A,Q){return PU(Q)?x2(HV(A,vJ(Q,[zW])),Q):oh(Q)?x2(HV(A,vJ(Q,[MD])),Q):n3(Q)?x2(wf6(A,Q),Q):ND(Q)?x2(Wf6(A,Q.items),Q):Wk(Q)?x2(Zf6(A,Q.items),Q):OD(Q)?x2(Xf6(A,Q.target,Q.parameters)):qD(Q)?x2(Gf6(A,Q.parameters,Q.returns),Q):LD(Q)?x2(Uf6(A,Q.parameters,Q.returns),Q):rB(Q)?x2(zf6(A,Q.allOf),Q):Gk(Q)?x2(Kf6(A,Q.items),Q):X$(Q)?x2(Hf6(A,Q.properties),Q):zk(Q)?x2(Vf6(A,Q)):XK(Q)?x2(Df6(A,Q.items||[]),Q):F3(Q)?x2(_f6(A,Q.anyOf),Q):Q}function Ff6(A,Q){return Q in A?HV(A,A[Q]):o5()}function izA(A){return globalThis.Object.getOwnPropertyNames(A).reduce((Q,B)=>{return{...Q,[B]:Ff6(A,B)}},{})}var nzA=C(()=>{BR();L40();GR();uo();E71();po();co();cM();Hk();KV();ao();RD();bU();l71();i71();WY();n71();ro();a71();VR();W$();u6();q8()});class t50{constructor(A){let Q=izA(A),B=this.WithIdentifiers(Q);this.$defs=B}Import(A,Q){let B={...this.$defs,[A]:x2(this.$defs[A],Q)};return x2({[E2]:"Import",$defs:B,$ref:A})}WithIdentifiers(A){return globalThis.Object.getOwnPropertyNames(A).reduce((Q,B)=>{return{...Q,[B]:{...A[B],$id:B}}},{})}}function r71(A){return new t50(A)}var azA=C(()=>{BR();u6();nzA()});var mE1=C(()=>{azA()});function s71(A,Q){return x2({[E2]:"Not",not:A},Q)}var ozA=C(()=>{h4();u6()});var uE1=C(()=>{ozA()});function t71(A,Q){return LD(A)?xU(A.parameters,Q):o5()}var rzA=C(()=>{VR();WY();q8()});var pE1=C(()=>{rzA()});function e71(A,Q={}){if(XY(Q.$id))Q.$id=`T${Mf6++}`;let B=Yk(A({[E2]:"This",$ref:`${Q.$id}`}));return B.$id=Q.$id,x2({[TU]:"Recursive",...B},Q)}var Mf6=0;var szA=C(()=>{$E1();h4();u6()});var dE1=C(()=>{szA()});function AB1(A,Q){let B=E7(A)?new globalThis.RegExp(A):A;return x2({[E2]:"RegExp",type:"RegExp",source:B.source,flags:B.flags},Q)}var tzA=C(()=>{h4();u6()});var cE1=C(()=>{tzA()});function Nf6(A){return rB(A)?A.allOf:F3(A)?A.anyOf:XK(A)?A.items??[]:[]}function QB1(A){return Nf6(A)}var ezA=C(()=>{q8()});var lE1=C(()=>{ezA()});function BB1(A,Q){return LD(A)?x2(A.returns,Q):o5(Q)}var AKA=C(()=>{h4();WY();q8()});var iE1=C(()=>{AKA()});var QKA=()=>{};var BKA=()=>{};var JKA=C(()=>{QKA();BKA()});var $KA=()=>{};var YKA=C(()=>{$KA()});class e50{constructor(A){this.schema=A}Decode(A){return new A80(this.schema,A)}}class A80{constructor(A,Q){this.schema=A,this.decode=Q}EncodeTransform(A,Q){let $={Encode:(Y)=>Q[LB].Encode(A(Y)),Decode:(Y)=>this.decode(Q[LB].Decode(Y))};return{...Q,[LB]:$}}EncodeSchema(A,Q){let B={Decode:this.decode,Encode:A};return{...Q,[LB]:B}}Encode(A){return n3(this.schema)?this.EncodeTransform(A,this.schema):this.EncodeSchema(A,this.schema)}}function JB1(A){return new e50(A)}var XKA=C(()=>{u6();q8()});var nE1=C(()=>{XKA()});function Hm(A={}){return x2({[E2]:A[E2]??"Unsafe"},A)}var WKA=C(()=>{h4();u6()});var $B1=C(()=>{WKA()});function YB1(A){return x2({[E2]:"Void",type:"void"},A)}var ZKA=C(()=>{h4();u6()});var aE1=C(()=>{ZKA()});class XB1{ReadonlyOptional(A){return Gm(A)}Readonly(A,Q){return NZ(A,Q??!0)}Optional(A,Q){return MX(A,Q??!0)}Any(A){return mM(A)}Array(A,Q){return WR(A,Q)}Boolean(A){return Am(A)}Capitalize(A,Q){return u71(A,Q)}Composite(A,Q){return I71(A,Q)}Const(A,Q){return k71(A,Q)}Enum(A,Q){return x71(A,Q)}Exclude(A,Q,B){return NR(A,Q,B)}Extends(A,Q,B,J,$){return MR(A,Q,B,J,$)}Extract(A,Q,B){return OR(A,Q,B)}Index(A,Q,B){return dM(A,Q,B)}Integer(A){return m71(A)}Intersect(A,Q){return NX(A,Q)}KeyOf(A,Q){return _R(A,Q)}Literal(A,Q){return b8(A,Q)}Lowercase(A,Q){return p71(A,Q)}Mapped(A,Q,B){return q71(A,Q,B)}Module(A){return r71(A)}Never(A){return o5(A)}Not(A,Q){return s71(A,Q)}Null(A){return $m(A)}Number(A){return SU(A)}Object(A,Q){return N3(A,Q)}Omit(A,Q,B){return iM(A,Q,B)}Partial(A,Q){return qR(A,Q)}Pick(A,Q,B){return nM(A,Q,B)}Record(A,Q,B){return zm(A,Q,B)}Recursive(A,Q){return e71(A,Q)}Ref(...A){return vU(A[0],A[1])}Required(A,Q){return LR(A,Q)}Rest(A){return QB1(A)}String(A){return KW(A)}TemplateLiteral(A,Q){return Qm(A,Q)}Transform(A){return JB1(A)}Tuple(A,Q){return xU(A,Q)}Uncapitalize(A,Q){return d71(A,Q)}Union(A,Q){return M3(A,Q)}Unknown(A){return WK(A)}Unsafe(A){return Hm(A)}Uppercase(A,Q){return c71(A,Q)}}var Q80=C(()=>{mo();uo();F71();OE1();LE1();CE1();SE1();Zm();bE1();cM();yE1();KV();fE1();RD();jG();xY();WY();uE1();j71();mE1();wk();bU();l71();BL();n71();i71();Fk();y71();ro();dE1();wR();a71();lE1();Dk();pM();nE1();VR();W$();Mk();$B1()});var B80={};$5(B80,{Void:()=>YB1,Uppercase:()=>c71,Unsafe:()=>Hm,Unknown:()=>WK,Union:()=>M3,Undefined:()=>Xm,Uncapitalize:()=>d71,Uint8Array:()=>Wm,Tuple:()=>xU,Transform:()=>JB1,TemplateLiteral:()=>Qm,Symbol:()=>Ym,String:()=>KW,ReturnType:()=>BB1,Rest:()=>QB1,Required:()=>LR,RegExp:()=>AB1,Ref:()=>vU,Recursive:()=>e71,Record:()=>zm,ReadonlyOptional:()=>Gm,Readonly:()=>NZ,Promise:()=>Bm,Pick:()=>nM,Partial:()=>qR,Parameters:()=>t71,Optional:()=>MX,Omit:()=>iM,Object:()=>N3,Number:()=>SU,Null:()=>$m,Not:()=>s71,Never:()=>o5,Module:()=>r71,Mapped:()=>q71,Lowercase:()=>p71,Literal:()=>b8,KeyOf:()=>_R,Iterator:()=>HR,Intersect:()=>NX,Integer:()=>m71,Instantiate:()=>h71,InstanceType:()=>v71,Index:()=>dM,Function:()=>zV,Extract:()=>OR,Extends:()=>MR,Exclude:()=>NR,Enum:()=>x71,Date:()=>Jm,ConstructorParameters:()=>b71,Constructor:()=>UR,Const:()=>k71,Composite:()=>I71,Capitalize:()=>u71,Boolean:()=>Am,BigInt:()=>KR,Awaited:()=>DR,AsyncIterator:()=>ZR,Array:()=>WR,Argument:()=>V71,Any:()=>mM});var GKA=C(()=>{mo();VE1();uo();po();E71();io();F71();OE1();LE1();co();EE1();R71();CE1();SE1();Zm();bE1();Hk();cM();xE1();vE1();yE1();KV();fE1();ao();RD();jG();xY();mE1();WY();uE1();j71();wk();bU();l71();BL();pE1();n71();i71();N71();Fk();y71();ro();dE1();wR();cE1();a71();lE1();iE1();Dk();T71();pM();nE1();VR();S71();P71();W$();Mk();$B1();aE1()});var J80;var UKA=C(()=>{Q80();VE1();po();E71();io();co();EE1();R71();Hk();xE1();vE1();ao();pE1();N71();cE1();iE1();T71();S71();P71();aE1();J80=class J80 extends XB1{Argument(A){return V71(A)}AsyncIterator(A,Q){return ZR(A,Q)}Awaited(A,Q){return DR(A,Q)}BigInt(A){return KR(A)}ConstructorParameters(A,Q){return b71(A,Q)}Constructor(A,Q,B){return UR(A,Q,B)}Date(A={}){return Jm(A)}Function(A,Q,B){return zV(A,Q,B)}InstanceType(A,Q){return v71(A,Q)}Instantiate(A,Q){return h71(A,Q)}Iterator(A,Q){return HR(A,Q)}Parameters(A,Q){return t71(A,Q)}Promise(A,Q){return Bm(A,Q)}RegExp(A,Q){return AB1(A,Q)}ReturnType(A,Q){return BB1(A,Q)}Symbol(A){return Ym(A)}Undefined(A){return Xm(A)}Uint8Array(A){return Wm(A)}Void(A){return YB1(A)}}});var I1;var zKA=C(()=>{Q80();GKA();UKA();I1=B80});var WB1={};$5(WB1,{Void:()=>YB1,ValueGuard:()=>_Z,Uppercase:()=>c71,Unsafe:()=>Hm,Unknown:()=>WK,UnionEvaluated:()=>uM,Union:()=>M3,Undefined:()=>Xm,Uncapitalize:()=>d71,Uint8Array:()=>Wm,TypeRegistry:()=>bY,TypeGuard:()=>mA,TypeBoxError:()=>m4,Type:()=>I1,Tuple:()=>xU,TransformKind:()=>LB,TransformEncodeBuilder:()=>A80,TransformDecodeBuilder:()=>e50,Transform:()=>JB1,TemplateLiteralToUnion:()=>_k,TemplateLiteralSyntax:()=>l40,TemplateLiteralPatternError:()=>n40,TemplateLiteralPattern:()=>_E1,TemplateLiteralParserError:()=>wE1,TemplateLiteralParseExact:()=>th,TemplateLiteralParse:()=>sh,TemplateLiteralGenerateError:()=>p40,TemplateLiteralGenerate:()=>eh,TemplateLiteralFiniteError:()=>m40,TemplateLiteralExpressionGenerate:()=>lo,TemplateLiteral:()=>Qm,TModule:()=>t50,Symbol:()=>Ym,String:()=>KW,SetUnionMany:()=>y40,SetUnion:()=>Hb6,SetIsSubset:()=>Kb6,SetIntersectMany:()=>v40,SetIntersect:()=>OUA,SetIncludes:()=>HE1,SetDistinct:()=>x40,SetComplement:()=>Vb6,ReturnType:()=>BB1,Rest:()=>QB1,RequiredFromMappedResult:()=>o50,Required:()=>LR,RegExp:()=>AB1,Ref:()=>vU,Recursive:()=>e71,RecordValue:()=>g71,RecordPattern:()=>f71,RecordKey:()=>k50,Record:()=>zm,ReadonlyOptional:()=>Gm,ReadonlyKind:()=>MD,ReadonlyFromMappedResult:()=>Q50,Readonly:()=>NZ,Promise:()=>Bm,PickFromMappedResult:()=>m50,PickFromMappedKey:()=>d50,Pick:()=>nM,PatternStringExact:()=>XR,PatternString:()=>k40,PatternNumberExact:()=>YR,PatternNumber:()=>z71,PatternNeverExact:()=>b40,PatternNever:()=>tk6,PatternBooleanExact:()=>ek6,PatternBoolean:()=>S40,PartialFromMappedResult:()=>i50,Partial:()=>qR,Parameters:()=>t71,OptionalKind:()=>zW,OptionalFromMappedResult:()=>$50,Optional:()=>MX,OmitFromMappedResult:()=>v50,OmitFromMappedKey:()=>g50,Omit:()=>iM,Object:()=>N3,Number:()=>SU,Null:()=>$m,Not:()=>s71,Never:()=>o5,Module:()=>r71,MappedResult:()=>b3,MappedKey:()=>_b6,MappedFunctionReturnType:()=>tUA,Mapped:()=>q71,Lowercase:()=>p71,Literal:()=>b8,KindGuard:()=>hM,Kind:()=>E2,KeyOfPropertyKeysToRest:()=>ZzA,KeyOfPropertyKeys:()=>yU,KeyOfPropertyEntries:()=>C71,KeyOfPattern:()=>JL,KeyOfFromMappedResult:()=>G50,KeyOf:()=>_R,JsonTypeBuilder:()=>XB1,JavaScriptTypeBuilder:()=>J80,Iterator:()=>HR,IsTemplateLiteralFinite:()=>_71,IsTemplateLiteralExpressionFinite:()=>Vk,IntrinsicFromMappedKey:()=>b50,Intrinsic:()=>PD,IntersectEvaluated:()=>M71,Intersect:()=>NX,Integer:()=>m71,Instantiate:()=>h71,InstanceType:()=>v71,IndexPropertyKeys:()=>kU,IndexFromPropertyKeys:()=>no,IndexFromPropertyKey:()=>s40,IndexFromMappedResult:()=>o40,IndexFromMappedKey:()=>t40,IndexFromComputed:()=>ob6,Index:()=>dM,Increment:()=>sk6,Hint:()=>TU,Function:()=>zV,FromTypes:()=>so,FormatRegistry:()=>RG,ExtractFromTemplateLiteral:()=>R50,ExtractFromMappedResult:()=>T50,Extract:()=>OR,ExtendsUndefinedCheck:()=>$L,ExtendsResult:()=>g2,ExtendsResolverError:()=>w50,ExtendsFromMappedResult:()=>M50,ExtendsFromMappedKey:()=>O50,ExtendsCheck:()=>FR,Extends:()=>MR,ExcludeFromTemplateLiteral:()=>L50,ExcludeFromMappedResult:()=>C50,Exclude:()=>NR,Enum:()=>x71,Date:()=>Jm,CreateType:()=>x2,ConstructorParameters:()=>b71,Constructor:()=>UR,Const:()=>k71,Composite:()=>I71,CloneType:()=>Yk,CloneRest:()=>Pk6,Clone:()=>zB,Capitalize:()=>u71,Boolean:()=>Am,BigInt:()=>KR,Awaited:()=>DR,AsyncIterator:()=>ZR,Array:()=>WR,Argument:()=>V71,Any:()=>mM});var p5=C(()=>{L40();BR();oB();P40();FUA();K71();rh();H71();u6();mo();uo();VE1();po();E71();io();F71();OE1();LE1();co();EE1();R71();CE1();SE1();Zm();bE1();Hk();cM();xE1();vE1();yE1();KV();ao();fE1();RD();jG();mE1();xY();WY();uE1();j71();wk();bU();l71();BL();pE1();n71();i71();N71();Fk();y71();ro();dE1();wR();cE1();a71();lE1();iE1();JKA();YKA();Dk();T71();pM();nE1();VR();S71();P71();W$();Mk();$B1();aE1();zKA()});function Of6(A,Q){return(B,J,$)=>{if(B.api!==A)throw Error(`Mismatched api: ${B.api} expected ${A}`);return Q(B,J,$)}}function qf6(A,Q){return(B,J,$)=>{if(B.api!==A)throw Error(`Mismatched api: ${B.api} expected ${A}`);return Q(B,J,$)}}function ER(A,Q){to.set(A.api,{provider:{api:A.api,stream:Of6(A.api,A.stream),streamSimple:qf6(A.api,A.streamSimple)},sourceId:Q})}function $80(A){return to.get(A)?.provider}function Lf6(){return Array.from(to.values(),(A)=>A.provider)}function Y80(A){for(let[Q,B]of to.entries())if(B.sourceId===A)to.delete(Q)}function X80(){to.clear()}var to;var ZB1=C(()=>{to=new Map});function VV(A){if(!process.versions?.bun)return;if(typeof process>"u")return;if(Object.keys(process.env).length>0)return;if(oE1===null){oE1=new Map;try{let{readFileSync:Q}=H0("node:fs"),B=Q("/proc/self/environ","utf-8");for(let J of B.split("\x00")){let $=J.indexOf("=");if($>0)oE1.set(J.slice(0,$),J.slice($+1))}}catch{}}return oE1.get(A)}function Rf6(){if(GB1===null){if(!rE1||!Z80||!G80){if(!(typeof process<"u"&&(process.versions?.node||process.versions?.bun)))GB1=!1;return!1}let A=process.env.GOOGLE_APPLICATION_CREDENTIALS||VV("GOOGLE_APPLICATION_CREDENTIALS");if(A)GB1=rE1(A);else GB1=rE1(G80(Z80(),".config","gcloud","application_default_credentials.json"))}return GB1}function jf6(A){if(A==="github-copilot")return["COPILOT_GITHUB_TOKEN","GH_TOKEN","GITHUB_TOKEN"];if(A==="anthropic")return["ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"];let B={openai:"OPENAI_API_KEY","azure-openai-responses":"AZURE_OPENAI_API_KEY",deepseek:"DEEPSEEK_API_KEY",google:"GEMINI_API_KEY","google-vertex":"GOOGLE_CLOUD_API_KEY",groq:"GROQ_API_KEY",cerebras:"CEREBRAS_API_KEY",xai:"XAI_API_KEY",openrouter:"OPENROUTER_API_KEY","vercel-ai-gateway":"AI_GATEWAY_API_KEY",zai:"ZAI_API_KEY",mistral:"MISTRAL_API_KEY",minimax:"MINIMAX_API_KEY","minimax-cn":"MINIMAX_CN_API_KEY",moonshotai:"MOONSHOT_API_KEY","moonshotai-cn":"MOONSHOT_API_KEY",huggingface:"HF_TOKEN",fireworks:"FIREWORKS_API_KEY",opencode:"OPENCODE_API_KEY","opencode-go":"OPENCODE_API_KEY","kimi-coding":"KIMI_API_KEY","cloudflare-workers-ai":"CLOUDFLARE_API_KEY","cloudflare-ai-gateway":"CLOUDFLARE_API_KEY",xiaomi:"XIAOMI_API_KEY","xiaomi-token-plan-cn":"XIAOMI_TOKEN_PLAN_CN_API_KEY","xiaomi-token-plan-ams":"XIAOMI_TOKEN_PLAN_AMS_API_KEY","xiaomi-token-plan-sgp":"XIAOMI_TOKEN_PLAN_SGP_API_KEY"}[A];return B?[B]:void 0}function KKA(A){let Q=jf6(A);if(!Q)return;let B=Q.filter((J)=>!!process.env[J]||!!VV(J));return B.length>0?B:void 0}function z7(A){let Q=KKA(A);if(Q?.[0])return process.env[Q[0]]||VV(Q[0]);if(A==="google-vertex"){let B=Rf6(),J=!!(process.env.GOOGLE_CLOUD_PROJECT||process.env.GCLOUD_PROJECT||VV("GOOGLE_CLOUD_PROJECT")||VV("GCLOUD_PROJECT")),$=!!(process.env.GOOGLE_CLOUD_LOCATION||VV("GOOGLE_CLOUD_LOCATION"));if(B&&J&&$)return"<authenticated>"}if(A==="amazon-bedrock"){if(process.env.AWS_PROFILE||process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY||process.env.AWS_BEARER_TOKEN_BEDROCK||process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI||process.env.AWS_WEB_IDENTITY_TOKEN_FILE||VV("AWS_PROFILE")||VV("AWS_ACCESS_KEY_ID")&&VV("AWS_SECRET_ACCESS_KEY")||VV("AWS_BEARER_TOKEN_BEDROCK")||VV("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")||VV("AWS_CONTAINER_CREDENTIALS_FULL_URI")||VV("AWS_WEB_IDENTITY_TOKEN_FILE"))return"<authenticated>"}return}var rE1=null,Z80=null,G80=null,W80=(A)=>import(A),Ef6="node:fs",Cf6="node:os",If6="node:path",oE1=null,GB1=null;var YL=C(()=>{if(typeof process<"u"&&(process.versions?.node||process.versions?.bun))W80(Ef6).then((A)=>{rE1=A.existsSync}),W80(Cf6).then((A)=>{Z80=A.homedir}),W80(If6).then((A)=>{G80=A.join})});var HKA;var VKA=C(()=>{HKA={"amazon-bedrock":{"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},contextWindow:300000,maxTokens:8192},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},contextWindow:128000,maxTokens:8192},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:300000,maxTokens:8192},"anthropic.claude-fable-5":{id:"anthropic.claude-fable-5",name:"Claude Fable 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-opus-4-7":{id:"anthropic.claude-opus-4-7",name:"Claude Opus 4.7",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-opus-4-8":{id:"anthropic.claude-opus-4-8",name:"Claude Opus 4.8",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-opus-5":{id:"anthropic.claude-opus-5",name:"Claude Opus 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic.claude-sonnet-5":{id:"anthropic.claude-sonnet-5",name:"Claude Sonnet 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"au.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"au.anthropic.claude-opus-4-6-v1":{id:"au.anthropic.claude-opus-4-6-v1",name:"AU Anthropic Claude Opus 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:16.5,output:82.5,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-opus-4-8":{id:"au.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-opus-5":{id:"au.anthropic.claude-opus-5",name:"Claude Opus 5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"au.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"au.anthropic.claude-sonnet-4-6":{id:"au.anthropic.claude-sonnet-4-6",name:"AU Anthropic Claude Sonnet 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-sonnet-5":{id:"au.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:32768},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"eu.anthropic.claude-fable-5":{id:"eu.anthropic.claude-fable-5",name:"Claude Fable 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:11,output:55,cacheRead:1.1,cacheWrite:13.75},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.1,output:5.5,cacheRead:0.11,cacheWrite:1.375},contextWindow:200000,maxTokens:64000},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:200000,maxTokens:64000},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-opus-4-7":{id:"eu.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-opus-4-8":{id:"eu.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-opus-5":{id:"eu.anthropic.claude-opus-5",name:"Claude Opus 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},contextWindow:200000,maxTokens:64000},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:64000},"eu.anthropic.claude-sonnet-5":{id:"eu.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:0.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-fable-5":{id:"global.anthropic.claude-fable-5",name:"Claude Fable 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-opus-4-7":{id:"global.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-opus-4-8":{id:"global.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-opus-5":{id:"global.anthropic.claude-opus-5",name:"Claude Opus 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"global.anthropic.claude-sonnet-5":{id:"global.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:8192},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"jp.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"jp.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"jp.anthropic.claude-opus-4-7":{id:"jp.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"jp.anthropic.claude-opus-4-8":{id:"jp.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"jp.anthropic.claude-opus-5":{id:"jp.anthropic.claude-opus-5",name:"Claude Opus 5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"jp.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"jp.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"jp.anthropic.claude-sonnet-4-6":{id:"jp.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"jp.anthropic.claude-sonnet-5":{id:"jp.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},contextWindow:3500000,maxTokens:16384},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204608,maxTokens:128000},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:98304},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8192},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:40000},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8192},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8192},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:8192},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16000},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16000},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"openai.gpt-5.4":{id:"openai.gpt-5.4",name:"GPT-5.4",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.75,output:16.5,cacheRead:0.275,cacheWrite:0},contextWindow:272000,maxTokens:128000},"openai.gpt-5.5":{id:"openai.gpt-5.5",name:"GPT-5.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:33,cacheRead:0.55,cacheWrite:0},contextWindow:272000,maxTokens:128000},"openai.gpt-5.6-luna":{id:"openai.gpt-5.6-luna",name:"GPT-5.6 Luna",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.22,output:1.32,cacheRead:0.022,cacheWrite:0.275},contextWindow:1050000,maxTokens:128000},"openai.gpt-5.6-sol":{id:"openai.gpt-5.6-sol",name:"GPT-5.6 Sol",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:33,cacheRead:0.55,cacheWrite:6.875},contextWindow:1050000,maxTokens:128000},"openai.gpt-5.6-terra":{id:"openai.gpt-5.6-terra",name:"GPT-5.6 Terra",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:13.2,cacheRead:0.22,cacheWrite:2.75},contextWindow:1050000,maxTokens:128000},"openai.gpt-oss-120b":{id:"openai.gpt-oss-120b",name:"gpt-oss-120b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-20b":{id:"openai.gpt-oss-20b",name:"gpt-oss-20b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-coder-next":{id:"qwen.qwen3-coder-next",name:"Qwen3 Coder Next",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},contextWindow:262000,maxTokens:262000},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262000,maxTokens:262000},"us.anthropic.claude-fable-5":{id:"us.anthropic.claude-fable-5",name:"Claude Fable 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-opus-4-7":{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-opus-4-8":{id:"us.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-opus-5":{id:"us.anthropic.claude-opus-5",name:"Claude Opus 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"us.anthropic.claude-sonnet-5":{id:"us.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"us.deepseek.r1-v1:0":{id:"us.deepseek.r1-v1:0",name:"DeepSeek-R1 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:32768},"us.meta.llama4-maverick-17b-instruct-v1:0":{id:"us.meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"us.meta.llama4-scout-17b-instruct-v1:0":{id:"us.meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},contextWindow:3500000,maxTokens:16384},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:122880,maxTokens:8192},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:1040000,maxTokens:8192},"xai.grok-4.3":{id:"xai.grok-4.3",name:"Grok 4.3",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:131072},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:101376}},anthropic:{"claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128000},"claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000}},"azure-openai-responses":{"gpt-4":{id:"gpt-4",name:"GPT-4",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5":{id:"gpt-5",name:"GPT-5",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"GPT-5 Chat Latest",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:272000},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.125,cacheWrite:1.25},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:32000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6":{id:"gpt-5.6",name:"GPT-5.6",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.5},contextWindow:1050000,maxTokens:128000},"gpt-realtime-2.1":{id:"gpt-realtime-2.1",name:"GPT-Realtime-2.1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:0.4,cacheWrite:0},contextWindow:128000,maxTokens:32000},o1:{id:"o1",name:"o1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o1-pro":{id:"o1-pro",name:"o1-pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},o3:{id:"o3",name:"o3",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-mini":{id:"o3-mini",name:"o3-mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-pro":{id:"o3-pro",name:"o3-pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o4-mini":{id:"o4-mini",name:"o4-mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5}},cerebras:{"gemma-4-31b":{id:"gemma-4-31b",name:"Gemma 4 31B IT",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text","image"],cost:{input:0.99,output:1.49,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text"],cost:{input:0.35,output:0.75,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960},"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text"],cost:{input:2.25,output:2.75,cacheRead:2.25,cacheWrite:0},contextWindow:131072,maxTokens:40960}},"github-copilot":{"claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"claude-haiku-4.5":{id:"claude-haiku-4.5",name:"Claude Haiku 4.5 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-opus-4.5":{id:"claude-opus-4.5",name:"Claude Opus 4.5 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:32000},"claude-opus-4.6":{id:"claude-opus-4.6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:32000},"claude-opus-4.7":{id:"claude-opus-4.7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:32000},"claude-opus-4.8":{id:"claude-opus-4.8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:64000},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:216000,maxTokens:16000},"claude-sonnet-4.5":{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:32000},"claude-sonnet-4.6":{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:32000},"claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:200000,maxTokens:64000},"gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:264000,maxTokens:64000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.5,cacheWrite:0},contextWindow:500000,maxTokens:128000},"kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:256000,maxTokens:32000},"kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mai-code-1-flash-picker":{id:"mai-code-1-flash-picker",name:"MAI-Code-1-Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:256000,maxTokens:128000}},google:{"deep-research-max-preview-04-2026":{id:"deep-research-max-preview-04-2026",name:"Deep Research Max Preview (Apr-21-2026)",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deep-research-preview-04-2026":{id:"deep-research-preview-04-2026",name:"Deep Research Preview (Apr-21-2026)",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemini-2.5-computer-use-preview-10-2025":{id:"gemini-2.5-computer-use-preview-10-2025",name:"Gemini 2.5 Computer Use Preview 10-2025",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-lite":{id:"gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-lite-image":{id:"gemini-3.1-flash-lite-image",name:"Nano Banana 2 Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:30,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:65536},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-live-preview":{id:"gemini-3.1-flash-live-preview",name:"Gemini 3.1 Flash Live Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash-lite":{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-robotics-er-1.6-preview":{id:"gemini-robotics-er-1.6-preview",name:"Gemini Robotics-ER 1.6 Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemma-4-26b-a4b-it":{id:"gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"gemma-4-31b-it":{id:"gemma-4-31b-it",name:"Gemma 4 31B IT",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768}},"google-antigravity":{"claude-opus-4-5-thinking":{id:"claude-opus-4-5-thinking",name:"Claude Opus 4.5 Thinking (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-6-thinking":{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:128000},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-5-thinking":{id:"claude-sonnet-4-5-thinking",name:"Claude Sonnet 4.5 Thinking (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"gemini-3-flash":{id:"gemini-3-flash",name:"Gemini 3 Flash (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.5,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3.1-pro-high":{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.375},contextWindow:1048576,maxTokens:65535},"gemini-3.1-pro-low":{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.375},contextWindow:1048576,maxTokens:65535},"gpt-oss-120b-medium":{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B Medium (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!1,input:["text"],cost:{input:0.09,output:0.36,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768}},"google-gemini-cli":{"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535}},"google-vertex":{"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25 (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536}},groq:{"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!1,input:["text"],cost:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!1,input:["text"],cost:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0.0375,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen3.6 27B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.3,cacheWrite:0},contextWindow:131072,maxTokens:16384}},huggingface:{"MiniMaxAI/MiniMax-M2":{id:"MiniMaxAI/MiniMax-M2",name:"MiniMax-M2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:128000},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M3":{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax-M3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:524288,maxTokens:128000},"Qwen/Qwen3-235B-A22B":{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B-A22B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B-A22B Instruct 2507",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.855,output:2.565,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3 32B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder 30B-A3B Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.07,output:0.26,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:2,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.3,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3.5-122B-A10B":{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen3.5 122B-A10B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.4,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.5-27B":{id:"Qwen/Qwen3.5-27B",name:"Qwen3.5 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.5-35B-A3B":{id:"Qwen/Qwen3.5-35B-A3B",name:"Qwen3.5 35B-A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"Qwen/Qwen3.5-9B":{id:"Qwen/Qwen3.5-9B",name:"Qwen3.5 9B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.17,output:0.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.6-27B":{id:"Qwen/Qwen3.6-27B",name:"Qwen3.6 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.47,output:3.19,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.6-35B-A3B":{id:"Qwen/Qwen3.6-35B-A3B",name:"Qwen3.6 35B-A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.95,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"XiaomiMiMo/MiMo-V2.5":{id:"XiaomiMiMo/MiMo-V2.5",name:"MiMo-V2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"XiaomiMiMo/MiMo-V2.5-Pro":{id:"XiaomiMiMo/MiMo-V2.5-Pro",name:"MiMo-V2.5-Pro",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"deepseek-ai/DeepSeek-R1":{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek-R1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:64000,maxTokens:32768},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:3,output:5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek-V3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.4,output:1.3,cacheRead:0,cacheWrite:0},contextWindow:64000,maxTokens:8192},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek-V3.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.27,output:1,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek-ai/DeepSeek-V4-Flash":{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384000},"deepseek-ai/DeepSeek-V4-Flash-0731":{id:"deepseek-ai/DeepSeek-V4-Flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384000},"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"google/gemma-4-26B-A4B-it":{id:"google/gemma-4-26B-A4B-it",name:"Gemma 4 26B A4B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google/gemma-4-31B-it":{id:"google/gemma-4-31B-it",name:"Gemma 4 31B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi-K2.6",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.7-Code":{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K3":{id:"moonshotai/Kimi-K3",name:"Kimi K3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"stepfun-ai/Step-3.5-Flash":{id:"stepfun-ai/Step-3.5-Flash",name:"Step 3.5 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256000},"stepfun-ai/Step-3.7-Flash":{id:"stepfun-ai/Step-3.7-Flash",name:"Step 3.7 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256000},"tencent/Hy3":{id:"tencent/Hy3",name:"Hy3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.14,output:0.58,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:64000},"thinkingmachines/Inkling":{id:"thinkingmachines/Inkling",name:"Inkling",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1,output:4.05,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"thinkingmachines/Inkling-Small":{id:"thinkingmachines/Inkling-Small",name:"Inkling Small",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:524288,maxTokens:1048576},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.13,output:0.85,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"zai-org/GLM-4.5V":{id:"zai-org/GLM-4.5V",name:"GLM-4.5V",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:16384},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM-4.6",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:128000},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:202752,maxTokens:131072},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:202752,maxTokens:131072},"zai-org/GLM-5.2":{id:"zai-org/GLM-5.2",name:"GLM-5.2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072}},"kimi-coding":{k2p5:{id:"k2p5",name:"Kimi K2.5",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},k3:{id:"k3",name:"Kimi K3",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"k3-256k":{id:"k3-256k",name:"Kimi K3-256K",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"kimi-for-coding":{id:"kimi-for-coding",name:"Kimi K2.7 Code",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"kimi-for-coding-highspeed":{id:"kimi-for-coding-highspeed",name:"Kimi For Coding HighSpeed",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072}},"minimax-cn":{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072}},mistral:{"codestral-latest":{id:"codestral-latest",name:"Codestral (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:4096},"devstral-2512":{id:"devstral-2512",name:"Devstral 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-latest":{id:"devstral-latest",name:"Devstral 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-medium-2507":{id:"devstral-medium-2507",name:"Devstral Medium",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"devstral-medium-latest":{id:"devstral-medium-latest",name:"Devstral 2 (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-small-2505":{id:"devstral-small-2505",name:"Devstral Small 2505",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"devstral-small-2507":{id:"devstral-small-2507",name:"Devstral Small",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"labs-devstral-small-2512":{id:"labs-devstral-small-2512",name:"Devstral Small 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"magistral-medium-latest":{id:"magistral-medium-latest",name:"Magistral Medium (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text"],cost:{input:2,output:5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"magistral-small":{id:"magistral-small",name:"Magistral Small",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"ministral-3b-latest":{id:"ministral-3b-latest",name:"Ministral 3B (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"ministral-8b-latest":{id:"ministral-8b-latest",name:"Ministral 8B (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"mistral-large-2411":{id:"mistral-large-2411",name:"Mistral Large 2.1",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"mistral-large-2512":{id:"mistral-large-2512",name:"Mistral Large 3",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-large-latest":{id:"mistral-large-latest",name:"Mistral Large (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2505":{id:"mistral-medium-2505",name:"Mistral Medium 3",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"mistral-medium-2508":{id:"mistral-medium-2508",name:"Mistral Medium 3.1",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2604":{id:"mistral-medium-2604",name:"Mistral Medium 3.5",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-latest":{id:"mistral-medium-latest",name:"Mistral Medium (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-nemo":{id:"mistral-nemo",name:"Mistral Nemo",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"mistral-small-2506":{id:"mistral-small-2506",name:"Mistral Small 3.2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"mistral-small-2603":{id:"mistral-small-2603",name:"Mistral Small 4",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral-small-latest":{id:"mistral-small-latest",name:"Mistral Small (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"open-mistral-7b":{id:"open-mistral-7b",name:"Mistral 7B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.25,output:0.25,cacheRead:0,cacheWrite:0},contextWindow:8000,maxTokens:8000},"open-mistral-nemo":{id:"open-mistral-nemo",name:"Open Mistral Nemo",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"open-mixtral-8x22b":{id:"open-mixtral-8x22b",name:"Mixtral 8x22B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:64000,maxTokens:64000},"open-mixtral-8x7b":{id:"open-mixtral-8x7b",name:"Mixtral 8x7B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.7,output:0.7,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:32000},"pixtral-12b":{id:"pixtral-12b",name:"Pixtral 12B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"pixtral-large-latest":{id:"pixtral-large-latest",name:"Pixtral Large (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"voxtral-small-latest":{id:"voxtral-small-latest",name:"Voxtral Small (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:32000}},openai:{"gpt-4":{id:"gpt-4",name:"GPT-4",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"GPT-5 Chat Latest",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:272000},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.125,cacheWrite:1.25},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:32000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6":{id:"gpt-5.6",name:"GPT-5.6",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.5},contextWindow:1050000,maxTokens:128000},"gpt-realtime-2.1":{id:"gpt-realtime-2.1",name:"GPT-Realtime-2.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:0.4,cacheWrite:0},contextWindow:128000,maxTokens:32000},o1:{id:"o1",name:"o1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o1-pro":{id:"o1-pro",name:"o1-pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},o3:{id:"o3",name:"o3",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-mini":{id:"o3-mini",name:"o3-mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-pro":{id:"o3-pro",name:"o3-pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o4-mini":{id:"o4-mini",name:"o4-mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5}},"openai-codex":{"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:272000,maxTokens:128000}},opencode:{"big-pickle":{id:"big-pickle",name:"Big Pickle",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:32000},"claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek-v4-flash-free":{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:128000},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.74,output:3.84,cacheRead:0.145,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"gemini-3-flash":{id:"gemini-3-flash",name:"Gemini 3 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro":{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro Preview",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash-lite":{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"glm-5":{id:"glm-5",name:"GLM-5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:3.125},contextWindow:1050000,maxTokens:128000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.5,cacheWrite:0},contextWindow:500000,maxTokens:500000},"grok-build-0.1":{id:"grok-build-0.1",name:"Grok Build 0.1",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.2,cacheWrite:0},contextWindow:256000,maxTokens:256000},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.08,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"laguna-s-2.1-free":{id:"laguna-s-2.1-free",name:"Laguna S 2.1 Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32000},"ling-3.0-tiny-free":{id:"ling-3.0-tiny-free",name:"Ling-3.0-tiny Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"longcat-2.0-free":{id:"longcat-2.0-free",name:"LongCat-2.0 Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"mimo-v2.5-free":{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:32000},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m3":{id:"minimax-m3",name:"MiniMax-M3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:512000,maxTokens:128000},"nemotron-3-ultra-free":{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:262144,maxTokens:65536},"qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.625},contextWindow:262144,maxTokens:65536}},"opencode-go":{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (2x usage)",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text"],cost:{input:0.07,output:0.14,cacheRead:0.0014,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:202752,maxTokens:32768},"glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna (2x usage)",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.6,cacheRead:0.01,cacheWrite:0.125},contextWindow:1050000,maxTokens:128000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.5,cacheWrite:0},contextWindow:500000,maxTokens:500000},hy3:{id:"hy3",name:"Hy3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:0.14,output:0.58,cacheRead:0.035,cacheWrite:0},contextWindow:256000,maxTokens:64000},"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:"mimo-v2.5",name:"MiMo V2.5",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"mimo-v2.5-pro":{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},contextWindow:1048576,maxTokens:128000},"minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m3":{id:"minimax-m3",name:"MiniMax-M3",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.625},contextWindow:1e6,maxTokens:65536},"qwen3.7-max":{id:"qwen3.7-max",name:"Qwen3.7 Max",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:0.5,cacheWrite:3.125},contextWindow:1e6,maxTokens:65536},"qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:0.4,output:1.6,cacheRead:0.04,cacheWrite:0.5},contextWindow:1e6,maxTokens:65536},"qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:131072}},openrouter:{"ai21/jamba-large-1.7":{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:8,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:4096},"aion-labs/aion-2.0":{id:"aion-labs/aion-2.0",name:"AionLabs: Aion-2.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7999999999999999,output:1.5999999999999999,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:32768},"aion-labs/aion-3.0":{id:"aion-labs/aion-3.0",name:"AionLabs: Aion-3.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:3,output:6,cacheRead:0.75,cacheWrite:0},contextWindow:131072,maxTokens:32768},"aion-labs/aion-3.0-mini":{id:"aion-labs/aion-3.0-mini",name:"AionLabs: Aion-3.0-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7,output:1.4,cacheRead:0.18,cacheWrite:0},contextWindow:131072,maxTokens:32768},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65535},"amazon/nova-lite-v1":{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:5120},"amazon/nova-micro-v1":{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:5120},"amazon/nova-premier-v1":{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.625,cacheWrite:0},contextWindow:1e6,maxTokens:32000},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:5120},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},contextWindow:200000,maxTokens:4096},"anthropic/claude-fable-5":{id:"anthropic/claude-fable-5",name:"Anthropic: Claude Fable 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-fable-5:batch":{id:"anthropic/claude-fable-5:batch",name:"Anthropic: Claude Fable 5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-haiku-4.5:batch":{id:"anthropic/claude-haiku-4.5:batch",name:"Anthropic: Claude Haiku 4.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:2.5,cacheRead:0.049999999999999996,cacheWrite:0.625},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"anthropic/claude-opus-4.1:batch":{id:"anthropic/claude-opus-4.1:batch",name:"Anthropic: Claude Opus 4.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:7.5,output:37.5,cacheRead:0.75,cacheWrite:9.375},contextWindow:200000,maxTokens:32000},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4.5:batch":{id:"anthropic/claude-opus-4.5:batch",name:"Anthropic: Claude Opus 4.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.6:batch":{id:"anthropic/claude-opus-4.6:batch",name:"Anthropic: Claude Opus 4.6 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Anthropic: Claude Opus 4.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7-fast":{id:"anthropic/claude-opus-4.7-fast",name:"Anthropic: Claude Opus 4.7 (Fast)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:150,cacheRead:3,cacheWrite:37.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7:batch":{id:"anthropic/claude-opus-4.7:batch",name:"Anthropic: Claude Opus 4.7 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8":{id:"anthropic/claude-opus-4.8",name:"Anthropic: Claude Opus 4.8",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8-fast":{id:"anthropic/claude-opus-4.8-fast",name:"Anthropic: Claude Opus 4.8 (Fast)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8:batch":{id:"anthropic/claude-opus-4.8:batch",name:"Anthropic: Claude Opus 4.8 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5":{id:"anthropic/claude-opus-5",name:"Claude Opus 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5-fast":{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 (Fast)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5:batch":{id:"anthropic/claude-opus-5:batch",name:"Claude Opus 5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.5:batch":{id:"anthropic/claude-sonnet-4.5:batch",name:"Anthropic: Claude Sonnet 4.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Anthropic: Claude Sonnet 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-4.6:batch":{id:"anthropic/claude-sonnet-4.6:batch",name:"Anthropic: Claude Sonnet 4.6 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-5":{id:"anthropic/claude-sonnet-5",name:"Anthropic: Claude Sonnet 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-5:batch":{id:"anthropic/claude-sonnet-5:batch",name:"Anthropic: Claude Sonnet 5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:1e6,maxTokens:128000},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Arcee AI: Trinity Large Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.22,output:0.85,cacheRead:0.06,cacheWrite:0},contextWindow:262144,maxTokens:262144},"arcee-ai/virtuoso-large":{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.75,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:64000},auto:{id:"auto",name:"Auto",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2000000,maxTokens:30000},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-1.6-flash":{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-2.0-lite":{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"bytedance-seed/seed-2.0-mini":{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"cohere/north-mini-code:free":{id:"cohere/north-mini-code:free",name:"Cohere: North Mini Code (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:64000},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.2574,output:1.0287,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16000},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.27,output:1.12,cacheRead:0.135,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.25,output:0.95,cacheRead:0.13,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16000},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.5,output:2.1500000000000004,cacheRead:0.35,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.27,output:1,cacheRead:0.135,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.26899999999999996,output:0.39999999999999997,cacheRead:0.13449999999999998,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek: DeepSeek V4 Flash 0423",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek/deepseek-v4-flash-0731":{id:"deepseek/deepseek-v4-flash-0731",name:"DeepSeek: DeepSeek V4 Flash 0731",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.08,output:0.18,cacheRead:0.016,cacheWrite:0},contextWindow:1048576,maxTokens:384000},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.63168,output:1.26336,cacheRead:0.053298,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite:batch":{id:"google/gemini-2.5-flash-lite:batch",name:"Google: Gemini 2.5 Flash Lite (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash:batch":{id:"google/gemini-2.5-flash:batch",name:"Google: Gemini 2.5 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:1.25,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-pro:batch":{id:"google/gemini-2.5-pro:batch",name:"Google: Gemini 2.5 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.049999999999999996,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash-preview:batch":{id:"google/gemini-3-flash-preview:batch",name:"Google: Gemini 3 Flash Preview (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-pro-image":{id:"google/gemini-3-pro-image",name:"Google: Nano Banana Pro (Gemini 3 Pro Image)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:131072,maxTokens:32768},"google/gemini-3.1-flash-lite":{id:"google/gemini-3.1-flash-lite",name:"Google: Gemini 3.1 Flash Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.024999999999999998,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.024999999999999998,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite:batch":{id:"google/gemini-3.1-flash-lite:batch",name:"Google: Gemini 3.1 Flash Lite (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.125,output:0.75,cacheRead:0.012499999999999999,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview:batch":{id:"google/gemini-3.1-pro-preview:batch",name:"Google: Gemini 3.1 Pro Preview (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash":{id:"google/gemini-3.5-flash",name:"Google: Gemini 3.5 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash-lite":{id:"google/gemini-3.5-flash-lite",name:"Google: Gemini 3.5 Flash Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash-lite:batch":{id:"google/gemini-3.5-flash-lite:batch",name:"Google: Gemini 3.5 Flash Lite (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:1.25,cacheRead:0.015,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash:batch":{id:"google/gemini-3.5-flash:batch",name:"Google: Gemini 3.5 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.6-flash":{id:"google/gemini-3.6-flash",name:"Google: Gemini 3.6 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.6-flash:batch":{id:"google/gemini-3.6-flash:batch",name:"Google: Gemini 3.6 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:3.75,cacheRead:0.075,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Google: Gemma 3 12B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.049999999999999996,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.08,output:0.44999999999999996,cacheRead:0.04,cacheWrite:0},contextWindow:262144,maxTokens:131072},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google: Gemma 4 26B A4B ",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.12,output:0.39999999999999997,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:262144},"google/gemma-4-26b-a4b-it:free":{id:"google/gemma-4-26b-a4b-it:free",name:"Google: Gemma 4 26B A4B (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Google: Gemma 4 31B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.33999999999999997,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:262144},"google/gemma-4-31b-it:free":{id:"google/gemma-4-31b-it:free",name:"Google: Gemma 4 31B (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"ibm-granite/granite-4.1-8b":{id:"ibm-granite/granite-4.1-8b",name:"IBM: Granite 4.1 8B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.049999999999999996,output:0.09999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:131072},"inception/mercury-2":{id:"inception/mercury-2",name:"Inception: Mercury 2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:128000,maxTokens:50000},"inclusionai/ling-2.6-1t":{id:"inclusionai/ling-2.6-1t",name:"inclusionAI: Ling-2.6-1T",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.075,output:0.625,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-2.6-flash":{id:"inclusionai/ling-2.6-flash",name:"inclusionAI: Ling-2.6-flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.01,output:0.03,cacheRead:0.002,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-3.0-flash":{id:"inclusionai/ling-3.0-flash",name:"Ling-3.0-flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.020999999999999998,output:0.063,cacheRead:0.004200000000000001,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-3.0-tiny:free":{id:"inclusionai/ling-3.0-tiny:free",name:"inclusionAI: Ling 3.0 Tiny (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ring-2.6-1t":{id:"inclusionai/ring-2.6-1t",name:"inclusionAI: Ring-2.6-1T",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.625,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kwaipilot/kat-coder-air-v2.5":{id:"kwaipilot/kat-coder-air-v2.5",name:"Kwaipilot: KAT-Coder-Air V2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0.03,cacheWrite:0},contextWindow:256000,maxTokens:80000},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kwaipilot: KAT-Coder-Pro V2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:262144,maxTokens:80000},"kwaipilot/kat-coder-pro-v2.5":{id:"kwaipilot/kat-coder-pro-v2.5",name:"Kwaipilot: KAT-Coder-Pro V2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.74,output:2.96,cacheRead:0.15,cacheWrite:0},contextWindow:256000,maxTokens:80000},"meituan/longcat-2.0":{id:"meituan/longcat-2.0",name:"Meituan: LongCat 2.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.006,cacheWrite:0},contextWindow:1048756,maxTokens:262144},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.39999999999999997,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.049999999999999996,output:0.08,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:131072},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09999999999999999,output:0.32,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.696,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:1310720,maxTokens:16384},"meta/muse-glimmer-30b":{id:"meta/muse-glimmer-30b",name:"Meta: Muse Glimmer 30B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.35,output:1.5,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"meta/muse-spark-1.1":{id:"meta/muse-spark-1.1",name:"Meta: Muse Spark 1.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"meta/muse-spark-1.2":{id:"meta/muse-spark-1.2",name:"Meta: Muse Spark 1.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:40000},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.255,output:1.02,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.22,output:0.8999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax/minimax-m3":{id:"minimax/minimax-m3",name:"MiniMax: MiniMax M3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:1048576,maxTokens:512000},"minimax/minimax-m3:batch":{id:"minimax/minimax-m3:batch",name:"MiniMax: MiniMax M3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.03,cacheWrite:0},contextWindow:524288,maxTokens:4096},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0.03,cacheWrite:0},contextWindow:256000,maxTokens:4096},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.19999999999999998,cacheRead:0.02,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/ministral-3b-2512":{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.09999999999999999,cacheRead:0.01,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/ministral-8b-2512":{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistralai/mistral-large-2407":{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:2,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-medium-3-5":{id:"mistralai/mistral-medium-3-5",name:"Mistral: Mistral Medium 3.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:2,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.019000000000000003,output:0.03,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"mistralai/mistral-saba":{id:"mistralai/mistral-saba",name:"Mistral: Saba",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.19999999999999998,output:0.6,cacheRead:0.02,cacheWrite:0},contextWindow:32768,maxTokens:4096},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral: Mistral Small 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09375,output:0.25,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:16384},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:65536,maxTokens:4096},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0.01,cacheWrite:0},contextWindow:32000,maxTokens:4096},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:100352},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:100352},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:100352},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.41,output:2.06,cacheRead:0.07,cacheWrite:0},contextWindow:262144,maxTokens:4096},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"MoonshotAI: Kimi K2.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2.7-code":{id:"moonshotai/kimi-k2.7-code",name:"MoonshotAI: Kimi K2.7 Code",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.7,output:3.5,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2.7-code:batch":{id:"moonshotai/kimi-k2.7-code:batch",name:"MoonshotAI: Kimi K2.7 Code (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.475,output:2,cacheRead:0.095,cacheWrite:0},contextWindow:262144,maxTokens:4096},"moonshotai/kimi-k3":{id:"moonshotai/kimi-k3",name:"MoonshotAI: Kimi K3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"nex-agi/nex-n2-mini":{id:"nex-agi/nex-n2-mini",name:"Nex AGI: Nex-N2-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.024999999999999998,output:0.09999999999999999,cacheRead:0.0025,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nex-agi/nex-n2-pro":{id:"nex-agi/nex-n2-pro",name:"Nex AGI: Nex-N2-Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:228000},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"NVIDIA: Nemotron 3 Nano 30B A3B (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:4096},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"NVIDIA: Nemotron 3 Nano Omni (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:65536},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA: Nemotron 3 Super",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.08499999999999999,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nvidia/nemotron-3-ultra-550b-a55b":{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"NVIDIA: Nemotron 3 Ultra",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:3.5999999999999996,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:512288,maxTokens:4096},"nvidia/nemotron-3-ultra-550b-a55b:batch":{id:"nvidia/nemotron-3-ultra-550b-a55b:batch",name:"NVIDIA: Nemotron 3 Ultra (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.7999999999999998,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:512288,maxTokens:4096},"nvidia/nemotron-3-ultra-550b-a55b:free":{id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"NVIDIA: Nemotron 3 Ultra (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"NVIDIA: Nemotron Nano 12B 2 VL (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"NVIDIA: Nemotron Nano 9B V2 (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:1,output:2,cacheRead:0,cacheWrite:0},contextWindow:4095,maxTokens:4096},"openai/gpt-3.5-turbo-16k":{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:3,output:4,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-3.5-turbo:batch":{id:"openai/gpt-3.5-turbo:batch",name:"OpenAI: GPT-3.5 Turbo (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.25,output:0.75,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8191,maxTokens:4096},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4-turbo-preview":{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4-turbo:batch":{id:"openai/gpt-4-turbo:batch",name:"OpenAI: GPT-4 Turbo (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini:batch":{id:"openai/gpt-4.1-mini:batch",name:"OpenAI: GPT-4.1 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.7999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano:batch":{id:"openai/gpt-4.1-nano:batch",name:"OpenAI: GPT-4.1 Nano (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0.012499999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1:batch":{id:"openai/gpt-4.1:batch",name:"OpenAI: GPT-4.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:1,output:4,cacheRead:0.25,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini-2024-07-18":{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini:batch":{id:"openai/gpt-4o-mini:batch",name:"OpenAI: GPT-4o-mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0.0375,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o:batch":{id:"openai/gpt-4o:batch",name:"OpenAI: GPT-4o (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.625,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-codex:batch":{id:"openai/gpt-5-codex:batch",name:"OpenAI: GPT-5 Codex (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.0625,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-mini:batch":{id:"openai/gpt-5-mini:batch",name:"OpenAI: GPT-5 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.125,output:1,cacheRead:0.012499999999999999,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.049999999999999996,output:0.39999999999999997,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-nano:batch":{id:"openai/gpt-5-nano:batch",name:"OpenAI: GPT-5 Nano (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.024999999999999998,output:0.19999999999999998,cacheRead:0.0025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-pro:batch":{id:"openai/gpt-5-pro:batch",name:"OpenAI: GPT-5 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:7.5,output:60,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1:batch":{id:"openai/gpt-5.1:batch",name:"OpenAI: GPT-5.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.0625,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:32000},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-pro:batch":{id:"openai/gpt-5.2-pro:batch",name:"OpenAI: GPT-5.2 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10.5,output:84,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2:batch":{id:"openai/gpt-5.2:batch",name:"OpenAI: GPT-5.2 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.875,output:7,cacheRead:0.0875,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"OpenAI: GPT-5.4 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-mini:batch":{id:"openai/gpt-5.4-mini:batch",name:"OpenAI: GPT-5.4 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.375,output:2.25,cacheRead:0.0375,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"OpenAI: GPT-5.4 Nano",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-nano:batch":{id:"openai/gpt-5.4-nano:batch",name:"OpenAI: GPT-5.4 Nano (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.625,cacheRead:0.01,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4-pro:batch":{id:"openai/gpt-5.4-pro:batch",name:"OpenAI: GPT-5.4 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:90,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4:batch":{id:"openai/gpt-5.4:batch",name:"OpenAI: GPT-5.4 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:7.5,cacheRead:0.125,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"OpenAI: GPT-5.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"OpenAI: GPT-5.5 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5-pro:batch":{id:"openai/gpt-5.5-pro:batch",name:"OpenAI: GPT-5.5 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:90,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5:batch":{id:"openai/gpt-5.5:batch",name:"OpenAI: GPT-5.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna":{id:"openai/gpt-5.6-luna",name:"OpenAI: GPT-5.6 Luna",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0.125},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna-pro":{id:"openai/gpt-5.6-luna-pro",name:"OpenAI: GPT-5.6 Luna Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0.125},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna-pro:batch":{id:"openai/gpt-5.6-luna-pro:batch",name:"OpenAI: GPT-5.6 Luna Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna:batch":{id:"openai/gpt-5.6-luna:batch",name:"OpenAI: GPT-5.6 Luna (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol":{id:"openai/gpt-5.6-sol",name:"OpenAI: GPT-5.6 Sol",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol-pro":{id:"openai/gpt-5.6-sol-pro",name:"OpenAI: GPT-5.6 Sol Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol-pro:batch":{id:"openai/gpt-5.6-sol-pro:batch",name:"OpenAI: GPT-5.6 Sol Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol:batch":{id:"openai/gpt-5.6-sol:batch",name:"OpenAI: GPT-5.6 Sol (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra":{id:"openai/gpt-5.6-terra",name:"OpenAI: GPT-5.6 Terra",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra-pro":{id:"openai/gpt-5.6-terra-pro",name:"OpenAI: GPT-5.6 Terra Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra-pro:batch":{id:"openai/gpt-5.6-terra-pro:batch",name:"OpenAI: GPT-5.6 Terra Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra:batch":{id:"openai/gpt-5.6-terra:batch",name:"OpenAI: GPT-5.6 Terra (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5:batch":{id:"openai/gpt-5:batch",name:"OpenAI: GPT-5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.0625,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-audio":{id:"openai/gpt-audio",name:"OpenAI: GPT Audio",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-audio-mini":{id:"openai/gpt-audio-mini",name:"OpenAI: GPT Audio Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-chat-latest":{id:"openai/gpt-chat-latest",name:"OpenAI: GPT Chat Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.037,output:0.16999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.03,output:0.13,cacheRead:0.03,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"OpenAI: gpt-oss-20b (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0.0375,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o1:batch":{id:"openai/o1:batch",name:"OpenAI: o1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:7.5,output:30,cacheRead:3.75,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini-high:batch":{id:"openai/o3-mini-high:batch",name:"OpenAI: o3 Mini High (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini:batch":{id:"openai/o3-mini:batch",name:"OpenAI: o3 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: o3 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-pro:batch":{id:"openai/o3-pro:batch",name:"OpenAI: o3 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:40,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3:batch":{id:"openai/o3:batch",name:"OpenAI: o3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:4,cacheRead:0.25,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini":{id:"openai/o4-mini",name:"OpenAI: o4 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini-high":{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini-high:batch":{id:"openai/o4-mini-high:batch",name:"OpenAI: o4 Mini High (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.55,output:2.2,cacheRead:0.1375,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini:batch":{id:"openai/o4-mini:batch",name:"OpenAI: o4 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.55,output:2.2,cacheRead:0.1375,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openrouter/auto":{id:"openrouter/auto",name:"Auto Router",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0},contextWindow:2000000,maxTokens:4096},"openrouter/auto-beta":{id:"openrouter/auto-beta",name:"Auto Router (Beta)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0},contextWindow:2000000,maxTokens:4096},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:4096},"poolside/laguna-s-2.1":{id:"poolside/laguna-s-2.1",name:"Poolside: Laguna S 2.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.09,output:0.18,cacheRead:0.009,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"poolside/laguna-s-2.1:free":{id:"poolside/laguna-s-2.1:free",name:"Poolside: Laguna S 2.1 (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"poolside/laguna-xs-2.1":{id:"poolside/laguna-xs-2.1",name:"Poolside: Laguna XS 2.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.06,output:0.12,cacheRead:0.03,cacheWrite:0},contextWindow:262144,maxTokens:32768},"poolside/laguna-xs-2.1:free":{id:"poolside/laguna-xs-2.1:free",name:"Poolside: Laguna XS 2.1 (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.36,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:16384},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09999999999999999,output:0.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.26,output:0.78,cacheRead:0.052000000000000005,cacheWrite:0.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28":{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28:thinking":{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.39999999999999997,output:1.2,cacheRead:0,cacheWrite:0.5},contextWindow:1e6,maxTokens:32768},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.12,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.45499999999999996,output:1.8199999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09,output:0.55,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.22999999999999998,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.12,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.04815,output:0.19305,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32000},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:81920,maxTokens:32768},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.08,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.117,output:0.45499999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.3,output:1,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.07,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.195,output:0.975,cacheRead:0.039,cacheWrite:0.24375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.12,output:0.7999999999999999,cacheRead:0.07,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.65,output:3.25,cacheRead:0.13,cacheWrite:0.8125},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.78,output:3.9,cacheRead:0.156,cacheWrite:0.975},contextWindow:262144,maxTokens:65536},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.78,output:3.9,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.21,output:1.9,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.10400000000000001,output:0.41600000000000004,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.117,output:0.45499999999999996,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.18,output:2.0999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3.5-122b-a10b":{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.29,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.5-27b":{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-35b-a3b":{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.14,output:1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3.5999999999999996,cacheRead:0.3,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.5-9b":{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.065,output:0.26,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.26,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-20260420":{id:"qwen/qwen3.5-plus-20260420",name:"Qwen: Qwen3.5 Plus 2026-04-20",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.7999999999999998,cacheRead:0,cacheWrite:0.375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen: Qwen3.6 27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3.5999999999999996,cacheRead:0.12,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.6-35b-a3b":{id:"qwen/qwen3.6-35b-a3b",name:"Qwen: Qwen3.6 35B A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:1,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.6-flash":{id:"qwen/qwen3.6-flash",name:"Qwen: Qwen3.6 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.1875,output:1.125,cacheRead:0,cacheWrite:0.234375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-max-preview":{id:"qwen/qwen3.6-max-preview",name:"Qwen: Qwen3.6 Max Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.0270000000000001,output:6.162,cacheRead:0,cacheWrite:1.28375},contextWindow:262144,maxTokens:65536},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen: Qwen3.6 Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.325,output:1.95,cacheRead:0,cacheWrite:0.40625},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.7-flash":{id:"qwen/qwen3.7-flash",name:"Qwen: Qwen3.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.03,output:0.13,cacheRead:0.006,cacheWrite:0.038000000000000006},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.7-max":{id:"qwen/qwen3.7-max",name:"Qwen: Qwen3.7 Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.475,output:4.425,cacheRead:0.295,cacheWrite:1.84375},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.7-plus":{id:"qwen/qwen3.7-plus",name:"Qwen: Qwen3.7 Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.32,output:1.28,cacheRead:0.064,cacheWrite:0.39999999999999997},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-max":{id:"qwen/qwen3.8-max",name:"Qwen: Qwen3.8 Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:131072},"rekaai/reka-edge":{id:"rekaai/reka-edge",name:"Reka Edge",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"relace/relace-search":{id:"relace/relace-search",name:"Relace: Relace Search",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:128000},"sakana/fugu-ultra":{id:"sakana/fugu-ultra",name:"Sakana: Fugu Ultra",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"sakana/sakana-namazu":{id:"sakana/sakana-namazu",name:"Sakana: Sakana Namazu",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:65536},"sao10k/l3.1-euryale-70b":{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.85,output:0.85,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"stepfun/step-3.7-flash":{id:"stepfun/step-3.7-flash",name:"StepFun: Step 3.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.15,cacheRead:0.04,cacheWrite:0},contextWindow:262144,maxTokens:256000},"tencent/hy3":{id:"tencent/hy3",name:"Tencent: Hy3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.13199999999999998,output:0.5279999999999999,cacheRead:0.032999999999999995,cacheWrite:0},contextWindow:262144,maxTokens:128000},"tencent/hy3-preview":{id:"tencent/hy3-preview",name:"Tencent: Hy3 preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.063,output:0.21,cacheRead:0.020999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:4096},"thedrummer/unslopnemo-12b":{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.39999999999999997,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:1024000,maxTokens:1024000},"thinkingmachines/inkling":{id:"thinkingmachines/inkling",name:"Thinking Machines: Inkling",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4.05,cacheRead:0.16,cacheWrite:0},contextWindow:1048576,maxTokens:262144},"thinkingmachines/inkling-small":{id:"thinkingmachines/inkling-small",name:"Thinking Machines: Inkling Small",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.44999999999999996,output:1.2,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:524288,maxTokens:262144},"thinkingmachines/inkling:batch":{id:"thinkingmachines/inkling:batch",name:"Thinking Machines: Inkling (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:2.025,cacheRead:0.08499999999999999,cacheWrite:0},contextWindow:524288,maxTokens:4096},"upstage/solar-pro-3":{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},contextWindow:131072,maxTokens:131072},"upstage/solar-pro4":{id:"upstage/solar-pro4",name:"Upstage: Solar Pro 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.03,output:0.12,cacheRead:0.006,cacheWrite:0},contextWindow:524288,maxTokens:131072},"x-ai/grok-4.20":{id:"x-ai/grok-4.20",name:"SpaceXAI: Grok 4.20",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:4096},"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"SpaceXAI: Grok 4.3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:4096},"x-ai/grok-4.5":{id:"x-ai/grok-4.5",name:"SpaceXAI: Grok 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:4096},"x-ai/grok-build-0.1":{id:"x-ai/grok-build-0.1",name:"SpaceXAI: Grok Build 0.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:256000,maxTokens:4096},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},contextWindow:1050000,maxTokens:131072},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo-V2.5-Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.0036,cacheWrite:0},contextWindow:1050000,maxTokens:131072},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.13,output:0.85,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:1.7999999999999998,cacheRead:0.11,cacheWrite:0},contextWindow:65536,maxTokens:16384},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0.055,cacheWrite:0},contextWindow:131072,maxTokens:32768},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.39999999999999997,output:1.75,cacheRead:0.08,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.06,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0},contextWindow:202752,maxTokens:16384},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:1.9,cacheRead:0.119,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"Z.ai: GLM 5 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-5.2":{id:"z-ai/glm-5.2",name:"Z.ai: GLM 5.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.76,output:2.42,cacheRead:0.14,cacheWrite:0},contextWindow:1048576,maxTokens:262144},"z-ai/glm-5.2:batch":{id:"z-ai/glm-5.2:batch",name:"Z.ai: GLM 5.2 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7,output:2.2,cacheRead:0.13,cacheWrite:0},contextWindow:512000,maxTokens:4096},"z-ai/glm-5v-turbo":{id:"z-ai/glm-5v-turbo",name:"Z.ai: GLM 5V Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"~anthropic/claude-fable-latest":{id:"~anthropic/claude-fable-latest",name:"Anthropic: Claude Fable Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"~anthropic/claude-haiku-latest":{id:"~anthropic/claude-haiku-latest",name:"Anthropic Claude Haiku Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"~anthropic/claude-opus-latest":{id:"~anthropic/claude-opus-latest",name:"Anthropic: Claude Opus Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"~anthropic/claude-sonnet-latest":{id:"~anthropic/claude-sonnet-latest",name:"Anthropic Claude Sonnet Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"~deepseek/deepseek-v4-flash-latest":{id:"~deepseek/deepseek-v4-flash-latest",name:"DeepSeek V4 Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.079996,output:0.252,cacheRead:0.0252,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"~google/gemini-flash-latest":{id:"~google/gemini-flash-latest",name:"Google Gemini Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"~google/gemini-pro-latest":{id:"~google/gemini-pro-latest",name:"Google Gemini Pro Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"~moonshotai/kimi-latest":{id:"~moonshotai/kimi-latest",name:"MoonshotAI Kimi Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.8,output:14,cacheRead:0.29,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"~openai/gpt-latest":{id:"~openai/gpt-latest",name:"OpenAI GPT Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"~openai/gpt-mini-latest":{id:"~openai/gpt-mini-latest",name:"OpenAI GPT Mini Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"~x-ai/grok-latest":{id:"~x-ai/grok-latest",name:"xAI: Grok Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:4096}},"vercel-ai-gateway":{"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.12,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.12,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3 32B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.16,output:0.64,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"alibaba/qwen-3.6-max-preview":{id:"alibaba/qwen-3.6-max-preview",name:"Qwen 3.6 Max Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.3,output:7.8,cacheRead:0.26,cacheWrite:1.625},contextWindow:240000,maxTokens:64000},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1.5,output:7.5,cacheRead:0.3,cacheWrite:0},contextWindow:262144,maxTokens:65536},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1,output:5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},contextWindow:256000,maxTokens:65536},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-vl-235b-a22b-instruct":{id:"alibaba/qwen3-vl-235b-a22b-instruct",name:"Qwen3 VL 235B A22B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:129024},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL 235B A22B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:129024},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL 235B A22B Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.001,cacheWrite:0.125},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:2.4,cacheRead:0.04,cacheWrite:0.5},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.6-27b":{id:"alibaba/qwen3.6-27b",name:"Qwen 3.6 27B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"alibaba/qwen3.6-plus":{id:"alibaba/qwen3.6-plus",name:"Qwen 3.6 Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.09999999999999999,cacheWrite:0.625},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.7-flash":{id:"alibaba/qwen3.7-flash",name:"Qwen 3.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.03,output:0.13,cacheRead:0.006,cacheWrite:0.038000000000000006},contextWindow:991000,maxTokens:64000},"alibaba/qwen3.7-max":{id:"alibaba/qwen3.7-max",name:"Qwen 3.7 Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:0.5,cacheWrite:3.125},contextWindow:991000,maxTokens:64000},"alibaba/qwen3.7-plus":{id:"alibaba/qwen3.7-plus",name:"Qwen 3.7 Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0.08,cacheWrite:0.5},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.8-max":{id:"alibaba/qwen3.8-max",name:"Qwen 3.8 Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"amazon/nova-2-lite":{id:"amazon/nova-2-lite",name:"Nova 2 Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:8192},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:8192},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},contextWindow:200000,maxTokens:4096},"anthropic/claude-fable-5":{id:"anthropic/claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:8192},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8":{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8-fast":{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5":{id:"anthropic/claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5-fast":{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:8192},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-5":{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.25,output:0.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262100,maxTokens:80000},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Trinity Mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.045,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:256000,maxTokens:32000},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Bytedance Seed 1.8",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:256000,maxTokens:64000},"cohere/command-a":{id:"cohere/command-a",name:"Command A",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8000},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.27,output:1.12,cacheRead:0.135,cacheWrite:0},contextWindow:163840,maxTokens:163840},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek V3.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.25,output:0.95,cacheRead:0.13,cacheWrite:0},contextWindow:163840,maxTokens:128000},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.27,output:1,cacheRead:0.135,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},contextWindow:128000,maxTokens:8000},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8000},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:0.39999999999999997,cacheRead:0.04,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek/deepseek-v4-flash-0731":{id:"deepseek/deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:0.39999999999999997,cacheRead:0.04,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.74,output:3.48,cacheRead:0.14,cacheWrite:0},contextWindow:1048600,maxTokens:1048600},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"google/gemini-3.1-flash-lite":{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.03,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"google/gemini-3.5-flash":{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"google/gemini-3.5-flash-lite":{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"google/gemini-3.6-flash":{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google Gemma 4 26B A4B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:131072},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:131072},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:128000,maxTokens:128000},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:16384},"inclusionai/ling-3.0-flash":{id:"inclusionai/ling-3.0-flash",name:"Ling 3.0 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.06,output:0.18,cacheRead:0.012,cacheWrite:0},contextWindow:256000,maxTokens:32000},"inclusionai/ling-3.0-tiny-free":{id:"inclusionai/ling-3.0-tiny-free",name:"Ling 3.0 Tiny (Free)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32000},"interfaze/interfaze-beta":{id:"interfaze/interfaze-beta",name:"Interfaze Beta",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:3.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:32000},"kwaipilot/kat-coder-air-v2.5":{id:"kwaipilot/kat-coder-air-v2.5",name:"Kat Coder Air V2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.03,cacheWrite:0},contextWindow:256000,maxTokens:80000},"kwaipilot/kat-coder-pro-v1":{id:"kwaipilot/kat-coder-pro-v1",name:"KAT-Coder-Pro V1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:256000,maxTokens:32000},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kat Coder Pro V2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:256000,maxTokens:256000},"kwaipilot/kat-coder-pro-v2.5":{id:"kwaipilot/kat-coder-pro-v2.5",name:"Kat Coder Pro V2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.74,output:2.96,cacheRead:0.15,cacheWrite:0},contextWindow:256000,maxTokens:80000},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama 3.3 70B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama 4 Maverick 17B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.24,output:0.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama 4 Scout 17B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.16999999999999998,output:0.66,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/muse-glimmer-30b":{id:"meta/muse-glimmer-30b",name:"Muse Glimmer 30B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.35,output:1.5,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:131072},"meta/muse-spark-1.1":{id:"meta/muse-spark-1.1",name:"Muse Spark 1.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.2":{id:"meta/muse-spark-1.2",name:"Muse Spark 1.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.2-contributor":{id:"meta/muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.19999999999999998,cacheRead:0.002,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},contextWindow:205000,maxTokens:205000},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131000},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131000},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131000},"minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131100},"minimax/minimax-m3":{id:"minimax/minimax-m3",name:"MiniMax M3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"mistral/codestral":{id:"mistral/codestral",name:"Mistral Codestral",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium 2509",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:64000},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small 2509",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:64000},"mistral/ministral-14b":{id:"mistral/ministral-14b",name:"Ministral 14B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"mistral/mistral-large-3":{id:"mistral/mistral-large-3",name:"Mistral Large 3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:64000},"mistral/mistral-medium-3.5":{id:"mistral/mistral-medium-3.5",name:"Mistral Medium Latest",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo 12B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:4000},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B 2409",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2 Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.47,output:2,cacheRead:0.14100000000000001,cacheWrite:0},contextWindow:216144,maxTokens:216144},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262000,maxTokens:262000},"moonshotai/kimi-k2.7-code":{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:256000,maxTokens:32768},"moonshotai/kimi-k2.7-code-highspeed":{id:"moonshotai/kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code High Speed",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.9,output:8,cacheRead:0.38,cacheWrite:0},contextWindow:262144,maxTokens:32768},"moonshotai/kimi-k3":{id:"moonshotai/kimi-k3",name:"Kimi K3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"moonshotai/kimi-k3-fast":{id:"moonshotai/kimi-k3-fast",name:"Kimi K3 Fast",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:4.5,output:22.5,cacheRead:0.44999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"Nemotron 3 Nano 30B A3B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.049999999999999996,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA Nemotron 3 Super 120B A12B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32000},"nvidia/nemotron-3-ultra-550b-a55b":{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.12,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.06,output:0.22999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"GPT-3.5 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 nano",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.049999999999999996,output:0.39999999999999997,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:272000},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT 5.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT 5.2 Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT 5.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT 5.5 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"openai/gpt-5.6-luna":{id:"openai/gpt-5.6-luna",name:"GPT 5.6 Luna",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol":{id:"openai/gpt-5.6-sol",name:"GPT 5.6 Sol",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra":{id:"openai/gpt-5.6-terra",name:"GPT 5.6 Terra",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1050000,maxTokens:128000},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.09999999999999999,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:"openai/o1",name:"o1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3":{id:"openai/o3",name:"o3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"poolside/laguna-s-2.1":{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.09999999999999999,output:0.19999999999999998,cacheRead:0.01,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"poolside/laguna-s-2.1-free":{id:"poolside/laguna-s-2.1-free",name:"Laguna S 2.1 Free",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32768},"sakana/fugu-ultra":{id:"sakana/fugu-ultra",name:"Fugu Ultra",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"sakana/namazu":{id:"sakana/namazu",name:"Sakana Namazu",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.15,cacheWrite:0},contextWindow:256000,maxTokens:256000},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun 3.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09,output:0.3,cacheRead:0.02,cacheWrite:0},contextWindow:262114,maxTokens:262114},"stepfun/step-3.7-flash":{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.15,cacheRead:0.04,cacheWrite:0},contextWindow:256000,maxTokens:256000},"tencent/hy3":{id:"tencent/hy3",name:"Hy3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.14,output:0.58,cacheRead:0.035,cacheWrite:0},contextWindow:262144,maxTokens:262144},"thinkingmachines/inkling":{id:"thinkingmachines/inkling",name:"Inkling",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1,output:4.05,cacheRead:0.16999999999999998,cacheWrite:0},contextWindow:256000,maxTokens:256000},"thinkingmachines/inkling-small":{id:"thinkingmachines/inkling-small",name:"Inkling Small",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.2,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.5,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:0.5,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.3":{id:"xai/grok-4.3",name:"Grok 4.3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.5":{id:"xai/grok-4.5",name:"Grok 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:500000},"xai/grok-build-0.1":{id:"xai/grok-build-0.1",name:"Grok Build 0.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:256000,maxTokens:256000},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"MiMo M2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},contextWindow:1050000,maxTokens:131100},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.0036,cacheWrite:0},contextWindow:1050000,maxTokens:131000},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:128000,maxTokens:96000},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:1.1,cacheRead:0.03,cacheWrite:0},contextWindow:128000,maxTokens:96000},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.6,output:1.7999999999999998,cacheRead:0.11,cacheWrite:0},contextWindow:66000,maxTokens:16000},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:200000,maxTokens:96000},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:128000,maxTokens:24000},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:24000},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.12,cacheWrite:0},contextWindow:200000,maxTokens:120000},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:131000},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.06,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0},contextWindow:200000,maxTokens:128000},"zai/glm-5":{id:"zai/glm-5",name:"GLM 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5.1":{id:"zai/glm-5.1",name:"GLM 5.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:202800,maxTokens:64000},"zai/glm-5.2":{id:"zai/glm-5.2",name:"GLM 5.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.1,output:3.851,cacheRead:0.275,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"zai/glm-5.2-fast":{id:"zai/glm-5.2-fast",name:"GLM 5.2 Fast",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:2.0999999999999996,output:6.6000000000000005,cacheRead:0.21,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"zai/glm-5v-turbo":{id:"zai/glm-5v-turbo",name:"GLM 5V Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:200000,maxTokens:128000}},xai:{"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!1,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:30000},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:30000},"grok-4.3":{id:"grok-4.3",name:"Grok 4.3",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:30000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:500000},"grok-build-0.1":{id:"grok-build-0.1",name:"Grok Build 0.1",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.2,cacheWrite:0},contextWindow:256000,maxTokens:256000},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!1,input:["text"],cost:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},contextWindow:32768,maxTokens:8192}},zai:{"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:131072},"glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.2-highspeed":{id:"glm-5.2-highspeed",name:"GLM-5.2 Highspeed",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072}}}});function Tf6(A,Q){return sE1.get(A)?.get(Q)}function UB1(){return Array.from(sE1.keys())}function Vm(A){let Q=sE1.get(A);return Q?Array.from(Q.values()):[]}function HW(A,Q){return Q.cost.input=A.cost.input/1e6*Q.input,Q.cost.output=A.cost.output/1e6*Q.output,Q.cost.cacheRead=A.cost.cacheRead/1e6*Q.cacheRead,Q.cost.cacheWrite=A.cost.cacheWrite/1e6*Q.cacheWrite,Q.cost.total=Q.cost.input+Q.cost.output+Q.cost.cacheRead+Q.cost.cacheWrite,Q.cost}function OX(A){if(A.id.includes("gpt-5.2")||A.id.includes("gpt-5.3")||A.id.includes("gpt-5.4"))return!0;if(A.id.includes("opus-4-6")||A.id.includes("opus-4.6"))return!0;return!1}function fQ(A,Q){if(!A||!Q)return!1;return A.id===Q.id&&A.provider===Q.provider}var sE1;var GK=C(()=>{VKA();sE1=new Map;for(let[A,Q]of Object.entries(HKA)){let B=new Map;for(let[J,$]of Object.entries(Q))B.set(J,$);sE1.set(A,B)}});function Nk(A){return A.systemPromptTokens+A.chatHistoryTokens+A.currentMessageTokens+A.toolDefinitionsTokens+A.toolResultTokens+A.assistantResponseTokens}function wV(A){if(!A||typeof A!=="object")return!1;let Q=A,B=[Q.systemPromptTokens,Q.chatHistoryTokens,Q.currentMessageTokens,Q.toolDefinitionsTokens,Q.toolResultTokens,Q.assistantResponseTokens];if(!Number.isSafeInteger(Q.maxContextTokens)||Q.maxContextTokens<=0||B.some((J)=>!Number.isSafeInteger(J)||J<0))return!1;return Number.isSafeInteger(Nk(Q))}function VB(A){if(A==="stop"||A==="length"||A==="toolUse")return A;throw Error(`Unexpected stop reason for done event: ${A}`)}function U80(){return new C7}var wm,C7;var fU=C(()=>{wm=class wm{isComplete;extractResult;queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;constructor(A,Q){this.isComplete=A;this.extractResult=Q;this.finalResultPromise=new Promise((B)=>{this.resolveFinalResult=B})}push(A){if(this.done)return;if(this.isComplete(A))this.done=!0,this.resolveFinalResult(this.extractResult(A));let Q=this.waiting.shift();if(Q)Q({value:A,done:!1});else this.queue.push(A)}end(A){if(this.done=!0,A!==void 0)this.resolveFinalResult(A);while(this.waiting.length>0)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){while(!0)if(this.queue.length>0)yield this.queue.shift();else if(this.done)return;else{let A=await new Promise((Q)=>this.waiting.push(Q));if(A.done)return;yield A.value}}result(){return this.finalResultPromise}};C7=class C7 extends wm{constructor(){super((A)=>A.type==="done"||A.type==="error",(A)=>{if(A.type==="done")return A.message;else if(A.type==="error")return A.error;throw Error("Unexpected event type for final result")})}}});function OKA(A){return{type:"text",text:A}}function bf6(A){return{type:"thinking",thinking:A}}function xf6(A,Q,B={}){return{type:"toolCall",id:B.id??H80("tool"),name:A,arguments:Q}}function vf6(A){if(typeof A==="string")return[OKA(A)];return Array.isArray(A)?A:[A]}function yf6(A,Q={}){return{role:"assistant",content:vf6(A),api:FKA,provider:MKA,model:NKA,usage:V80,stopReason:Q.stopReason??"stop",errorMessage:Q.errorMessage,responseId:Q.responseId,requestId:Q.requestId,timestamp:Q.timestamp??Date.now()}}function KB1(A){return Math.ceil(A.length/4)}function H80(A){return`${A}:${Date.now()}:${Math.random().toString(36).slice(2)}`}function qKA(A){if(typeof A==="string")return A;return A.map((Q)=>{if(Q.type==="text")return Q.text;return`[image:${Q.mimeType}:${Q.data.length}]`}).join(`
|
|
2
|
+
import{createRequire as Ek6}from"node:module";var wk6=Object.create;var{getPrototypeOf:Dk6,defineProperty:_40,getOwnPropertyNames:_k6}=Object;var Fk6=Object.prototype.hasOwnProperty;function Mk6(A){return this[A]}var Nk6,Ok6,iA=(A,Q,B)=>{var J=A!=null&&typeof A==="object";if(J){var $=Q?Nk6??=new WeakMap:Ok6??=new WeakMap,Y=$.get(A);if(Y)return Y}B=A!=null?wk6(Dk6(A)):{};let X=Q||!A||!A.__esModule?_40(B,"default",{value:A,enumerable:!0}):B;for(let W of _k6(A))if(!Fk6.call(X,W))_40(X,W,{get:Mk6.bind(A,W),enumerable:!0});if(J)$.set(A,X);return X};var c=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var qk6=(A)=>A;function Lk6(A,Q){this[A]=qk6.bind(null,Q)}var $5=(A,Q)=>{for(var B in Q)_40(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:Lk6.bind(Q,B)})};var C=(A,Q)=>()=>(A&&(Q=A(A=0)),Q);var H0=Ek6(import.meta.url);var _Z={};$5(_Z,{IsUndefined:()=>XY,IsUint8Array:()=>eI,IsSymbol:()=>q40,IsString:()=>E7,IsRegExp:()=>$71,IsObject:()=>yQ,IsNumber:()=>BK,IsNull:()=>O40,IsIterator:()=>N40,IsFunction:()=>M40,IsDate:()=>ah,IsBoolean:()=>sq,IsBigInt:()=>J71,IsAsyncIterator:()=>F40,IsArray:()=>YY,HasPropertyKey:()=>BE1});function BE1(A,Q){return Q in A}function F40(A){return yQ(A)&&!YY(A)&&!eI(A)&&Symbol.asyncIterator in A}function YY(A){return Array.isArray(A)}function J71(A){return typeof A==="bigint"}function sq(A){return typeof A==="boolean"}function ah(A){return A instanceof globalThis.Date}function M40(A){return typeof A==="function"}function N40(A){return yQ(A)&&!YY(A)&&!eI(A)&&Symbol.iterator in A}function O40(A){return A===null}function BK(A){return typeof A==="number"}function yQ(A){return typeof A==="object"&&A!==null}function $71(A){return A instanceof globalThis.RegExp}function E7(A){return typeof A==="string"}function q40(A){return typeof A==="symbol"}function eI(A){return A instanceof globalThis.Uint8Array}function XY(A){return A===void 0}function Ck6(A){return A.map((Q)=>JE1(Q))}function Ik6(A){return new Date(A.getTime())}function Rk6(A){return new Uint8Array(A)}function jk6(A){return new RegExp(A.source,A.flags)}function Tk6(A){let Q={};for(let B of Object.getOwnPropertyNames(A))Q[B]=JE1(A[B]);for(let B of Object.getOwnPropertySymbols(A))Q[B]=JE1(A[B]);return Q}function JE1(A){return YY(A)?Ck6(A):ah(A)?Ik6(A):eI(A)?Rk6(A):$71(A)?jk6(A):yQ(A)?Tk6(A):A}function zB(A){return JE1(A)}var JK=()=>{};function Pk6(A){return A.map((Q)=>Yk(Q))}function Yk(A,Q){return Q===void 0?zB(A):zB({...Q,...A})}var $E1=C(()=>{JK()});var L40=C(()=>{$E1();JK()});function YE1(A){return a5(A)&&globalThis.Symbol.asyncIterator in A}function XE1(A){return a5(A)&&globalThis.Symbol.iterator in A}function E40(A){return a5(A)&&(globalThis.Object.getPrototypeOf(A)===Object.prototype||globalThis.Object.getPrototypeOf(A)===null)}function WE1(A){return A instanceof globalThis.Promise}function jU(A){return A instanceof Date&&globalThis.Number.isFinite(A.getTime())}function MGA(A){return A instanceof globalThis.Map}function NGA(A){return A instanceof globalThis.Set}function FD(A){return globalThis.ArrayBuffer.isView(A)}function vo(A){return A instanceof globalThis.Uint8Array}function Y5(A,Q){return Q in A}function a5(A){return A!==null&&typeof A==="object"}function n4(A){return globalThis.Array.isArray(A)&&!globalThis.ArrayBuffer.isView(A)}function qB(A){return A===void 0}function AR(A){return A===null}function tq(A){return typeof A==="boolean"}function q4(A){return typeof A==="number"}function ZE1(A){return globalThis.Number.isInteger(A)}function FZ(A){return typeof A==="bigint"}function k3(A){return typeof A==="string"}function Xk(A){return typeof A==="function"}function QR(A){return typeof A==="symbol"}function UV(A){return FZ(A)||tq(A)||AR(A)||q4(A)||k3(A)||QR(A)||qB(A)}var kY=()=>{};var KB;var Y71=C(()=>{kY();(function(A){A.InstanceMode="default",A.ExactOptionalPropertyTypes=!1,A.AllowArrayObject=!1,A.AllowNaN=!1,A.AllowNullVoid=!1;function Q(X,W){return A.ExactOptionalPropertyTypes?W in X:X[W]!==void 0}A.IsExactOptionalProperty=Q;function B(X){let W=a5(X);return A.AllowArrayObject?W:W&&!n4(X)}A.IsObjectLike=B;function J(X){return B(X)&&!(X instanceof Date)&&!(X instanceof Uint8Array)}A.IsRecordLike=J;function $(X){return A.AllowNaN?q4(X):Number.isFinite(X)}A.IsNumberLike=$;function Y(X){let W=qB(X);return A.AllowNullVoid?W||X===null:W}A.IsVoidLike=Y})(KB||(KB={}))});function Sk6(A){return globalThis.Object.freeze(A).map((Q)=>X71(Q))}function kk6(A){return A}function bk6(A){return A}function xk6(A){return A}function vk6(A){let Q={};for(let B of Object.getOwnPropertyNames(A))Q[B]=X71(A[B]);for(let B of Object.getOwnPropertySymbols(A))Q[B]=X71(A[B]);return globalThis.Object.freeze(Q)}function X71(A){return YY(A)?Sk6(A):ah(A)?kk6(A):eI(A)?bk6(A):$71(A)?xk6(A):yQ(A)?vk6(A):A}var OGA=()=>{};function x2(A,Q){let B=Q!==void 0?{...Q,...A}:A;switch(KB.InstanceMode){case"freeze":return X71(B);case"clone":return zB(B);default:return B}}var h4=C(()=>{Y71();OGA();JK()});var BR=C(()=>{h4()});var m4;var C40=C(()=>{m4=class m4 extends Error{constructor(A){super(A)}}});var oB=C(()=>{C40()});var LB,MD,zW,TU,E2;var W71=C(()=>{LB=Symbol.for("TypeBox.Transform"),MD=Symbol.for("TypeBox.Readonly"),zW=Symbol.for("TypeBox.Optional"),TU=Symbol.for("TypeBox.Hint"),E2=Symbol.for("TypeBox.Kind")});var u6=C(()=>{W71()});var hM={};$5(hM,{IsVoid:()=>jGA,IsUnsafe:()=>RGA,IsUnknown:()=>IGA,IsUnion:()=>F3,IsUndefined:()=>QL,IsUint8Array:()=>CGA,IsTuple:()=>XK,IsTransform:()=>n3,IsThis:()=>EGA,IsTemplateLiteral:()=>YK,IsSymbol:()=>fo,IsString:()=>AL,IsSchema:()=>EB,IsRegExp:()=>zE1,IsRef:()=>xJ,IsRecursive:()=>uk6,IsRecord:()=>zk,IsReadonly:()=>oh,IsProperties:()=>fk6,IsPromise:()=>Uk,IsOptional:()=>PU,IsObject:()=>X$,IsNumber:()=>CD,IsNull:()=>yo,IsNot:()=>LGA,IsNever:()=>JR,IsMappedResult:()=>HB,IsMappedKey:()=>$K,IsLiteralValue:()=>Z71,IsLiteralString:()=>gk6,IsLiteralNumber:()=>hk6,IsLiteralBoolean:()=>mk6,IsLiteral:()=>MZ,IsKindOf:()=>h8,IsKind:()=>$R,IsIterator:()=>Gk,IsIntersect:()=>rB,IsInteger:()=>ED,IsImport:()=>yk6,IsFunction:()=>LD,IsDate:()=>qGA,IsConstructor:()=>qD,IsComputed:()=>OD,IsBoolean:()=>eq,IsBigInt:()=>Zk,IsAsyncIterator:()=>Wk,IsArray:()=>ND,IsArgument:()=>UE1,IsAny:()=>GE1});function oh(A){return yQ(A)&&A[MD]==="Readonly"}function PU(A){return yQ(A)&&A[zW]==="Optional"}function GE1(A){return h8(A,"Any")}function UE1(A){return h8(A,"Argument")}function ND(A){return h8(A,"Array")}function Wk(A){return h8(A,"AsyncIterator")}function Zk(A){return h8(A,"BigInt")}function eq(A){return h8(A,"Boolean")}function OD(A){return h8(A,"Computed")}function qD(A){return h8(A,"Constructor")}function qGA(A){return h8(A,"Date")}function LD(A){return h8(A,"Function")}function yk6(A){return h8(A,"Import")}function ED(A){return h8(A,"Integer")}function fk6(A){return yQ(A)}function rB(A){return h8(A,"Intersect")}function Gk(A){return h8(A,"Iterator")}function h8(A,Q){return yQ(A)&&E2 in A&&A[E2]===Q}function gk6(A){return MZ(A)&&E7(A.const)}function hk6(A){return MZ(A)&&BK(A.const)}function mk6(A){return MZ(A)&&sq(A.const)}function Z71(A){return sq(A)||BK(A)||E7(A)}function MZ(A){return h8(A,"Literal")}function $K(A){return h8(A,"MappedKey")}function HB(A){return h8(A,"MappedResult")}function JR(A){return h8(A,"Never")}function LGA(A){return h8(A,"Not")}function yo(A){return h8(A,"Null")}function CD(A){return h8(A,"Number")}function X$(A){return h8(A,"Object")}function Uk(A){return h8(A,"Promise")}function zk(A){return h8(A,"Record")}function uk6(A){return yQ(A)&&TU in A&&A[TU]==="Recursive"}function xJ(A){return h8(A,"Ref")}function zE1(A){return h8(A,"RegExp")}function AL(A){return h8(A,"String")}function fo(A){return h8(A,"Symbol")}function YK(A){return h8(A,"TemplateLiteral")}function EGA(A){return h8(A,"This")}function n3(A){return yQ(A)&&LB in A}function XK(A){return h8(A,"Tuple")}function QL(A){return h8(A,"Undefined")}function F3(A){return h8(A,"Union")}function CGA(A){return h8(A,"Uint8Array")}function IGA(A){return h8(A,"Unknown")}function RGA(A){return h8(A,"Unsafe")}function jGA(A){return h8(A,"Void")}function $R(A){return yQ(A)&&E2 in A&&E7(A[E2])}function EB(A){return GE1(A)||UE1(A)||ND(A)||eq(A)||Zk(A)||Wk(A)||OD(A)||qD(A)||qGA(A)||LD(A)||ED(A)||rB(A)||Gk(A)||MZ(A)||$K(A)||HB(A)||JR(A)||LGA(A)||yo(A)||CD(A)||X$(A)||Uk(A)||zk(A)||xJ(A)||zE1(A)||AL(A)||fo(A)||YK(A)||EGA(A)||XK(A)||QL(A)||F3(A)||CGA(A)||IGA(A)||RGA(A)||jGA(A)||$R(A)}var q8=C(()=>{u6()});var mA={};$5(mA,{TypeGuardUnknownTypeError:()=>TGA,IsVoid:()=>DUA,IsUnsafe:()=>wUA,IsUnknown:()=>VUA,IsUnionLiteral:()=>rk6,IsUnion:()=>j40,IsUndefined:()=>KUA,IsUint8Array:()=>HUA,IsTuple:()=>zUA,IsTransform:()=>UUA,IsThis:()=>GUA,IsTemplateLiteral:()=>ZUA,IsSymbol:()=>WUA,IsString:()=>XUA,IsSchema:()=>CB,IsRegExp:()=>YUA,IsRef:()=>$UA,IsRecursive:()=>ok6,IsRecord:()=>JUA,IsReadonly:()=>lk6,IsProperties:()=>KE1,IsPromise:()=>BUA,IsOptional:()=>ik6,IsObject:()=>QUA,IsNumber:()=>AUA,IsNull:()=>eGA,IsNot:()=>tGA,IsNever:()=>sGA,IsMappedResult:()=>rGA,IsMappedKey:()=>oGA,IsLiteralValue:()=>aGA,IsLiteralString:()=>iGA,IsLiteralNumber:()=>nGA,IsLiteralBoolean:()=>ak6,IsLiteral:()=>U71,IsKindOf:()=>m8,IsKind:()=>_UA,IsIterator:()=>lGA,IsIntersect:()=>cGA,IsInteger:()=>dGA,IsImport:()=>nk6,IsFunction:()=>pGA,IsDate:()=>uGA,IsConstructor:()=>mGA,IsComputed:()=>hGA,IsBoolean:()=>gGA,IsBigInt:()=>fGA,IsAsyncIterator:()=>yGA,IsArray:()=>vGA,IsArgument:()=>xGA,IsAny:()=>bGA});function PGA(A){try{return new RegExp(A),!0}catch{return!1}}function I40(A){if(!E7(A))return!1;for(let Q=0;Q<A.length;Q++){let B=A.charCodeAt(Q);if(B>=7&&B<=13||B===27||B===127)return!1}return!0}function SGA(A){return R40(A)||CB(A)}function G71(A){return XY(A)||J71(A)}function c7(A){return XY(A)||BK(A)}function R40(A){return XY(A)||sq(A)}function G7(A){return XY(A)||E7(A)}function dk6(A){return XY(A)||E7(A)&&I40(A)&&PGA(A)}function ck6(A){return XY(A)||E7(A)&&I40(A)}function kGA(A){return XY(A)||CB(A)}function lk6(A){return yQ(A)&&A[MD]==="Readonly"}function ik6(A){return yQ(A)&&A[zW]==="Optional"}function bGA(A){return m8(A,"Any")&&G7(A.$id)}function xGA(A){return m8(A,"Argument")&&BK(A.index)}function vGA(A){return m8(A,"Array")&&A.type==="array"&&G7(A.$id)&&CB(A.items)&&c7(A.minItems)&&c7(A.maxItems)&&R40(A.uniqueItems)&&kGA(A.contains)&&c7(A.minContains)&&c7(A.maxContains)}function yGA(A){return m8(A,"AsyncIterator")&&A.type==="AsyncIterator"&&G7(A.$id)&&CB(A.items)}function fGA(A){return m8(A,"BigInt")&&A.type==="bigint"&&G7(A.$id)&&G71(A.exclusiveMaximum)&&G71(A.exclusiveMinimum)&&G71(A.maximum)&&G71(A.minimum)&&G71(A.multipleOf)}function gGA(A){return m8(A,"Boolean")&&A.type==="boolean"&&G7(A.$id)}function hGA(A){return m8(A,"Computed")&&E7(A.target)&&YY(A.parameters)&&A.parameters.every((Q)=>CB(Q))}function mGA(A){return m8(A,"Constructor")&&A.type==="Constructor"&&G7(A.$id)&&YY(A.parameters)&&A.parameters.every((Q)=>CB(Q))&&CB(A.returns)}function uGA(A){return m8(A,"Date")&&A.type==="Date"&&G7(A.$id)&&c7(A.exclusiveMaximumTimestamp)&&c7(A.exclusiveMinimumTimestamp)&&c7(A.maximumTimestamp)&&c7(A.minimumTimestamp)&&c7(A.multipleOfTimestamp)}function pGA(A){return m8(A,"Function")&&A.type==="Function"&&G7(A.$id)&&YY(A.parameters)&&A.parameters.every((Q)=>CB(Q))&&CB(A.returns)}function nk6(A){return m8(A,"Import")&&BE1(A,"$defs")&&yQ(A.$defs)&&KE1(A.$defs)&&BE1(A,"$ref")&&E7(A.$ref)&&A.$ref in A.$defs}function dGA(A){return m8(A,"Integer")&&A.type==="integer"&&G7(A.$id)&&c7(A.exclusiveMaximum)&&c7(A.exclusiveMinimum)&&c7(A.maximum)&&c7(A.minimum)&&c7(A.multipleOf)}function KE1(A){return yQ(A)&&Object.entries(A).every(([Q,B])=>I40(Q)&&CB(B))}function cGA(A){return m8(A,"Intersect")&&(E7(A.type)&&A.type!=="object"?!1:!0)&&YY(A.allOf)&&A.allOf.every((Q)=>CB(Q)&&!UUA(Q))&&G7(A.type)&&(R40(A.unevaluatedProperties)||kGA(A.unevaluatedProperties))&&G7(A.$id)}function lGA(A){return m8(A,"Iterator")&&A.type==="Iterator"&&G7(A.$id)&&CB(A.items)}function m8(A,Q){return yQ(A)&&E2 in A&&A[E2]===Q}function iGA(A){return U71(A)&&E7(A.const)}function nGA(A){return U71(A)&&BK(A.const)}function ak6(A){return U71(A)&&sq(A.const)}function U71(A){return m8(A,"Literal")&&G7(A.$id)&&aGA(A.const)}function aGA(A){return sq(A)||BK(A)||E7(A)}function oGA(A){return m8(A,"MappedKey")&&YY(A.keys)&&A.keys.every((Q)=>BK(Q)||E7(Q))}function rGA(A){return m8(A,"MappedResult")&&KE1(A.properties)}function sGA(A){return m8(A,"Never")&&yQ(A.not)&&Object.getOwnPropertyNames(A.not).length===0}function tGA(A){return m8(A,"Not")&&CB(A.not)}function eGA(A){return m8(A,"Null")&&A.type==="null"&&G7(A.$id)}function AUA(A){return m8(A,"Number")&&A.type==="number"&&G7(A.$id)&&c7(A.exclusiveMaximum)&&c7(A.exclusiveMinimum)&&c7(A.maximum)&&c7(A.minimum)&&c7(A.multipleOf)}function QUA(A){return m8(A,"Object")&&A.type==="object"&&G7(A.$id)&&KE1(A.properties)&&SGA(A.additionalProperties)&&c7(A.minProperties)&&c7(A.maxProperties)}function BUA(A){return m8(A,"Promise")&&A.type==="Promise"&&G7(A.$id)&&CB(A.item)}function JUA(A){return m8(A,"Record")&&A.type==="object"&&G7(A.$id)&&SGA(A.additionalProperties)&&yQ(A.patternProperties)&&((Q)=>{let B=Object.getOwnPropertyNames(Q.patternProperties);return B.length===1&&PGA(B[0])&&yQ(Q.patternProperties)&&CB(Q.patternProperties[B[0]])})(A)}function ok6(A){return yQ(A)&&TU in A&&A[TU]==="Recursive"}function $UA(A){return m8(A,"Ref")&&G7(A.$id)&&E7(A.$ref)}function YUA(A){return m8(A,"RegExp")&&G7(A.$id)&&E7(A.source)&&E7(A.flags)&&c7(A.maxLength)&&c7(A.minLength)}function XUA(A){return m8(A,"String")&&A.type==="string"&&G7(A.$id)&&c7(A.minLength)&&c7(A.maxLength)&&dk6(A.pattern)&&ck6(A.format)}function WUA(A){return m8(A,"Symbol")&&A.type==="symbol"&&G7(A.$id)}function ZUA(A){return m8(A,"TemplateLiteral")&&A.type==="string"&&E7(A.pattern)&&A.pattern[0]==="^"&&A.pattern[A.pattern.length-1]==="$"}function GUA(A){return m8(A,"This")&&G7(A.$id)&&E7(A.$ref)}function UUA(A){return yQ(A)&&LB in A}function zUA(A){return m8(A,"Tuple")&&A.type==="array"&&G7(A.$id)&&BK(A.minItems)&&BK(A.maxItems)&&A.minItems===A.maxItems&&(XY(A.items)&&XY(A.additionalItems)&&A.minItems===0||YY(A.items)&&A.items.every((Q)=>CB(Q)))}function KUA(A){return m8(A,"Undefined")&&A.type==="undefined"&&G7(A.$id)}function rk6(A){return j40(A)&&A.anyOf.every((Q)=>iGA(Q)||nGA(Q))}function j40(A){return m8(A,"Union")&&G7(A.$id)&&yQ(A)&&YY(A.anyOf)&&A.anyOf.every((Q)=>CB(Q))}function HUA(A){return m8(A,"Uint8Array")&&A.type==="Uint8Array"&&G7(A.$id)&&c7(A.minByteLength)&&c7(A.maxByteLength)}function VUA(A){return m8(A,"Unknown")&&G7(A.$id)}function wUA(A){return m8(A,"Unsafe")}function DUA(A){return m8(A,"Void")&&A.type==="void"&&G7(A.$id)}function _UA(A){return yQ(A)&&E2 in A&&E7(A[E2])&&!pk6.includes(A[E2])}function CB(A){return yQ(A)&&(bGA(A)||xGA(A)||vGA(A)||gGA(A)||fGA(A)||yGA(A)||hGA(A)||mGA(A)||uGA(A)||pGA(A)||dGA(A)||cGA(A)||lGA(A)||U71(A)||oGA(A)||rGA(A)||sGA(A)||tGA(A)||eGA(A)||AUA(A)||QUA(A)||BUA(A)||JUA(A)||$UA(A)||YUA(A)||XUA(A)||WUA(A)||ZUA(A)||GUA(A)||zUA(A)||KUA(A)||j40(A)||HUA(A)||VUA(A)||wUA(A)||DUA(A)||_UA(A))}var TGA,pk6;var T40=C(()=>{u6();oB();TGA=class TGA extends m4{};pk6=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"]});var P40=C(()=>{q8();T40()});function sk6(A){return(parseInt(A)+1).toString()}var FUA=()=>{};var S40="(true|false)",z71="(0|[1-9][0-9]*)",k40="(.*)",tk6="(?!.*)",ek6="^(true|false)$",YR="^(0|[1-9][0-9]*)$",XR="^(.*)$",b40="^(?!.*)$";var K71=()=>{};var RG={};$5(RG,{Set:()=>$b6,Has:()=>Jb6,Get:()=>Yb6,Entries:()=>Ab6,Delete:()=>Bb6,Clear:()=>Qb6});function Ab6(){return new Map(go)}function Qb6(){return go.clear()}function Bb6(A){return go.delete(A)}function Jb6(A){return go.has(A)}function $b6(A,Q){go.set(A,Q)}function Yb6(A){return go.get(A)}var go;var MUA=C(()=>{go=new Map});var bY={};$5(bY,{Set:()=>Ub6,Has:()=>Gb6,Get:()=>zb6,Entries:()=>Xb6,Delete:()=>Zb6,Clear:()=>Wb6});function Xb6(){return new Map(ho)}function Wb6(){return ho.clear()}function Zb6(A){return ho.delete(A)}function Gb6(A){return ho.has(A)}function Ub6(A,Q){ho.set(A,Q)}function zb6(A){return ho.get(A)}var ho;var NUA=C(()=>{ho=new Map});var rh=C(()=>{MUA();NUA()});function HE1(A,Q){return A.includes(Q)}function Kb6(A,Q){return A.every((B)=>HE1(Q,B))}function x40(A){return[...new Set(A)]}function OUA(A,Q){return A.filter((B)=>Q.includes(B))}function Hb6(A,Q){return[...A,...Q]}function Vb6(A,Q){return A.filter((B)=>!Q.includes(B))}function wb6(A,Q){return A.reduce((B,J)=>{return OUA(B,J)},Q)}function v40(A){return A.length===1?A[0]:A.length>1?wb6(A.slice(1),A[0]):[]}function y40(A){let Q=[];for(let B of A)Q.push(...B);return Q}var H71=()=>{};function mM(A){return x2({[E2]:"Any"},A)}var qUA=C(()=>{BR();u6()});var mo=C(()=>{qUA()});function WR(A,Q){return x2({[E2]:"Array",type:"array",items:A},Q)}var LUA=C(()=>{h4();u6()});var uo=C(()=>{LUA()});function V71(A){return x2({[E2]:"Argument",index:A})}var EUA=C(()=>{h4();u6()});var VE1=C(()=>{EUA()});function ZR(A,Q){return x2({[E2]:"AsyncIterator",type:"AsyncIterator",items:A},Q)}var CUA=C(()=>{u6();h4()});var po=C(()=>{CUA()});function l7(A,Q,B){return x2({[E2]:"Computed",target:A,parameters:Q},B)}var IUA=C(()=>{BR();W71()});var Kk=C(()=>{IUA()});function Db6(A,Q){let{[Q]:B,...J}=A;return J}function vJ(A,Q){return Q.reduce((B,J)=>Db6(B,J),A)}var GR=()=>{};function o5(A){return x2({[E2]:"Never",not:{}},A)}var RUA=C(()=>{h4();u6()});var WY=C(()=>{RUA()});function _b6(A){return x2({[E2]:"MappedKey",keys:A})}var jUA=C(()=>{h4();u6()});function b3(A){return x2({[E2]:"MappedResult",properties:A})}var f40=C(()=>{h4();u6()});function UR(A,Q,B){return x2({[E2]:"Constructor",type:"Constructor",parameters:A,returns:Q},B)}var TUA=C(()=>{h4();u6()});var co=C(()=>{TUA()});function zV(A,Q,B){return x2({[E2]:"Function",type:"Function",parameters:A,returns:Q},B)}var PUA=C(()=>{h4();u6()});var Hk=C(()=>{PUA()});function w71(A,Q){return x2({[E2]:"Union",anyOf:A},Q)}var g40=C(()=>{h4();u6()});function Fb6(A){return A.some((Q)=>PU(Q))}function SUA(A){return A.map((Q)=>PU(Q)?Mb6(Q):Q)}function Mb6(A){return vJ(A,[zW])}function Nb6(A,Q){return Fb6(A)?MX(w71(SUA(A),Q)):w71(SUA(A),Q)}function uM(A,Q){return A.length===1?x2(A[0],Q):A.length===0?o5(Q):Nb6(A,Q)}var kUA=C(()=>{h4();u6();GR();WY();BL();g40();q8()});var bUA=()=>{};function M3(A,Q){return A.length===0?o5(Q):A.length===1?x2(A[0],Q):w71(A,Q)}var xUA=C(()=>{WY();h4();g40()});var W$=C(()=>{kUA();bUA();xUA()});function Ob6(A){return A.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function h40(A,Q,B){return A[Q]===B&&A.charCodeAt(Q-1)!==92}function zR(A,Q){return h40(A,Q,"(")}function D71(A,Q){return h40(A,Q,")")}function vUA(A,Q){return h40(A,Q,"|")}function qb6(A){if(!(zR(A,0)&&D71(A,A.length-1)))return!1;let Q=0;for(let B=0;B<A.length;B++){if(zR(A,B))Q+=1;if(D71(A,B))Q-=1;if(Q===0&&B!==A.length-1)return!1}return!0}function Lb6(A){return A.slice(1,A.length-1)}function Eb6(A){let Q=0;for(let B=0;B<A.length;B++){if(zR(A,B))Q+=1;if(D71(A,B))Q-=1;if(vUA(A,B)&&Q===0)return!0}return!1}function Cb6(A){for(let Q=0;Q<A.length;Q++)if(zR(A,Q))return!0;return!1}function Ib6(A){let[Q,B]=[0,0],J=[];for(let Y=0;Y<A.length;Y++){if(zR(A,Y))Q+=1;if(D71(A,Y))Q-=1;if(vUA(A,Y)&&Q===0){let X=A.slice(B,Y);if(X.length>0)J.push(sh(X));B=Y+1}}let $=A.slice(B);if($.length>0)J.push(sh($));if(J.length===0)return{type:"const",const:""};if(J.length===1)return J[0];return{type:"or",expr:J}}function Rb6(A){function Q($,Y){if(!zR($,Y))throw new wE1("TemplateLiteralParser: Index must point to open parens");let X=0;for(let W=Y;W<$.length;W++){if(zR($,W))X+=1;if(D71($,W))X-=1;if(X===0)return[Y,W]}throw new wE1("TemplateLiteralParser: Unclosed group parens in expression")}function B($,Y){for(let X=Y;X<$.length;X++)if(zR($,X))return[Y,X];return[Y,$.length]}let J=[];for(let $=0;$<A.length;$++)if(zR(A,$)){let[Y,X]=Q(A,$),W=A.slice(Y,X+1);J.push(sh(W)),$=X}else{let[Y,X]=B(A,$),W=A.slice(Y,X);if(W.length>0)J.push(sh(W));$=X-1}return J.length===0?{type:"const",const:""}:J.length===1?J[0]:{type:"and",expr:J}}function sh(A){return qb6(A)?sh(Lb6(A)):Eb6(A)?Ib6(A):Cb6(A)?Rb6(A):{type:"const",const:Ob6(A)}}function th(A){return sh(A.slice(1,A.length-1))}var wE1;var DE1=C(()=>{oB();wE1=class wE1 extends m4{}});function jb6(A){return A.type==="or"&&A.expr.length===2&&A.expr[0].type==="const"&&A.expr[0].const==="0"&&A.expr[1].type==="const"&&A.expr[1].const==="[1-9][0-9]*"}function Tb6(A){return A.type==="or"&&A.expr.length===2&&A.expr[0].type==="const"&&A.expr[0].const==="true"&&A.expr[1].type==="const"&&A.expr[1].const==="false"}function Pb6(A){return A.type==="const"&&A.const===".*"}function Vk(A){return jb6(A)||Pb6(A)?!1:Tb6(A)?!0:A.type==="and"?A.expr.every((Q)=>Vk(Q)):A.type==="or"?A.expr.every((Q)=>Vk(Q)):A.type==="const"?!0:(()=>{throw new m40("Unknown expression type")})()}function _71(A){let Q=th(A.pattern);return Vk(Q)}var m40;var u40=C(()=>{DE1();oB();m40=class m40 extends m4{}});function*yUA(A){if(A.length===1)return yield*A[0];for(let Q of A[0])for(let B of yUA(A.slice(1)))yield`${Q}${B}`}function*Sb6(A){return yield*yUA(A.expr.map((Q)=>[...lo(Q)]))}function*kb6(A){for(let Q of A.expr)yield*lo(Q)}function*bb6(A){return yield A.const}function*lo(A){return A.type==="and"?yield*Sb6(A):A.type==="or"?yield*kb6(A):A.type==="const"?yield*bb6(A):(()=>{throw new p40("Unknown expression")})()}function eh(A){let Q=th(A.pattern);return Vk(Q)?[...lo(Q)]:[]}var p40;var d40=C(()=>{u40();DE1();oB();p40=class p40 extends m4{}});function b8(A,Q){return x2({[E2]:"Literal",const:A,type:typeof A},Q)}var fUA=C(()=>{h4();u6()});var jG=C(()=>{fUA()});function Am(A){return x2({[E2]:"Boolean",type:"boolean"},A)}var gUA=C(()=>{u6();BR()});var F71=C(()=>{gUA()});function KR(A){return x2({[E2]:"BigInt",type:"bigint"},A)}var hUA=C(()=>{u6();BR()});var io=C(()=>{hUA()});function SU(A){return x2({[E2]:"Number",type:"number"},A)}var mUA=C(()=>{h4();u6()});var wk=C(()=>{mUA()});function KW(A){return x2({[E2]:"String",type:"string"},A)}var uUA=C(()=>{h4();u6()});var Dk=C(()=>{uUA()});function*xb6(A){let Q=A.trim().replace(/"|'/g,"");return Q==="boolean"?yield Am():Q==="number"?yield SU():Q==="bigint"?yield KR():Q==="string"?yield KW():yield(()=>{let B=Q.split("|").map((J)=>b8(J.trim()));return B.length===0?o5():B.length===1?B[0]:uM(B)})()}function*vb6(A){if(A[1]!=="{"){let Q=b8("$"),B=c40(A.slice(1));return yield*[Q,...B]}for(let Q=2;Q<A.length;Q++)if(A[Q]==="}"){let B=xb6(A.slice(2,Q)),J=c40(A.slice(Q+1));return yield*[...B,...J]}yield b8(A)}function*c40(A){for(let Q=0;Q<A.length;Q++)if(A[Q]==="$"){let B=b8(A.slice(0,Q)),J=vb6(A.slice(Q));return yield*[B,...J]}yield b8(A)}function l40(A){return[...c40(A)]}var i40=C(()=>{jG();F71();io();wk();Dk();W$();WY()});function yb6(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pUA(A,Q){return YK(A)?A.pattern.slice(1,A.pattern.length-1):F3(A)?`(${A.anyOf.map((B)=>pUA(B,Q)).join("|")})`:CD(A)?`${Q}${z71}`:ED(A)?`${Q}${z71}`:Zk(A)?`${Q}${z71}`:AL(A)?`${Q}${k40}`:MZ(A)?`${Q}${yb6(A.const.toString())}`:eq(A)?`${Q}${S40}`:(()=>{throw new n40(`Unexpected Kind '${A[E2]}'`)})()}function _E1(A){return`^${A.map((Q)=>pUA(Q,"")).join("")}$`}var n40;var a40=C(()=>{K71();u6();oB();q8();n40=class n40 extends m4{}});function _k(A){let B=eh(A).map((J)=>b8(J));return uM(B)}var dUA=C(()=>{W$();jG();d40()});function Qm(A,Q){let B=E7(A)?_E1(l40(A)):_E1(A);return x2({[E2]:"TemplateLiteral",type:"string",pattern:B},Q)}var cUA=C(()=>{h4();i40();a40();u6()});var pM=C(()=>{u40();d40();i40();DE1();a40();dUA();cUA()});function fb6(A){return eh(A).map((B)=>B.toString())}function gb6(A){let Q=[];for(let B of A)Q.push(...kU(B));return Q}function hb6(A){return[A.toString()]}function kU(A){return[...new Set(YK(A)?fb6(A):F3(A)?gb6(A.anyOf):MZ(A)?hb6(A.const):CD(A)?["[number]"]:ED(A)?["[number]"]:[])]}var FE1=C(()=>{pM();q8()});function mb6(A,Q,B){let J={};for(let $ of Object.getOwnPropertyNames(Q))J[$]=dM(A,kU(Q[$]),B);return J}function ub6(A,Q,B){return mb6(A,Q.properties,B)}function o40(A,Q,B){let J=ub6(A,Q,B);return b3(J)}var r40=C(()=>{xY();FE1();cM()});function iUA(A,Q){return A.map((B)=>s40(B,Q))}function pb6(A){return A.filter((Q)=>!JR(Q))}function db6(A,Q){return M71(pb6(iUA(A,Q)))}function cb6(A){return A.some((Q)=>JR(Q))?[]:A}function lb6(A,Q){return uM(cb6(iUA(A,Q)))}function ib6(A,Q){return Q in A?A[Q]:Q==="[number]"?uM(A):o5()}function nb6(A,Q){return Q==="[number]"?A:o5()}function ab6(A,Q){return Q in A?A[Q]:o5()}function s40(A,Q){return rB(A)?db6(A.allOf,Q):F3(A)?lb6(A.anyOf,Q):XK(A)?ib6(A.items??[],Q):ND(A)?nb6(A.items,Q):X$(A)?ab6(A.properties,Q):o5()}function no(A,Q){return Q.map((B)=>s40(A,B))}function lUA(A,Q){return uM(no(A,Q))}function ob6(A,Q){return l7("Index",[A,Q])}function dM(A,Q,B){if(xJ(A)||xJ(Q)){if(!EB(A)||!EB(Q))throw new m4("Index types using Ref parameters require both Type and Key to be of TSchema");return l7("Index",[A,Q])}if(HB(Q))return o40(A,Q,B);if($K(Q))return t40(A,Q,B);return x2(EB(Q)?lUA(A,kU(Q)):lUA(A,Q),B)}var ME1=C(()=>{h4();oB();Kk();WY();KV();W$();FE1();e40();r40();q8()});function rb6(A,Q,B){return{[Q]:dM(A,[Q],zB(B))}}function sb6(A,Q,B){return Q.reduce((J,$)=>{return{...J,...rb6(A,$,B)}},{})}function tb6(A,Q,B){return sb6(A,Q.keys,B)}function t40(A,Q,B){let J=tb6(A,Q,B);return b3(J)}var e40=C(()=>{ME1();xY();JK()});var cM=C(()=>{e40();r40();FE1();ME1()});function HR(A,Q){return x2({[E2]:"Iterator",type:"Iterator",items:A},Q)}var nUA=C(()=>{h4();u6()});var ao=C(()=>{nUA()});function eb6(A){return globalThis.Object.keys(A).filter((Q)=>!PU(A[Q]))}function Ax6(A,Q){let B=eb6(A),J=B.length>0?{[E2]:"Object",type:"object",required:B,properties:A}:{[E2]:"Object",type:"object",properties:A};return x2(J,Q)}var N3;var aUA=C(()=>{h4();u6();q8();N3=Ax6});var bU=C(()=>{aUA()});function Bm(A,Q){return x2({[E2]:"Promise",type:"Promise",item:A},Q)}var oUA=C(()=>{h4();u6()});var N71=C(()=>{oUA()});function Qx6(A){return x2(vJ(A,[MD]))}function Bx6(A){return x2({...A,[MD]:"Readonly"})}function Jx6(A,Q){return Q===!1?Qx6(A):Bx6(A)}function NZ(A,Q){let B=Q??!0;return HB(A)?Q50(A,B):Jx6(A,B)}var A50=C(()=>{h4();u6();GR();B50();q8()});function $x6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=NZ(A[J],Q);return B}function Yx6(A,Q){return $x6(A.properties,Q)}function Q50(A,Q){let B=Yx6(A,Q);return b3(B)}var B50=C(()=>{xY();A50()});var Fk=C(()=>{B50();A50()});function xU(A,Q){return x2(A.length>0?{[E2]:"Tuple",type:"array",items:A,additionalItems:!1,minItems:A.length,maxItems:A.length}:{[E2]:"Tuple",type:"array",minItems:A.length,maxItems:A.length},Q)}var rUA=C(()=>{h4();u6()});var VR=C(()=>{rUA()});function sUA(A,Q){return A in Q?ID(A,Q[A]):b3(Q)}function Xx6(A){return{[A]:b8(A)}}function Wx6(A){let Q={};for(let B of A)Q[B]=b8(B);return Q}function Zx6(A,Q){return HE1(Q,A)?Xx6(A):Wx6(Q)}function Gx6(A,Q){let B=Zx6(A,Q);return sUA(A,B)}function O71(A,Q){return Q.map((B)=>ID(A,B))}function Ux6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(Q))B[J]=ID(A,Q[J]);return B}function ID(A,Q){let B={...Q};return PU(Q)?MX(ID(A,vJ(Q,[zW]))):oh(Q)?NZ(ID(A,vJ(Q,[MD]))):HB(Q)?sUA(A,Q.properties):$K(Q)?Gx6(A,Q.keys):qD(Q)?UR(O71(A,Q.parameters),ID(A,Q.returns),B):LD(Q)?zV(O71(A,Q.parameters),ID(A,Q.returns),B):Wk(Q)?ZR(ID(A,Q.items),B):Gk(Q)?HR(ID(A,Q.items),B):rB(Q)?NX(O71(A,Q.allOf),B):F3(Q)?M3(O71(A,Q.anyOf),B):XK(Q)?xU(O71(A,Q.items??[]),B):X$(Q)?N3(Ux6(A,Q.properties),B):ND(Q)?WR(ID(A,Q.items),B):Uk(Q)?Bm(ID(A,Q.item),B):Q}function tUA(A,Q){let B={};for(let J of A)B[J]=ID(J,Q);return B}function q71(A,Q,B){let J=EB(A)?kU(A):A,$=Q({[E2]:"MappedKey",keys:J}),Y=tUA(J,$);return N3(Y,B)}var eUA=C(()=>{u6();GR();uo();po();co();Hk();cM();KV();ao();jG();bU();BL();N71();Fk();VR();W$();H71();f40();q8()});var xY=C(()=>{jUA();f40();eUA()});function zx6(A){return x2(vJ(A,[zW]))}function Kx6(A){return x2({...A,[zW]:"Optional"})}function Hx6(A,Q){return Q===!1?zx6(A):Kx6(A)}function MX(A,Q){let B=Q??!0;return HB(A)?$50(A,B):Hx6(A,B)}var J50=C(()=>{h4();u6();GR();Y50();q8()});function Vx6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=MX(A[J],Q);return B}function wx6(A,Q){return Vx6(A.properties,Q)}function $50(A,Q){let B=wx6(A,Q);return b3(B)}var Y50=C(()=>{xY();J50()});var BL=C(()=>{Y50();J50()});function L71(A,Q={}){let B=A.every(($)=>X$($)),J=EB(Q.unevaluatedProperties)?{unevaluatedProperties:Q.unevaluatedProperties}:{};return x2(Q.unevaluatedProperties===!1||EB(Q.unevaluatedProperties)||B?{...J,[E2]:"Intersect",type:"object",allOf:A}:{...J,[E2]:"Intersect",allOf:A},Q)}var X50=C(()=>{h4();u6();q8()});function Dx6(A){return A.every((Q)=>PU(Q))}function _x6(A){return vJ(A,[zW])}function AzA(A){return A.map((Q)=>PU(Q)?_x6(Q):Q)}function Fx6(A,Q){return Dx6(A)?MX(L71(AzA(A),Q)):L71(AzA(A),Q)}function M71(A,Q={}){if(A.length===1)return x2(A[0],Q);if(A.length===0)return o5(Q);if(A.some((B)=>n3(B)))throw Error("Cannot intersect transform types");return Fx6(A,Q)}var QzA=C(()=>{u6();h4();GR();WY();BL();X50();q8()});var BzA=()=>{};function NX(A,Q){if(A.length===1)return x2(A[0],Q);if(A.length===0)return o5(Q);if(A.some((B)=>n3(B)))throw Error("Cannot intersect transform types");return L71(A,Q)}var JzA=C(()=>{h4();WY();X50();q8()});var KV=C(()=>{QzA();BzA();JzA()});function vU(...A){let[Q,B]=typeof A[0]==="string"?[A[0],A[1]]:[A[0].$id,A[1]];if(typeof Q!=="string")throw new m4("Ref: $ref must be a string");return x2({[E2]:"Ref",$ref:Q},B)}var $zA=C(()=>{oB();h4();u6()});var wR=C(()=>{$zA()});function Mx6(A,Q){return l7("Awaited",[l7(A,Q)])}function Nx6(A){return l7("Awaited",[vU(A)])}function Ox6(A){return NX(YzA(A))}function qx6(A){return M3(YzA(A))}function Lx6(A){return DR(A)}function YzA(A){return A.map((Q)=>DR(Q))}function DR(A,Q){return x2(OD(A)?Mx6(A.target,A.parameters):rB(A)?Ox6(A.allOf):F3(A)?qx6(A.anyOf):Uk(A)?Lx6(A.item):xJ(A)?Nx6(A.$ref):A,Q)}var XzA=C(()=>{h4();Kk();KV();W$();wR();q8()});var E71=C(()=>{XzA()});function WzA(A){let Q=[];for(let B of A)Q.push(yU(B));return Q}function Ex6(A){let Q=WzA(A);return y40(Q)}function Cx6(A){let Q=WzA(A);return v40(Q)}function Ix6(A){return A.map((Q,B)=>B.toString())}function Rx6(A){return["[number]"]}function jx6(A){return globalThis.Object.getOwnPropertyNames(A)}function Tx6(A){if(!W50)return[];return globalThis.Object.getOwnPropertyNames(A).map((B)=>{return B[0]==="^"&&B[B.length-1]==="$"?B.slice(1,B.length-1):B})}function yU(A){return rB(A)?Ex6(A.allOf):F3(A)?Cx6(A.anyOf):XK(A)?Ix6(A.items??[]):ND(A)?Rx6(A.items):X$(A)?jx6(A.properties):zk(A)?Tx6(A.patternProperties):[]}function JL(A){W50=!0;let Q=yU(A);return W50=!1,`^(${Q.map((J)=>`(${J})`).join("|")})$`}var W50=!1;var NE1=C(()=>{H71();q8()});function Px6(A,Q){return l7("KeyOf",[l7(A,Q)])}function Sx6(A){return l7("KeyOf",[vU(A)])}function kx6(A,Q){let B=yU(A),J=ZzA(B),$=uM(J);return x2($,Q)}function ZzA(A){return A.map((Q)=>Q==="[number]"?SU():b8(Q))}function _R(A,Q){return OD(A)?Px6(A.target,A.parameters):xJ(A)?Sx6(A.$ref):HB(A)?G50(A,Q):kx6(A,Q)}var Z50=C(()=>{h4();jG();wk();Kk();wR();NE1();W$();U50();q8()});function bx6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=_R(A[J],zB(Q));return B}function xx6(A,Q){return bx6(A.properties,Q)}function G50(A,Q){let B=xx6(A,Q);return b3(B)}var U50=C(()=>{xY();Z50();JK()});function C71(A){let Q=yU(A),B=no(A,Q);return Q.map((J,$)=>[Q[$],B[$]])}var GzA=C(()=>{ME1();NE1()});var RD=C(()=>{U50();GzA();NE1();Z50()});function vx6(A){let Q=[];for(let B of A)Q.push(...yU(B));return x40(Q)}function yx6(A){return A.filter((Q)=>!JR(Q))}function fx6(A,Q){let B=[];for(let J of A)B.push(...no(J,[Q]));return yx6(B)}function gx6(A,Q){let B={};for(let J of Q)B[J]=M71(fx6(A,J));return B}function I71(A,Q){let B=vx6(A),J=gx6(A,B);return N3(J,Q)}var UzA=C(()=>{KV();cM();RD();bU();H71();q8()});var OE1=C(()=>{UzA()});function Jm(A){return x2({[E2]:"Date",type:"Date"},A)}var zzA=C(()=>{u6();h4()});var R71=C(()=>{zzA()});function $m(A){return x2({[E2]:"Null",type:"null"},A)}var KzA=C(()=>{h4();u6()});var j71=C(()=>{KzA()});function Ym(A){return x2({[E2]:"Symbol",type:"symbol"},A)}var HzA=C(()=>{h4();u6()});var T71=C(()=>{HzA()});function Xm(A){return x2({[E2]:"Undefined",type:"undefined"},A)}var VzA=C(()=>{h4();u6()});var P71=C(()=>{VzA()});function Wm(A){return x2({[E2]:"Uint8Array",type:"Uint8Array"},A)}var wzA=C(()=>{h4();u6()});var S71=C(()=>{wzA()});function WK(A){return x2({[E2]:"Unknown"},A)}var DzA=C(()=>{h4();u6()});var Mk=C(()=>{DzA()});function hx6(A){return A.map((Q)=>z50(Q,!1))}function mx6(A){let Q={};for(let B of globalThis.Object.getOwnPropertyNames(A))Q[B]=NZ(z50(A[B],!1));return Q}function qE1(A,Q){return Q===!0?A:NZ(A)}function z50(A,Q){return F40(A)?qE1(mM(),Q):N40(A)?qE1(mM(),Q):YY(A)?NZ(xU(hx6(A))):eI(A)?Wm():ah(A)?Jm():yQ(A)?qE1(N3(mx6(A)),Q):M40(A)?qE1(zV([],WK()),Q):XY(A)?Xm():O40(A)?$m():q40(A)?Ym():J71(A)?KR():BK(A)?b8(A):sq(A)?b8(A):E7(A)?b8(A):N3({})}function k71(A,Q){return x2(z50(A,!0),Q)}var _zA=C(()=>{mo();io();R71();Hk();jG();j71();bU();T71();VR();Fk();P71();S71();Mk();BR()});var LE1=C(()=>{_zA()});function b71(A,Q){return qD(A)?xU(A.parameters,Q):o5(Q)}var FzA=C(()=>{VR();WY();q8()});var EE1=C(()=>{FzA()});function x71(A,Q){if(XY(A))throw Error("Enum undefined or empty");let B=globalThis.Object.getOwnPropertyNames(A).filter((Y)=>isNaN(Y)).map((Y)=>A[Y]),$=[...new Set(B)].map((Y)=>b8(Y));return M3($,{...Q,[TU]:"Enum"})}var MzA=C(()=>{jG();u6();W$()});var CE1=C(()=>{MzA()});function jD(A){return A===g2.False?A:g2.True}function oo(A){throw new w50(A)}function vY(A){return mA.IsNever(A)||mA.IsIntersect(A)||mA.IsUnion(A)||mA.IsUnknown(A)||mA.IsAny(A)}function yY(A,Q){return mA.IsNever(Q)?IzA(A,Q):mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)?_50(A,Q):mA.IsUnknown(Q)?PzA(A,Q):mA.IsAny(Q)?D50(A,Q):oo("StructuralRight")}function D50(A,Q){return g2.True}function ux6(A,Q){return mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)&&Q.anyOf.some((B)=>mA.IsAny(B)||mA.IsUnknown(B))?g2.True:mA.IsUnion(Q)?g2.Union:mA.IsUnknown(Q)?g2.True:mA.IsAny(Q)?g2.True:g2.Union}function px6(A,Q){return mA.IsUnknown(A)?g2.False:mA.IsAny(A)?g2.Union:mA.IsNever(A)?g2.True:g2.False}function dx6(A,Q){return mA.IsObject(Q)&&RE1(Q)?g2.True:vY(Q)?yY(A,Q):!mA.IsArray(Q)?g2.False:jD(U7(A.items,Q.items))}function cx6(A,Q){return vY(Q)?yY(A,Q):!mA.IsAsyncIterator(Q)?g2.False:jD(U7(A.items,Q.items))}function lx6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsBigInt(Q)?g2.True:g2.False}function EzA(A,Q){return mA.IsLiteralBoolean(A)?g2.True:mA.IsBoolean(A)?g2.True:g2.False}function ix6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsBoolean(Q)?g2.True:g2.False}function nx6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):!mA.IsConstructor(Q)?g2.False:A.parameters.length>Q.parameters.length?g2.False:!A.parameters.every((B,J)=>jD(U7(Q.parameters[J],B))===g2.True)?g2.False:jD(U7(A.returns,Q.returns))}function ax6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsDate(Q)?g2.True:g2.False}function ox6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):!mA.IsFunction(Q)?g2.False:A.parameters.length>Q.parameters.length?g2.False:!A.parameters.every((B,J)=>jD(U7(Q.parameters[J],B))===g2.True)?g2.False:jD(U7(A.returns,Q.returns))}function CzA(A,Q){return mA.IsLiteral(A)&&_Z.IsNumber(A.const)?g2.True:mA.IsNumber(A)||mA.IsInteger(A)?g2.True:g2.False}function rx6(A,Q){return mA.IsInteger(Q)||mA.IsNumber(Q)?g2.True:vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):g2.False}function IE1(A,Q){return Q.allOf.every((B)=>U7(A,B)===g2.True)?g2.True:g2.False}function sx6(A,Q){return A.allOf.some((B)=>U7(B,Q)===g2.True)?g2.True:g2.False}function tx6(A,Q){return vY(Q)?yY(A,Q):!mA.IsIterator(Q)?g2.False:jD(U7(A.items,Q.items))}function ex6(A,Q){return mA.IsLiteral(Q)&&Q.const===A.const?g2.True:vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsString(Q)?TzA(A,Q):mA.IsNumber(Q)?RzA(A,Q):mA.IsInteger(Q)?CzA(A,Q):mA.IsBoolean(Q)?EzA(A,Q):g2.False}function IzA(A,Q){return g2.False}function Av6(A,Q){return g2.True}function NzA(A){let[Q,B]=[A,0];while(!0){if(!mA.IsNot(Q))break;Q=Q.not,B+=1}return B%2===0?Q:WK()}function Qv6(A,Q){return mA.IsNot(A)?U7(NzA(A),Q):mA.IsNot(Q)?U7(A,NzA(Q)):oo("Invalid fallthrough for Not")}function Bv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsNull(Q)?g2.True:g2.False}function RzA(A,Q){return mA.IsLiteralNumber(A)?g2.True:mA.IsNumber(A)||mA.IsInteger(A)?g2.True:g2.False}function Jv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsInteger(Q)||mA.IsNumber(Q)?g2.True:g2.False}function ZK(A,Q){return Object.getOwnPropertyNames(A.properties).length===Q}function OzA(A){return RE1(A)}function qzA(A){return ZK(A,0)||ZK(A,1)&&"description"in A.properties&&mA.IsUnion(A.properties.description)&&A.properties.description.anyOf.length===2&&(mA.IsString(A.properties.description.anyOf[0])&&mA.IsUndefined(A.properties.description.anyOf[1])||mA.IsString(A.properties.description.anyOf[1])&&mA.IsUndefined(A.properties.description.anyOf[0]))}function K50(A){return ZK(A,0)}function LzA(A){return ZK(A,0)}function $v6(A){return ZK(A,0)}function Yv6(A){return ZK(A,0)}function Xv6(A){return RE1(A)}function Wv6(A){let Q=SU();return ZK(A,0)||ZK(A,1)&&"length"in A.properties&&jD(U7(A.properties.length,Q))===g2.True}function Zv6(A){return ZK(A,0)}function RE1(A){let Q=SU();return ZK(A,0)||ZK(A,1)&&"length"in A.properties&&jD(U7(A.properties.length,Q))===g2.True}function Gv6(A){let Q=zV([mM()],mM());return ZK(A,0)||ZK(A,1)&&"then"in A.properties&&jD(U7(A.properties.then,Q))===g2.True}function jzA(A,Q){return U7(A,Q)===g2.False?g2.False:mA.IsOptional(A)&&!mA.IsOptional(Q)?g2.False:g2.True}function TG(A,Q){return mA.IsUnknown(A)?g2.False:mA.IsAny(A)?g2.Union:mA.IsNever(A)||mA.IsLiteralString(A)&&OzA(Q)||mA.IsLiteralNumber(A)&&K50(Q)||mA.IsLiteralBoolean(A)&&LzA(Q)||mA.IsSymbol(A)&&qzA(Q)||mA.IsBigInt(A)&&$v6(Q)||mA.IsString(A)&&OzA(Q)||mA.IsSymbol(A)&&qzA(Q)||mA.IsNumber(A)&&K50(Q)||mA.IsInteger(A)&&K50(Q)||mA.IsBoolean(A)&&LzA(Q)||mA.IsUint8Array(A)&&Xv6(Q)||mA.IsDate(A)&&Yv6(Q)||mA.IsConstructor(A)&&Zv6(Q)||mA.IsFunction(A)&&Wv6(Q)?g2.True:mA.IsRecord(A)&&mA.IsString(H50(A))?(()=>{return Q[TU]==="Record"?g2.True:g2.False})():mA.IsRecord(A)&&mA.IsNumber(H50(A))?(()=>{return ZK(Q,0)?g2.True:g2.False})():g2.False}function Uv6(A,Q){return vY(Q)?yY(A,Q):mA.IsRecord(Q)?TD(A,Q):!mA.IsObject(Q)?g2.False:(()=>{for(let B of Object.getOwnPropertyNames(Q.properties)){if(!(B in A.properties)&&!mA.IsOptional(Q.properties[B]))return g2.False;if(mA.IsOptional(Q.properties[B]))return g2.True;if(jzA(A.properties[B],Q.properties[B])===g2.False)return g2.False}return g2.True})()}function zv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)&&Gv6(Q)?g2.True:!mA.IsPromise(Q)?g2.False:jD(U7(A.item,Q.item))}function H50(A){return YR in A.patternProperties?SU():(XR in A.patternProperties)?KW():oo("Unknown record key pattern")}function V50(A){return YR in A.patternProperties?A.patternProperties[YR]:(XR in A.patternProperties)?A.patternProperties[XR]:oo("Unable to get record value schema")}function TD(A,Q){let[B,J]=[H50(Q),V50(Q)];return mA.IsLiteralString(A)&&mA.IsNumber(B)&&jD(U7(A,J))===g2.True?g2.True:mA.IsUint8Array(A)&&mA.IsNumber(B)?U7(A,J):mA.IsString(A)&&mA.IsNumber(B)?U7(A,J):mA.IsArray(A)&&mA.IsNumber(B)?U7(A,J):mA.IsObject(A)?(()=>{for(let $ of Object.getOwnPropertyNames(A.properties))if(jzA(J,A.properties[$])===g2.False)return g2.False;return g2.True})():g2.False}function Kv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):!mA.IsRecord(Q)?g2.False:U7(V50(A),V50(Q))}function Hv6(A,Q){let B=mA.IsRegExp(A)?KW():A,J=mA.IsRegExp(Q)?KW():Q;return U7(B,J)}function TzA(A,Q){return mA.IsLiteral(A)&&_Z.IsString(A.const)?g2.True:mA.IsString(A)?g2.True:g2.False}function Vv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsString(Q)?g2.True:g2.False}function wv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsSymbol(Q)?g2.True:g2.False}function Dv6(A,Q){return mA.IsTemplateLiteral(A)?U7(_k(A),Q):mA.IsTemplateLiteral(Q)?U7(A,_k(Q)):oo("Invalid fallthrough for TemplateLiteral")}function _v6(A,Q){return mA.IsArray(Q)&&A.items!==void 0&&A.items.every((B)=>U7(B,Q.items)===g2.True)}function Fv6(A,Q){return mA.IsNever(A)?g2.True:mA.IsUnknown(A)?g2.False:mA.IsAny(A)?g2.Union:g2.False}function Mv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)&&RE1(Q)?g2.True:mA.IsArray(Q)&&_v6(A,Q)?g2.True:!mA.IsTuple(Q)?g2.False:_Z.IsUndefined(A.items)&&!_Z.IsUndefined(Q.items)||!_Z.IsUndefined(A.items)&&_Z.IsUndefined(Q.items)?g2.False:_Z.IsUndefined(A.items)&&!_Z.IsUndefined(Q.items)?g2.True:A.items.every((B,J)=>U7(B,Q.items[J])===g2.True)?g2.True:g2.False}function Nv6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsUint8Array(Q)?g2.True:g2.False}function Ov6(A,Q){return vY(Q)?yY(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsRecord(Q)?TD(A,Q):mA.IsVoid(Q)?Ev6(A,Q):mA.IsUndefined(Q)?g2.True:g2.False}function _50(A,Q){return Q.anyOf.some((B)=>U7(A,B)===g2.True)?g2.True:g2.False}function qv6(A,Q){return A.anyOf.every((B)=>U7(B,Q)===g2.True)?g2.True:g2.False}function PzA(A,Q){return g2.True}function Lv6(A,Q){return mA.IsNever(Q)?IzA(A,Q):mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)?_50(A,Q):mA.IsAny(Q)?D50(A,Q):mA.IsString(Q)?TzA(A,Q):mA.IsNumber(Q)?RzA(A,Q):mA.IsInteger(Q)?CzA(A,Q):mA.IsBoolean(Q)?EzA(A,Q):mA.IsArray(Q)?px6(A,Q):mA.IsTuple(Q)?Fv6(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsUnknown(Q)?g2.True:g2.False}function Ev6(A,Q){return mA.IsUndefined(A)?g2.True:mA.IsUndefined(A)?g2.True:g2.False}function Cv6(A,Q){return mA.IsIntersect(Q)?IE1(A,Q):mA.IsUnion(Q)?_50(A,Q):mA.IsUnknown(Q)?PzA(A,Q):mA.IsAny(Q)?D50(A,Q):mA.IsObject(Q)?TG(A,Q):mA.IsVoid(Q)?g2.True:g2.False}function U7(A,Q){return mA.IsTemplateLiteral(A)||mA.IsTemplateLiteral(Q)?Dv6(A,Q):mA.IsRegExp(A)||mA.IsRegExp(Q)?Hv6(A,Q):mA.IsNot(A)||mA.IsNot(Q)?Qv6(A,Q):mA.IsAny(A)?ux6(A,Q):mA.IsArray(A)?dx6(A,Q):mA.IsBigInt(A)?lx6(A,Q):mA.IsBoolean(A)?ix6(A,Q):mA.IsAsyncIterator(A)?cx6(A,Q):mA.IsConstructor(A)?nx6(A,Q):mA.IsDate(A)?ax6(A,Q):mA.IsFunction(A)?ox6(A,Q):mA.IsInteger(A)?rx6(A,Q):mA.IsIntersect(A)?sx6(A,Q):mA.IsIterator(A)?tx6(A,Q):mA.IsLiteral(A)?ex6(A,Q):mA.IsNever(A)?Av6(A,Q):mA.IsNull(A)?Bv6(A,Q):mA.IsNumber(A)?Jv6(A,Q):mA.IsObject(A)?Uv6(A,Q):mA.IsRecord(A)?Kv6(A,Q):mA.IsString(A)?Vv6(A,Q):mA.IsSymbol(A)?wv6(A,Q):mA.IsTuple(A)?Mv6(A,Q):mA.IsPromise(A)?zv6(A,Q):mA.IsUint8Array(A)?Nv6(A,Q):mA.IsUndefined(A)?Ov6(A,Q):mA.IsUnion(A)?qv6(A,Q):mA.IsUnknown(A)?Lv6(A,Q):mA.IsVoid(A)?Cv6(A,Q):oo(`Unknown left type operand '${A[E2]}'`)}function FR(A,Q){return U7(A,Q)}var w50,g2;var F50=C(()=>{mo();Hk();wk();Dk();Mk();pM();K71();u6();oB();P40();w50=class w50 extends m4{};(function(A){A[A.Union=0]="Union",A[A.True=1]="True",A[A.False=2]="False"})(g2||(g2={}))});function Iv6(A,Q,B,J,$){let Y={};for(let X of globalThis.Object.getOwnPropertyNames(A))Y[X]=MR(A[X],Q,B,J,zB($));return Y}function Rv6(A,Q,B,J,$){return Iv6(A.properties,Q,B,J,$)}function M50(A,Q,B,J,$){let Y=Rv6(A,Q,B,J,$);return b3(Y)}var N50=C(()=>{xY();jE1();JK()});function jv6(A,Q,B,J){let $=FR(A,Q);return $===g2.Union?M3([B,J]):$===g2.True?B:J}function MR(A,Q,B,J,$){return HB(A)?M50(A,Q,B,J,$):$K(A)?x2(O50(A,Q,B,J,$)):x2(jv6(A,Q,B,J),$)}var jE1=C(()=>{h4();W$();F50();q50();N50();q8()});function Tv6(A,Q,B,J,$){return{[A]:MR(b8(A),Q,B,J,zB($))}}function Pv6(A,Q,B,J,$){return A.reduce((Y,X)=>{return{...Y,...Tv6(X,Q,B,J,$)}},{})}function Sv6(A,Q,B,J,$){return Pv6(A.keys,Q,B,J,$)}function O50(A,Q,B,J,$){let Y=Sv6(A,Q,B,J,$);return b3(Y)}var q50=C(()=>{xY();jG();jE1();JK()});function kv6(A){return A.allOf.every((Q)=>$L(Q))}function bv6(A){return A.anyOf.some((Q)=>$L(Q))}function xv6(A){return!$L(A.not)}function $L(A){return A[E2]==="Intersect"?kv6(A):A[E2]==="Union"?bv6(A):A[E2]==="Not"?xv6(A):A[E2]==="Undefined"?!0:!1}var TE1=C(()=>{u6()});var Zm=C(()=>{F50();q50();N50();TE1();jE1()});function L50(A,Q){return NR(_k(A),Q)}var E50=C(()=>{PE1();pM()});function vv6(A,Q){let B=A.filter((J)=>FR(J,Q)===g2.False);return B.length===1?B[0]:M3(B)}function NR(A,Q,B={}){if(YK(A))return x2(L50(A,Q),B);if(HB(A))return x2(C50(A,Q),B);return x2(F3(A)?vv6(A.anyOf,Q):FR(A,Q)!==g2.False?o5():A,B)}var PE1=C(()=>{h4();W$();WY();Zm();I50();E50();q8()});function yv6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=NR(A[J],Q);return B}function fv6(A,Q){return yv6(A.properties,Q)}function C50(A,Q){let B=fv6(A,Q);return b3(B)}var I50=C(()=>{xY();PE1()});var SE1=C(()=>{I50();E50();PE1()});function R50(A,Q){return OR(_k(A),Q)}var j50=C(()=>{kE1();pM()});function gv6(A,Q){let B=A.filter((J)=>FR(J,Q)!==g2.False);return B.length===1?B[0]:M3(B)}function OR(A,Q,B){if(YK(A))return x2(R50(A,Q),B);if(HB(A))return x2(T50(A,Q),B);return x2(F3(A)?gv6(A.anyOf,Q):FR(A,Q)!==g2.False?A:o5(),B)}var kE1=C(()=>{h4();W$();WY();Zm();P50();j50();q8()});function hv6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=OR(A[J],Q);return B}function mv6(A,Q){return hv6(A.properties,Q)}function T50(A,Q){let B=mv6(A,Q);return b3(B)}var P50=C(()=>{xY();kE1()});var bE1=C(()=>{P50();j50();kE1()});function v71(A,Q){return qD(A)?x2(A.returns,Q):o5(Q)}var SzA=C(()=>{h4();WY();q8()});var xE1=C(()=>{SzA()});function Gm(A){return NZ(MX(A))}var kzA=C(()=>{Fk();BL()});var y71=C(()=>{kzA()});function Um(A,Q,B){return x2({[E2]:"Record",type:"object",patternProperties:{[A]:Q}},B)}function S50(A,Q,B){let J={};for(let $ of A)J[$]=Q;return N3(J,{...B,[TU]:"Record"})}function uv6(A,Q,B){return _71(A)?S50(kU(A),Q,B):Um(A.pattern,Q,B)}function pv6(A,Q,B){return S50(kU(M3(A)),Q,B)}function dv6(A,Q,B){return S50([A.toString()],Q,B)}function cv6(A,Q,B){return Um(A.source,Q,B)}function lv6(A,Q,B){let J=XY(A.pattern)?XR:A.pattern;return Um(J,Q,B)}function iv6(A,Q,B){return Um(XR,Q,B)}function nv6(A,Q,B){return Um(b40,Q,B)}function av6(A,Q,B){return N3({true:Q,false:Q},B)}function ov6(A,Q,B){return Um(YR,Q,B)}function rv6(A,Q,B){return Um(YR,Q,B)}function zm(A,Q,B={}){return F3(A)?pv6(A.anyOf,Q,B):YK(A)?uv6(A,Q,B):MZ(A)?dv6(A.const,Q,B):eq(A)?av6(A,Q,B):ED(A)?ov6(A,Q,B):CD(A)?rv6(A,Q,B):zE1(A)?cv6(A,Q,B):AL(A)?lv6(A,Q,B):GE1(A)?iv6(A,Q,B):JR(A)?nv6(A,Q,B):o5(B)}function f71(A){return globalThis.Object.getOwnPropertyNames(A.patternProperties)[0]}function k50(A){let Q=f71(A);return Q===XR?KW():Q===YR?SU():KW({pattern:Q})}function g71(A){return A.patternProperties[f71(A)]}var bzA=C(()=>{h4();u6();WY();wk();bU();Dk();W$();pM();K71();cM();q8()});var ro=C(()=>{bzA()});function sv6(A,Q){return Q.parameters=so(A,Q.parameters),Q.returns=lM(A,Q.returns),Q}function tv6(A,Q){return Q.parameters=so(A,Q.parameters),Q.returns=lM(A,Q.returns),Q}function ev6(A,Q){return Q.allOf=so(A,Q.allOf),Q}function Ay6(A,Q){return Q.anyOf=so(A,Q.anyOf),Q}function Qy6(A,Q){if(XY(Q.items))return Q;return Q.items=so(A,Q.items),Q}function By6(A,Q){return Q.items=lM(A,Q.items),Q}function Jy6(A,Q){return Q.items=lM(A,Q.items),Q}function $y6(A,Q){return Q.items=lM(A,Q.items),Q}function Yy6(A,Q){return Q.item=lM(A,Q.item),Q}function Xy6(A,Q){let B=Uy6(A,Q.properties);return{...Q,...N3(B)}}function Wy6(A,Q){let B=lM(A,k50(Q)),J=lM(A,g71(Q)),$=zm(B,J);return{...Q,...$}}function Zy6(A,Q){return Q.index in A?A[Q.index]:WK()}function Gy6(A,Q){let B=oh(Q),J=PU(Q),$=lM(A,Q);return B&&J?Gm($):B&&!J?NZ($):!B&&J?MX($):$}function Uy6(A,Q){return globalThis.Object.getOwnPropertyNames(Q).reduce((B,J)=>{return{...B,[J]:Gy6(A,Q[J])}},{})}function so(A,Q){return Q.map((B)=>lM(A,B))}function lM(A,Q){return qD(Q)?sv6(A,Q):LD(Q)?tv6(A,Q):rB(Q)?ev6(A,Q):F3(Q)?Ay6(A,Q):XK(Q)?Qy6(A,Q):ND(Q)?By6(A,Q):Wk(Q)?Jy6(A,Q):Gk(Q)?$y6(A,Q):Uk(Q)?Yy6(A,Q):X$(Q)?Xy6(A,Q):zk(Q)?Wy6(A,Q):UE1(Q)?Zy6(A,Q):Q}function h71(A,Q){return lM(Q,Yk(A))}var xzA=C(()=>{$E1();Mk();y71();Fk();BL();bU();ro();q8()});var vE1=C(()=>{xzA()});function m71(A){return x2({[E2]:"Integer",type:"integer"},A)}var vzA=C(()=>{h4();u6()});var yE1=C(()=>{vzA()});function zy6(A,Q,B){return{[A]:PD(b8(A),Q,zB(B))}}function Ky6(A,Q,B){return A.reduce(($,Y)=>{return{...$,...zy6(Y,Q,B)}},{})}function Hy6(A,Q,B){return Ky6(A.keys,Q,B)}function b50(A,Q,B){let J=Hy6(A,Q,B);return b3(J)}var x50=C(()=>{xY();Km();jG();JK()});function Vy6(A){let[Q,B]=[A.slice(0,1),A.slice(1)];return[Q.toLowerCase(),B].join("")}function wy6(A){let[Q,B]=[A.slice(0,1),A.slice(1)];return[Q.toUpperCase(),B].join("")}function Dy6(A){return A.toUpperCase()}function _y6(A){return A.toLowerCase()}function Fy6(A,Q,B){let J=th(A.pattern);if(!Vk(J))return{...A,pattern:yzA(A.pattern,Q)};let X=[...lo(J)].map((G)=>b8(G)),W=fzA(X,Q),Z=M3(W);return Qm([Z],B)}function yzA(A,Q){return typeof A==="string"?Q==="Uncapitalize"?Vy6(A):Q==="Capitalize"?wy6(A):Q==="Uppercase"?Dy6(A):Q==="Lowercase"?_y6(A):A:A.toString()}function fzA(A,Q){return A.map((B)=>PD(B,Q))}function PD(A,Q,B={}){return $K(A)?b50(A,Q,B):YK(A)?Fy6(A,Q,B):F3(A)?M3(fzA(A.anyOf,Q),B):MZ(A)?b8(yzA(A.const,Q),B):x2(A,B)}var Km=C(()=>{h4();pM();x50();jG();W$();q8()});function u71(A,Q={}){return PD(A,"Capitalize",Q)}var gzA=C(()=>{Km()});function p71(A,Q={}){return PD(A,"Lowercase",Q)}var hzA=C(()=>{Km()});function d71(A,Q={}){return PD(A,"Uncapitalize",Q)}var mzA=C(()=>{Km()});function c71(A,Q={}){return PD(A,"Uppercase",Q)}var uzA=C(()=>{Km()});var fE1=C(()=>{gzA();x50();Km();hzA();mzA();uzA()});function My6(A,Q,B){let J={};for(let $ of globalThis.Object.getOwnPropertyNames(A))J[$]=iM(A[$],Q,zB(B));return J}function Ny6(A,Q,B){return My6(A.properties,Q,B)}function v50(A,Q,B){let J=Ny6(A,Q,B);return b3(J)}var y50=C(()=>{xY();gE1();JK()});function Oy6(A,Q){return A.map((B)=>f50(B,Q))}function qy6(A,Q){return A.map((B)=>f50(B,Q))}function Ly6(A,Q){let{[Q]:B,...J}=A;return J}function Ey6(A,Q){return Q.reduce((B,J)=>Ly6(B,J),A)}function Cy6(A,Q,B){let J=vJ(A,[LB,"$id","required","properties"]),$=Ey6(B,Q);return N3($,J)}function Iy6(A){let Q=A.reduce((B,J)=>Z71(J)?[...B,b8(J)]:B,[]);return M3(Q)}function f50(A,Q){return rB(A)?NX(Oy6(A.allOf,Q)):F3(A)?M3(qy6(A.anyOf,Q)):X$(A)?Cy6(A,Q,A.properties):N3({})}function iM(A,Q,B){let J=YY(Q)?Iy6(Q):Q,$=EB(Q)?kU(Q):Q,Y=xJ(A),X=xJ(Q);return HB(A)?v50(A,$,B):$K(Q)?g50(A,Q,B):Y&&X?l7("Omit",[A,J],B):!Y&&X?l7("Omit",[A,J],B):Y&&!X?l7("Omit",[A,J],B):x2({...f50(A,$),...B})}var gE1=C(()=>{h4();W71();Kk();jG();cM();KV();W$();bU();h50();y50();q8()});function Ry6(A,Q,B){return{[Q]:iM(A,[Q],zB(B))}}function jy6(A,Q,B){return Q.reduce((J,$)=>{return{...J,...Ry6(A,$,B)}},{})}function Ty6(A,Q,B){return jy6(A,Q.keys,B)}function g50(A,Q,B){let J=Ty6(A,Q,B);return b3(J)}var h50=C(()=>{xY();gE1();JK()});var l71=C(()=>{h50();y50();gE1()});function Py6(A,Q,B){let J={};for(let $ of globalThis.Object.getOwnPropertyNames(A))J[$]=nM(A[$],Q,zB(B));return J}function Sy6(A,Q,B){return Py6(A.properties,Q,B)}function m50(A,Q,B){let J=Sy6(A,Q,B);return b3(J)}var u50=C(()=>{xY();hE1();JK()});function ky6(A,Q){return A.map((B)=>p50(B,Q))}function by6(A,Q){return A.map((B)=>p50(B,Q))}function xy6(A,Q){let B={};for(let J of Q)if(J in A)B[J]=A[J];return B}function vy6(A,Q,B){let J=vJ(A,[LB,"$id","required","properties"]),$=xy6(B,Q);return N3($,J)}function yy6(A){let Q=A.reduce((B,J)=>Z71(J)?[...B,b8(J)]:B,[]);return M3(Q)}function p50(A,Q){return rB(A)?NX(ky6(A.allOf,Q)):F3(A)?M3(by6(A.anyOf,Q)):X$(A)?vy6(A,Q,A.properties):N3({})}function nM(A,Q,B){let J=YY(Q)?yy6(Q):Q,$=EB(Q)?kU(Q):Q,Y=xJ(A),X=xJ(Q);return HB(A)?m50(A,$,B):$K(Q)?d50(A,Q,B):Y&&X?l7("Pick",[A,J],B):!Y&&X?l7("Pick",[A,J],B):Y&&!X?l7("Pick",[A,J],B):x2({...p50(A,$),...B})}var hE1=C(()=>{h4();Kk();KV();jG();bU();W$();cM();W71();q8();c50();u50()});function fy6(A,Q,B){return{[Q]:nM(A,[Q],zB(B))}}function gy6(A,Q,B){return Q.reduce((J,$)=>{return{...J,...fy6(A,$,B)}},{})}function hy6(A,Q,B){return gy6(A,Q.keys,B)}function d50(A,Q,B){let J=hy6(A,Q,B);return b3(J)}var c50=C(()=>{xY();hE1();JK()});var i71=C(()=>{c50();u50();hE1()});function my6(A,Q){return l7("Partial",[l7(A,Q)])}function uy6(A){return l7("Partial",[vU(A)])}function py6(A){let Q={};for(let B of globalThis.Object.getOwnPropertyNames(A))Q[B]=MX(A[B]);return Q}function dy6(A,Q){let B=vJ(A,[LB,"$id","required","properties"]),J=py6(Q);return N3(J,B)}function pzA(A){return A.map((Q)=>dzA(Q))}function dzA(A){return OD(A)?my6(A.target,A.parameters):xJ(A)?uy6(A.$ref):rB(A)?NX(pzA(A.allOf)):F3(A)?M3(pzA(A.anyOf)):X$(A)?dy6(A,A.properties):Zk(A)?A:eq(A)?A:ED(A)?A:MZ(A)?A:yo(A)?A:CD(A)?A:AL(A)?A:fo(A)?A:QL(A)?A:N3({})}function qR(A,Q){if(HB(A))return i50(A,Q);else return x2({...dzA(A),...Q})}var l50=C(()=>{h4();Kk();BL();bU();KV();W$();wR();GR();u6();n50();q8()});function cy6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=qR(A[J],zB(Q));return B}function ly6(A,Q){return cy6(A.properties,Q)}function i50(A,Q){let B=ly6(A,Q);return b3(B)}var n50=C(()=>{xY();l50();JK()});var n71=C(()=>{n50();l50()});function iy6(A,Q){return l7("Required",[l7(A,Q)])}function ny6(A){return l7("Required",[vU(A)])}function ay6(A){let Q={};for(let B of globalThis.Object.getOwnPropertyNames(A))Q[B]=vJ(A[B],[zW]);return Q}function oy6(A,Q){let B=vJ(A,[LB,"$id","required","properties"]),J=ay6(Q);return N3(J,B)}function czA(A){return A.map((Q)=>lzA(Q))}function lzA(A){return OD(A)?iy6(A.target,A.parameters):xJ(A)?ny6(A.$ref):rB(A)?NX(czA(A.allOf)):F3(A)?M3(czA(A.anyOf)):X$(A)?oy6(A,A.properties):Zk(A)?A:eq(A)?A:ED(A)?A:MZ(A)?A:yo(A)?A:CD(A)?A:AL(A)?A:fo(A)?A:QL(A)?A:N3({})}function LR(A,Q){if(HB(A))return o50(A,Q);else return x2({...lzA(A),...Q})}var a50=C(()=>{h4();Kk();bU();KV();W$();wR();u6();GR();r50();q8()});function ry6(A,Q){let B={};for(let J of globalThis.Object.getOwnPropertyNames(A))B[J]=LR(A[J],Q);return B}function sy6(A,Q){return ry6(A.properties,Q)}function o50(A,Q){let B=sy6(A,Q);return b3(B)}var r50=C(()=>{xY();a50()});var a71=C(()=>{r50();a50()});function ty6(A,Q){return Q.map((B)=>{return xJ(B)?s50(A,B.$ref):HV(A,B)})}function s50(A,Q){return Q in A?xJ(A[Q])?s50(A,A[Q].$ref):HV(A,A[Q]):o5()}function ey6(A){return DR(A[0])}function Af6(A){return dM(A[0],A[1])}function Qf6(A){return _R(A[0])}function Bf6(A){return qR(A[0])}function Jf6(A){return iM(A[0],A[1])}function $f6(A){return nM(A[0],A[1])}function Yf6(A){return LR(A[0])}function Xf6(A,Q,B){let J=ty6(A,B);return Q==="Awaited"?ey6(J):Q==="Index"?Af6(J):Q==="KeyOf"?Qf6(J):Q==="Partial"?Bf6(J):Q==="Omit"?Jf6(J):Q==="Pick"?$f6(J):Q==="Required"?Yf6(J):o5()}function Wf6(A,Q){return WR(HV(A,Q))}function Zf6(A,Q){return ZR(HV(A,Q))}function Gf6(A,Q,B){return UR(o71(A,Q),HV(A,B))}function Uf6(A,Q,B){return zV(o71(A,Q),HV(A,B))}function zf6(A,Q){return NX(o71(A,Q))}function Kf6(A,Q){return HR(HV(A,Q))}function Hf6(A,Q){return N3(globalThis.Object.keys(Q).reduce((B,J)=>{return{...B,[J]:HV(A,Q[J])}},{}))}function Vf6(A,Q){let[B,J]=[HV(A,g71(Q)),f71(Q)],$=Yk(Q);return $.patternProperties[J]=B,$}function wf6(A,Q){return xJ(Q)?{...s50(A,Q.$ref),[LB]:Q[LB]}:Q}function Df6(A,Q){return xU(o71(A,Q))}function _f6(A,Q){return M3(o71(A,Q))}function o71(A,Q){return Q.map((B)=>HV(A,B))}function HV(A,Q){return PU(Q)?x2(HV(A,vJ(Q,[zW])),Q):oh(Q)?x2(HV(A,vJ(Q,[MD])),Q):n3(Q)?x2(wf6(A,Q),Q):ND(Q)?x2(Wf6(A,Q.items),Q):Wk(Q)?x2(Zf6(A,Q.items),Q):OD(Q)?x2(Xf6(A,Q.target,Q.parameters)):qD(Q)?x2(Gf6(A,Q.parameters,Q.returns),Q):LD(Q)?x2(Uf6(A,Q.parameters,Q.returns),Q):rB(Q)?x2(zf6(A,Q.allOf),Q):Gk(Q)?x2(Kf6(A,Q.items),Q):X$(Q)?x2(Hf6(A,Q.properties),Q):zk(Q)?x2(Vf6(A,Q)):XK(Q)?x2(Df6(A,Q.items||[]),Q):F3(Q)?x2(_f6(A,Q.anyOf),Q):Q}function Ff6(A,Q){return Q in A?HV(A,A[Q]):o5()}function izA(A){return globalThis.Object.getOwnPropertyNames(A).reduce((Q,B)=>{return{...Q,[B]:Ff6(A,B)}},{})}var nzA=C(()=>{BR();L40();GR();uo();E71();po();co();cM();Hk();KV();ao();RD();bU();l71();i71();WY();n71();ro();a71();VR();W$();u6();q8()});class t50{constructor(A){let Q=izA(A),B=this.WithIdentifiers(Q);this.$defs=B}Import(A,Q){let B={...this.$defs,[A]:x2(this.$defs[A],Q)};return x2({[E2]:"Import",$defs:B,$ref:A})}WithIdentifiers(A){return globalThis.Object.getOwnPropertyNames(A).reduce((Q,B)=>{return{...Q,[B]:{...A[B],$id:B}}},{})}}function r71(A){return new t50(A)}var azA=C(()=>{BR();u6();nzA()});var mE1=C(()=>{azA()});function s71(A,Q){return x2({[E2]:"Not",not:A},Q)}var ozA=C(()=>{h4();u6()});var uE1=C(()=>{ozA()});function t71(A,Q){return LD(A)?xU(A.parameters,Q):o5()}var rzA=C(()=>{VR();WY();q8()});var pE1=C(()=>{rzA()});function e71(A,Q={}){if(XY(Q.$id))Q.$id=`T${Mf6++}`;let B=Yk(A({[E2]:"This",$ref:`${Q.$id}`}));return B.$id=Q.$id,x2({[TU]:"Recursive",...B},Q)}var Mf6=0;var szA=C(()=>{$E1();h4();u6()});var dE1=C(()=>{szA()});function AB1(A,Q){let B=E7(A)?new globalThis.RegExp(A):A;return x2({[E2]:"RegExp",type:"RegExp",source:B.source,flags:B.flags},Q)}var tzA=C(()=>{h4();u6()});var cE1=C(()=>{tzA()});function Nf6(A){return rB(A)?A.allOf:F3(A)?A.anyOf:XK(A)?A.items??[]:[]}function QB1(A){return Nf6(A)}var ezA=C(()=>{q8()});var lE1=C(()=>{ezA()});function BB1(A,Q){return LD(A)?x2(A.returns,Q):o5(Q)}var AKA=C(()=>{h4();WY();q8()});var iE1=C(()=>{AKA()});var QKA=()=>{};var BKA=()=>{};var JKA=C(()=>{QKA();BKA()});var $KA=()=>{};var YKA=C(()=>{$KA()});class e50{constructor(A){this.schema=A}Decode(A){return new A80(this.schema,A)}}class A80{constructor(A,Q){this.schema=A,this.decode=Q}EncodeTransform(A,Q){let $={Encode:(Y)=>Q[LB].Encode(A(Y)),Decode:(Y)=>this.decode(Q[LB].Decode(Y))};return{...Q,[LB]:$}}EncodeSchema(A,Q){let B={Decode:this.decode,Encode:A};return{...Q,[LB]:B}}Encode(A){return n3(this.schema)?this.EncodeTransform(A,this.schema):this.EncodeSchema(A,this.schema)}}function JB1(A){return new e50(A)}var XKA=C(()=>{u6();q8()});var nE1=C(()=>{XKA()});function Hm(A={}){return x2({[E2]:A[E2]??"Unsafe"},A)}var WKA=C(()=>{h4();u6()});var $B1=C(()=>{WKA()});function YB1(A){return x2({[E2]:"Void",type:"void"},A)}var ZKA=C(()=>{h4();u6()});var aE1=C(()=>{ZKA()});class XB1{ReadonlyOptional(A){return Gm(A)}Readonly(A,Q){return NZ(A,Q??!0)}Optional(A,Q){return MX(A,Q??!0)}Any(A){return mM(A)}Array(A,Q){return WR(A,Q)}Boolean(A){return Am(A)}Capitalize(A,Q){return u71(A,Q)}Composite(A,Q){return I71(A,Q)}Const(A,Q){return k71(A,Q)}Enum(A,Q){return x71(A,Q)}Exclude(A,Q,B){return NR(A,Q,B)}Extends(A,Q,B,J,$){return MR(A,Q,B,J,$)}Extract(A,Q,B){return OR(A,Q,B)}Index(A,Q,B){return dM(A,Q,B)}Integer(A){return m71(A)}Intersect(A,Q){return NX(A,Q)}KeyOf(A,Q){return _R(A,Q)}Literal(A,Q){return b8(A,Q)}Lowercase(A,Q){return p71(A,Q)}Mapped(A,Q,B){return q71(A,Q,B)}Module(A){return r71(A)}Never(A){return o5(A)}Not(A,Q){return s71(A,Q)}Null(A){return $m(A)}Number(A){return SU(A)}Object(A,Q){return N3(A,Q)}Omit(A,Q,B){return iM(A,Q,B)}Partial(A,Q){return qR(A,Q)}Pick(A,Q,B){return nM(A,Q,B)}Record(A,Q,B){return zm(A,Q,B)}Recursive(A,Q){return e71(A,Q)}Ref(...A){return vU(A[0],A[1])}Required(A,Q){return LR(A,Q)}Rest(A){return QB1(A)}String(A){return KW(A)}TemplateLiteral(A,Q){return Qm(A,Q)}Transform(A){return JB1(A)}Tuple(A,Q){return xU(A,Q)}Uncapitalize(A,Q){return d71(A,Q)}Union(A,Q){return M3(A,Q)}Unknown(A){return WK(A)}Unsafe(A){return Hm(A)}Uppercase(A,Q){return c71(A,Q)}}var Q80=C(()=>{mo();uo();F71();OE1();LE1();CE1();SE1();Zm();bE1();cM();yE1();KV();fE1();RD();jG();xY();WY();uE1();j71();mE1();wk();bU();l71();BL();n71();i71();Fk();y71();ro();dE1();wR();a71();lE1();Dk();pM();nE1();VR();W$();Mk();$B1()});var B80={};$5(B80,{Void:()=>YB1,Uppercase:()=>c71,Unsafe:()=>Hm,Unknown:()=>WK,Union:()=>M3,Undefined:()=>Xm,Uncapitalize:()=>d71,Uint8Array:()=>Wm,Tuple:()=>xU,Transform:()=>JB1,TemplateLiteral:()=>Qm,Symbol:()=>Ym,String:()=>KW,ReturnType:()=>BB1,Rest:()=>QB1,Required:()=>LR,RegExp:()=>AB1,Ref:()=>vU,Recursive:()=>e71,Record:()=>zm,ReadonlyOptional:()=>Gm,Readonly:()=>NZ,Promise:()=>Bm,Pick:()=>nM,Partial:()=>qR,Parameters:()=>t71,Optional:()=>MX,Omit:()=>iM,Object:()=>N3,Number:()=>SU,Null:()=>$m,Not:()=>s71,Never:()=>o5,Module:()=>r71,Mapped:()=>q71,Lowercase:()=>p71,Literal:()=>b8,KeyOf:()=>_R,Iterator:()=>HR,Intersect:()=>NX,Integer:()=>m71,Instantiate:()=>h71,InstanceType:()=>v71,Index:()=>dM,Function:()=>zV,Extract:()=>OR,Extends:()=>MR,Exclude:()=>NR,Enum:()=>x71,Date:()=>Jm,ConstructorParameters:()=>b71,Constructor:()=>UR,Const:()=>k71,Composite:()=>I71,Capitalize:()=>u71,Boolean:()=>Am,BigInt:()=>KR,Awaited:()=>DR,AsyncIterator:()=>ZR,Array:()=>WR,Argument:()=>V71,Any:()=>mM});var GKA=C(()=>{mo();VE1();uo();po();E71();io();F71();OE1();LE1();co();EE1();R71();CE1();SE1();Zm();bE1();Hk();cM();xE1();vE1();yE1();KV();fE1();ao();RD();jG();xY();mE1();WY();uE1();j71();wk();bU();l71();BL();pE1();n71();i71();N71();Fk();y71();ro();dE1();wR();cE1();a71();lE1();iE1();Dk();T71();pM();nE1();VR();S71();P71();W$();Mk();$B1();aE1()});var J80;var UKA=C(()=>{Q80();VE1();po();E71();io();co();EE1();R71();Hk();xE1();vE1();ao();pE1();N71();cE1();iE1();T71();S71();P71();aE1();J80=class J80 extends XB1{Argument(A){return V71(A)}AsyncIterator(A,Q){return ZR(A,Q)}Awaited(A,Q){return DR(A,Q)}BigInt(A){return KR(A)}ConstructorParameters(A,Q){return b71(A,Q)}Constructor(A,Q,B){return UR(A,Q,B)}Date(A={}){return Jm(A)}Function(A,Q,B){return zV(A,Q,B)}InstanceType(A,Q){return v71(A,Q)}Instantiate(A,Q){return h71(A,Q)}Iterator(A,Q){return HR(A,Q)}Parameters(A,Q){return t71(A,Q)}Promise(A,Q){return Bm(A,Q)}RegExp(A,Q){return AB1(A,Q)}ReturnType(A,Q){return BB1(A,Q)}Symbol(A){return Ym(A)}Undefined(A){return Xm(A)}Uint8Array(A){return Wm(A)}Void(A){return YB1(A)}}});var I1;var zKA=C(()=>{Q80();GKA();UKA();I1=B80});var WB1={};$5(WB1,{Void:()=>YB1,ValueGuard:()=>_Z,Uppercase:()=>c71,Unsafe:()=>Hm,Unknown:()=>WK,UnionEvaluated:()=>uM,Union:()=>M3,Undefined:()=>Xm,Uncapitalize:()=>d71,Uint8Array:()=>Wm,TypeRegistry:()=>bY,TypeGuard:()=>mA,TypeBoxError:()=>m4,Type:()=>I1,Tuple:()=>xU,TransformKind:()=>LB,TransformEncodeBuilder:()=>A80,TransformDecodeBuilder:()=>e50,Transform:()=>JB1,TemplateLiteralToUnion:()=>_k,TemplateLiteralSyntax:()=>l40,TemplateLiteralPatternError:()=>n40,TemplateLiteralPattern:()=>_E1,TemplateLiteralParserError:()=>wE1,TemplateLiteralParseExact:()=>th,TemplateLiteralParse:()=>sh,TemplateLiteralGenerateError:()=>p40,TemplateLiteralGenerate:()=>eh,TemplateLiteralFiniteError:()=>m40,TemplateLiteralExpressionGenerate:()=>lo,TemplateLiteral:()=>Qm,TModule:()=>t50,Symbol:()=>Ym,String:()=>KW,SetUnionMany:()=>y40,SetUnion:()=>Hb6,SetIsSubset:()=>Kb6,SetIntersectMany:()=>v40,SetIntersect:()=>OUA,SetIncludes:()=>HE1,SetDistinct:()=>x40,SetComplement:()=>Vb6,ReturnType:()=>BB1,Rest:()=>QB1,RequiredFromMappedResult:()=>o50,Required:()=>LR,RegExp:()=>AB1,Ref:()=>vU,Recursive:()=>e71,RecordValue:()=>g71,RecordPattern:()=>f71,RecordKey:()=>k50,Record:()=>zm,ReadonlyOptional:()=>Gm,ReadonlyKind:()=>MD,ReadonlyFromMappedResult:()=>Q50,Readonly:()=>NZ,Promise:()=>Bm,PickFromMappedResult:()=>m50,PickFromMappedKey:()=>d50,Pick:()=>nM,PatternStringExact:()=>XR,PatternString:()=>k40,PatternNumberExact:()=>YR,PatternNumber:()=>z71,PatternNeverExact:()=>b40,PatternNever:()=>tk6,PatternBooleanExact:()=>ek6,PatternBoolean:()=>S40,PartialFromMappedResult:()=>i50,Partial:()=>qR,Parameters:()=>t71,OptionalKind:()=>zW,OptionalFromMappedResult:()=>$50,Optional:()=>MX,OmitFromMappedResult:()=>v50,OmitFromMappedKey:()=>g50,Omit:()=>iM,Object:()=>N3,Number:()=>SU,Null:()=>$m,Not:()=>s71,Never:()=>o5,Module:()=>r71,MappedResult:()=>b3,MappedKey:()=>_b6,MappedFunctionReturnType:()=>tUA,Mapped:()=>q71,Lowercase:()=>p71,Literal:()=>b8,KindGuard:()=>hM,Kind:()=>E2,KeyOfPropertyKeysToRest:()=>ZzA,KeyOfPropertyKeys:()=>yU,KeyOfPropertyEntries:()=>C71,KeyOfPattern:()=>JL,KeyOfFromMappedResult:()=>G50,KeyOf:()=>_R,JsonTypeBuilder:()=>XB1,JavaScriptTypeBuilder:()=>J80,Iterator:()=>HR,IsTemplateLiteralFinite:()=>_71,IsTemplateLiteralExpressionFinite:()=>Vk,IntrinsicFromMappedKey:()=>b50,Intrinsic:()=>PD,IntersectEvaluated:()=>M71,Intersect:()=>NX,Integer:()=>m71,Instantiate:()=>h71,InstanceType:()=>v71,IndexPropertyKeys:()=>kU,IndexFromPropertyKeys:()=>no,IndexFromPropertyKey:()=>s40,IndexFromMappedResult:()=>o40,IndexFromMappedKey:()=>t40,IndexFromComputed:()=>ob6,Index:()=>dM,Increment:()=>sk6,Hint:()=>TU,Function:()=>zV,FromTypes:()=>so,FormatRegistry:()=>RG,ExtractFromTemplateLiteral:()=>R50,ExtractFromMappedResult:()=>T50,Extract:()=>OR,ExtendsUndefinedCheck:()=>$L,ExtendsResult:()=>g2,ExtendsResolverError:()=>w50,ExtendsFromMappedResult:()=>M50,ExtendsFromMappedKey:()=>O50,ExtendsCheck:()=>FR,Extends:()=>MR,ExcludeFromTemplateLiteral:()=>L50,ExcludeFromMappedResult:()=>C50,Exclude:()=>NR,Enum:()=>x71,Date:()=>Jm,CreateType:()=>x2,ConstructorParameters:()=>b71,Constructor:()=>UR,Const:()=>k71,Composite:()=>I71,CloneType:()=>Yk,CloneRest:()=>Pk6,Clone:()=>zB,Capitalize:()=>u71,Boolean:()=>Am,BigInt:()=>KR,Awaited:()=>DR,AsyncIterator:()=>ZR,Array:()=>WR,Argument:()=>V71,Any:()=>mM});var p5=C(()=>{L40();BR();oB();P40();FUA();K71();rh();H71();u6();mo();uo();VE1();po();E71();io();F71();OE1();LE1();co();EE1();R71();CE1();SE1();Zm();bE1();Hk();cM();xE1();vE1();yE1();KV();ao();fE1();RD();jG();mE1();xY();WY();uE1();j71();wk();bU();l71();BL();pE1();n71();i71();N71();Fk();y71();ro();dE1();wR();cE1();a71();lE1();iE1();JKA();YKA();Dk();T71();pM();nE1();VR();S71();P71();W$();Mk();$B1();aE1();zKA()});function Of6(A,Q){return(B,J,$)=>{if(B.api!==A)throw Error(`Mismatched api: ${B.api} expected ${A}`);return Q(B,J,$)}}function qf6(A,Q){return(B,J,$)=>{if(B.api!==A)throw Error(`Mismatched api: ${B.api} expected ${A}`);return Q(B,J,$)}}function ER(A,Q){to.set(A.api,{provider:{api:A.api,stream:Of6(A.api,A.stream),streamSimple:qf6(A.api,A.streamSimple)},sourceId:Q})}function $80(A){return to.get(A)?.provider}function Lf6(){return Array.from(to.values(),(A)=>A.provider)}function Y80(A){for(let[Q,B]of to.entries())if(B.sourceId===A)to.delete(Q)}function X80(){to.clear()}var to;var ZB1=C(()=>{to=new Map});function VV(A){if(!process.versions?.bun)return;if(typeof process>"u")return;if(Object.keys(process.env).length>0)return;if(oE1===null){oE1=new Map;try{let{readFileSync:Q}=H0("node:fs"),B=Q("/proc/self/environ","utf-8");for(let J of B.split("\x00")){let $=J.indexOf("=");if($>0)oE1.set(J.slice(0,$),J.slice($+1))}}catch{}}return oE1.get(A)}function Rf6(){if(GB1===null){if(!rE1||!Z80||!G80){if(!(typeof process<"u"&&(process.versions?.node||process.versions?.bun)))GB1=!1;return!1}let A=process.env.GOOGLE_APPLICATION_CREDENTIALS||VV("GOOGLE_APPLICATION_CREDENTIALS");if(A)GB1=rE1(A);else GB1=rE1(G80(Z80(),".config","gcloud","application_default_credentials.json"))}return GB1}function jf6(A){if(A==="github-copilot")return["COPILOT_GITHUB_TOKEN","GH_TOKEN","GITHUB_TOKEN"];if(A==="anthropic")return["ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"];let B={openai:"OPENAI_API_KEY","azure-openai-responses":"AZURE_OPENAI_API_KEY",deepseek:"DEEPSEEK_API_KEY",google:"GEMINI_API_KEY","google-vertex":"GOOGLE_CLOUD_API_KEY",groq:"GROQ_API_KEY",cerebras:"CEREBRAS_API_KEY",xai:"XAI_API_KEY",openrouter:"OPENROUTER_API_KEY","vercel-ai-gateway":"AI_GATEWAY_API_KEY",zai:"ZAI_API_KEY",mistral:"MISTRAL_API_KEY",minimax:"MINIMAX_API_KEY","minimax-cn":"MINIMAX_CN_API_KEY",moonshotai:"MOONSHOT_API_KEY","moonshotai-cn":"MOONSHOT_API_KEY",huggingface:"HF_TOKEN",fireworks:"FIREWORKS_API_KEY",opencode:"OPENCODE_API_KEY","opencode-go":"OPENCODE_API_KEY","kimi-coding":"KIMI_API_KEY","cloudflare-workers-ai":"CLOUDFLARE_API_KEY","cloudflare-ai-gateway":"CLOUDFLARE_API_KEY",xiaomi:"XIAOMI_API_KEY","xiaomi-token-plan-cn":"XIAOMI_TOKEN_PLAN_CN_API_KEY","xiaomi-token-plan-ams":"XIAOMI_TOKEN_PLAN_AMS_API_KEY","xiaomi-token-plan-sgp":"XIAOMI_TOKEN_PLAN_SGP_API_KEY"}[A];return B?[B]:void 0}function KKA(A){let Q=jf6(A);if(!Q)return;let B=Q.filter((J)=>!!process.env[J]||!!VV(J));return B.length>0?B:void 0}function z7(A){let Q=KKA(A);if(Q?.[0])return process.env[Q[0]]||VV(Q[0]);if(A==="google-vertex"){let B=Rf6(),J=!!(process.env.GOOGLE_CLOUD_PROJECT||process.env.GCLOUD_PROJECT||VV("GOOGLE_CLOUD_PROJECT")||VV("GCLOUD_PROJECT")),$=!!(process.env.GOOGLE_CLOUD_LOCATION||VV("GOOGLE_CLOUD_LOCATION"));if(B&&J&&$)return"<authenticated>"}if(A==="amazon-bedrock"){if(process.env.AWS_PROFILE||process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY||process.env.AWS_BEARER_TOKEN_BEDROCK||process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI||process.env.AWS_WEB_IDENTITY_TOKEN_FILE||VV("AWS_PROFILE")||VV("AWS_ACCESS_KEY_ID")&&VV("AWS_SECRET_ACCESS_KEY")||VV("AWS_BEARER_TOKEN_BEDROCK")||VV("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")||VV("AWS_CONTAINER_CREDENTIALS_FULL_URI")||VV("AWS_WEB_IDENTITY_TOKEN_FILE"))return"<authenticated>"}return}var rE1=null,Z80=null,G80=null,W80=(A)=>import(A),Ef6="node:fs",Cf6="node:os",If6="node:path",oE1=null,GB1=null;var YL=C(()=>{if(typeof process<"u"&&(process.versions?.node||process.versions?.bun))W80(Ef6).then((A)=>{rE1=A.existsSync}),W80(Cf6).then((A)=>{Z80=A.homedir}),W80(If6).then((A)=>{G80=A.join})});var HKA;var VKA=C(()=>{HKA={"amazon-bedrock":{"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},contextWindow:300000,maxTokens:8192},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},contextWindow:128000,maxTokens:8192},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:300000,maxTokens:8192},"anthropic.claude-fable-5":{id:"anthropic.claude-fable-5",name:"Claude Fable 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-opus-4-7":{id:"anthropic.claude-opus-4-7",name:"Claude Opus 4.7",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-opus-4-8":{id:"anthropic.claude-opus-4-8",name:"Claude Opus 4.8",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-opus-5":{id:"anthropic.claude-opus-5",name:"Claude Opus 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic.claude-sonnet-5":{id:"anthropic.claude-sonnet-5",name:"Claude Sonnet 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"au.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"au.anthropic.claude-opus-4-6-v1":{id:"au.anthropic.claude-opus-4-6-v1",name:"AU Anthropic Claude Opus 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:16.5,output:82.5,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-opus-4-8":{id:"au.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-opus-5":{id:"au.anthropic.claude-opus-5",name:"Claude Opus 5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"au.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"au.anthropic.claude-sonnet-4-6":{id:"au.anthropic.claude-sonnet-4-6",name:"AU Anthropic Claude Sonnet 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128000},"au.anthropic.claude-sonnet-5":{id:"au.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:32768},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"eu.anthropic.claude-fable-5":{id:"eu.anthropic.claude-fable-5",name:"Claude Fable 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:11,output:55,cacheRead:1.1,cacheWrite:13.75},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.1,output:5.5,cacheRead:0.11,cacheWrite:1.375},contextWindow:200000,maxTokens:64000},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:200000,maxTokens:64000},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-opus-4-7":{id:"eu.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-opus-4-8":{id:"eu.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-opus-5":{id:"eu.anthropic.claude-opus-5",name:"Claude Opus 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:0.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128000},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},contextWindow:200000,maxTokens:64000},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:64000},"eu.anthropic.claude-sonnet-5":{id:"eu.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:0.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-fable-5":{id:"global.anthropic.claude-fable-5",name:"Claude Fable 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-opus-4-7":{id:"global.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-opus-4-8":{id:"global.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-opus-5":{id:"global.anthropic.claude-opus-5",name:"Claude Opus 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"global.anthropic.claude-sonnet-5":{id:"global.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:8192},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"jp.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"jp.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"jp.anthropic.claude-opus-4-7":{id:"jp.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"jp.anthropic.claude-opus-4-8":{id:"jp.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"jp.anthropic.claude-opus-5":{id:"jp.anthropic.claude-opus-5",name:"Claude Opus 5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"jp.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"jp.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"jp.anthropic.claude-sonnet-4-6":{id:"jp.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"jp.anthropic.claude-sonnet-5":{id:"jp.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},contextWindow:3500000,maxTokens:16384},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204608,maxTokens:128000},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:98304},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8192},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:40000},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8192},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8192},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:8192},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16000},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16000},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"openai.gpt-5.4":{id:"openai.gpt-5.4",name:"GPT-5.4",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.75,output:16.5,cacheRead:0.275,cacheWrite:0},contextWindow:272000,maxTokens:128000},"openai.gpt-5.5":{id:"openai.gpt-5.5",name:"GPT-5.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:33,cacheRead:0.55,cacheWrite:0},contextWindow:272000,maxTokens:128000},"openai.gpt-5.6-luna":{id:"openai.gpt-5.6-luna",name:"GPT-5.6 Luna",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:0.22,output:1.32,cacheRead:0.022,cacheWrite:0.275},contextWindow:1050000,maxTokens:128000},"openai.gpt-5.6-sol":{id:"openai.gpt-5.6-sol",name:"GPT-5.6 Sol",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:33,cacheRead:0.55,cacheWrite:6.875},contextWindow:1050000,maxTokens:128000},"openai.gpt-5.6-terra":{id:"openai.gpt-5.6-terra",name:"GPT-5.6 Terra",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:13.2,cacheRead:0.22,cacheWrite:2.75},contextWindow:1050000,maxTokens:128000},"openai.gpt-oss-120b":{id:"openai.gpt-oss-120b",name:"gpt-oss-120b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-20b":{id:"openai.gpt-oss-20b",name:"gpt-oss-20b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-coder-next":{id:"qwen.qwen3-coder-next",name:"Qwen3 Coder Next",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},contextWindow:262000,maxTokens:262000},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262000,maxTokens:262000},"us.anthropic.claude-fable-5":{id:"us.anthropic.claude-fable-5",name:"Claude Fable 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-opus-4-7":{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-opus-4-8":{id:"us.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-opus-5":{id:"us.anthropic.claude-opus-5",name:"Claude Opus 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"us.anthropic.claude-sonnet-5":{id:"us.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"us.deepseek.r1-v1:0":{id:"us.deepseek.r1-v1:0",name:"DeepSeek-R1 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:32768},"us.meta.llama4-maverick-17b-instruct-v1:0":{id:"us.meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"us.meta.llama4-scout-17b-instruct-v1:0":{id:"us.meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},contextWindow:3500000,maxTokens:16384},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:122880,maxTokens:8192},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:1040000,maxTokens:8192},"xai.grok-4.3":{id:"xai.grok-4.3",name:"Grok 4.3",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:131072},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:101376}},anthropic:{"claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128000},"claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000}},"azure-openai-responses":{"gpt-4":{id:"gpt-4",name:"GPT-4",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5":{id:"gpt-5",name:"GPT-5",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"GPT-5 Chat Latest",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:272000},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.125,cacheWrite:1.25},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:32000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6":{id:"gpt-5.6",name:"GPT-5.6",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.5},contextWindow:1050000,maxTokens:128000},"gpt-realtime-2.1":{id:"gpt-realtime-2.1",name:"GPT-Realtime-2.1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:0.4,cacheWrite:0},contextWindow:128000,maxTokens:32000},o1:{id:"o1",name:"o1",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o1-pro":{id:"o1-pro",name:"o1-pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},o3:{id:"o3",name:"o3",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-mini":{id:"o3-mini",name:"o3-mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-pro":{id:"o3-pro",name:"o3-pro",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o4-mini":{id:"o4-mini",name:"o4-mini",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5}},cerebras:{"gemma-4-31b":{id:"gemma-4-31b",name:"Gemma 4 31B IT",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text","image"],cost:{input:0.99,output:1.49,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text"],cost:{input:0.35,output:0.75,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960},"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text"],cost:{input:2.25,output:2.75,cacheRead:2.25,cacheWrite:0},contextWindow:131072,maxTokens:40960}},"github-copilot":{"claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"claude-haiku-4.5":{id:"claude-haiku-4.5",name:"Claude Haiku 4.5 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-opus-4.5":{id:"claude-opus-4.5",name:"Claude Opus 4.5 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:32000},"claude-opus-4.6":{id:"claude-opus-4.6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:32000},"claude-opus-4.7":{id:"claude-opus-4.7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:32000},"claude-opus-4.8":{id:"claude-opus-4.8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:64000},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:216000,maxTokens:16000},"claude-sonnet-4.5":{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:32000},"claude-sonnet-4.6":{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:32000},"claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:200000,maxTokens:64000},"gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:264000,maxTokens:64000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.5,cacheWrite:0},contextWindow:500000,maxTokens:128000},"kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:256000,maxTokens:32000},"kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mai-code-1-flash-picker":{id:"mai-code-1-flash-picker",name:"MAI-Code-1-Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:256000,maxTokens:128000}},google:{"deep-research-max-preview-04-2026":{id:"deep-research-max-preview-04-2026",name:"Deep Research Max Preview (Apr-21-2026)",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deep-research-preview-04-2026":{id:"deep-research-preview-04-2026",name:"Deep Research Preview (Apr-21-2026)",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemini-2.5-computer-use-preview-10-2025":{id:"gemini-2.5-computer-use-preview-10-2025",name:"Gemini 2.5 Computer Use Preview 10-2025",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-lite":{id:"gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-lite-image":{id:"gemini-3.1-flash-lite-image",name:"Nano Banana 2 Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:30,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:65536},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-live-preview":{id:"gemini-3.1-flash-live-preview",name:"Gemini 3.1 Flash Live Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash-lite":{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-robotics-er-1.6-preview":{id:"gemini-robotics-er-1.6-preview",name:"Gemini Robotics-ER 1.6 Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemma-4-26b-a4b-it":{id:"gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"gemma-4-31b-it":{id:"gemma-4-31b-it",name:"Gemma 4 31B IT",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768}},"google-antigravity":{"claude-opus-4-5-thinking":{id:"claude-opus-4-5-thinking",name:"Claude Opus 4.5 Thinking (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-6-thinking":{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:128000},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-5-thinking":{id:"claude-sonnet-4-5-thinking",name:"Claude Sonnet 4.5 Thinking (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"gemini-3-flash":{id:"gemini-3-flash",name:"Gemini 3 Flash (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.5,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3.1-pro-high":{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.375},contextWindow:1048576,maxTokens:65535},"gemini-3.1-pro-low":{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.375},contextWindow:1048576,maxTokens:65535},"gpt-oss-120b-medium":{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B Medium (Antigravity)",api:"google-gemini-cli",provider:"google-antigravity",baseUrl:"https://daily-cloudcode-pa.sandbox.googleapis.com",reasoning:!1,input:["text"],cost:{input:0.09,output:0.36,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768}},"google-gemini-cli":{"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Cloud Code Assist)",api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65535}},"google-vertex":{"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25 (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools (Vertex)",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536}},groq:{"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!1,input:["text"],cost:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!1,input:["text"],cost:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0.0375,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen3.6 27B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.3,cacheWrite:0},contextWindow:131072,maxTokens:16384}},huggingface:{"MiniMaxAI/MiniMax-M2":{id:"MiniMaxAI/MiniMax-M2",name:"MiniMax-M2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:128000},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M3":{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax-M3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:524288,maxTokens:128000},"Qwen/Qwen3-235B-A22B":{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B-A22B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B-A22B Instruct 2507",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.855,output:2.565,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.3,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3 32B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder 30B-A3B Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.07,output:0.26,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:2,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.3,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3.5-122B-A10B":{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen3.5 122B-A10B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.4,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.5-27B":{id:"Qwen/Qwen3.5-27B",name:"Qwen3.5 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.5-35B-A3B":{id:"Qwen/Qwen3.5-35B-A3B",name:"Qwen3.5 35B-A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"Qwen/Qwen3.5-9B":{id:"Qwen/Qwen3.5-9B",name:"Qwen3.5 9B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.17,output:0.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.6-27B":{id:"Qwen/Qwen3.6-27B",name:"Qwen3.6 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.47,output:3.19,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.6-35B-A3B":{id:"Qwen/Qwen3.6-35B-A3B",name:"Qwen3.6 35B-A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.95,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"XiaomiMiMo/MiMo-V2.5":{id:"XiaomiMiMo/MiMo-V2.5",name:"MiMo-V2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"XiaomiMiMo/MiMo-V2.5-Pro":{id:"XiaomiMiMo/MiMo-V2.5-Pro",name:"MiMo-V2.5-Pro",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"deepseek-ai/DeepSeek-R1":{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek-R1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:64000,maxTokens:32768},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:3,output:5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek-V3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.4,output:1.3,cacheRead:0,cacheWrite:0},contextWindow:64000,maxTokens:8192},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek-V3.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.27,output:1,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek-ai/DeepSeek-V4-Flash":{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384000},"deepseek-ai/DeepSeek-V4-Flash-0731":{id:"deepseek-ai/DeepSeek-V4-Flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384000},"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"google/gemma-4-26B-A4B-it":{id:"google/gemma-4-26B-A4B-it",name:"Gemma 4 26B A4B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google/gemma-4-31B-it":{id:"google/gemma-4-31B-it",name:"Gemma 4 31B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi-K2.6",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.7-Code":{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K3":{id:"moonshotai/Kimi-K3",name:"Kimi K3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"stepfun-ai/Step-3.5-Flash":{id:"stepfun-ai/Step-3.5-Flash",name:"Step 3.5 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256000},"stepfun-ai/Step-3.7-Flash":{id:"stepfun-ai/Step-3.7-Flash",name:"Step 3.7 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256000},"tencent/Hy3":{id:"tencent/Hy3",name:"Hy3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.14,output:0.58,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:64000},"thinkingmachines/Inkling":{id:"thinkingmachines/Inkling",name:"Inkling",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1,output:4.05,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"thinkingmachines/Inkling-Small":{id:"thinkingmachines/Inkling-Small",name:"Inkling Small",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:524288,maxTokens:1048576},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.13,output:0.85,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"zai-org/GLM-4.5V":{id:"zai-org/GLM-4.5V",name:"GLM-4.5V",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:16384},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM-4.6",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:128000},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:202752,maxTokens:131072},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:202752,maxTokens:131072},"zai-org/GLM-5.2":{id:"zai-org/GLM-5.2",name:"GLM-5.2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072}},"kimi-coding":{k2p5:{id:"k2p5",name:"Kimi K2.5",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},k3:{id:"k3",name:"Kimi K3",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"k3-256k":{id:"k3-256k",name:"Kimi K3-256K",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"kimi-for-coding":{id:"kimi-for-coding",name:"Kimi K2.7 Code",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"kimi-for-coding-highspeed":{id:"kimi-for-coding-highspeed",name:"Kimi For Coding HighSpeed",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072}},"minimax-cn":{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131072}},mistral:{"codestral-latest":{id:"codestral-latest",name:"Codestral (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:4096},"devstral-2512":{id:"devstral-2512",name:"Devstral 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-latest":{id:"devstral-latest",name:"Devstral 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-medium-2507":{id:"devstral-medium-2507",name:"Devstral Medium",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"devstral-medium-latest":{id:"devstral-medium-latest",name:"Devstral 2 (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-small-2505":{id:"devstral-small-2505",name:"Devstral Small 2505",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"devstral-small-2507":{id:"devstral-small-2507",name:"Devstral Small",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"labs-devstral-small-2512":{id:"labs-devstral-small-2512",name:"Devstral Small 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"magistral-medium-latest":{id:"magistral-medium-latest",name:"Magistral Medium (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text"],cost:{input:2,output:5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"magistral-small":{id:"magistral-small",name:"Magistral Small",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"ministral-3b-latest":{id:"ministral-3b-latest",name:"Ministral 3B (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"ministral-8b-latest":{id:"ministral-8b-latest",name:"Ministral 8B (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"mistral-large-2411":{id:"mistral-large-2411",name:"Mistral Large 2.1",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"mistral-large-2512":{id:"mistral-large-2512",name:"Mistral Large 3",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-large-latest":{id:"mistral-large-latest",name:"Mistral Large (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2505":{id:"mistral-medium-2505",name:"Mistral Medium 3",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"mistral-medium-2508":{id:"mistral-medium-2508",name:"Mistral Medium 3.1",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2604":{id:"mistral-medium-2604",name:"Mistral Medium 3.5",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-latest":{id:"mistral-medium-latest",name:"Mistral Medium (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-nemo":{id:"mistral-nemo",name:"Mistral Nemo",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"mistral-small-2506":{id:"mistral-small-2506",name:"Mistral Small 3.2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"mistral-small-2603":{id:"mistral-small-2603",name:"Mistral Small 4",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral-small-latest":{id:"mistral-small-latest",name:"Mistral Small (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"open-mistral-7b":{id:"open-mistral-7b",name:"Mistral 7B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.25,output:0.25,cacheRead:0,cacheWrite:0},contextWindow:8000,maxTokens:8000},"open-mistral-nemo":{id:"open-mistral-nemo",name:"Open Mistral Nemo",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"open-mixtral-8x22b":{id:"open-mixtral-8x22b",name:"Mixtral 8x22B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:64000,maxTokens:64000},"open-mixtral-8x7b":{id:"open-mixtral-8x7b",name:"Mixtral 8x7B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.7,output:0.7,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:32000},"pixtral-12b":{id:"pixtral-12b",name:"Pixtral 12B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"pixtral-large-latest":{id:"pixtral-large-latest",name:"Pixtral Large (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"voxtral-small-latest":{id:"voxtral-small-latest",name:"Voxtral Small (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:32000}},openai:{"gpt-4":{id:"gpt-4",name:"GPT-4",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"GPT-5 Chat Latest",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:272000},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.125,cacheWrite:1.25},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:16384},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:32000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6":{id:"gpt-5.6",name:"GPT-5.6",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:2.5},contextWindow:1050000,maxTokens:128000},"gpt-realtime-2.1":{id:"gpt-realtime-2.1",name:"GPT-Realtime-2.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:0.4,cacheWrite:0},contextWindow:128000,maxTokens:32000},o1:{id:"o1",name:"o1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o1-pro":{id:"o1-pro",name:"o1-pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},o3:{id:"o3",name:"o3",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-mini":{id:"o3-mini",name:"o3-mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o3-pro":{id:"o3-pro",name:"o3-pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"o4-mini":{id:"o4-mini",name:"o4-mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5}},"openai-codex":{"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:272000,maxTokens:128000}},opencode:{"big-pickle":{id:"big-pickle",name:"Big Pickle",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:32000},"claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:200000,maxTokens:64000},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek-v4-flash-free":{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:128000},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.74,output:3.84,cacheRead:0.145,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"gemini-3-flash":{id:"gemini-3-flash",name:"Gemini 3 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro":{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro Preview",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.5-flash-lite":{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"glm-5":{id:"glm-5",name:"GLM-5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:0.107,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:272000,maxTokens:128000},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:3.125},contextWindow:1050000,maxTokens:128000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.5,cacheWrite:0},contextWindow:500000,maxTokens:500000},"grok-build-0.1":{id:"grok-build-0.1",name:"Grok Build 0.1",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.2,cacheWrite:0},contextWindow:256000,maxTokens:256000},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.08,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"laguna-s-2.1-free":{id:"laguna-s-2.1-free",name:"Laguna S 2.1 Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32000},"ling-3.0-tiny-free":{id:"ling-3.0-tiny-free",name:"Ling-3.0-tiny Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"longcat-2.0-free":{id:"longcat-2.0-free",name:"LongCat-2.0 Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"mimo-v2.5-free":{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:32000},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m3":{id:"minimax-m3",name:"MiniMax-M3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:512000,maxTokens:128000},"nemotron-3-ultra-free":{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"nemotron-3.5-lighting-free":{id:"nemotron-3.5-lighting-free",name:"Nemotron 3.5 Lightning Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:262144,maxTokens:65536},"qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.625},contextWindow:262144,maxTokens:65536}},"opencode-go":{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (2x usage)",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:0.07,output:0.14,cacheRead:0.0014,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:202752,maxTokens:32768},"glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna (2x usage)",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.1,output:0.6,cacheRead:0.01,cacheWrite:0.125},contextWindow:1050000,maxTokens:128000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.5,cacheWrite:0},contextWindow:500000,maxTokens:500000},hy3:{id:"hy3",name:"Hy3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:0.14,output:0.58,cacheRead:0.035,cacheWrite:0},contextWindow:256000,maxTokens:64000},"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:"mimo-v2.5",name:"MiMo V2.5",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"mimo-v2.5-pro":{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},contextWindow:1048576,maxTokens:128000},"minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m3":{id:"minimax-m3",name:"MiniMax-M3",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.625},contextWindow:1e6,maxTokens:65536},"qwen3.7-max":{id:"qwen3.7-max",name:"Qwen3.7 Max",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:0.5,cacheWrite:3.125},contextWindow:1e6,maxTokens:65536},"qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:0.4,output:1.6,cacheRead:0.04,cacheWrite:0.5},contextWindow:1e6,maxTokens:65536},"qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:131072}},openrouter:{"ai21/jamba-large-1.7":{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:8,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:4096},"aion-labs/aion-2.0":{id:"aion-labs/aion-2.0",name:"AionLabs: Aion-2.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7999999999999999,output:1.5999999999999999,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:32768},"aion-labs/aion-3.0":{id:"aion-labs/aion-3.0",name:"AionLabs: Aion-3.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:3,output:6,cacheRead:0.75,cacheWrite:0},contextWindow:131072,maxTokens:32768},"aion-labs/aion-3.0-mini":{id:"aion-labs/aion-3.0-mini",name:"AionLabs: Aion-3.0-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7,output:1.4,cacheRead:0.18,cacheWrite:0},contextWindow:131072,maxTokens:32768},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65535},"amazon/nova-lite-v1":{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:5120},"amazon/nova-micro-v1":{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:5120},"amazon/nova-premier-v1":{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.625,cacheWrite:0},contextWindow:1e6,maxTokens:32000},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:5120},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},contextWindow:200000,maxTokens:4096},"anthropic/claude-fable-5":{id:"anthropic/claude-fable-5",name:"Anthropic: Claude Fable 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-fable-5:batch":{id:"anthropic/claude-fable-5:batch",name:"Anthropic: Claude Fable 5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-haiku-4.5:batch":{id:"anthropic/claude-haiku-4.5:batch",name:"Anthropic: Claude Haiku 4.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:2.5,cacheRead:0.049999999999999996,cacheWrite:0.625},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:32000},"anthropic/claude-opus-4.1:batch":{id:"anthropic/claude-opus-4.1:batch",name:"Anthropic: Claude Opus 4.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:7.5,output:37.5,cacheRead:0.75,cacheWrite:9.375},contextWindow:200000,maxTokens:32000},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4.5:batch":{id:"anthropic/claude-opus-4.5:batch",name:"Anthropic: Claude Opus 4.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.6:batch":{id:"anthropic/claude-opus-4.6:batch",name:"Anthropic: Claude Opus 4.6 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Anthropic: Claude Opus 4.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7-fast":{id:"anthropic/claude-opus-4.7-fast",name:"Anthropic: Claude Opus 4.7 (Fast)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:150,cacheRead:3,cacheWrite:37.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7:batch":{id:"anthropic/claude-opus-4.7:batch",name:"Anthropic: Claude Opus 4.7 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8":{id:"anthropic/claude-opus-4.8",name:"Anthropic: Claude Opus 4.8",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8-fast":{id:"anthropic/claude-opus-4.8-fast",name:"Anthropic: Claude Opus 4.8 (Fast)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8:batch":{id:"anthropic/claude-opus-4.8:batch",name:"Anthropic: Claude Opus 4.8 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5":{id:"anthropic/claude-opus-5",name:"Claude Opus 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5-fast":{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 (Fast)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5:batch":{id:"anthropic/claude-opus-5:batch",name:"Claude Opus 5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:0.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.5:batch":{id:"anthropic/claude-sonnet-4.5:batch",name:"Anthropic: Claude Sonnet 4.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Anthropic: Claude Sonnet 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-4.6:batch":{id:"anthropic/claude-sonnet-4.6:batch",name:"Anthropic: Claude Sonnet 4.6 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-5":{id:"anthropic/claude-sonnet-5",name:"Anthropic: Claude Sonnet 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-5:batch":{id:"anthropic/claude-sonnet-5:batch",name:"Anthropic: Claude Sonnet 5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:1e6,maxTokens:128000},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Arcee AI: Trinity Large Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.22,output:0.85,cacheRead:0.06,cacheWrite:0},contextWindow:262144,maxTokens:262144},"arcee-ai/virtuoso-large":{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.75,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:64000},auto:{id:"auto",name:"Auto",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2000000,maxTokens:30000},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-1.6-flash":{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-2.0-lite":{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"bytedance-seed/seed-2.0-mini":{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"cohere/north-mini-code:free":{id:"cohere/north-mini-code:free",name:"Cohere: North Mini Code (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:64000},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.2574,output:1.0287,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16000},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.27,output:1.12,cacheRead:0.135,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.25,output:0.95,cacheRead:0.13,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16000},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.5,output:2.1500000000000004,cacheRead:0.35,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.27,output:1,cacheRead:0.135,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.26899999999999996,output:0.39999999999999997,cacheRead:0.13449999999999998,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek: DeepSeek V4 Flash 0423",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek/deepseek-v4-flash-0731":{id:"deepseek/deepseek-v4-flash-0731",name:"DeepSeek: DeepSeek V4 Flash 0731",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.08,output:0.18,cacheRead:0.016,cacheWrite:0},contextWindow:1048576,maxTokens:384000},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.63168,output:1.26336,cacheRead:0.053298,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite:batch":{id:"google/gemini-2.5-flash-lite:batch",name:"Google: Gemini 2.5 Flash Lite (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash:batch":{id:"google/gemini-2.5-flash:batch",name:"Google: Gemini 2.5 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:1.25,cacheRead:0.03,cacheWrite:0},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-pro:batch":{id:"google/gemini-2.5-pro:batch",name:"Google: Gemini 2.5 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.049999999999999996,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash-preview:batch":{id:"google/gemini-3-flash-preview:batch",name:"Google: Gemini 3 Flash Preview (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-pro-image":{id:"google/gemini-3-pro-image",name:"Google: Nano Banana Pro (Gemini 3 Pro Image)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:131072,maxTokens:32768},"google/gemini-3.1-flash-lite":{id:"google/gemini-3.1-flash-lite",name:"Google: Gemini 3.1 Flash Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.024999999999999998,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.024999999999999998,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite:batch":{id:"google/gemini-3.1-flash-lite:batch",name:"Google: Gemini 3.1 Flash Lite (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.125,output:0.75,cacheRead:0.012499999999999999,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview:batch":{id:"google/gemini-3.1-pro-preview:batch",name:"Google: Gemini 3.1 Pro Preview (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash":{id:"google/gemini-3.5-flash",name:"Google: Gemini 3.5 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash-lite":{id:"google/gemini-3.5-flash-lite",name:"Google: Gemini 3.5 Flash Lite",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash-lite:batch":{id:"google/gemini-3.5-flash-lite:batch",name:"Google: Gemini 3.5 Flash Lite (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:1.25,cacheRead:0.015,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.5-flash:batch":{id:"google/gemini-3.5-flash:batch",name:"Google: Gemini 3.5 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3.6-flash":{id:"google/gemini-3.6-flash",name:"Google: Gemini 3.6 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemini-3.6-flash:batch":{id:"google/gemini-3.6-flash:batch",name:"Google: Gemini 3.6 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:3.75,cacheRead:0.075,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Google: Gemma 3 12B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.049999999999999996,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.08,output:0.44999999999999996,cacheRead:0.04,cacheWrite:0},contextWindow:262144,maxTokens:131072},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google: Gemma 4 26B A4B ",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.12,output:0.39999999999999997,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:262144},"google/gemma-4-26b-a4b-it:free":{id:"google/gemma-4-26b-a4b-it:free",name:"Google: Gemma 4 26B A4B (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Google: Gemma 4 31B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.33999999999999997,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:262144},"google/gemma-4-31b-it:free":{id:"google/gemma-4-31b-it:free",name:"Google: Gemma 4 31B (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"ibm-granite/granite-4.1-8b":{id:"ibm-granite/granite-4.1-8b",name:"IBM: Granite 4.1 8B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.049999999999999996,output:0.09999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:131072},"inception/mercury-2":{id:"inception/mercury-2",name:"Inception: Mercury 2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:128000,maxTokens:50000},"inclusionai/ling-2.6-1t":{id:"inclusionai/ling-2.6-1t",name:"inclusionAI: Ling-2.6-1T",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.075,output:0.625,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-2.6-flash":{id:"inclusionai/ling-2.6-flash",name:"inclusionAI: Ling-2.6-flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.01,output:0.03,cacheRead:0.002,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-3.0-flash":{id:"inclusionai/ling-3.0-flash",name:"Ling-3.0-flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.020999999999999998,output:0.063,cacheRead:0.004200000000000001,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-3.0-tiny:free":{id:"inclusionai/ling-3.0-tiny:free",name:"inclusionAI: Ling 3.0 Tiny (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ring-2.6-1t":{id:"inclusionai/ring-2.6-1t",name:"inclusionAI: Ring-2.6-1T",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.625,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kwaipilot/kat-coder-air-v2.5":{id:"kwaipilot/kat-coder-air-v2.5",name:"Kwaipilot: KAT-Coder-Air V2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0.03,cacheWrite:0},contextWindow:256000,maxTokens:80000},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kwaipilot: KAT-Coder-Pro V2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:262144,maxTokens:80000},"kwaipilot/kat-coder-pro-v2.5":{id:"kwaipilot/kat-coder-pro-v2.5",name:"Kwaipilot: KAT-Coder-Pro V2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.74,output:2.96,cacheRead:0.15,cacheWrite:0},contextWindow:256000,maxTokens:80000},"meituan/longcat-2.0":{id:"meituan/longcat-2.0",name:"Meituan: LongCat 2.0",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.006,cacheWrite:0},contextWindow:1048756,maxTokens:262144},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.39999999999999997,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.049999999999999996,output:0.08,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:131072},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09999999999999999,output:0.32,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.696,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:1310720,maxTokens:16384},"meta/muse-glimmer-30b":{id:"meta/muse-glimmer-30b",name:"Meta: Muse Glimmer 30B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.35,output:1.5,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"meta/muse-spark-1.1":{id:"meta/muse-spark-1.1",name:"Meta: Muse Spark 1.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"meta/muse-spark-1.2":{id:"meta/muse-spark-1.2",name:"Meta: Muse Spark 1.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:40000},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.255,output:1.02,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.22,output:0.8999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax/minimax-m3":{id:"minimax/minimax-m3",name:"MiniMax: MiniMax M3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:1048576,maxTokens:512000},"minimax/minimax-m3:batch":{id:"minimax/minimax-m3:batch",name:"MiniMax: MiniMax M3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.03,cacheWrite:0},contextWindow:524288,maxTokens:4096},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0.03,cacheWrite:0},contextWindow:256000,maxTokens:4096},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.19999999999999998,cacheRead:0.02,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/ministral-3b-2512":{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.09999999999999999,cacheRead:0.01,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/ministral-8b-2512":{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:128000,maxTokens:4096},"mistralai/mistral-large-2407":{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:2,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-medium-3-5":{id:"mistralai/mistral-medium-3-5",name:"Mistral: Mistral Medium 3.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:2,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.019000000000000003,output:0.03,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"mistralai/mistral-saba":{id:"mistralai/mistral-saba",name:"Mistral: Saba",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.19999999999999998,output:0.6,cacheRead:0.02,cacheWrite:0},contextWindow:32768,maxTokens:4096},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral: Mistral Small 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09375,output:0.25,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:16384},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:65536,maxTokens:4096},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0.01,cacheWrite:0},contextWindow:32000,maxTokens:4096},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:100352},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:100352},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:100352},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.41,output:2.06,cacheRead:0.07,cacheWrite:0},contextWindow:262144,maxTokens:4096},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"MoonshotAI: Kimi K2.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5795,output:2.44,cacheRead:0.0976,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2.7-code":{id:"moonshotai/kimi-k2.7-code",name:"MoonshotAI: Kimi K2.7 Code",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.7,output:3.5,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2.7-code:batch":{id:"moonshotai/kimi-k2.7-code:batch",name:"MoonshotAI: Kimi K2.7 Code (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.475,output:2,cacheRead:0.095,cacheWrite:0},contextWindow:262144,maxTokens:4096},"moonshotai/kimi-k3":{id:"moonshotai/kimi-k3",name:"MoonshotAI: Kimi K3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"nex-agi/nex-n2-mini":{id:"nex-agi/nex-n2-mini",name:"Nex AGI: Nex-N2-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.024999999999999998,output:0.09999999999999999,cacheRead:0.0025,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nex-agi/nex-n2-pro":{id:"nex-agi/nex-n2-pro",name:"Nex AGI: Nex-N2-Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:228000},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"NVIDIA: Nemotron 3 Nano 30B A3B (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:4096},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"NVIDIA: Nemotron 3 Nano Omni (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:65536},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA: Nemotron 3 Super",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.08499999999999999,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nvidia/nemotron-3-ultra-550b-a55b":{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"NVIDIA: Nemotron 3 Ultra",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:3.5999999999999996,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:512288,maxTokens:4096},"nvidia/nemotron-3-ultra-550b-a55b:batch":{id:"nvidia/nemotron-3-ultra-550b-a55b:batch",name:"NVIDIA: Nemotron 3 Ultra (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.3,output:1.7999999999999998,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:512288,maxTokens:4096},"nvidia/nemotron-3-ultra-550b-a55b:free":{id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"NVIDIA: Nemotron 3 Ultra (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"nvidia/nemotron-3.5-lightning:free":{id:"nvidia/nemotron-3.5-lightning:free",name:"NVIDIA: Nemotron 3.5 Lightning (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"NVIDIA: Nemotron Nano 12B 2 VL (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"NVIDIA: Nemotron Nano 9B V2 (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:1,output:2,cacheRead:0,cacheWrite:0},contextWindow:4095,maxTokens:4096},"openai/gpt-3.5-turbo-16k":{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:3,output:4,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-3.5-turbo:batch":{id:"openai/gpt-3.5-turbo:batch",name:"OpenAI: GPT-3.5 Turbo (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.25,output:0.75,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8191,maxTokens:4096},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4-turbo-preview":{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4-turbo:batch":{id:"openai/gpt-4-turbo:batch",name:"OpenAI: GPT-4 Turbo (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini:batch":{id:"openai/gpt-4.1-mini:batch",name:"OpenAI: GPT-4.1 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.7999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano:batch":{id:"openai/gpt-4.1-nano:batch",name:"OpenAI: GPT-4.1 Nano (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0.012499999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1:batch":{id:"openai/gpt-4.1:batch",name:"OpenAI: GPT-4.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:1,output:4,cacheRead:0.25,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini-2024-07-18":{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini:batch":{id:"openai/gpt-4o-mini:batch",name:"OpenAI: GPT-4o-mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.075,output:0.3,cacheRead:0.0375,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o:batch":{id:"openai/gpt-4o:batch",name:"OpenAI: GPT-4o (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:1.25,output:5,cacheRead:0.625,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-codex:batch":{id:"openai/gpt-5-codex:batch",name:"OpenAI: GPT-5 Codex (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.0625,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-mini:batch":{id:"openai/gpt-5-mini:batch",name:"OpenAI: GPT-5 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.125,output:1,cacheRead:0.012499999999999999,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.049999999999999996,output:0.39999999999999997,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-nano:batch":{id:"openai/gpt-5-nano:batch",name:"OpenAI: GPT-5 Nano (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.024999999999999998,output:0.19999999999999998,cacheRead:0.0025,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-pro:batch":{id:"openai/gpt-5-pro:batch",name:"OpenAI: GPT-5 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:7.5,output:60,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1:batch":{id:"openai/gpt-5.1:batch",name:"OpenAI: GPT-5.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.0625,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:128000,maxTokens:32000},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-pro:batch":{id:"openai/gpt-5.2-pro:batch",name:"OpenAI: GPT-5.2 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10.5,output:84,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2:batch":{id:"openai/gpt-5.2:batch",name:"OpenAI: GPT-5.2 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.875,output:7,cacheRead:0.0875,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"OpenAI: GPT-5.4 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-mini:batch":{id:"openai/gpt-5.4-mini:batch",name:"OpenAI: GPT-5.4 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.375,output:2.25,cacheRead:0.0375,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"OpenAI: GPT-5.4 Nano",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-nano:batch":{id:"openai/gpt-5.4-nano:batch",name:"OpenAI: GPT-5.4 Nano (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.625,cacheRead:0.01,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4-pro:batch":{id:"openai/gpt-5.4-pro:batch",name:"OpenAI: GPT-5.4 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:90,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4:batch":{id:"openai/gpt-5.4:batch",name:"OpenAI: GPT-5.4 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:7.5,cacheRead:0.125,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"OpenAI: GPT-5.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"OpenAI: GPT-5.5 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5-pro:batch":{id:"openai/gpt-5.5-pro:batch",name:"OpenAI: GPT-5.5 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:90,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5:batch":{id:"openai/gpt-5.5:batch",name:"OpenAI: GPT-5.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna":{id:"openai/gpt-5.6-luna",name:"OpenAI: GPT-5.6 Luna",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0.125},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna-pro":{id:"openai/gpt-5.6-luna-pro",name:"OpenAI: GPT-5.6 Luna Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0.125},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna-pro:batch":{id:"openai/gpt-5.6-luna-pro:batch",name:"OpenAI: GPT-5.6 Luna Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-luna:batch":{id:"openai/gpt-5.6-luna:batch",name:"OpenAI: GPT-5.6 Luna (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.6,cacheRead:0.01,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol":{id:"openai/gpt-5.6-sol",name:"OpenAI: GPT-5.6 Sol",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol-pro":{id:"openai/gpt-5.6-sol-pro",name:"OpenAI: GPT-5.6 Sol Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol-pro:batch":{id:"openai/gpt-5.6-sol-pro:batch",name:"OpenAI: GPT-5.6 Sol Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol:batch":{id:"openai/gpt-5.6-sol:batch",name:"OpenAI: GPT-5.6 Sol (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra":{id:"openai/gpt-5.6-terra",name:"OpenAI: GPT-5.6 Terra",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra-pro":{id:"openai/gpt-5.6-terra-pro",name:"OpenAI: GPT-5.6 Terra Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra-pro:batch":{id:"openai/gpt-5.6-terra-pro:batch",name:"OpenAI: GPT-5.6 Terra Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra:batch":{id:"openai/gpt-5.6-terra:batch",name:"OpenAI: GPT-5.6 Terra (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:6,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5:batch":{id:"openai/gpt-5:batch",name:"OpenAI: GPT-5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.625,output:5,cacheRead:0.0625,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-audio":{id:"openai/gpt-audio",name:"OpenAI: GPT Audio",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-audio-mini":{id:"openai/gpt-audio-mini",name:"OpenAI: GPT Audio Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-chat-latest":{id:"openai/gpt-chat-latest",name:"OpenAI: GPT Chat Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.037,output:0.16999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.03,output:0.13,cacheRead:0.03,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"OpenAI: gpt-oss-20b (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0.0375,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o1:batch":{id:"openai/o1:batch",name:"OpenAI: o1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:7.5,output:30,cacheRead:3.75,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini-high:batch":{id:"openai/o3-mini-high:batch",name:"OpenAI: o3 Mini High (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini:batch":{id:"openai/o3-mini:batch",name:"OpenAI: o3 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.55,output:2.2,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: o3 Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-pro:batch":{id:"openai/o3-pro:batch",name:"OpenAI: o3 Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:40,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3:batch":{id:"openai/o3:batch",name:"OpenAI: o3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:4,cacheRead:0.25,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini":{id:"openai/o4-mini",name:"OpenAI: o4 Mini",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini-high":{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini-high:batch":{id:"openai/o4-mini-high:batch",name:"OpenAI: o4 Mini High (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.55,output:2.2,cacheRead:0.1375,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini:batch":{id:"openai/o4-mini:batch",name:"OpenAI: o4 Mini (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.55,output:2.2,cacheRead:0.1375,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openrouter/auto":{id:"openrouter/auto",name:"Auto Router",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0},contextWindow:2000000,maxTokens:4096},"openrouter/auto-beta":{id:"openrouter/auto-beta",name:"Auto Router (Beta)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0},contextWindow:2000000,maxTokens:4096},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:4096},"poolside/laguna-s-2.1":{id:"poolside/laguna-s-2.1",name:"Poolside: Laguna S 2.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.09,output:0.18,cacheRead:0.009,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"poolside/laguna-s-2.1:free":{id:"poolside/laguna-s-2.1:free",name:"Poolside: Laguna S 2.1 (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"poolside/laguna-xs-2.1":{id:"poolside/laguna-xs-2.1",name:"Poolside: Laguna XS 2.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.06,output:0.12,cacheRead:0.03,cacheWrite:0},contextWindow:262144,maxTokens:32768},"poolside/laguna-xs-2.1:free":{id:"poolside/laguna-xs-2.1:free",name:"Poolside: Laguna XS 2.1 (free)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.36,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:16384},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09999999999999999,output:0.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.26,output:0.78,cacheRead:0.052000000000000005,cacheWrite:0.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28":{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28:thinking":{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.39999999999999997,output:1.2,cacheRead:0,cacheWrite:0.5},contextWindow:1e6,maxTokens:32768},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.12,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.45499999999999996,output:1.8199999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09,output:0.55,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.22999999999999998,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.12,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.04815,output:0.19305,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32000},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:81920,maxTokens:32768},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.08,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.117,output:0.45499999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.3,output:1,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.07,output:0.28,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.195,output:0.975,cacheRead:0.039,cacheWrite:0.24375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.12,output:0.7999999999999999,cacheRead:0.07,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.65,output:3.25,cacheRead:0.13,cacheWrite:0.8125},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.78,output:3.9,cacheRead:0.156,cacheWrite:0.975},contextWindow:262144,maxTokens:65536},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.78,output:3.9,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.21,output:1.9,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.10400000000000001,output:0.41600000000000004,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.117,output:0.45499999999999996,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.18,output:2.0999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3.5-122b-a10b":{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.29,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.5-27b":{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-35b-a3b":{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.14,output:1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3.5999999999999996,cacheRead:0.3,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.5-9b":{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.065,output:0.26,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.26,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-20260420":{id:"qwen/qwen3.5-plus-20260420",name:"Qwen: Qwen3.5 Plus 2026-04-20",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.7999999999999998,cacheRead:0,cacheWrite:0.375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen: Qwen3.6 27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3.5999999999999996,cacheRead:0.12,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.6-35b-a3b":{id:"qwen/qwen3.6-35b-a3b",name:"Qwen: Qwen3.6 35B A3B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.15,output:1,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.6-flash":{id:"qwen/qwen3.6-flash",name:"Qwen: Qwen3.6 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.1875,output:1.125,cacheRead:0,cacheWrite:0.234375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-max-preview":{id:"qwen/qwen3.6-max-preview",name:"Qwen: Qwen3.6 Max Preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.0270000000000001,output:6.162,cacheRead:0,cacheWrite:1.28375},contextWindow:262144,maxTokens:65536},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen: Qwen3.6 Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.325,output:1.95,cacheRead:0,cacheWrite:0.40625},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.7-flash":{id:"qwen/qwen3.7-flash",name:"Qwen: Qwen3.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.03,output:0.13,cacheRead:0.006,cacheWrite:0.038000000000000006},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.7-max":{id:"qwen/qwen3.7-max",name:"Qwen: Qwen3.7 Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.475,output:4.425,cacheRead:0.295,cacheWrite:1.84375},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.7-plus":{id:"qwen/qwen3.7-plus",name:"Qwen: Qwen3.7 Plus",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.32,output:1.28,cacheRead:0.064,cacheWrite:0.39999999999999997},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-max":{id:"qwen/qwen3.8-max",name:"Qwen: Qwen3.8 Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:131072},"rekaai/reka-edge":{id:"rekaai/reka-edge",name:"Reka Edge",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"relace/relace-search":{id:"relace/relace-search",name:"Relace: Relace Search",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:128000},"sakana/fugu-ultra":{id:"sakana/fugu-ultra",name:"Sakana: Fugu Ultra",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"sakana/sakana-namazu":{id:"sakana/sakana-namazu",name:"Sakana: Sakana Namazu",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.15,cacheWrite:0},contextWindow:262144,maxTokens:65536},"sao10k/l3.1-euryale-70b":{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.85,output:0.85,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"stepfun/step-3.7-flash":{id:"stepfun/step-3.7-flash",name:"StepFun: Step 3.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.15,cacheRead:0.04,cacheWrite:0},contextWindow:262144,maxTokens:256000},"tencent/hy3":{id:"tencent/hy3",name:"Tencent: Hy3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.13199999999999998,output:0.5279999999999999,cacheRead:0.032999999999999995,cacheWrite:0},contextWindow:262144,maxTokens:128000},"tencent/hy3-preview":{id:"tencent/hy3-preview",name:"Tencent: Hy3 preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.063,output:0.21,cacheRead:0.020999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:4096},"thedrummer/unslopnemo-12b":{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:0.39999999999999997,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:1024000,maxTokens:1024000},"thinkingmachines/inkling":{id:"thinkingmachines/inkling",name:"Thinking Machines: Inkling",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4.05,cacheRead:0.16,cacheWrite:0},contextWindow:1048576,maxTokens:262144},"thinkingmachines/inkling-small":{id:"thinkingmachines/inkling-small",name:"Thinking Machines: Inkling Small",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.44999999999999996,output:1.2,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:524288,maxTokens:262144},"thinkingmachines/inkling:batch":{id:"thinkingmachines/inkling:batch",name:"Thinking Machines: Inkling (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.5,output:2.025,cacheRead:0.08499999999999999,cacheWrite:0},contextWindow:524288,maxTokens:4096},"upstage/solar-pro-3":{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},contextWindow:131072,maxTokens:131072},"upstage/solar-pro4":{id:"upstage/solar-pro4",name:"Upstage: Solar Pro 4",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.03,output:0.12,cacheRead:0.006,cacheWrite:0},contextWindow:524288,maxTokens:131072},"x-ai/grok-4.20":{id:"x-ai/grok-4.20",name:"SpaceXAI: Grok 4.20",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:4096},"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"SpaceXAI: Grok 4.3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:4096},"x-ai/grok-4.5":{id:"x-ai/grok-4.5",name:"SpaceXAI: Grok 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:4096},"x-ai/grok-build-0.1":{id:"x-ai/grok-build-0.1",name:"SpaceXAI: Grok Build 0.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:256000,maxTokens:4096},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},contextWindow:1050000,maxTokens:131072},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo-V2.5-Pro",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.0036,cacheWrite:0},contextWindow:1050000,maxTokens:131072},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.13,output:0.85,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.6,output:1.7999999999999998,cacheRead:0.11,cacheWrite:0},contextWindow:65536,maxTokens:16384},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.5,output:2,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0.055,cacheWrite:0},contextWindow:131072,maxTokens:32768},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.39999999999999997,output:1.75,cacheRead:0.08,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.06,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0},contextWindow:202752,maxTokens:16384},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.6,output:1.9,cacheRead:0.119,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"Z.ai: GLM 5 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.952,output:2.992,cacheRead:0.17679999999999998,cacheWrite:0},contextWindow:204800,maxTokens:131072},"z-ai/glm-5.2":{id:"z-ai/glm-5.2",name:"Z.ai: GLM 5.2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.4886,output:1.5355999999999999,cacheRead:0.09074,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"z-ai/glm-5.2:batch":{id:"z-ai/glm-5.2:batch",name:"Z.ai: GLM 5.2 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.7,output:2.2,cacheRead:0.13,cacheWrite:0},contextWindow:512000,maxTokens:4096},"z-ai/glm-5v-turbo":{id:"z-ai/glm-5v-turbo",name:"Z.ai: GLM 5V Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"~anthropic/claude-fable-latest":{id:"~anthropic/claude-fable-latest",name:"Anthropic: Claude Fable Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"~anthropic/claude-haiku-latest":{id:"~anthropic/claude-haiku-latest",name:"Anthropic Claude Haiku Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"~anthropic/claude-opus-latest":{id:"~anthropic/claude-opus-latest",name:"Anthropic: Claude Opus Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"~anthropic/claude-sonnet-latest":{id:"~anthropic/claude-sonnet-latest",name:"Anthropic Claude Sonnet Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"~deepseek/deepseek-v4-flash-latest":{id:"~deepseek/deepseek-v4-flash-latest",name:"DeepSeek V4 Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0.0798,output:0.1596,cacheRead:0.01596,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"~google/gemini-flash-latest":{id:"~google/gemini-flash-latest",name:"Google Gemini Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0.0833333333333333},contextWindow:1048576,maxTokens:65536},"~google/gemini-pro-latest":{id:"~google/gemini-pro-latest",name:"Google Gemini Pro Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0.375},contextWindow:1048576,maxTokens:65536},"~moonshotai/kimi-latest":{id:"~moonshotai/kimi-latest",name:"MoonshotAI Kimi Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.8,output:14,cacheRead:0.29,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"~openai/gpt-latest":{id:"~openai/gpt-latest",name:"OpenAI GPT Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"~openai/gpt-mini-latest":{id:"~openai/gpt-mini-latest",name:"OpenAI GPT Mini Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"~x-ai/grok-latest":{id:"~x-ai/grok-latest",name:"xAI: Grok Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:4096}},"vercel-ai-gateway":{"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.12,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.12,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3 32B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.16,output:0.64,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"alibaba/qwen-3.6-max-preview":{id:"alibaba/qwen-3.6-max-preview",name:"Qwen 3.6 Max Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.3,output:7.8,cacheRead:0.26,cacheWrite:1.625},contextWindow:240000,maxTokens:64000},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1.5,output:7.5,cacheRead:0.3,cacheWrite:0},contextWindow:262144,maxTokens:65536},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1,output:5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},contextWindow:256000,maxTokens:65536},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-vl-235b-a22b-instruct":{id:"alibaba/qwen3-vl-235b-a22b-instruct",name:"Qwen3 VL 235B A22B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:129024},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL 235B A22B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:129024},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL 235B A22B Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.001,cacheWrite:0.125},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:2.4,cacheRead:0.04,cacheWrite:0.5},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.6-27b":{id:"alibaba/qwen3.6-27b",name:"Qwen 3.6 27B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"alibaba/qwen3.6-plus":{id:"alibaba/qwen3.6-plus",name:"Qwen 3.6 Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.09999999999999999,cacheWrite:0.625},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.7-flash":{id:"alibaba/qwen3.7-flash",name:"Qwen 3.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.03,output:0.13,cacheRead:0.006,cacheWrite:0.038000000000000006},contextWindow:991000,maxTokens:64000},"alibaba/qwen3.7-max":{id:"alibaba/qwen3.7-max",name:"Qwen 3.7 Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:0.5,cacheWrite:3.125},contextWindow:991000,maxTokens:64000},"alibaba/qwen3.7-plus":{id:"alibaba/qwen3.7-plus",name:"Qwen 3.7 Plus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0.08,cacheWrite:0.5},contextWindow:1e6,maxTokens:64000},"alibaba/qwen3.8-max":{id:"alibaba/qwen3.8-max",name:"Qwen 3.8 Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"amazon/nova-2-lite":{id:"amazon/nova-2-lite",name:"Nova 2 Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:8192},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:300000,maxTokens:8192},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},contextWindow:200000,maxTokens:4096},"anthropic/claude-fable-5":{id:"anthropic/claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:0.09999999999999999,cacheWrite:1.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:200000,maxTokens:8192},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:200000,maxTokens:64000},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8":{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-4.8-fast":{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5":{id:"anthropic/claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128000},"anthropic/claude-opus-5-fast":{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:8192},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64000},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128000},"anthropic/claude-sonnet-5":{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128000},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.25,output:0.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262100,maxTokens:80000},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Trinity Mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.045,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:256000,maxTokens:32000},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Bytedance Seed 1.8",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:256000,maxTokens:64000},"cohere/command-a":{id:"cohere/command-a",name:"Command A",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:8000},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.27,output:1.12,cacheRead:0.135,cacheWrite:0},contextWindow:163840,maxTokens:163840},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek V3.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.25,output:0.95,cacheRead:0.13,cacheWrite:0},contextWindow:163840,maxTokens:128000},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.27,output:1,cacheRead:0.135,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},contextWindow:128000,maxTokens:8000},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8000},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:0.39999999999999997,cacheRead:0.04,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek/deepseek-v4-flash-0731":{id:"deepseek/deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:0.39999999999999997,cacheRead:0.04,cacheWrite:0},contextWindow:1e6,maxTokens:384000},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.74,output:3.48,cacheRead:0.14,cacheWrite:0},contextWindow:1048600,maxTokens:1048600},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:3,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"google/gemini-3.1-flash-lite":{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:1.5,cacheRead:0.03,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"google/gemini-3.5-flash":{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:0.15,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"google/gemini-3.5-flash-lite":{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"google/gemini-3.6-flash":{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0.15,cacheWrite:0},contextWindow:1e6,maxTokens:64000},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google Gemma 4 26B A4B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},contextWindow:262144,maxTokens:131072},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:131072},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:128000,maxTokens:128000},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:16384},"inclusionai/ling-3.0-flash":{id:"inclusionai/ling-3.0-flash",name:"Ling 3.0 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.06,output:0.18,cacheRead:0.012,cacheWrite:0},contextWindow:256000,maxTokens:32000},"inclusionai/ling-3.0-tiny-free":{id:"inclusionai/ling-3.0-tiny-free",name:"Ling 3.0 Tiny (Free)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32000},"interfaze/interfaze-beta":{id:"interfaze/interfaze-beta",name:"Interfaze Beta",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:3.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:32000},"kwaipilot/kat-coder-air-v2.5":{id:"kwaipilot/kat-coder-air-v2.5",name:"Kat Coder Air V2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.03,cacheWrite:0},contextWindow:256000,maxTokens:80000},"kwaipilot/kat-coder-pro-v1":{id:"kwaipilot/kat-coder-pro-v1",name:"KAT-Coder-Pro V1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:256000,maxTokens:32000},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kat Coder Pro V2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:256000,maxTokens:256000},"kwaipilot/kat-coder-pro-v2.5":{id:"kwaipilot/kat-coder-pro-v2.5",name:"Kat Coder Pro V2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.74,output:2.96,cacheRead:0.15,cacheWrite:0},contextWindow:256000,maxTokens:80000},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama 3.3 70B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama 4 Maverick 17B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.24,output:0.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama 4 Scout 17B Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.16999999999999998,output:0.66,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:8192},"meta/muse-glimmer-30b":{id:"meta/muse-glimmer-30b",name:"Muse Glimmer 30B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.35,output:1.5,cacheRead:0.04,cacheWrite:0},contextWindow:131072,maxTokens:131072},"meta/muse-spark-1.1":{id:"meta/muse-spark-1.1",name:"Muse Spark 1.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.2":{id:"meta/muse-spark-1.2",name:"Muse Spark 1.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:0.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.2-contributor":{id:"meta/muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09999999999999999,output:0.19999999999999998,cacheRead:0.002,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},contextWindow:205000,maxTokens:205000},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131000},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},contextWindow:204800,maxTokens:131000},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131000},"minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},contextWindow:204800,maxTokens:131100},"minimax/minimax-m3":{id:"minimax/minimax-m3",name:"MiniMax M3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"mistral/codestral":{id:"mistral/codestral",name:"Mistral Codestral",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium 2509",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:64000},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small 2509",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:64000},"mistral/ministral-14b":{id:"mistral/ministral-14b",name:"Ministral 14B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"mistral/mistral-large-3":{id:"mistral/mistral-large-3",name:"Mistral Large 3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:64000},"mistral/mistral-medium-3.5":{id:"mistral/mistral-medium-3.5",name:"Mistral Medium Latest",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:256000},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo 12B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:128000},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.3,cacheRead:0,cacheWrite:0},contextWindow:32000,maxTokens:4000},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B 2409",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4000},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2 Instruct",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.47,output:2,cacheRead:0.14100000000000001,cacheWrite:0},contextWindow:216144,maxTokens:216144},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.6,output:3,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},contextWindow:262000,maxTokens:262000},"moonshotai/kimi-k2.7-code":{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.19,cacheWrite:0},contextWindow:256000,maxTokens:32768},"moonshotai/kimi-k2.7-code-highspeed":{id:"moonshotai/kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code High Speed",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.9,output:8,cacheRead:0.38,cacheWrite:0},contextWindow:262144,maxTokens:32768},"moonshotai/kimi-k3":{id:"moonshotai/kimi-k3",name:"Kimi K3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"moonshotai/kimi-k3-fast":{id:"moonshotai/kimi-k3-fast",name:"Kimi K3 Fast",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:4.5,output:22.5,cacheRead:0.44999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"Nemotron 3 Nano 30B A3B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.049999999999999996,output:0.24,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA Nemotron 3 Super 120B A12B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32000},"nvidia/nemotron-3-ultra-550b-a55b":{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.4,cacheRead:0.12,cacheWrite:0},contextWindow:1e6,maxTokens:65000},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:0.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.06,output:0.22999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"GPT-3.5 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text"],cost:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.39999999999999997,output:1.5999999999999999,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.09999999999999999,output:0.39999999999999997,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},contextWindow:128000,maxTokens:16384},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.024999999999999998,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 nano",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.049999999999999996,output:0.39999999999999997,cacheRead:0.005,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:272000},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT 5.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT 5.2 Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},contextWindow:400000,maxTokens:128000},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT 5.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT 5.5 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"openai/gpt-5.6-luna":{id:"openai/gpt-5.6-luna",name:"GPT 5.6 Luna",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.2,cacheRead:0.02,cacheWrite:0.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-sol":{id:"openai/gpt-5.6-sol",name:"GPT 5.6 Sol",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:6.25},contextWindow:1050000,maxTokens:128000},"openai/gpt-5.6-terra":{id:"openai/gpt-5.6-terra",name:"GPT 5.6 Terra",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:0.19999999999999998,cacheWrite:2.5},contextWindow:1050000,maxTokens:128000},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.09999999999999999,output:0.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.049999999999999996,output:0.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:"openai/o1",name:"o1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3":{id:"openai/o3",name:"o3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:0.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},contextWindow:200000,maxTokens:1e5},"poolside/laguna-s-2.1":{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.09999999999999999,output:0.19999999999999998,cacheRead:0.01,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"poolside/laguna-s-2.1-free":{id:"poolside/laguna-s-2.1-free",name:"Laguna S 2.1 Free",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256000,maxTokens:32768},"sakana/fugu-ultra":{id:"sakana/fugu-ultra",name:"Fugu Ultra",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0.5,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"sakana/namazu":{id:"sakana/namazu",name:"Sakana Namazu",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.15,cacheWrite:0},contextWindow:256000,maxTokens:256000},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun 3.5 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.09,output:0.3,cacheRead:0.02,cacheWrite:0},contextWindow:262114,maxTokens:262114},"stepfun/step-3.7-flash":{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:1.15,cacheRead:0.04,cacheWrite:0},contextWindow:256000,maxTokens:256000},"tencent/hy3":{id:"tencent/hy3",name:"Hy3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.14,output:0.58,cacheRead:0.035,cacheWrite:0},contextWindow:262144,maxTokens:262144},"thinkingmachines/inkling":{id:"thinkingmachines/inkling",name:"Inkling",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1,output:4.05,cacheRead:0.16999999999999998,cacheWrite:0},contextWindow:256000,maxTokens:256000},"thinkingmachines/inkling-small":{id:"thinkingmachines/inkling-small",name:"Inkling Small",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.5,output:1.2,cacheRead:0.09999999999999999,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:0.19999999999999998,output:0.5,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.19999999999999998,output:0.5,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:2000000,maxTokens:2000000},"xai/grok-4.3":{id:"xai/grok-4.3",name:"Grok 4.3",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.5":{id:"xai/grok-4.5",name:"Grok 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:500000},"xai/grok-build-0.1":{id:"xai/grok-build-0.1",name:"Grok Build 0.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.19999999999999998,cacheWrite:0},contextWindow:256000,maxTokens:256000},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"MiMo M2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},contextWindow:1050000,maxTokens:131100},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.0036,cacheWrite:0},contextWindow:1050000,maxTokens:131000},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:128000,maxTokens:96000},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.19999999999999998,output:1.1,cacheRead:0.03,cacheWrite:0},contextWindow:128000,maxTokens:96000},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.6,output:1.7999999999999998,cacheRead:0.11,cacheWrite:0},contextWindow:66000,maxTokens:16000},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},contextWindow:200000,maxTokens:96000},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0.3,output:0.8999999999999999,cacheRead:0.049999999999999996,cacheWrite:0},contextWindow:128000,maxTokens:24000},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:24000},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.6,output:2.2,cacheRead:0.12,cacheWrite:0},contextWindow:200000,maxTokens:120000},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:131000},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:0.06,output:0.39999999999999997,cacheRead:0.01,cacheWrite:0},contextWindow:200000,maxTokens:128000},"zai/glm-5":{id:"zai/glm-5",name:"GLM 5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5.1":{id:"zai/glm-5.1",name:"GLM 5.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},contextWindow:202800,maxTokens:64000},"zai/glm-5.2":{id:"zai/glm-5.2",name:"GLM 5.2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:1.1,output:3.851,cacheRead:0.275,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"zai/glm-5.2-fast":{id:"zai/glm-5.2-fast",name:"GLM 5.2 Fast",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:2.0999999999999996,output:6.6000000000000005,cacheRead:0.21,cacheWrite:0},contextWindow:1e6,maxTokens:128000},"zai/glm-5v-turbo":{id:"zai/glm-5v-turbo",name:"GLM 5V Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},contextWindow:200000,maxTokens:128000}},xai:{"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!1,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:30000},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:30000},"grok-4.3":{id:"grok-4.3",name:"Grok 4.3",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},contextWindow:1e6,maxTokens:30000},"grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:0.3,cacheWrite:0},contextWindow:500000,maxTokens:500000},"grok-build-0.1":{id:"grok-build-0.1",name:"Grok Build 0.1",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:0.2,cacheWrite:0},contextWindow:256000,maxTokens:256000},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!1,input:["text"],cost:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},contextWindow:32768,maxTokens:8192}},zai:{"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:200000,maxTokens:131072},"glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.2-highspeed":{id:"glm-5.2-highspeed",name:"GLM-5.2 Highspeed",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",compat:{supportsDeveloperRole:!1,thinkingFormat:"zai",zaiToolStream:!0},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072}}}});function Tf6(A,Q){return sE1.get(A)?.get(Q)}function UB1(){return Array.from(sE1.keys())}function Vm(A){let Q=sE1.get(A);return Q?Array.from(Q.values()):[]}function HW(A,Q){return Q.cost.input=A.cost.input/1e6*Q.input,Q.cost.output=A.cost.output/1e6*Q.output,Q.cost.cacheRead=A.cost.cacheRead/1e6*Q.cacheRead,Q.cost.cacheWrite=A.cost.cacheWrite/1e6*Q.cacheWrite,Q.cost.total=Q.cost.input+Q.cost.output+Q.cost.cacheRead+Q.cost.cacheWrite,Q.cost}function OX(A){if(A.id.includes("gpt-5.2")||A.id.includes("gpt-5.3")||A.id.includes("gpt-5.4"))return!0;if(A.id.includes("opus-4-6")||A.id.includes("opus-4.6"))return!0;return!1}function fQ(A,Q){if(!A||!Q)return!1;return A.id===Q.id&&A.provider===Q.provider}var sE1;var GK=C(()=>{VKA();sE1=new Map;for(let[A,Q]of Object.entries(HKA)){let B=new Map;for(let[J,$]of Object.entries(Q))B.set(J,$);sE1.set(A,B)}});function Nk(A){return A.systemPromptTokens+A.chatHistoryTokens+A.currentMessageTokens+A.toolDefinitionsTokens+A.toolResultTokens+A.assistantResponseTokens}function wV(A){if(!A||typeof A!=="object")return!1;let Q=A,B=[Q.systemPromptTokens,Q.chatHistoryTokens,Q.currentMessageTokens,Q.toolDefinitionsTokens,Q.toolResultTokens,Q.assistantResponseTokens];if(!Number.isSafeInteger(Q.maxContextTokens)||Q.maxContextTokens<=0||B.some((J)=>!Number.isSafeInteger(J)||J<0))return!1;return Number.isSafeInteger(Nk(Q))}function VB(A){if(A==="stop"||A==="length"||A==="toolUse")return A;throw Error(`Unexpected stop reason for done event: ${A}`)}function U80(){return new C7}var wm,C7;var fU=C(()=>{wm=class wm{isComplete;extractResult;queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;constructor(A,Q){this.isComplete=A;this.extractResult=Q;this.finalResultPromise=new Promise((B)=>{this.resolveFinalResult=B})}push(A){if(this.done)return;if(this.isComplete(A))this.done=!0,this.resolveFinalResult(this.extractResult(A));let Q=this.waiting.shift();if(Q)Q({value:A,done:!1});else this.queue.push(A)}end(A){if(this.done=!0,A!==void 0)this.resolveFinalResult(A);while(this.waiting.length>0)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){while(!0)if(this.queue.length>0)yield this.queue.shift();else if(this.done)return;else{let A=await new Promise((Q)=>this.waiting.push(Q));if(A.done)return;yield A.value}}result(){return this.finalResultPromise}};C7=class C7 extends wm{constructor(){super((A)=>A.type==="done"||A.type==="error",(A)=>{if(A.type==="done")return A.message;else if(A.type==="error")return A.error;throw Error("Unexpected event type for final result")})}}});function OKA(A){return{type:"text",text:A}}function bf6(A){return{type:"thinking",thinking:A}}function xf6(A,Q,B={}){return{type:"toolCall",id:B.id??H80("tool"),name:A,arguments:Q}}function vf6(A){if(typeof A==="string")return[OKA(A)];return Array.isArray(A)?A:[A]}function yf6(A,Q={}){return{role:"assistant",content:vf6(A),api:FKA,provider:MKA,model:NKA,usage:V80,stopReason:Q.stopReason??"stop",errorMessage:Q.errorMessage,responseId:Q.responseId,requestId:Q.requestId,timestamp:Q.timestamp??Date.now()}}function KB1(A){return Math.ceil(A.length/4)}function H80(A){return`${A}:${Date.now()}:${Math.random().toString(36).slice(2)}`}function qKA(A){if(typeof A==="string")return A;return A.map((Q)=>{if(Q.type==="text")return Q.text;return`[image:${Q.mimeType}:${Q.data.length}]`}).join(`
|
|
3
3
|
`)}function LKA(A){return A.map((Q)=>{if(Q.type==="text")return Q.text;if(Q.type==="thinking")return Q.thinking;return`${Q.name}:${JSON.stringify(Q.arguments)}`}).join(`
|
|
4
4
|
`)}function ff6(A){return[A.toolName,...A.content.map((Q)=>qKA([Q]))].join(`
|
|
5
5
|
`)}function gf6(A){if(A.role==="user")return qKA(A.content);if(A.role==="assistant")return LKA(A.content);return ff6(A)}function hf6(A){let Q=[];if(A.systemPrompt)Q.push(`system:${A.systemPrompt}`);for(let B of A.messages)Q.push(`${B.role}:${gf6(B)}`);if(A.tools?.length)Q.push(`tools:${JSON.stringify(A.tools)}`);return Q.join(`
|
|
@@ -629,7 +629,7 @@ GFS4: `),console.error(A)};if(!pJ[mZ]){if(gT0=global[mZ]||[],dC2(pJ,gT0),pJ.clos
|
|
|
629
629
|
`)return`
|
|
630
630
|
`}return A&&A.eol||`
|
|
631
631
|
`}function xU1(A,Q){return`\r
|
|
632
|
-
`.indexOf(A.charAt(Q))!==-1}var JP0=C(()=>{dg1();UI2()});function zI2(A,Q=[],B=vU1.DEFAULT){let J=null,$=[],Y=[];function X(Z){if(Array.isArray($))$.push(Z);else if(J!==null)$[J]=Z}return lg1(A,{onObjectBegin:()=>{let Z={};X(Z),Y.push($),$=Z,J=null},onObjectProperty:(Z)=>{J=Z},onObjectEnd:()=>{$=Y.pop()},onArrayBegin:()=>{let Z=[];X(Z),Y.push($),$=Z,J=null},onArrayEnd:()=>{$=Y.pop()},onLiteralValue:X,onError:(Z,G,U)=>{Q.push({error:Z,offset:G,length:U})}},B),$[0]}function $P0(A,Q=[],B=vU1.DEFAULT){let J={type:"array",offset:-1,length:-1,children:[],parent:void 0};function $(Z){if(J.type==="property")J.length=Z-J.offset,J=J.parent}function Y(Z){return J.children.push(Z),Z}lg1(A,{onObjectBegin:(Z)=>{J=Y({type:"object",offset:Z,length:-1,parent:J,children:[]})},onObjectProperty:(Z,G,U)=>{J=Y({type:"property",offset:G,length:-1,parent:J,children:[]}),J.children.push({type:"string",value:Z,offset:G,length:U,parent:J})},onObjectEnd:(Z,G)=>{$(Z+G),J.length=Z+G-J.offset,J=J.parent,$(Z+G)},onArrayBegin:(Z,G)=>{J=Y({type:"array",offset:Z,length:-1,parent:J,children:[]})},onArrayEnd:(Z,G)=>{J.length=Z+G-J.offset,J=J.parent,$(Z+G)},onLiteralValue:(Z,G,U)=>{Y({type:$S5(Z),offset:G,length:U,parent:J,value:Z}),$(G+U)},onSeparator:(Z,G,U)=>{if(J.type==="property"){if(Z===":")J.colonOffset=G;else if(Z===",")$(G)}},onError:(Z,G,U)=>{Q.push({error:Z,offset:G,length:U})}},B);let W=J.children[0];if(W)delete W.parent;return W}function cg1(A,Q){if(!A)return;let B=A;for(let J of Q)if(typeof J==="string"){if(B.type!=="object"||!Array.isArray(B.children))return;let $=!1;for(let Y of B.children)if(Array.isArray(Y.children)&&Y.children[0].value===J&&Y.children.length===2){B=Y.children[1],$=!0;break}if(!$)return}else{let $=J;if(B.type!=="array"||$<0||!Array.isArray(B.children)||$>=B.children.length)return;B=B.children[$]}return B}function lg1(A,Q,B=vU1.DEFAULT){let J=bU1(A,!1),$=[],Y=0;function X(g){return g?()=>Y===0&&g(J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter()):()=>!0}function W(g){return g?(a)=>Y===0&&g(a,J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter()):()=>!0}function Z(g){return g?(a)=>Y===0&&g(a,J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter(),()=>$.slice()):()=>!0}function G(g){return g?()=>{if(Y>0)Y++;else if(g(J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter(),()=>$.slice())===!1)Y=1}:()=>!0}function U(g){return g?()=>{if(Y>0)Y--;if(Y===0)g(J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter())}:()=>!0}let z=G(Q.onObjectBegin),K=Z(Q.onObjectProperty),H=U(Q.onObjectEnd),V=G(Q.onArrayBegin),w=U(Q.onArrayEnd),D=Z(Q.onLiteralValue),_=W(Q.onSeparator),F=X(Q.onComment),M=W(Q.onError),N=B&&B.disallowComments,O=B&&B.allowTrailingComma;function L(){while(!0){let g=J.scan();switch(J.getTokenError()){case 4:q(14);break;case 5:q(15);break;case 3:q(13);break;case 1:if(!N)q(11);break;case 2:q(12);break;case 6:q(16);break}switch(g){case 12:case 13:if(N)q(10);else F();break;case 16:q(1);break;case 15:case 14:break;default:return g}}}function q(g,a=[],Q1=[]){if(M(g),a.length+Q1.length>0){let e=J.getToken();while(e!==17){if(a.indexOf(e)!==-1){L();break}else if(Q1.indexOf(e)!==-1)break;e=L()}}}function R(g){let a=J.getTokenValue();if(g)D(a);else K(a),$.push(a);return L(),!0}function I(){switch(J.getToken()){case 11:let g=J.getTokenValue(),a=Number(g);if(isNaN(a))q(2),a=0;D(a);break;case 7:D(null);break;case 8:D(!0);break;case 9:D(!1);break;default:return!1}return L(),!0}function x(){if(J.getToken()!==10)return q(3,[],[2,5]),!1;if(R(!1),J.getToken()===6){if(_(":"),L(),!y())q(4,[],[2,5])}else q(5,[],[2,5]);return $.pop(),!0}function S(){z(),L();let g=!1;while(J.getToken()!==2&&J.getToken()!==17){if(J.getToken()===5){if(!g)q(4,[],[]);if(_(","),L(),J.getToken()===2&&O)break}else if(g)q(6,[],[]);if(!x())q(4,[],[2,5]);g=!0}if(H(),J.getToken()!==2)q(7,[2],[]);else L();return!0}function P(){V(),L();let g=!0,a=!1;while(J.getToken()!==4&&J.getToken()!==17){if(J.getToken()===5){if(!a)q(4,[],[]);if(_(","),L(),J.getToken()===4&&O)break}else if(a)q(6,[],[]);if(g)$.push(0),g=!1;else $[$.length-1]++;if(!y())q(4,[],[4,5]);a=!0}if(w(),!g)$.pop();if(J.getToken()!==4)q(8,[4],[]);else L();return!0}function y(){switch(J.getToken()){case 3:return P();case 1:return S();case 10:return R(!0);default:return I()}}if(L(),J.getToken()===17){if(B.allowEmptyContent)return!0;return q(4,[],[]),!1}if(!y())return q(4,[],[]),!1;if(J.getToken()!==17)q(9,[],[]);return!0}function $S5(A){switch(typeof A){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(!A)return"null";else if(Array.isArray(A))return"array";return"object"}default:return"null"}}var vU1;var YP0=C(()=>{dg1();(function(A){A.DEFAULT={allowTrailingComma:!1}})(vU1||(vU1={}))});function KI2(A,Q,B,J){let $=Q.slice(),X=$P0(A,[]),W=void 0,Z=void 0;while($.length>0)if(Z=$.pop(),W=cg1(X,$),W===void 0&&B!==void 0)if(typeof Z==="string")B={[Z]:B};else B=[B];else break;if(!W){if(B===void 0)throw Error("Can not delete in empty document");return Od(A,{offset:X?X.offset:0,length:X?X.length:0,content:JSON.stringify(B)},J)}else if(W.type==="object"&&typeof Z==="string"&&Array.isArray(W.children)){let G=cg1(W,[Z]);if(G!==void 0)if(B===void 0){if(!G.parent)throw Error("Malformed AST");let U=W.children.indexOf(G.parent),z,K=G.parent.offset+G.parent.length;if(U>0){let H=W.children[U-1];z=H.offset+H.length}else if(z=W.offset+1,W.children.length>1)K=W.children[1].offset;return Od(A,{offset:z,length:K-z,content:""},J)}else return Od(A,{offset:G.offset,length:G.length,content:JSON.stringify(B)},J);else{if(B===void 0)return[];let U=`${JSON.stringify(Z)}: ${JSON.stringify(B)}`,z=J.getInsertionIndex?J.getInsertionIndex(W.children.map((H)=>H.children[0].value)):W.children.length,K;if(z>0){let H=W.children[z-1];K={offset:H.offset+H.length,length:0,content:","+U}}else if(W.children.length===0)K={offset:W.offset+1,length:0,content:U};else K={offset:W.offset+1,length:0,content:U+","};return Od(A,K,J)}}else if(W.type==="array"&&typeof Z==="number"&&Array.isArray(W.children)){let G=Z;if(G===-1){let U=`${JSON.stringify(B)}`,z;if(W.children.length===0)z={offset:W.offset+1,length:0,content:U};else{let K=W.children[W.children.length-1];z={offset:K.offset+K.length,length:0,content:","+U}}return Od(A,z,J)}else if(B===void 0&&W.children.length>=0){let U=Z,z=W.children[U],K;if(W.children.length===1)K={offset:W.offset+1,length:W.length-2,content:""};else if(W.children.length-1===U){let H=W.children[U-1],V=H.offset+H.length,w=W.offset+W.length;K={offset:V,length:w-2-V,content:""}}else K={offset:z.offset,length:W.children[U+1].offset-z.offset,content:""};return Od(A,K,J)}else if(B!==void 0){let U,z=`${JSON.stringify(B)}`;if(!J.isArrayInsertion&&W.children.length>Z){let K=W.children[Z];U={offset:K.offset,length:K.length,content:z}}else if(W.children.length===0||Z===0)U={offset:W.offset+1,length:0,content:W.children.length===0?z:z+","};else{let K=Z>W.children.length?W.children.length:Z,H=W.children[K-1];U={offset:H.offset+H.length,length:0,content:","+z}}return Od(A,U,J)}else throw Error(`Can not ${B===void 0?"remove":J.isArrayInsertion?"insert":"modify"} Array index ${G} as length is not sufficient`)}else throw Error(`Can not add ${typeof Z!=="number"?"index":"property"} to parent of type ${W.type}`)}function Od(A,Q,B){if(!B.formattingOptions)return[Q];let J=ig1(A,Q),$=Q.offset,Y=Q.offset+Q.content.length;if(Q.length===0||Q.content.length===0){while($>0&&!xU1(J,$-1))$--;while(Y<J.length&&!xU1(J,Y))Y++}let X=BP0(J,{offset:$,length:Y-$},{...B.formattingOptions,keepLines:!1});for(let Z=X.length-1;Z>=0;Z--){let G=X[Z];J=ig1(J,G),$=Math.min($,G.offset),Y=Math.max(Y,G.offset+G.length),Y+=G.content.length-G.length}let W=A.length-(J.length-Y)-$;return[{offset:$,length:W,content:J.substring($,Y)}]}function ig1(A,Q){return A.substring(0,Q.offset)+Q.content+A.substring(Q.offset+Q.length)}var HI2=C(()=>{JP0();YP0()});function MI2(A){switch(A){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}function NI2(A,Q,B,J){return KI2(A,Q,B,J)}function OI2(A,Q){let B=Q.slice(0).sort(($,Y)=>{let X=$.offset-Y.offset;if(X===0)return $.length-Y.length;return X}),J=A.length;for(let $=B.length-1;$>=0;$--){let Y=B[$];if(Y.offset+Y.length<=J)A=ig1(A,Y);else throw Error("Overlapping edit");J=Y.offset}return A}var VI2,wI2,_I2,FI2,DI2;var qI2=C(()=>{JP0();HI2();dg1();YP0();(function(A){A[A.None=0]="None",A[A.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",A[A.UnexpectedEndOfString=2]="UnexpectedEndOfString",A[A.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",A[A.InvalidUnicode=4]="InvalidUnicode",A[A.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",A[A.InvalidCharacter=6]="InvalidCharacter"})(VI2||(VI2={}));(function(A){A[A.OpenBraceToken=1]="OpenBraceToken",A[A.CloseBraceToken=2]="CloseBraceToken",A[A.OpenBracketToken=3]="OpenBracketToken",A[A.CloseBracketToken=4]="CloseBracketToken",A[A.CommaToken=5]="CommaToken",A[A.ColonToken=6]="ColonToken",A[A.NullKeyword=7]="NullKeyword",A[A.TrueKeyword=8]="TrueKeyword",A[A.FalseKeyword=9]="FalseKeyword",A[A.StringLiteral=10]="StringLiteral",A[A.NumericLiteral=11]="NumericLiteral",A[A.LineCommentTrivia=12]="LineCommentTrivia",A[A.BlockCommentTrivia=13]="BlockCommentTrivia",A[A.LineBreakTrivia=14]="LineBreakTrivia",A[A.Trivia=15]="Trivia",A[A.Unknown=16]="Unknown",A[A.EOF=17]="EOF"})(wI2||(wI2={}));_I2=zI2,FI2=lg1;(function(A){A[A.InvalidSymbol=1]="InvalidSymbol",A[A.InvalidNumberFormat=2]="InvalidNumberFormat",A[A.PropertyNameExpected=3]="PropertyNameExpected",A[A.ValueExpected=4]="ValueExpected",A[A.ColonExpected=5]="ColonExpected",A[A.CommaExpected=6]="CommaExpected",A[A.CloseBraceExpected=7]="CloseBraceExpected",A[A.CloseBracketExpected=8]="CloseBracketExpected",A[A.EndOfFileExpected=9]="EndOfFileExpected",A[A.InvalidCommentToken=10]="InvalidCommentToken",A[A.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",A[A.UnexpectedEndOfString=12]="UnexpectedEndOfString",A[A.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",A[A.InvalidUnicode=14]="InvalidUnicode",A[A.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",A[A.InvalidCharacter=16]="InvalidCharacter"})(DI2||(DI2={}))});var uZ=C(()=>{hX1();hX1()});var LI2=(A)=>{if(A===null)return"null";if(Array.isArray(A))return"an array";return`a ${typeof A}`},WS5=(A)=>{try{return new RegExp(A),!0}catch{return!1}},ZS5,GS5,US5=(A)=>{let Q=A.issues[0];if(Q===void 0)return"invalid rule.";let B=Q.message.endsWith(".")?Q.message:`${Q.message}.`;if(Q.path.length===0||B.startsWith('"'))return B;return`"${Q.path.join(".")}": ${B}`},zS5='Expected { "toolName": string, "permission": { "type": "allow" | "deny" | "ask-user" } | { "type": "webhook-policy", "webhookUrl": string } | { "type": "script-policy", "script": string }, "eventType"?: "tool-call" | "tool-response", "shellInputRegex"?: string }.',KS5=(A)=>{let Q=A.toolPermissions;if(Q===void 0)return[];if(!Array.isArray(Q))return A.toolPermissions=void 0,[`Ignoring "toolPermissions": expected an array of rules, got ${LI2(Q)}.`];let B=[],J=[];for(let $=0;$<Q.length;$++){let Y=GS5.safeParse(Q[$]);if(Y.success)J.push(Q[$]);else B.push(`Dropping invalid "toolPermissions" rule at index ${$}: ${US5(Y.error)} ${zS5}`)}if(B.length>0)A.toolPermissions=J;return B},HS5=(A)=>{if("queueMode"in A&&!("steeringMode"in A))A.steeringMode=A.queueMode,A.queueMode=void 0;if(!("transport"in A)&&typeof A.websockets==="boolean")A.transport=A.websockets?"websocket":"sse",A.websockets=void 0;if("skills"in A&&typeof A.skills==="object"&&A.skills!==null&&!Array.isArray(A.skills)){let Q=A.skills;if(Q.enableSkillCommands!==void 0&&A.enableSkillCommands===void 0)A.enableSkillCommands=Q.enableSkillCommands;if(Array.isArray(Q.customDirectories)&&Q.customDirectories.length>0)A.skills=Q.customDirectories;else A.skills=void 0}return A},EI2=(A)=>{let Q=HS5(A),B=KS5(Q);return{settings:Q,warnings:B}};var CI2=C(()=>{uZ();ZS5=SA.discriminatedUnion("type",[SA.object({type:SA.enum(["allow","deny","ask-user"])}),SA.object({type:SA.literal("webhook-policy"),webhookUrl:SA.url({error:'"permission.webhookUrl" must be a valid URL for a "webhook-policy".'})}),SA.object({type:SA.literal("script-policy"),script:SA.string({error:'"permission.script" must be a non-empty string for a "script-policy".'}).min(1,{error:'"permission.script" must be a non-empty string for a "script-policy".'})})],{error:'unknown or invalid "permission".'}),GS5=SA.object({toolName:SA.string({error:'"toolName" must be a non-empty string.'}).min(1,{error:'"toolName" must be a non-empty string.'}),permission:ZS5,eventType:SA.enum(["tool-call","tool-response"],{error:'"eventType" must be "tool-call" or "tool-response" when present.'}).optional(),shellInputRegex:SA.string({error:'"shellInputRegex" must be a string when present.'}).refine(WS5,{error:'"shellInputRegex" must be a valid regular expression when present.'}).optional()},{error:(A)=>`rule must be an object, got ${LI2(A.input)}.`})});class c01{settings={};warnings=[];store;constructor(A){this.store=A}drainWarnings(){let A=this.warnings;return this.warnings=[],A}getSettings(){return structuredClone(this.settings)}publish(A){let Q=XP0(A),{settings:B,warnings:J}=EI2(Q);this.warnings.push(...J),this.settings=B}reload(){let A=this.store.read();if(A===void 0||A.trim()===""){this.settings={};return}this.publish(A)}remove(A){let Q={persisted:!1,effectiveChange:!1};return this.store.modify((B)=>{if(B===void 0||B.trim()==="")return;XP0(B);let J=B;for(let $ of A.paths)J=II2(J,$,void 0);if(J===B)return;return this.publish(J),Q={persisted:!0,effectiveChange:!0},J}),Q}update(A){return this.updateAll([A])}updateAll(A){let Q={persisted:!1,effectiveChange:!1};return this.store.modify((B)=>{let J=B===void 0||B.trim()===""?"{}":B;XP0(J);let $=A.reduce((Y,X)=>II2(Y,X.path,X.value),J);if($===J)return;return this.publish($),Q={persisted:!0,effectiveChange:!0},$}),Q}}var VS5=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),wS5=(A)=>{FI2(A,{onObjectProperty:(Q)=>{if(tx.has(Q))throw Error(`Settings document contains reserved key "${Q}".`)}})},XP0=(A)=>{wS5(A);let Q=[],B=_I2(A,Q,{allowTrailingComma:!0});if(Q.length>0){let J=Q.map(($)=>MI2($.error)).join(", ");throw Error(`Failed to parse settings JSON: ${J}`)}if(B===void 0)return{};if(!VS5(B))throw Error("Settings document is not a valid object. Expected a JSON object but found a different type (e.g., array).");return B},DS5,tx,_S5=(A)=>{let Q=typeof A==="string"?A.split("."):[...A],B=typeof A==="string"?A:A.join(".");for(let J of Q){if(J==="")throw Error(`Invalid settings path "${B}": empty segment.`);if(tx.has(J))throw Error(`Invalid settings path "${B}": "${J}" is a reserved key.`)}return Q},II2=(A,Q,B)=>{let J=NI2(A,_S5(Q),B,{formattingOptions:DS5});return OI2(A,J)};var l01=C(()=>{qI2();CI2();DS5={tabSize:2,insertSpaces:!0},tx=new Set(["__proto__","constructor","prototype"])});class i01{locals;vfs;overrides;errors=[];constructor(A,Q={},B={}){this.locals=A,this.overrides=Q,this.vfs=B}drainErrors(){let A=this.errors;return this.errors=[],A}getSettings(){return this.mergeLayers([MS5,NS5,OS5,FS5])}getGlobalSettings(){return this.locals.global.getSettings()}getManagedSettings(){return this.locals.managed.getSettings()}getLocalSettings(){return this.locals.local.getSettings()}getProjectSettings(){return this.locals.project.getSettings()}getVfsUserSettings(){return this.vfs.vfsUser?.getSettings()??{}}getVfsSpaceSettings(){return this.vfs.vfsSpace?.getSettings()??{}}getVfsOrgSettings(){return this.vfs.vfsOrg?.getSettings()??{}}mergeLayers(A){let Q={},B=A.map((J)=>this.locals[J].getSettings());for(let J of B)RI2(Q,J,!0);return RI2(Q,this.overrides),Q}reload(){let A=[...Object.entries(this.locals),...Object.entries(this.vfs)];for(let[Q,B]of A){if(!B)continue;try{B.reload()}catch(J){let $=J instanceof Error?J:Error(String(J));XA.error("settings reload failed",{scope:Q,error:$}),this.errors.push({scope:Q,error:$})}for(let J of B.drainWarnings())this.errors.push({scope:Q,error:Error(J)})}}remove(A,Q){return this.routeWrite(A,(B)=>B.remove(Q))}update(A,Q){return this.routeWrite(A,(B)=>B.update(Q))}updateAll(A,Q){return this.routeWrite(A,(B)=>B.updateAll(Q))}routeWrite(A,Q){if(A==="managed")throw Error('Refusing to write read-only settings scope "managed"');let B=this.getSettings(),J=Q(this.locals[A]);for(let X of this.locals[A].drainWarnings())this.errors.push({scope:A,error:Error(X)});if(!J.persisted)return J;let $=this.getSettings(),Y=JSON.stringify(B)!==JSON.stringify($);return{persisted:J.persisted,effectiveChange:Y}}}var WP0=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),yU1=(A)=>{if(Array.isArray(A))return A.map(yU1);if(WP0(A))return Object.fromEntries(Object.entries(A).filter(([Q])=>!tx.has(Q)).map(([Q,B])=>[Q,yU1(B)]));return structuredClone(A)},RI2=(A,Q,B=!1)=>{for(let[J,$]of Object.entries(Q)){if(tx.has(J)||$===void 0)continue;let Y=A[J];if(B&&J==="toolPermissions"&&Array.isArray($))A[J]=[...yU1($),...Array.isArray(Y)?Y:[]];else if(WP0(Y)&&WP0($))A[J]={...Y,...yU1($)};else A[J]=yU1($)}},FS5="managed",MS5="global",NS5="project",OS5="local";var ng1=C(()=>{v2();l01()});var ZP0=(A,Q)=>{let B=($)=>new c01(new eT0($)),J=new i01({managed:B(A.managedPath),global:B(A.globalPath),project:B(A.projectPath),local:B(A.localPath)},Q,{vfsUser:A.vfsUserPath?B(A.vfsUserPath):void 0,vfsSpace:A.vfsSpacePath?B(A.vfsSpacePath):void 0,vfsOrg:A.vfsOrgPath?B(A.vfsOrgPath):void 0});return J.reload(),J};var GP0=C(()=>{WI2();ng1();l01()});class n01{manager;dynamicOverrides;errors=[];constructor(A){this.manager=A}get settings(){let A=this.manager.getSettings();return this.dynamicOverrides?jI2(A,this.dynamicOverrides):A}update(A,Q,B){if(this.dynamicOverrides=void 0,typeof Q==="object"&&"path"in Q)return this.manager.update(A,Q);try{this.manager.update(A,{path:Q,value:B})}catch(J){let $=J instanceof Error?J:Error(String(J));this.errors.push({scope:A,error:$})}}updateAll(A,Q){return this.dynamicOverrides=void 0,this.manager.updateAll(A,Q)}remove(A,Q){return this.dynamicOverrides=void 0,this.manager.remove(A,Q)}getSettings(){return structuredClone(this.settings)}getGlobalSettings(){return structuredClone(this.manager.getGlobalSettings())}getProjectSettings(){return structuredClone(this.manager.getProjectSettings())}getLocalSettings(){return structuredClone(this.manager.getLocalSettings())}getManagedSettings(){return structuredClone(this.manager.getManagedSettings())}getVfsUserSettings(){return structuredClone(this.manager.getVfsUserSettings())}getVfsSpaceSettings(){return structuredClone(this.manager.getVfsSpaceSettings())}getVfsOrgSettings(){return structuredClone(this.manager.getVfsOrgSettings())}reload(){this.manager.reload(),this.dynamicOverrides=void 0}applyOverrides(A){this.dynamicOverrides=jI2(this.dynamicOverrides??{},A)}flush(){}drainErrors(){let A=[...this.manager.drainErrors(),...this.errors];return this.errors=[],A}getLastChangelogVersion(){return this.settings.lastChangelogVersion}setLastChangelogVersion(A){this.update("global","lastChangelogVersion",A)}getSessionDir(){return this.settings.sessionDir}getWorktreeDir(){return this.settings.worktreeDir}getDefaultProvider(){return this.settings.defaultProvider}getDefaultModel(){return this.settings.defaultModel}setDefaultProvider(A){this.update("global","defaultProvider",A)}setDefaultModel(A){this.update("global","defaultModel",A)}setDefaultModelAndProvider(A,Q){this.dynamicOverrides=void 0;try{this.manager.updateAll("global",[{path:"defaultProvider",value:A},{path:"defaultModel",value:Q}])}catch(B){let J=B instanceof Error?B:Error(String(B));this.errors.push({scope:"global",error:J})}}getSteeringMode(){return this.settings.steeringMode||"one-at-a-time"}setSteeringMode(A){this.update("global","steeringMode",A)}getFollowUpMode(){return this.settings.followUpMode||"one-at-a-time"}setFollowUpMode(A){this.update("global","followUpMode",A)}getTheme(){return this.settings.theme}setTheme(A){this.update("global","theme",A)}getDefaultThinkingLevel(){return this.settings.defaultThinkingLevel}setDefaultThinkingLevel(A){this.update("global","defaultThinkingLevel",A)}getTransport(){return this.settings.transport??"sse"}setTransport(A){this.update("global","transport",A)}getCompactionEnabled(){return this.settings.compaction?.enabled??!0}setCompactionEnabled(A){this.update("global","compaction.enabled",A)}getCompactionReserveTokens(){return this.settings.compaction?.reserveTokens??16384}getCompactionProtectedHeadTokens(){return this.settings.compaction?.protectedHeadTokens??20000}getCompactionKeepRecentTokens(){return this.settings.compaction?.keepRecentTokens??20000}getCompactionSummarizationModel(){return this.settings.compaction?.summarizationModel}getCompactionSettings(){return{enabled:this.getCompactionEnabled(),reserveTokens:this.getCompactionReserveTokens(),protectedHeadTokens:this.getCompactionProtectedHeadTokens(),keepRecentTokens:this.getCompactionKeepRecentTokens(),summarizationModel:this.getCompactionSummarizationModel(),useReserveTrigger:this.settings.compaction?.useReserveTrigger??!1,inputBudgetTriggerRatio:this.settings.compaction?.inputBudgetTriggerRatio,fallbackInputBudgetRatio:this.settings.compaction?.fallbackInputBudgetRatio,maxMessageTokens:this.settings.compaction?.maxMessageTokens}}getBranchSummarySettings(){return{reserveTokens:this.settings.branchSummary?.reserveTokens??16384,skipPrompt:this.settings.branchSummary?.skipPrompt??!1}}getBranchSummarySkipPrompt(){return this.settings.branchSummary?.skipPrompt??!1}getRetryEnabled(){return this.settings.retry?.enabled??!0}setRetryEnabled(A){this.update("global","retry.enabled",A)}getRetrySettings(){return{enabled:this.getRetryEnabled(),maxRetries:this.settings.retry?.maxRetries??3,baseDelayMs:this.settings.retry?.baseDelayMs??2000,maxDelayMs:this.settings.retry?.maxDelayMs??60000}}getHideThinkingBlock(){return this.settings.hideThinkingBlock??!1}setHideThinkingBlock(A){this.update("global","hideThinkingBlock",A)}getCollapsePromptCommands(){return this.settings.collapsePromptCommands??!1}setCollapsePromptCommands(A){this.update("global","collapsePromptCommands",A)}getShellPath(){return this.settings.shellPath}setShellPath(A){this.update("global","shellPath",A)}getQuietStartup(){return this.settings.quietStartup??!1}setQuietStartup(A){this.update("global","quietStartup",A)}getShellCommandPrefix(){return this.settings.shellCommandPrefix}setShellCommandPrefix(A){this.update("global","shellCommandPrefix",A)}getNpmCommand(){return this.settings.npmCommand?[...this.settings.npmCommand]:void 0}setNpmCommand(A){this.update("global","npmCommand",A?[...A]:void 0)}getCollapseChangelog(){return this.settings.collapseChangelog??!1}setCollapseChangelog(A){this.update("global","collapseChangelog",A)}getPackages(){return[...this.settings.packages??[]]}setPackages(A){this.update("global","packages",A)}setProjectPackages(A){this.update("project","packages",A)}setLocalPackages(A){this.update("local","packages",A)}getExtensionPaths(){return[...this.settings.extensions??[]]}setExtensionPaths(A){this.update("global","extensions",A)}setProjectExtensionPaths(A){this.update("project","extensions",A)}setLocalExtensionPaths(A){this.update("local","extensions",A)}getSkillPaths(){return[...this.settings.skills??[]]}setSkillPaths(A){this.update("global","skills",A)}setProjectSkillPaths(A){this.update("project","skills",A)}setLocalSkillPaths(A){this.update("local","skills",A)}getPromptTemplatePaths(){return[...this.settings.prompts??[]]}setPromptTemplatePaths(A){this.update("global","prompts",A)}setProjectPromptTemplatePaths(A){this.update("project","prompts",A)}setLocalPromptTemplatePaths(A){this.update("local","prompts",A)}getThemePaths(){return[...this.settings.themes??[]]}setThemePaths(A){this.update("global","themes",A)}setProjectThemePaths(A){this.update("project","themes",A)}setLocalThemePaths(A){this.update("local","themes",A)}getEnableSkillCommands(){return this.settings.enableSkillCommands??!0}setEnableSkillCommands(A){this.update("global","enableSkillCommands",A)}getEnableHashline(){return this.settings.enableHashline??!1}setEnableHashline(A){this.update("global","enableHashline",A)}getEnabledPlugins(){let A={};for(let[Q,B]of Object.entries(this.settings.enabledPlugins??{}))if(typeof B==="boolean")A[Q]=B;return A}getToolPermissions(){let A=this.settings.toolPermissions;return Array.isArray(A)?structuredClone(A):[]}getToolPermissionScopeRuleSets(){let A=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],Q=[];for(let B of A){let J=B.toolPermissions;if(Array.isArray(J)&&J.length>0)Q.push(structuredClone(J))}return Q}setPluginEnabled(A,Q){this.update("global",["enabledPlugins",A],Q)}getEnableToolSearch(){return this.settings.enableToolSearch??!1}getThinkingBudgets(){return this.settings.thinkingBudgets}getShowImages(){return this.settings.terminal?.showImages??!0}setShowImages(A){this.update("global","terminal.showImages",A)}getClearOnShrink(){if(this.settings.terminal?.clearOnShrink!==void 0)return this.settings.terminal.clearOnShrink;return process.env.PI_CLEAR_ON_SHRINK==="1"}setClearOnShrink(A){this.update("global","terminal.clearOnShrink",A)}getImageAutoResize(){return this.settings.images?.autoResize??!0}setImageAutoResize(A){this.update("global","images.autoResize",A)}getBlockImages(){return this.settings.images?.blockImages??!1}setBlockImages(A){this.update("global","images.blockImages",A)}getEnabledModels(){return this.settings.enabledModels?[...this.settings.enabledModels]:void 0}setEnabledModels(A){this.update("global","enabledModels",A)}getDoubleEscapeAction(){return this.settings.doubleEscapeAction??"tree"}setDoubleEscapeAction(A){this.update("global","doubleEscapeAction",A)}getTreeFilterMode(){let A=this.settings.treeFilterMode;return A&&["default","no-tools","user-only","labeled-only","all"].includes(A)?A:"default"}setTreeFilterMode(A){this.update("global","treeFilterMode",A)}getShowHardwareCursor(){return this.settings.showHardwareCursor??process.env.PI_HARDWARE_CURSOR==="1"}setShowHardwareCursor(A){this.update("global","showHardwareCursor",A)}getEditorPaddingX(){return this.settings.editorPaddingX??0}setEditorPaddingX(A){this.update("global","editorPaddingX",Math.max(0,Math.min(3,Math.floor(A))))}getAutocompleteMaxVisible(){return this.settings.autocompleteMaxVisible??5}setAutocompleteMaxVisible(A){this.update("global","autocompleteMaxVisible",Math.max(3,Math.min(20,Math.floor(A))))}getCodeBlockIndent(){return this.settings.markdown?.codeBlockIndent??" "}getHooks(){return this.settings.hooks}getTelemetrySettings(){return this.settings.telemetry}getEnvInjection(){let A=this.settings.env;if(!A||typeof A!=="object")return{};let Q={};for(let[B,J]of Object.entries(A))if(typeof J==="string")Q[B]=J;return Q}getFeatureFlagOverrides(){return this.settings.featureFlagOverrides}getIndexingDirsUnion(){let A=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],Q=(B)=>{let J=new Set,$=[];for(let Y of A){let X=Y[B];if(!Array.isArray(X))continue;for(let W of X){if(typeof W!=="string"||J.has(W))continue;J.add(W),$.push(W)}}return $};return{allowDirs:Q("indexingAllowDirs"),denyDirs:Q("indexingDenyDirs")}}}var UP0=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),zP0=(A)=>{if(Array.isArray(A))return A.map(zP0);if(!UP0(A))return structuredClone(A);let Q={};for(let[B,J]of Object.entries(A))if(!tx.has(B))Q[B]=zP0(J);return Q},jI2=(A,Q)=>{let B=structuredClone(A);for(let J of Object.keys(Q)){let $=Q[J];if($===void 0||tx.has(J))continue;let Y=B[J],X=zP0($);if(UP0(Y)&&UP0(X))B[J]={...Y,...X};else B[J]=X}return B};var ag1=C(()=>{l01()});var KP0=(A,Q)=>new n01(ZP0(A,Q));var HP0=C(()=>{GP0();ag1()});class og1{content;constructor(A){this.content=A}read(){return this.content}modify(A){let Q=A(this.content);if(Q!==void 0)this.content=Q}}import{homedir as TI2}from"node:os";import{join as qd}from"node:path";var qS5="AUGGIE-V2_CODING_AGENT_DIR",LS5=()=>{let A=process.env[`${qS5}_MANAGED`];if(A){if(A==="~")return qd(TI2(),"settings.json");if(A.startsWith("~/"))return TI2()+A.slice(1);return A}if(process.platform==="win32"){let Q=process.env.ProgramData||"C:\\ProgramData";return qd(Q,"augment","settings.json")}return qd("/etc","augment","settings.json")},VP0=(A)=>A?qd(A,".augment","settings.json"):void 0,O5;var PI2=C(()=>{ng1();l01();HP0();ag1();O5={create(A,Q,B){return KP0({globalPath:qd(Q,"settings.json"),projectPath:qd(A,".augment","settings.json"),localPath:qd(A,".augment","settings.local.json"),managedPath:LS5(),vfsUserPath:VP0(B?.user),vfsSpacePath:VP0(B?.space),vfsOrgPath:VP0(B?.org)})},inMemory(A={}){let Q=(J)=>new c01(new og1(J===void 0?void 0:JSON.stringify(J))),B=new i01({managed:Q(),local:Q(),project:Q(),global:Q(A)});return B.reload(),new n01(B)}}});var mX=C(()=>{HP0();ag1();PI2();GP0();ng1();l01()});var ex;var wP0=C(()=>{ex={name:"@augmentcode/auggie-v2",version:"1.1.0",description:"Auggie CLI Client by Augment Code",type:"module",piConfig:{name:"auggie-v2",configDir:".augment"},bin:{pi:"dist/cli.js"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{source:"./src/index.ts",bun:"./src/index.ts",types:"./dist/index.d.ts",import:"./dist/index.js"},"./hooks":{bun:"./src/core/hooks/index.ts",types:"./dist/core/hooks/index.d.ts",import:"./dist/core/hooks/index.js"}},files:["dist","docs","examples","CHANGELOG.md"],scripts:{"check-types":"npm run bake:export-html && tsgo -p tsconfig.build.json",clean:"shx rm -rf dist",dev:"npm run bake:export-html && bun src/cli.ts","dev:debug":"npm run bake:export-html && bun --inspect-wait=ws://localhost:6499/57uz7t2uyri src/cli.ts","bake:export-html":"node scripts/bake-export-html.mjs",build:"npm run bake:export-html && tsgo -p tsconfig.build.json --noCheck && shx chmod +x dist/cli.js && shx cp src/bun/register-extensions.js dist/bun/register-extensions.js && shx cp src/bun/cloud-bridge.js dist/bun/cloud-bridge.js && shx cp src/bun/cloud-tracer-bridge.js dist/bun/cloud-tracer-bridge.js && shx cp src/bun/cloud-error-bridge.js dist/bun/cloud-error-bridge.js && shx cp src/bun/mcp-error-bridge.js dist/bun/mcp-error-bridge.js && npm run copy-assets","build:npm:release":"bun scripts/build-npm-release.mjs","build:migration-engine":"bun scripts/build-migration-engine.mjs","build:release:sea":"bun scripts/build-sea-release.mjs","build:release:sea:from-onison":"bun scripts/build-sea-from-onison.mjs","build:release-js":"npm run bake:export-html && tsgo -p tsconfig.release.json --noCheck && shx chmod +x dist/cli.js && shx cp src/bun/register-extensions.js dist/bun/register-extensions.js && shx cp src/bun/cloud-bridge.js dist/bun/cloud-bridge.js && shx cp src/bun/cloud-tracer-bridge.js dist/bun/cloud-tracer-bridge.js && shx cp src/bun/cloud-error-bridge.js dist/bun/cloud-error-bridge.js && shx cp src/bun/mcp-error-bridge.js dist/bun/mcp-error-bridge.js && npm run copy-assets","build:npm":"npm run build:release-js && bun build --minify --target=bun dist/cli.js --outfile dist/cli.js && bun build --minify --target=bun dist/index.js --outfile dist/index.js && npm run clean:npm-artifacts","clean:npm-artifacts":"find dist -name '*.js' -not -path 'dist/cli.js' -not -path 'dist/index.js' -not -path 'dist/release/*' -not -path 'dist/core/export-html/*' -delete && find dist -name '*.js.map' -delete","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/","assemble-changelog":"bun scripts/assemble-changelog.ts",test:"npm run bake:export-html && vitest --run","test:acp:e2e":"npm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/acp/","test:e2e:sanity":"npm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/tui/sanity.test.ts","test:e2e:tui":"npm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/tui/","test:e2e:cli":"npm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/cli/",prepublishOnly:"npm run clean && npm run build"},dependencies:{"@agentclientprotocol/sdk":"1.3.0","@augmentcode/api-client":"0.0.13-20260806T062724Z","@earendil-works/pi-agent-core":"workspace:*","@earendil-works/pi-ai":"workspace:*","@earendil-works/pi-indexing":"workspace:*","@earendil-works/pi-tui":"workspace:*","@hermes/ask-user":"workspace:*","@hermes/cloud":"workspace:*","@hermes/daemon":"workspace:*","@hermes/hashline-edit":"workspace:*","@hermes/hooks":"workspace:*","@hermes/logger":"workspace:*","@hermes/lsp":"workspace:*","@hermes/mcp":"workspace:*","@hermes/migration":"workspace:*","@hermes/otel":"workspace:*","@hermes/path-utils":"workspace:*","@hermes/plugins":"workspace:*","@hermes/prompt-enhancer":"workspace:*","@hermes/segment-analytics":"workspace:*","@hermes/settings":"workspace:*","@hermes/shared-types":"workspace:*","@hermes/subagents":"workspace:*","@hermes/tool-permissions":"workspace:*","@mariozechner/jiti":"^2.6.2","@sentry/node":"^10.53.1","@silvia-odwyer/photon-node":"^0.3.4","@sinclair/typebox":"^0.34.41",ajv:"^8.17.1",chalk:"^5.5.0","cli-highlight":"^2.1.11",diff:"^8.0.2","extract-zip":"^2.0.1",fdir:"^6.5.0","file-type":"^21.1.1",glob:"^13.0.1","hosted-git-info":"^9.0.2",ignore:"^7.0.5","jsonc-parser":"3.3.1",marked:"^15.0.12",minimatch:"^10.2.3","proper-lockfile":"^4.1.2","strip-ansi":"^7.1.0",turndown:"^7.2.4",undici:"^7.19.1",yaml:"^2.8.2",zod:"^4.4.3"},overrides:{rimraf:"6.1.2",gaxios:{rimraf:"6.1.2"}},optionalDependencies:{"@mariozechner/clipboard":"^0.3.2"},devDependencies:{"@tintinweb/pi-subagents":"workspace:*","@types/diff":"^7.0.2","@types/hosted-git-info":"^3.0.5","@types/ms":"^2.1.0","@types/node":"^24.3.0","@types/proper-lockfile":"^4.1.4","@types/turndown":"^5.0.5",level:"^10.0.0",shx:"^0.4.0",tsx:"^4.21.0",typescript:"^5.7.3",vitest:"^3.2.4"},keywords:["coding-agent","ai","llm","cli","tui","agent"],author:"Mario Zechner",license:"MIT",repository:{type:"git",url:"git+https://github.com/badlogic/pi-mono.git",directory:"packages/coding-agent"},engines:{node:">=20.6.0"}}});import{existsSync as CS5}from"node:fs";import{homedir as fU1}from"node:os";import{dirname as DP0,join as m_,resolve as SI2}from"node:path";import{fileURLToPath as IS5}from"node:url";function jS5(){let A=`${_P0}\x00${process.execPath||""}`.toLowerCase();if(A.includes("/pnpm/")||A.includes("/.pnpm/")||A.includes("\\pnpm\\"))return"pnpm";if(A.includes("/yarn/")||A.includes("/.yarn/")||A.includes("\\yarn\\"))return"yarn";if(gU1)return"bun";if(A.includes("/npm/")||A.includes("/node_modules/")||A.includes("\\npm\\"))return"npm";return"unknown"}function kI2(A,Q){switch(jS5()){case"pnpm":return`Run: pnpm install -g ${A}`;case"yarn":return`Run: yarn global add ${A}`;case"bun":return`Run: bun install -g ${A}`;case"npm":return`Run: npm install -g ${A}`;default:return`Run: npm install -g ${A}`}}function bI2(){let A=process.env.PI_PACKAGE_DIR;if(A){if(A==="~")return fU1();if(A.startsWith("~/"))return fU1()+A.slice(1);return A}let Q=_P0;while(Q!==DP0(Q)){if(CS5(m_(Q,"package.json")))return Q;Q=DP0(Q)}return _P0}function a01(){return SI2(m_(bI2(),"docs"))}function rg1(){return SI2(m_(bI2(),"CHANGELOG.md"))}function fI2(A){return`${process.env.PI_SHARE_VIEWER_URL||PS5}#${A}`}function gI2(A){if(A==="~")return fU1();if(A.startsWith("~/"))return fU1()+A.slice(1);return A}function XT(){let A=process.env.AUGMENT_CACHE_DIR;if(A)return gI2(A);return m_(fU1(),".augment")}function o6(){let A=process.env[uU1];if(A)return gI2(A);return XT()}function pU1(){return m_(o6(),"themes")}function hI2(){return m_(o6(),"models.json")}function FP0(){return m_(o6(),"auth.json")}function mI2(){return m_(o6(),"settings.json")}function Ld(){return XT()}function o01(){return m_(o6(),"bin")}function uI2(){return m_(o6(),"prompts")}function pI2(){return m_(o6(),hU1)}function dI2(){return m_(o6(),`${V4}-debug.log`)}var RS5,_P0,gU1,V4,$8,hU1="sessions-v2",mU1="auggie",xI2="Auggie Coding Agent",TS5="1.1.0-prerelease.202608110224",wJ,vI2="b8f2079df96513dd611d6af75a0db439a400658e",yI2="2026-08-11T09:24:47Z",uU1,PS5="https://pi.dev/session/";var e3=C(()=>{wP0();RS5=IS5(import.meta.url),_P0=DP0(RS5),gU1=!!process.versions.bun;V4=ex.piConfig?.name||"pi",$8=ex.piConfig?.configDir||".augment",wJ=TS5??ex.version,uU1=`${V4.toUpperCase()}_CODING_AGENT_DIR`});function SS5(A,Q){let B=Q.find((J)=>J.$id===A.$ref);if(B===void 0)throw new cI2(A);return g3(B,Q)}function kW(A,Q){if(!k3(A.$id)||Q.some((B)=>B.$id===A.$id))return Q;return Q.push(A),Q}function g3(A,Q){return A[E2]==="This"||A[E2]==="Ref"?SS5(A,Q):A}var cI2;var lI2=C(()=>{oB();u6();cI2=class cI2 extends m4{constructor(A){super(`Unable to dereference schema with $id '${A.$ref}'`);this.schema=A}}});var u_=C(()=>{lI2()});var nI2,aI2,iI2;var oI2=C(()=>{rh();$B1();u6();oB();nI2=class nI2 extends m4{constructor(A){super(`Duplicate type kind '${A}' detected`)}};aI2=class aI2 extends m4{constructor(A){super(`Duplicate string format '${A}' detected`)}};(function(A){function Q(J,$){if(bY.Has(J))throw new nI2(J);return bY.Set(J,$),(Y={})=>Hm({...Y,[E2]:J})}A.Type=Q;function B(J,$){if(RG.Has(J))throw new aI2(J);return RG.Set(J,$),J}A.Format=B})(iI2||(iI2={}))});var sg1=C(()=>{Y71();oI2()});function*vS5(A){let Q=A===0?1:Math.ceil(Math.floor(Math.log2(A)+1)/8);for(let B=0;B<Q;B++)yield A>>8*(Q-1-B)&255}function yS5(A){lG(aV.Array);for(let Q of A)s01(Q)}function fS5(A){lG(aV.Boolean),lG(A?1:0)}function gS5(A){lG(aV.BigInt),tI2.setBigInt64(0,A);for(let Q of eI2)lG(Q)}function hS5(A){lG(aV.Date),s01(A.getTime())}function mS5(A){lG(aV.Null)}function uS5(A){lG(aV.Number),tI2.setFloat64(0,A);for(let Q of eI2)lG(Q)}function pS5(A){lG(aV.Object);for(let Q of globalThis.Object.getOwnPropertyNames(A).sort())s01(Q),s01(A[Q])}function dS5(A){lG(aV.String);for(let Q=0;Q<A.length;Q++)for(let B of vS5(A.charCodeAt(Q)))lG(B)}function cS5(A){lG(aV.Symbol),s01(A.description)}function lS5(A){lG(aV.Uint8Array);for(let Q=0;Q<A.length;Q++)lG(A[Q])}function iS5(A){return lG(aV.Undefined)}function s01(A){if(n4(A))return yS5(A);if(tq(A))return fS5(A);if(FZ(A))return gS5(A);if(jU(A))return hS5(A);if(AR(A))return mS5(A);if(q4(A))return uS5(A);if(a5(A))return pS5(A);if(k3(A))return dS5(A);if(QR(A))return cS5(A);if(vo(A))return lS5(A);if(qB(A))return iS5(A);throw new rI2(A)}function lG(A){r01=r01^xS5[A],r01=r01*kS5%bS5}function Av(A){return r01=BigInt("14695981039346656037"),s01(A),r01}var rI2,aV,r01,kS5,bS5,xS5,sI2,tI2,eI2;var AR2=C(()=>{kY();oB();rI2=class rI2 extends m4{constructor(A){super("Unable to hash value");this.value=A}};(function(A){A[A.Undefined=0]="Undefined",A[A.Null=1]="Null",A[A.Boolean=2]="Boolean",A[A.Number=3]="Number",A[A.String=4]="String",A[A.Object=5]="Object",A[A.Array=6]="Array",A[A.Date=7]="Date",A[A.Uint8Array=8]="Uint8Array",A[A.Symbol=9]="Symbol",A[A.BigInt=10]="BigInt"})(aV||(aV={}));r01=BigInt("14695981039346656037"),[kS5,bS5]=[BigInt("1099511628211"),BigInt("18446744073709551616")],xS5=Array.from({length:256}).map((A,Q)=>BigInt(Q)),sI2=new Float64Array(1),tI2=new DataView(sI2.buffer),eI2=new Uint8Array(sI2.buffer)});var t01=C(()=>{AR2()});function nS5(A){return A[E2]==="Any"||A[E2]==="Unknown"}function X3(A){return A!==void 0}function aS5(A,Q,B){return!0}function oS5(A,Q,B){return!0}function rS5(A,Q,B){if(!n4(B))return!1;if(X3(A.minItems)&&!(B.length>=A.minItems))return!1;if(X3(A.maxItems)&&!(B.length<=A.maxItems))return!1;for(let Y of B)if(!bW(A.items,Q,Y))return!1;if(A.uniqueItems===!0&&!function(){let Y=new Set;for(let X of B){let W=Av(X);if(Y.has(W))return!1;else Y.add(W)}return!0}())return!1;if(!(X3(A.contains)||q4(A.minContains)||q4(A.maxContains)))return!0;let J=X3(A.contains)?A.contains:o5(),$=B.reduce((Y,X)=>bW(J,Q,X)?Y+1:Y,0);if($===0)return!1;if(q4(A.minContains)&&$<A.minContains)return!1;if(q4(A.maxContains)&&$>A.maxContains)return!1;return!0}function sS5(A,Q,B){return YE1(B)}function tS5(A,Q,B){if(!FZ(B))return!1;if(X3(A.exclusiveMaximum)&&!(B<A.exclusiveMaximum))return!1;if(X3(A.exclusiveMinimum)&&!(B>A.exclusiveMinimum))return!1;if(X3(A.maximum)&&!(B<=A.maximum))return!1;if(X3(A.minimum)&&!(B>=A.minimum))return!1;if(X3(A.multipleOf)&&B%A.multipleOf!==BigInt(0))return!1;return!0}function eS5(A,Q,B){return tq(B)}function Ak5(A,Q,B){return bW(A.returns,Q,B.prototype)}function Qk5(A,Q,B){if(!jU(B))return!1;if(X3(A.exclusiveMaximumTimestamp)&&!(B.getTime()<A.exclusiveMaximumTimestamp))return!1;if(X3(A.exclusiveMinimumTimestamp)&&!(B.getTime()>A.exclusiveMinimumTimestamp))return!1;if(X3(A.maximumTimestamp)&&!(B.getTime()<=A.maximumTimestamp))return!1;if(X3(A.minimumTimestamp)&&!(B.getTime()>=A.minimumTimestamp))return!1;if(X3(A.multipleOfTimestamp)&&B.getTime()%A.multipleOfTimestamp!==0)return!1;return!0}function Bk5(A,Q,B){return Xk(B)}function Jk5(A,Q,B){let J=globalThis.Object.values(A.$defs),$=A.$defs[A.$ref];return bW($,[...Q,...J],B)}function $k5(A,Q,B){if(!ZE1(B))return!1;if(X3(A.exclusiveMaximum)&&!(B<A.exclusiveMaximum))return!1;if(X3(A.exclusiveMinimum)&&!(B>A.exclusiveMinimum))return!1;if(X3(A.maximum)&&!(B<=A.maximum))return!1;if(X3(A.minimum)&&!(B>=A.minimum))return!1;if(X3(A.multipleOf)&&B%A.multipleOf!==0)return!1;return!0}function Yk5(A,Q,B){let J=A.allOf.every(($)=>bW($,Q,B));if(A.unevaluatedProperties===!1){let $=new RegExp(JL(A)),Y=Object.getOwnPropertyNames(B).every((X)=>$.test(X));return J&&Y}else if(EB(A.unevaluatedProperties)){let $=new RegExp(JL(A)),Y=Object.getOwnPropertyNames(B).every((X)=>$.test(X)||bW(A.unevaluatedProperties,Q,B[X]));return J&&Y}else return J}function Xk5(A,Q,B){return XE1(B)}function Wk5(A,Q,B){return B===A.const}function Zk5(A,Q,B){return!1}function Gk5(A,Q,B){return!bW(A.not,Q,B)}function Uk5(A,Q,B){return AR(B)}function zk5(A,Q,B){if(!KB.IsNumberLike(B))return!1;if(X3(A.exclusiveMaximum)&&!(B<A.exclusiveMaximum))return!1;if(X3(A.exclusiveMinimum)&&!(B>A.exclusiveMinimum))return!1;if(X3(A.minimum)&&!(B>=A.minimum))return!1;if(X3(A.maximum)&&!(B<=A.maximum))return!1;if(X3(A.multipleOf)&&B%A.multipleOf!==0)return!1;return!0}function Kk5(A,Q,B){if(!KB.IsObjectLike(B))return!1;if(X3(A.minProperties)&&!(Object.getOwnPropertyNames(B).length>=A.minProperties))return!1;if(X3(A.maxProperties)&&!(Object.getOwnPropertyNames(B).length<=A.maxProperties))return!1;let J=Object.getOwnPropertyNames(A.properties);for(let $ of J){let Y=A.properties[$];if(A.required&&A.required.includes($)){if(!bW(Y,Q,B[$]))return!1;if(($L(Y)||nS5(Y))&&!($ in B))return!1}else if(KB.IsExactOptionalProperty(B,$)&&!bW(Y,Q,B[$]))return!1}if(A.additionalProperties===!1){let $=Object.getOwnPropertyNames(B);if(A.required&&A.required.length===J.length&&$.length===J.length)return!0;else return $.every((Y)=>J.includes(Y))}else if(typeof A.additionalProperties==="object")return Object.getOwnPropertyNames(B).every((Y)=>J.includes(Y)||bW(A.additionalProperties,Q,B[Y]));else return!0}function Hk5(A,Q,B){return WE1(B)}function Vk5(A,Q,B){if(!KB.IsRecordLike(B))return!1;if(X3(A.minProperties)&&!(Object.getOwnPropertyNames(B).length>=A.minProperties))return!1;if(X3(A.maxProperties)&&!(Object.getOwnPropertyNames(B).length<=A.maxProperties))return!1;let[J,$]=Object.entries(A.patternProperties)[0],Y=new RegExp(J),X=Object.entries(B).every(([G,U])=>{return Y.test(G)?bW($,Q,U):!0}),W=typeof A.additionalProperties==="object"?Object.entries(B).every(([G,U])=>{return!Y.test(G)?bW(A.additionalProperties,Q,U):!0}):!0,Z=A.additionalProperties===!1?Object.getOwnPropertyNames(B).every((G)=>{return Y.test(G)}):!0;return X&&W&&Z}function wk5(A,Q,B){return bW(g3(A,Q),Q,B)}function Dk5(A,Q,B){let J=new RegExp(A.source,A.flags);if(X3(A.minLength)){if(!(B.length>=A.minLength))return!1}if(X3(A.maxLength)){if(!(B.length<=A.maxLength))return!1}return J.test(B)}function _k5(A,Q,B){if(!k3(B))return!1;if(X3(A.minLength)){if(!(B.length>=A.minLength))return!1}if(X3(A.maxLength)){if(!(B.length<=A.maxLength))return!1}if(X3(A.pattern)){if(!new RegExp(A.pattern).test(B))return!1}if(X3(A.format)){if(!RG.Has(A.format))return!1;return RG.Get(A.format)(B)}return!0}function Fk5(A,Q,B){return QR(B)}function Mk5(A,Q,B){return k3(B)&&new RegExp(A.pattern).test(B)}function Nk5(A,Q,B){return bW(g3(A,Q),Q,B)}function Ok5(A,Q,B){if(!n4(B))return!1;if(A.items===void 0&&B.length!==0)return!1;if(B.length!==A.maxItems)return!1;if(!A.items)return!0;for(let J=0;J<A.items.length;J++)if(!bW(A.items[J],Q,B[J]))return!1;return!0}function qk5(A,Q,B){return qB(B)}function Lk5(A,Q,B){return A.anyOf.some((J)=>bW(J,Q,B))}function Ek5(A,Q,B){if(!vo(B))return!1;if(X3(A.maxByteLength)&&!(B.length<=A.maxByteLength))return!1;if(X3(A.minByteLength)&&!(B.length>=A.minByteLength))return!1;return!0}function Ck5(A,Q,B){return!0}function Ik5(A,Q,B){return KB.IsVoidLike(B)}function Rk5(A,Q,B){if(!bY.Has(A[E2]))return!1;return bY.Get(A[E2])(A,B)}function bW(A,Q,B){let J=X3(A.$id)?kW(A,Q):Q,$=A;switch($[E2]){case"Any":return aS5($,J,B);case"Argument":return oS5($,J,B);case"Array":return rS5($,J,B);case"AsyncIterator":return sS5($,J,B);case"BigInt":return tS5($,J,B);case"Boolean":return eS5($,J,B);case"Constructor":return Ak5($,J,B);case"Date":return Qk5($,J,B);case"Function":return Bk5($,J,B);case"Import":return Jk5($,J,B);case"Integer":return $k5($,J,B);case"Intersect":return Yk5($,J,B);case"Iterator":return Xk5($,J,B);case"Literal":return Wk5($,J,B);case"Never":return Zk5($,J,B);case"Not":return Gk5($,J,B);case"Null":return Uk5($,J,B);case"Number":return zk5($,J,B);case"Object":return Kk5($,J,B);case"Promise":return Hk5($,J,B);case"Record":return Vk5($,J,B);case"Ref":return wk5($,J,B);case"RegExp":return Dk5($,J,B);case"String":return _k5($,J,B);case"Symbol":return Fk5($,J,B);case"TemplateLiteral":return Mk5($,J,B);case"This":return Nk5($,J,B);case"Tuple":return Ok5($,J,B);case"Undefined":return qk5($,J,B);case"Union":return Lk5($,J,B);case"Uint8Array":return Ek5($,J,B);case"Unknown":return Ck5($,J,B);case"Void":return Ik5($,J,B);default:if(!bY.Has($[E2]))throw new QR2($);return Rk5($,J,B)}}function _8(...A){return A.length===3?bW(A[0],A[1],A[2]):bW(A[0],[],A[1])}var QR2;var MP0=C(()=>{sg1();u_();t01();u6();RD();Zm();rh();oB();WY();kY();q8();QR2=class QR2 extends m4{constructor(A){super("Unknown type");this.schema=A}}});var oV=C(()=>{MP0()});function DJ(A,Q,B){try{return n3(A)?A[LB].Decode(B):B}catch(J){throw new BR2(A,Q,B,J)}}function jk5(A,Q,B,J){return n4(J)?DJ(A,B,J.map(($,Y)=>YO(A.items,Q,`${B}/${Y}`,$))):DJ(A,B,J)}function Tk5(A,Q,B,J){if(!a5(J)||UV(J))return DJ(A,B,J);let $=C71(A),Y=$.map((U)=>U[0]),X={...J};for(let[U,z]of $)if(U in X)X[U]=YO(z,Q,`${B}/${U}`,X[U]);if(!n3(A.unevaluatedProperties))return DJ(A,B,X);let W=Object.getOwnPropertyNames(X),Z=A.unevaluatedProperties,G={...X};for(let U of W)if(!Y.includes(U))G[U]=DJ(Z,`${B}/${U}`,G[U]);return DJ(A,B,G)}function Pk5(A,Q,B,J){let $=globalThis.Object.values(A.$defs),Y=A.$defs[A.$ref],X=YO(Y,[...Q,...$],B,J);return DJ(A,B,X)}function Sk5(A,Q,B,J){return DJ(A,B,YO(A.not,Q,B,J))}function kk5(A,Q,B,J){if(!a5(J))return DJ(A,B,J);let $=yU(A),Y={...J};for(let G of $){if(!Y5(Y,G))continue;if(qB(Y[G])&&(!QL(A.properties[G])||KB.IsExactOptionalProperty(Y,G)))continue;Y[G]=YO(A.properties[G],Q,`${B}/${G}`,Y[G])}if(!EB(A.additionalProperties))return DJ(A,B,Y);let X=Object.getOwnPropertyNames(Y),W=A.additionalProperties,Z={...Y};for(let G of X)if(!$.includes(G))Z[G]=DJ(W,`${B}/${G}`,Z[G]);return DJ(A,B,Z)}function bk5(A,Q,B,J){if(!a5(J))return DJ(A,B,J);let $=Object.getOwnPropertyNames(A.patternProperties)[0],Y=new RegExp($),X={...J};for(let U of Object.getOwnPropertyNames(J))if(Y.test(U))X[U]=YO(A.patternProperties[$],Q,`${B}/${U}`,X[U]);if(!EB(A.additionalProperties))return DJ(A,B,X);let W=Object.getOwnPropertyNames(X),Z=A.additionalProperties,G={...X};for(let U of W)if(!Y.test(U))G[U]=DJ(Z,`${B}/${U}`,G[U]);return DJ(A,B,G)}function xk5(A,Q,B,J){let $=g3(A,Q);return DJ(A,B,YO($,Q,B,J))}function vk5(A,Q,B,J){let $=g3(A,Q);return DJ(A,B,YO($,Q,B,J))}function yk5(A,Q,B,J){return n4(J)&&n4(A.items)?DJ(A,B,A.items.map(($,Y)=>YO($,Q,`${B}/${Y}`,J[Y]))):DJ(A,B,J)}function fk5(A,Q,B,J){for(let $ of A.anyOf){if(!_8($,Q,J))continue;let Y=YO($,Q,B,J);return DJ(A,B,Y)}return DJ(A,B,J)}function YO(A,Q,B,J){let $=kW(A,Q),Y=A;switch(A[E2]){case"Array":return jk5(Y,$,B,J);case"Import":return Pk5(Y,$,B,J);case"Intersect":return Tk5(Y,$,B,J);case"Not":return Sk5(Y,$,B,J);case"Object":return kk5(Y,$,B,J);case"Record":return bk5(Y,$,B,J);case"Ref":return xk5(Y,$,B,J);case"Symbol":return DJ(Y,B,J);case"This":return vk5(Y,$,B,J);case"Tuple":return yk5(Y,$,B,J);case"Union":return fk5(Y,$,B,J);default:return DJ(Y,B,J)}}function e01(A,Q,B){return YO(A,Q,"",B)}var dU1,BR2;var JR2=C(()=>{Y71();u6();oB();RD();u_();oV();kY();q8();dU1=class dU1 extends m4{constructor(A,Q,B){super("Unable to decode value as it does not match the expected schema");this.schema=A,this.value=Q,this.error=B}};BR2=class BR2 extends m4{constructor(A,Q,B,J){super(J instanceof Error?J.message:"Unknown error");this.schema=A,this.path=Q,this.value=B,this.error=J}}});function pZ(A,Q,B){try{return n3(A)?A[LB].Encode(B):B}catch(J){throw new $R2(A,Q,B,J)}}function gk5(A,Q,B,J){let $=pZ(A,B,J);return n4($)?$.map((Y,X)=>XO(A.items,Q,`${B}/${X}`,Y)):$}function hk5(A,Q,B,J){let $=globalThis.Object.values(A.$defs),Y=A.$defs[A.$ref],X=pZ(A,B,J);return XO(Y,[...Q,...$],B,X)}function mk5(A,Q,B,J){let $=pZ(A,B,J);if(!a5(J)||UV(J))return $;let Y=C71(A),X=Y.map((z)=>z[0]),W={...$};for(let[z,K]of Y)if(z in W)W[z]=XO(K,Q,`${B}/${z}`,W[z]);if(!n3(A.unevaluatedProperties))return W;let Z=Object.getOwnPropertyNames(W),G=A.unevaluatedProperties,U={...W};for(let z of Z)if(!X.includes(z))U[z]=pZ(G,`${B}/${z}`,U[z]);return U}function uk5(A,Q,B,J){return pZ(A.not,B,pZ(A,B,J))}function pk5(A,Q,B,J){let $=pZ(A,B,J);if(!a5($))return $;let Y=yU(A),X={...$};for(let U of Y){if(!Y5(X,U))continue;if(qB(X[U])&&(!QL(A.properties[U])||KB.IsExactOptionalProperty(X,U)))continue;X[U]=XO(A.properties[U],Q,`${B}/${U}`,X[U])}if(!EB(A.additionalProperties))return X;let W=Object.getOwnPropertyNames(X),Z=A.additionalProperties,G={...X};for(let U of W)if(!Y.includes(U))G[U]=pZ(Z,`${B}/${U}`,G[U]);return G}function dk5(A,Q,B,J){let $=pZ(A,B,J);if(!a5(J))return $;let Y=Object.getOwnPropertyNames(A.patternProperties)[0],X=new RegExp(Y),W={...$};for(let z of Object.getOwnPropertyNames(J))if(X.test(z))W[z]=XO(A.patternProperties[Y],Q,`${B}/${z}`,W[z]);if(!EB(A.additionalProperties))return W;let Z=Object.getOwnPropertyNames(W),G=A.additionalProperties,U={...W};for(let z of Z)if(!X.test(z))U[z]=pZ(G,`${B}/${z}`,U[z]);return U}function ck5(A,Q,B,J){let $=g3(A,Q),Y=XO($,Q,B,J);return pZ(A,B,Y)}function lk5(A,Q,B,J){let $=g3(A,Q),Y=XO($,Q,B,J);return pZ(A,B,Y)}function ik5(A,Q,B,J){let $=pZ(A,B,J);return n4(A.items)?A.items.map((Y,X)=>XO(Y,Q,`${B}/${X}`,$[X])):[]}function nk5(A,Q,B,J){for(let $ of A.anyOf){if(!_8($,Q,J))continue;let Y=XO($,Q,B,J);return pZ(A,B,Y)}for(let $ of A.anyOf){let Y=XO($,Q,B,J);if(!_8(A,Q,Y))continue;return pZ(A,B,Y)}return pZ(A,B,J)}function XO(A,Q,B,J){let $=kW(A,Q),Y=A;switch(A[E2]){case"Array":return gk5(Y,$,B,J);case"Import":return hk5(Y,$,B,J);case"Intersect":return mk5(Y,$,B,J);case"Not":return uk5(Y,$,B,J);case"Object":return pk5(Y,$,B,J);case"Record":return dk5(Y,$,B,J);case"Ref":return ck5(Y,$,B,J);case"This":return lk5(Y,$,B,J);case"Tuple":return ik5(Y,$,B,J);case"Union":return nk5(Y,$,B,J);default:return pZ(Y,B,J)}}function AA1(A,Q,B){return XO(A,Q,"",B)}var cU1,$R2;var YR2=C(()=>{Y71();u6();oB();RD();u_();oV();kY();q8();cU1=class cU1 extends m4{constructor(A,Q,B){super("The encoded value does not match the expected schema");this.schema=A,this.value=Q,this.error=B}};$R2=class $R2 extends m4{constructor(A,Q,B,J){super(`${J instanceof Error?J.message:"Unknown error"}`);this.schema=A,this.path=Q,this.value=B,this.error=J}}});function ak5(A,Q){return n3(A)||uX(A.items,Q)}function ok5(A,Q){return n3(A)||uX(A.items,Q)}function rk5(A,Q){return n3(A)||uX(A.returns,Q)||A.parameters.some((B)=>uX(B,Q))}function sk5(A,Q){return n3(A)||uX(A.returns,Q)||A.parameters.some((B)=>uX(B,Q))}function tk5(A,Q){return n3(A)||n3(A.unevaluatedProperties)||A.allOf.some((B)=>uX(B,Q))}function ek5(A,Q){let B=globalThis.Object.getOwnPropertyNames(A.$defs).reduce(($,Y)=>[...$,A.$defs[Y]],[]),J=A.$defs[A.$ref];return n3(A)||uX(J,[...B,...Q])}function Ab5(A,Q){return n3(A)||uX(A.items,Q)}function Qb5(A,Q){return n3(A)||uX(A.not,Q)}function Bb5(A,Q){return n3(A)||Object.values(A.properties).some((B)=>uX(B,Q))||EB(A.additionalProperties)&&uX(A.additionalProperties,Q)}function Jb5(A,Q){return n3(A)||uX(A.item,Q)}function $b5(A,Q){let B=Object.getOwnPropertyNames(A.patternProperties)[0],J=A.patternProperties[B];return n3(A)||uX(J,Q)||EB(A.additionalProperties)&&n3(A.additionalProperties)}function Yb5(A,Q){if(n3(A))return!0;return uX(g3(A,Q),Q)}function Xb5(A,Q){if(n3(A))return!0;return uX(g3(A,Q),Q)}function Wb5(A,Q){return n3(A)||!qB(A.items)&&A.items.some((B)=>uX(B,Q))}function Zb5(A,Q){return n3(A)||A.anyOf.some((B)=>uX(B,Q))}function uX(A,Q){let B=kW(A,Q),J=A;if(A.$id&&NP0.has(A.$id))return!1;if(A.$id)NP0.add(A.$id);switch(A[E2]){case"Array":return ak5(J,B);case"AsyncIterator":return ok5(J,B);case"Constructor":return rk5(J,B);case"Function":return sk5(J,B);case"Import":return ek5(J,B);case"Intersect":return tk5(J,B);case"Iterator":return Ab5(J,B);case"Not":return Qb5(J,B);case"Object":return Bb5(J,B);case"Promise":return Jb5(J,B);case"Record":return $b5(J,B);case"Ref":return Yb5(J,B);case"This":return Xb5(J,B);case"Tuple":return Wb5(J,B);case"Union":return Zb5(J,B);default:return n3(A)}}function WT(A,Q){return NP0.clear(),uX(A,Q)}var NP0;var XR2=C(()=>{u_();u6();q8();kY();NP0=new Set});var QA1=C(()=>{JR2();YR2();XR2()});function Gb5(A){switch(A.errorType){case S2.ArrayContains:return"Expected array to contain at least one matching value";case S2.ArrayMaxContains:return`Expected array to contain no more than ${A.schema.maxContains} matching values`;case S2.ArrayMinContains:return`Expected array to contain at least ${A.schema.minContains} matching values`;case S2.ArrayMaxItems:return`Expected array length to be less or equal to ${A.schema.maxItems}`;case S2.ArrayMinItems:return`Expected array length to be greater or equal to ${A.schema.minItems}`;case S2.ArrayUniqueItems:return"Expected array elements to be unique";case S2.Array:return"Expected array";case S2.AsyncIterator:return"Expected AsyncIterator";case S2.BigIntExclusiveMaximum:return`Expected bigint to be less than ${A.schema.exclusiveMaximum}`;case S2.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${A.schema.exclusiveMinimum}`;case S2.BigIntMaximum:return`Expected bigint to be less or equal to ${A.schema.maximum}`;case S2.BigIntMinimum:return`Expected bigint to be greater or equal to ${A.schema.minimum}`;case S2.BigIntMultipleOf:return`Expected bigint to be a multiple of ${A.schema.multipleOf}`;case S2.BigInt:return"Expected bigint";case S2.Boolean:return"Expected boolean";case S2.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${A.schema.exclusiveMinimumTimestamp}`;case S2.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${A.schema.exclusiveMaximumTimestamp}`;case S2.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${A.schema.minimumTimestamp}`;case S2.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${A.schema.maximumTimestamp}`;case S2.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${A.schema.multipleOfTimestamp}`;case S2.Date:return"Expected Date";case S2.Function:return"Expected function";case S2.IntegerExclusiveMaximum:return`Expected integer to be less than ${A.schema.exclusiveMaximum}`;case S2.IntegerExclusiveMinimum:return`Expected integer to be greater than ${A.schema.exclusiveMinimum}`;case S2.IntegerMaximum:return`Expected integer to be less or equal to ${A.schema.maximum}`;case S2.IntegerMinimum:return`Expected integer to be greater or equal to ${A.schema.minimum}`;case S2.IntegerMultipleOf:return`Expected integer to be a multiple of ${A.schema.multipleOf}`;case S2.Integer:return"Expected integer";case S2.IntersectUnevaluatedProperties:return"Unexpected property";case S2.Intersect:return"Expected all values to match";case S2.Iterator:return"Expected Iterator";case S2.Literal:return`Expected ${typeof A.schema.const==="string"?`'${A.schema.const}'`:A.schema.const}`;case S2.Never:return"Never";case S2.Not:return"Value should not match";case S2.Null:return"Expected null";case S2.NumberExclusiveMaximum:return`Expected number to be less than ${A.schema.exclusiveMaximum}`;case S2.NumberExclusiveMinimum:return`Expected number to be greater than ${A.schema.exclusiveMinimum}`;case S2.NumberMaximum:return`Expected number to be less or equal to ${A.schema.maximum}`;case S2.NumberMinimum:return`Expected number to be greater or equal to ${A.schema.minimum}`;case S2.NumberMultipleOf:return`Expected number to be a multiple of ${A.schema.multipleOf}`;case S2.Number:return"Expected number";case S2.Object:return"Expected object";case S2.ObjectAdditionalProperties:return"Unexpected property";case S2.ObjectMaxProperties:return`Expected object to have no more than ${A.schema.maxProperties} properties`;case S2.ObjectMinProperties:return`Expected object to have at least ${A.schema.minProperties} properties`;case S2.ObjectRequiredProperty:return"Expected required property";case S2.Promise:return"Expected Promise";case S2.RegExp:return"Expected string to match regular expression";case S2.StringFormatUnknown:return`Unknown format '${A.schema.format}'`;case S2.StringFormat:return`Expected string to match '${A.schema.format}' format`;case S2.StringMaxLength:return`Expected string length less or equal to ${A.schema.maxLength}`;case S2.StringMinLength:return`Expected string length greater or equal to ${A.schema.minLength}`;case S2.StringPattern:return`Expected string to match '${A.schema.pattern}'`;case S2.String:return"Expected string";case S2.Symbol:return"Expected symbol";case S2.TupleLength:return`Expected tuple to have ${A.schema.maxItems||0} elements`;case S2.Tuple:return"Expected tuple";case S2.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${A.schema.maxByteLength}`;case S2.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${A.schema.minByteLength}`;case S2.Uint8Array:return"Expected Uint8Array";case S2.Undefined:return"Expected undefined";case S2.Union:return"Expected union value";case S2.Void:return"Expected void";case S2.Kind:return`Expected kind '${A.schema[E2]}'`;default:return"Unknown error type"}}function WR2(){return Ub5}var Ub5;var OP0=C(()=>{u6();qP0();Ub5=Gb5});function ZT(A){return A.replace(/~/g,"~0").replace(/\//g,"~1")}function W3(A){return A!==void 0}function w6(A,Q,B,J,$=[]){return{type:A,schema:Q,path:B,value:J,message:WR2()({errorType:A,path:B,schema:Q,value:J,errors:$}),errors:$}}function*zb5(A,Q,B,J){}function*Kb5(A,Q,B,J){}function*Hb5(A,Q,B,J){if(!n4(J))return yield w6(S2.Array,A,B,J);if(W3(A.minItems)&&!(J.length>=A.minItems))yield w6(S2.ArrayMinItems,A,B,J);if(W3(A.maxItems)&&!(J.length<=A.maxItems))yield w6(S2.ArrayMaxItems,A,B,J);for(let X=0;X<J.length;X++)yield*xW(A.items,Q,`${B}/${X}`,J[X]);if(A.uniqueItems===!0&&!function(){let X=new Set;for(let W of J){let Z=Av(W);if(X.has(Z))return!1;else X.add(Z)}return!0}())yield w6(S2.ArrayUniqueItems,A,B,J);if(!(W3(A.contains)||W3(A.minContains)||W3(A.maxContains)))return;let $=W3(A.contains)?A.contains:o5(),Y=J.reduce((X,W,Z)=>xW($,Q,`${B}${Z}`,W).next().done===!0?X+1:X,0);if(Y===0)yield w6(S2.ArrayContains,A,B,J);if(q4(A.minContains)&&Y<A.minContains)yield w6(S2.ArrayMinContains,A,B,J);if(q4(A.maxContains)&&Y>A.maxContains)yield w6(S2.ArrayMaxContains,A,B,J)}function*Vb5(A,Q,B,J){if(!YE1(J))yield w6(S2.AsyncIterator,A,B,J)}function*wb5(A,Q,B,J){if(!FZ(J))return yield w6(S2.BigInt,A,B,J);if(W3(A.exclusiveMaximum)&&!(J<A.exclusiveMaximum))yield w6(S2.BigIntExclusiveMaximum,A,B,J);if(W3(A.exclusiveMinimum)&&!(J>A.exclusiveMinimum))yield w6(S2.BigIntExclusiveMinimum,A,B,J);if(W3(A.maximum)&&!(J<=A.maximum))yield w6(S2.BigIntMaximum,A,B,J);if(W3(A.minimum)&&!(J>=A.minimum))yield w6(S2.BigIntMinimum,A,B,J);if(W3(A.multipleOf)&&J%A.multipleOf!==BigInt(0))yield w6(S2.BigIntMultipleOf,A,B,J)}function*Db5(A,Q,B,J){if(!tq(J))yield w6(S2.Boolean,A,B,J)}function*_b5(A,Q,B,J){yield*xW(A.returns,Q,B,J.prototype)}function*Fb5(A,Q,B,J){if(!jU(J))return yield w6(S2.Date,A,B,J);if(W3(A.exclusiveMaximumTimestamp)&&!(J.getTime()<A.exclusiveMaximumTimestamp))yield w6(S2.DateExclusiveMaximumTimestamp,A,B,J);if(W3(A.exclusiveMinimumTimestamp)&&!(J.getTime()>A.exclusiveMinimumTimestamp))yield w6(S2.DateExclusiveMinimumTimestamp,A,B,J);if(W3(A.maximumTimestamp)&&!(J.getTime()<=A.maximumTimestamp))yield w6(S2.DateMaximumTimestamp,A,B,J);if(W3(A.minimumTimestamp)&&!(J.getTime()>=A.minimumTimestamp))yield w6(S2.DateMinimumTimestamp,A,B,J);if(W3(A.multipleOfTimestamp)&&J.getTime()%A.multipleOfTimestamp!==0)yield w6(S2.DateMultipleOfTimestamp,A,B,J)}function*Mb5(A,Q,B,J){if(!Xk(J))yield w6(S2.Function,A,B,J)}function*Nb5(A,Q,B,J){let $=globalThis.Object.values(A.$defs),Y=A.$defs[A.$ref];yield*xW(Y,[...Q,...$],B,J)}function*Ob5(A,Q,B,J){if(!ZE1(J))return yield w6(S2.Integer,A,B,J);if(W3(A.exclusiveMaximum)&&!(J<A.exclusiveMaximum))yield w6(S2.IntegerExclusiveMaximum,A,B,J);if(W3(A.exclusiveMinimum)&&!(J>A.exclusiveMinimum))yield w6(S2.IntegerExclusiveMinimum,A,B,J);if(W3(A.maximum)&&!(J<=A.maximum))yield w6(S2.IntegerMaximum,A,B,J);if(W3(A.minimum)&&!(J>=A.minimum))yield w6(S2.IntegerMinimum,A,B,J);if(W3(A.multipleOf)&&J%A.multipleOf!==0)yield w6(S2.IntegerMultipleOf,A,B,J)}function*qb5(A,Q,B,J){let $=!1;for(let Y of A.allOf)for(let X of xW(Y,Q,B,J))$=!0,yield X;if($)return yield w6(S2.Intersect,A,B,J);if(A.unevaluatedProperties===!1){let Y=new RegExp(JL(A));for(let X of Object.getOwnPropertyNames(J))if(!Y.test(X))yield w6(S2.IntersectUnevaluatedProperties,A,`${B}/${X}`,J)}if(typeof A.unevaluatedProperties==="object"){let Y=new RegExp(JL(A));for(let X of Object.getOwnPropertyNames(J))if(!Y.test(X)){let W=xW(A.unevaluatedProperties,Q,`${B}/${X}`,J[X]).next();if(!W.done)yield W.value}}}function*Lb5(A,Q,B,J){if(!XE1(J))yield w6(S2.Iterator,A,B,J)}function*Eb5(A,Q,B,J){if(J!==A.const)yield w6(S2.Literal,A,B,J)}function*Cb5(A,Q,B,J){yield w6(S2.Never,A,B,J)}function*Ib5(A,Q,B,J){if(xW(A.not,Q,B,J).next().done===!0)yield w6(S2.Not,A,B,J)}function*Rb5(A,Q,B,J){if(!AR(J))yield w6(S2.Null,A,B,J)}function*jb5(A,Q,B,J){if(!KB.IsNumberLike(J))return yield w6(S2.Number,A,B,J);if(W3(A.exclusiveMaximum)&&!(J<A.exclusiveMaximum))yield w6(S2.NumberExclusiveMaximum,A,B,J);if(W3(A.exclusiveMinimum)&&!(J>A.exclusiveMinimum))yield w6(S2.NumberExclusiveMinimum,A,B,J);if(W3(A.maximum)&&!(J<=A.maximum))yield w6(S2.NumberMaximum,A,B,J);if(W3(A.minimum)&&!(J>=A.minimum))yield w6(S2.NumberMinimum,A,B,J);if(W3(A.multipleOf)&&J%A.multipleOf!==0)yield w6(S2.NumberMultipleOf,A,B,J)}function*Tb5(A,Q,B,J){if(!KB.IsObjectLike(J))return yield w6(S2.Object,A,B,J);if(W3(A.minProperties)&&!(Object.getOwnPropertyNames(J).length>=A.minProperties))yield w6(S2.ObjectMinProperties,A,B,J);if(W3(A.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=A.maxProperties))yield w6(S2.ObjectMaxProperties,A,B,J);let $=Array.isArray(A.required)?A.required:[],Y=Object.getOwnPropertyNames(A.properties),X=Object.getOwnPropertyNames(J);for(let W of $){if(X.includes(W))continue;yield w6(S2.ObjectRequiredProperty,A.properties[W],`${B}/${ZT(W)}`,void 0)}if(A.additionalProperties===!1){for(let W of X)if(!Y.includes(W))yield w6(S2.ObjectAdditionalProperties,A,`${B}/${ZT(W)}`,J[W])}if(typeof A.additionalProperties==="object")for(let W of X){if(Y.includes(W))continue;yield*xW(A.additionalProperties,Q,`${B}/${ZT(W)}`,J[W])}for(let W of Y){let Z=A.properties[W];if(A.required&&A.required.includes(W)){if(yield*xW(Z,Q,`${B}/${ZT(W)}`,J[W]),$L(A)&&!(W in J))yield w6(S2.ObjectRequiredProperty,Z,`${B}/${ZT(W)}`,void 0)}else if(KB.IsExactOptionalProperty(J,W))yield*xW(Z,Q,`${B}/${ZT(W)}`,J[W])}}function*Pb5(A,Q,B,J){if(!WE1(J))yield w6(S2.Promise,A,B,J)}function*Sb5(A,Q,B,J){if(!KB.IsRecordLike(J))return yield w6(S2.Object,A,B,J);if(W3(A.minProperties)&&!(Object.getOwnPropertyNames(J).length>=A.minProperties))yield w6(S2.ObjectMinProperties,A,B,J);if(W3(A.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=A.maxProperties))yield w6(S2.ObjectMaxProperties,A,B,J);let[$,Y]=Object.entries(A.patternProperties)[0],X=new RegExp($);for(let[W,Z]of Object.entries(J))if(X.test(W))yield*xW(Y,Q,`${B}/${ZT(W)}`,Z);if(typeof A.additionalProperties==="object"){for(let[W,Z]of Object.entries(J))if(!X.test(W))yield*xW(A.additionalProperties,Q,`${B}/${ZT(W)}`,Z)}if(A.additionalProperties===!1)for(let[W,Z]of Object.entries(J)){if(X.test(W))continue;return yield w6(S2.ObjectAdditionalProperties,A,`${B}/${ZT(W)}`,Z)}}function*kb5(A,Q,B,J){yield*xW(g3(A,Q),Q,B,J)}function*bb5(A,Q,B,J){if(!k3(J))return yield w6(S2.String,A,B,J);if(W3(A.minLength)&&!(J.length>=A.minLength))yield w6(S2.StringMinLength,A,B,J);if(W3(A.maxLength)&&!(J.length<=A.maxLength))yield w6(S2.StringMaxLength,A,B,J);if(!new RegExp(A.source,A.flags).test(J))return yield w6(S2.RegExp,A,B,J)}function*xb5(A,Q,B,J){if(!k3(J))return yield w6(S2.String,A,B,J);if(W3(A.minLength)&&!(J.length>=A.minLength))yield w6(S2.StringMinLength,A,B,J);if(W3(A.maxLength)&&!(J.length<=A.maxLength))yield w6(S2.StringMaxLength,A,B,J);if(k3(A.pattern)){if(!new RegExp(A.pattern).test(J))yield w6(S2.StringPattern,A,B,J)}if(k3(A.format)){if(!RG.Has(A.format))yield w6(S2.StringFormatUnknown,A,B,J);else if(!RG.Get(A.format)(J))yield w6(S2.StringFormat,A,B,J)}}function*vb5(A,Q,B,J){if(!QR(J))yield w6(S2.Symbol,A,B,J)}function*yb5(A,Q,B,J){if(!k3(J))return yield w6(S2.String,A,B,J);if(!new RegExp(A.pattern).test(J))yield w6(S2.StringPattern,A,B,J)}function*fb5(A,Q,B,J){yield*xW(g3(A,Q),Q,B,J)}function*gb5(A,Q,B,J){if(!n4(J))return yield w6(S2.Tuple,A,B,J);if(A.items===void 0&&J.length!==0)return yield w6(S2.TupleLength,A,B,J);if(J.length!==A.maxItems)return yield w6(S2.TupleLength,A,B,J);if(!A.items)return;for(let $=0;$<A.items.length;$++)yield*xW(A.items[$],Q,`${B}/${$}`,J[$])}function*hb5(A,Q,B,J){if(!qB(J))yield w6(S2.Undefined,A,B,J)}function*mb5(A,Q,B,J){if(_8(A,Q,J))return;let $=A.anyOf.map((Y)=>new Ed(xW(Y,Q,B,J)));yield w6(S2.Union,A,B,J,$)}function*ub5(A,Q,B,J){if(!vo(J))return yield w6(S2.Uint8Array,A,B,J);if(W3(A.maxByteLength)&&!(J.length<=A.maxByteLength))yield w6(S2.Uint8ArrayMaxByteLength,A,B,J);if(W3(A.minByteLength)&&!(J.length>=A.minByteLength))yield w6(S2.Uint8ArrayMinByteLength,A,B,J)}function*pb5(A,Q,B,J){}function*db5(A,Q,B,J){if(!KB.IsVoidLike(J))yield w6(S2.Void,A,B,J)}function*cb5(A,Q,B,J){if(!bY.Get(A[E2])(A,J))yield w6(S2.Kind,A,B,J)}function*xW(A,Q,B,J){let $=W3(A.$id)?[...Q,A]:Q,Y=A;switch(Y[E2]){case"Any":return yield*zb5(Y,$,B,J);case"Argument":return yield*Kb5(Y,$,B,J);case"Array":return yield*Hb5(Y,$,B,J);case"AsyncIterator":return yield*Vb5(Y,$,B,J);case"BigInt":return yield*wb5(Y,$,B,J);case"Boolean":return yield*Db5(Y,$,B,J);case"Constructor":return yield*_b5(Y,$,B,J);case"Date":return yield*Fb5(Y,$,B,J);case"Function":return yield*Mb5(Y,$,B,J);case"Import":return yield*Nb5(Y,$,B,J);case"Integer":return yield*Ob5(Y,$,B,J);case"Intersect":return yield*qb5(Y,$,B,J);case"Iterator":return yield*Lb5(Y,$,B,J);case"Literal":return yield*Eb5(Y,$,B,J);case"Never":return yield*Cb5(Y,$,B,J);case"Not":return yield*Ib5(Y,$,B,J);case"Null":return yield*Rb5(Y,$,B,J);case"Number":return yield*jb5(Y,$,B,J);case"Object":return yield*Tb5(Y,$,B,J);case"Promise":return yield*Pb5(Y,$,B,J);case"Record":return yield*Sb5(Y,$,B,J);case"Ref":return yield*kb5(Y,$,B,J);case"RegExp":return yield*bb5(Y,$,B,J);case"String":return yield*xb5(Y,$,B,J);case"Symbol":return yield*vb5(Y,$,B,J);case"TemplateLiteral":return yield*yb5(Y,$,B,J);case"This":return yield*fb5(Y,$,B,J);case"Tuple":return yield*gb5(Y,$,B,J);case"Undefined":return yield*hb5(Y,$,B,J);case"Union":return yield*mb5(Y,$,B,J);case"Uint8Array":return yield*ub5(Y,$,B,J);case"Unknown":return yield*pb5(Y,$,B,J);case"Void":return yield*db5(Y,$,B,J);default:if(!bY.Has(Y[E2]))throw new ZR2(A);return yield*cb5(Y,$,B,J)}}function FE(...A){let Q=A.length===3?xW(A[0],A[1],"",A[2]):xW(A[0],[],"",A[1]);return new Ed(Q)}var S2,ZR2,Ed;var qP0=C(()=>{sg1();RD();rh();TE1();OP0();oB();u_();t01();oV();u6();WY();kY();(function(A){A[A.ArrayContains=0]="ArrayContains",A[A.ArrayMaxContains=1]="ArrayMaxContains",A[A.ArrayMaxItems=2]="ArrayMaxItems",A[A.ArrayMinContains=3]="ArrayMinContains",A[A.ArrayMinItems=4]="ArrayMinItems",A[A.ArrayUniqueItems=5]="ArrayUniqueItems",A[A.Array=6]="Array",A[A.AsyncIterator=7]="AsyncIterator",A[A.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",A[A.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",A[A.BigIntMaximum=10]="BigIntMaximum",A[A.BigIntMinimum=11]="BigIntMinimum",A[A.BigIntMultipleOf=12]="BigIntMultipleOf",A[A.BigInt=13]="BigInt",A[A.Boolean=14]="Boolean",A[A.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",A[A.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",A[A.DateMaximumTimestamp=17]="DateMaximumTimestamp",A[A.DateMinimumTimestamp=18]="DateMinimumTimestamp",A[A.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",A[A.Date=20]="Date",A[A.Function=21]="Function",A[A.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",A[A.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",A[A.IntegerMaximum=24]="IntegerMaximum",A[A.IntegerMinimum=25]="IntegerMinimum",A[A.IntegerMultipleOf=26]="IntegerMultipleOf",A[A.Integer=27]="Integer",A[A.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",A[A.Intersect=29]="Intersect",A[A.Iterator=30]="Iterator",A[A.Kind=31]="Kind",A[A.Literal=32]="Literal",A[A.Never=33]="Never",A[A.Not=34]="Not",A[A.Null=35]="Null",A[A.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",A[A.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",A[A.NumberMaximum=38]="NumberMaximum",A[A.NumberMinimum=39]="NumberMinimum",A[A.NumberMultipleOf=40]="NumberMultipleOf",A[A.Number=41]="Number",A[A.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",A[A.ObjectMaxProperties=43]="ObjectMaxProperties",A[A.ObjectMinProperties=44]="ObjectMinProperties",A[A.ObjectRequiredProperty=45]="ObjectRequiredProperty",A[A.Object=46]="Object",A[A.Promise=47]="Promise",A[A.RegExp=48]="RegExp",A[A.StringFormatUnknown=49]="StringFormatUnknown",A[A.StringFormat=50]="StringFormat",A[A.StringMaxLength=51]="StringMaxLength",A[A.StringMinLength=52]="StringMinLength",A[A.StringPattern=53]="StringPattern",A[A.String=54]="String",A[A.Symbol=55]="Symbol",A[A.TupleLength=56]="TupleLength",A[A.Tuple=57]="Tuple",A[A.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",A[A.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",A[A.Uint8Array=60]="Uint8Array",A[A.Undefined=61]="Undefined",A[A.Union=62]="Union",A[A.Void=63]="Void"})(S2||(S2={}));ZR2=class ZR2 extends m4{constructor(A){super("Unknown type");this.schema=A}};Ed=class Ed{constructor(A){this.iterator=A}[Symbol.iterator](){return this.iterator}First(){let A=this.iterator.next();return A.done?void 0:A.value}}});var BA1=C(()=>{qP0();OP0()});class GR2{constructor(A,Q,B,J){this.schema=A,this.references=Q,this.checkFunc=B,this.code=J,this.hasTransform=WT(A,Q)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(A){return FE(this.schema,this.references,A)}Check(A){return this.checkFunc(A)}Decode(A){if(!this.checkFunc(A))throw new dU1(this.schema,A,this.Errors(A).First());return this.hasTransform?e01(this.schema,this.references,A):A}Encode(A){let Q=this.hasTransform?AA1(this.schema,this.references,A):A;if(!this.checkFunc(Q))throw new cU1(this.schema,A,this.Errors(A).First());return Q}}var GT,tg1,LP0,EP0,UR2,CP0,Cd,JA1;var zR2=C(()=>{QA1();BA1();sg1();oB();u_();t01();u6();rh();RD();TE1();WY();wR();kY();T40();(function(A){function Q(Y){return Y===36}A.DollarSign=Q;function B(Y){return Y===95}A.IsUnderscore=B;function J(Y){return Y>=65&&Y<=90||Y>=97&&Y<=122}A.IsAlpha=J;function $(Y){return Y>=48&&Y<=57}A.IsNumeric=$})(GT||(GT={}));(function(A){function Q(Y){if(Y.length===0)return!1;return GT.IsNumeric(Y.charCodeAt(0))}function B(Y){if(Q(Y))return!1;for(let X=0;X<Y.length;X++){let W=Y.charCodeAt(X);if(!(GT.IsAlpha(W)||GT.IsNumeric(W)||GT.DollarSign(W)||GT.IsUnderscore(W)))return!1}return!0}function J(Y){return Y.replace(/'/g,"\\'")}function $(Y,X){return B(X)?`${Y}.${X}`:`${Y}['${J(X)}']`}A.Encode=$})(tg1||(tg1={}));(function(A){function Q(B){let J=[];for(let $=0;$<B.length;$++){let Y=B.charCodeAt($);if(GT.IsNumeric(Y)||GT.IsAlpha(Y))J.push(B.charAt($));else J.push(`_${Y}_`)}return J.join("").replace(/__/g,"_")}A.Encode=Q})(LP0||(LP0={}));(function(A){function Q(B){return B.replace(/'/g,"\\'")}A.Escape=Q})(EP0||(EP0={}));UR2=class UR2 extends m4{constructor(A){super("Unknown type");this.schema=A}};CP0=class CP0 extends m4{constructor(A){super("Preflight validation check failed to guard for the given schema");this.schema=A}};(function(A){function Q(X,W,Z){return KB.ExactOptionalPropertyTypes?`('${W}' in ${X} ? ${Z} : true)`:`(${tg1.Encode(X,W)} !== undefined ? ${Z} : true)`}A.IsExactOptionalProperty=Q;function B(X){return!KB.AllowArrayObject?`(typeof ${X} === 'object' && ${X} !== null && !Array.isArray(${X}))`:`(typeof ${X} === 'object' && ${X} !== null)`}A.IsObjectLike=B;function J(X){return!KB.AllowArrayObject?`(typeof ${X} === 'object' && ${X} !== null && !Array.isArray(${X}) && !(${X} instanceof Date) && !(${X} instanceof Uint8Array))`:`(typeof ${X} === 'object' && ${X} !== null && !(${X} instanceof Date) && !(${X} instanceof Uint8Array))`}A.IsRecordLike=J;function $(X){return KB.AllowNaN?`typeof ${X} === 'number'`:`Number.isFinite(${X})`}A.IsNumberLike=$;function Y(X){return KB.AllowNullVoid?`(${X} === undefined || ${X} === null)`:`${X} === undefined`}A.IsVoidLike=Y})(Cd||(Cd={}));(function(A){function Q(W1){return W1[E2]==="Any"||W1[E2]==="Unknown"}function*B(W1,P1,E1){yield"true"}function*J(W1,P1,E1){yield"true"}function*$(W1,P1,E1){yield`Array.isArray(${E1})`;let[t,G1]=[z1("value","any"),z1("acc","number")];if(q4(W1.maxItems))yield`${E1}.length <= ${W1.maxItems}`;if(q4(W1.minItems))yield`${E1}.length >= ${W1.minItems}`;let C1=D1(W1.items,P1,"value");if(yield`((array) => { for(const ${t} of array) if(!(${C1})) { return false }; return true; })(${E1})`,CB(W1.contains)||q4(W1.minContains)||q4(W1.maxContains)){let b1=CB(W1.contains)?W1.contains:o5(),g1=D1(b1,P1,"value"),A1=q4(W1.minContains)?[`(count >= ${W1.minContains})`]:[],u1=q4(W1.maxContains)?[`(count <= ${W1.maxContains})`]:[],M0=`const count = value.reduce((${G1}, ${t}) => ${g1} ? acc + 1 : acc, 0)`,N0=["(count > 0)",...A1,...u1].join(" && ");yield`((${t}) => { ${M0}; return ${N0}})(${E1})`}if(W1.uniqueItems===!0)yield`((${t}) => { const set = new Set(); for(const element of value) { const hashed = hash(element); if(set.has(hashed)) { return false } else { set.add(hashed) } } return true } )(${E1})`}function*Y(W1,P1,E1){yield`(typeof value === 'object' && Symbol.asyncIterator in ${E1})`}function*X(W1,P1,E1){if(yield`(typeof ${E1} === 'bigint')`,FZ(W1.exclusiveMaximum))yield`${E1} < BigInt(${W1.exclusiveMaximum})`;if(FZ(W1.exclusiveMinimum))yield`${E1} > BigInt(${W1.exclusiveMinimum})`;if(FZ(W1.maximum))yield`${E1} <= BigInt(${W1.maximum})`;if(FZ(W1.minimum))yield`${E1} >= BigInt(${W1.minimum})`;if(FZ(W1.multipleOf))yield`(${E1} % BigInt(${W1.multipleOf})) === 0`}function*W(W1,P1,E1){yield`(typeof ${E1} === 'boolean')`}function*Z(W1,P1,E1){yield*d(W1.returns,P1,`${E1}.prototype`)}function*G(W1,P1,E1){if(yield`(${E1} instanceof Date) && Number.isFinite(${E1}.getTime())`,q4(W1.exclusiveMaximumTimestamp))yield`${E1}.getTime() < ${W1.exclusiveMaximumTimestamp}`;if(q4(W1.exclusiveMinimumTimestamp))yield`${E1}.getTime() > ${W1.exclusiveMinimumTimestamp}`;if(q4(W1.maximumTimestamp))yield`${E1}.getTime() <= ${W1.maximumTimestamp}`;if(q4(W1.minimumTimestamp))yield`${E1}.getTime() >= ${W1.minimumTimestamp}`;if(q4(W1.multipleOfTimestamp))yield`(${E1}.getTime() % ${W1.multipleOfTimestamp}) === 0`}function*U(W1,P1,E1){yield`(typeof ${E1} === 'function')`}function*z(W1,P1,E1){let t=globalThis.Object.getOwnPropertyNames(W1.$defs).reduce((G1,C1)=>{return[...G1,W1.$defs[C1]]},[]);yield*d(vU(W1.$ref),[...P1,...t],E1)}function*K(W1,P1,E1){if(yield`Number.isInteger(${E1})`,q4(W1.exclusiveMaximum))yield`${E1} < ${W1.exclusiveMaximum}`;if(q4(W1.exclusiveMinimum))yield`${E1} > ${W1.exclusiveMinimum}`;if(q4(W1.maximum))yield`${E1} <= ${W1.maximum}`;if(q4(W1.minimum))yield`${E1} >= ${W1.minimum}`;if(q4(W1.multipleOf))yield`(${E1} % ${W1.multipleOf}) === 0`}function*H(W1,P1,E1){let t=W1.allOf.map((G1)=>D1(G1,P1,E1)).join(" && ");if(W1.unevaluatedProperties===!1){let G1=s(`${new RegExp(JL(W1))};`),C1=`Object.getOwnPropertyNames(${E1}).every(key => ${G1}.test(key))`;yield`(${t} && ${C1})`}else if(CB(W1.unevaluatedProperties)){let G1=s(`${new RegExp(JL(W1))};`),C1=`Object.getOwnPropertyNames(${E1}).every(key => ${G1}.test(key) || ${D1(W1.unevaluatedProperties,P1,`${E1}[key]`)})`;yield`(${t} && ${C1})`}else yield`(${t})`}function*V(W1,P1,E1){yield`(typeof value === 'object' && Symbol.iterator in ${E1})`}function*w(W1,P1,E1){if(typeof W1.const==="number"||typeof W1.const==="boolean")yield`(${E1} === ${W1.const})`;else yield`(${E1} === '${EP0.Escape(W1.const)}')`}function*D(W1,P1,E1){yield"false"}function*_(W1,P1,E1){yield`(!${D1(W1.not,P1,E1)})`}function*F(W1,P1,E1){yield`(${E1} === null)`}function*M(W1,P1,E1){if(yield Cd.IsNumberLike(E1),q4(W1.exclusiveMaximum))yield`${E1} < ${W1.exclusiveMaximum}`;if(q4(W1.exclusiveMinimum))yield`${E1} > ${W1.exclusiveMinimum}`;if(q4(W1.maximum))yield`${E1} <= ${W1.maximum}`;if(q4(W1.minimum))yield`${E1} >= ${W1.minimum}`;if(q4(W1.multipleOf))yield`(${E1} % ${W1.multipleOf}) === 0`}function*N(W1,P1,E1){if(yield Cd.IsObjectLike(E1),q4(W1.minProperties))yield`Object.getOwnPropertyNames(${E1}).length >= ${W1.minProperties}`;if(q4(W1.maxProperties))yield`Object.getOwnPropertyNames(${E1}).length <= ${W1.maxProperties}`;let t=Object.getOwnPropertyNames(W1.properties);for(let G1 of t){let C1=tg1.Encode(E1,G1),b1=W1.properties[G1];if(W1.required&&W1.required.includes(G1)){if(yield*d(b1,P1,C1),$L(b1)||Q(b1))yield`('${G1}' in ${E1})`}else{let g1=D1(b1,P1,C1);yield Cd.IsExactOptionalProperty(E1,G1,g1)}}if(W1.additionalProperties===!1)if(W1.required&&W1.required.length===t.length)yield`Object.getOwnPropertyNames(${E1}).length === ${t.length}`;else{let G1=`[${t.map((C1)=>`'${C1}'`).join(", ")}]`;yield`Object.getOwnPropertyNames(${E1}).every(key => ${G1}.includes(key))`}if(typeof W1.additionalProperties==="object"){let G1=D1(W1.additionalProperties,P1,`${E1}[key]`),C1=`[${t.map((b1)=>`'${b1}'`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${E1}).every(key => ${C1}.includes(key) || ${G1}))`}}function*O(W1,P1,E1){yield`${E1} instanceof Promise`}function*L(W1,P1,E1){if(yield Cd.IsRecordLike(E1),q4(W1.minProperties))yield`Object.getOwnPropertyNames(${E1}).length >= ${W1.minProperties}`;if(q4(W1.maxProperties))yield`Object.getOwnPropertyNames(${E1}).length <= ${W1.maxProperties}`;let[t,G1]=Object.entries(W1.patternProperties)[0],C1=s(`${new RegExp(t)}`),b1=D1(G1,P1,"value"),g1=CB(W1.additionalProperties)?D1(W1.additionalProperties,P1,E1):W1.additionalProperties===!1?"false":"true",A1=`(${C1}.test(key) ? ${b1} : ${g1})`;yield`(Object.entries(${E1}).every(([key, value]) => ${A1}))`}function*q(W1,P1,E1){let t=g3(W1,P1);if(U1.functions.has(W1.$ref))return yield`${M1(W1.$ref)}(${E1})`;yield*d(t,P1,E1)}function*R(W1,P1,E1){let t=s(`${new RegExp(W1.source,W1.flags)};`);if(yield`(typeof ${E1} === 'string')`,q4(W1.maxLength))yield`${E1}.length <= ${W1.maxLength}`;if(q4(W1.minLength))yield`${E1}.length >= ${W1.minLength}`;yield`${t}.test(${E1})`}function*I(W1,P1,E1){if(yield`(typeof ${E1} === 'string')`,q4(W1.maxLength))yield`${E1}.length <= ${W1.maxLength}`;if(q4(W1.minLength))yield`${E1}.length >= ${W1.minLength}`;if(W1.pattern!==void 0)yield`${s(`${new RegExp(W1.pattern)};`)}.test(${E1})`;if(W1.format!==void 0)yield`format('${W1.format}', ${E1})`}function*x(W1,P1,E1){yield`(typeof ${E1} === 'symbol')`}function*S(W1,P1,E1){yield`(typeof ${E1} === 'string')`,yield`${s(`${new RegExp(W1.pattern)};`)}.test(${E1})`}function*P(W1,P1,E1){yield`${M1(W1.$ref)}(${E1})`}function*y(W1,P1,E1){if(yield`Array.isArray(${E1})`,W1.items===void 0)return yield`${E1}.length === 0`;yield`(${E1}.length === ${W1.maxItems})`;for(let t=0;t<W1.items.length;t++)yield`${D1(W1.items[t],P1,`${E1}[${t}]`)}`}function*g(W1,P1,E1){yield`${E1} === undefined`}function*a(W1,P1,E1){yield`(${W1.anyOf.map((G1)=>D1(G1,P1,E1)).join(" || ")})`}function*Q1(W1,P1,E1){if(yield`${E1} instanceof Uint8Array`,q4(W1.maxByteLength))yield`(${E1}.length <= ${W1.maxByteLength})`;if(q4(W1.minByteLength))yield`(${E1}.length >= ${W1.minByteLength})`}function*e(W1,P1,E1){yield"true"}function*l(W1,P1,E1){yield Cd.IsVoidLike(E1)}function*J1(W1,P1,E1){let t=U1.instances.size;U1.instances.set(t,W1),yield`kind('${W1[E2]}', ${t}, ${E1})`}function*d(W1,P1,E1,t=!0){let G1=k3(W1.$id)?[...P1,W1]:P1,C1=W1;if(t&&k3(W1.$id)){let b1=M1(W1.$id);if(U1.functions.has(b1))return yield`${b1}(${E1})`;else{U1.functions.set(b1,"<deferred>");let g1=V1(b1,W1,P1,"value",!1);return U1.functions.set(b1,g1),yield`${b1}(${E1})`}}switch(C1[E2]){case"Any":return yield*B(C1,G1,E1);case"Argument":return yield*J(C1,G1,E1);case"Array":return yield*$(C1,G1,E1);case"AsyncIterator":return yield*Y(C1,G1,E1);case"BigInt":return yield*X(C1,G1,E1);case"Boolean":return yield*W(C1,G1,E1);case"Constructor":return yield*Z(C1,G1,E1);case"Date":return yield*G(C1,G1,E1);case"Function":return yield*U(C1,G1,E1);case"Import":return yield*z(C1,G1,E1);case"Integer":return yield*K(C1,G1,E1);case"Intersect":return yield*H(C1,G1,E1);case"Iterator":return yield*V(C1,G1,E1);case"Literal":return yield*w(C1,G1,E1);case"Never":return yield*D(C1,G1,E1);case"Not":return yield*_(C1,G1,E1);case"Null":return yield*F(C1,G1,E1);case"Number":return yield*M(C1,G1,E1);case"Object":return yield*N(C1,G1,E1);case"Promise":return yield*O(C1,G1,E1);case"Record":return yield*L(C1,G1,E1);case"Ref":return yield*q(C1,G1,E1);case"RegExp":return yield*R(C1,G1,E1);case"String":return yield*I(C1,G1,E1);case"Symbol":return yield*x(C1,G1,E1);case"TemplateLiteral":return yield*S(C1,G1,E1);case"This":return yield*P(C1,G1,E1);case"Tuple":return yield*y(C1,G1,E1);case"Undefined":return yield*g(C1,G1,E1);case"Union":return yield*a(C1,G1,E1);case"Uint8Array":return yield*Q1(C1,G1,E1);case"Unknown":return yield*e(C1,G1,E1);case"Void":return yield*l(C1,G1,E1);default:if(!bY.Has(C1[E2]))throw new UR2(W1);return yield*J1(C1,G1,E1)}}let U1={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function D1(W1,P1,E1,t=!0){return`(${[...d(W1,P1,E1,t)].join(" && ")})`}function M1(W1){return`check_${LP0.Encode(W1)}`}function s(W1){let P1=`local_${U1.variables.size}`;return U1.variables.set(P1,`const ${P1} = ${W1}`),P1}function V1(W1,P1,E1,t,G1=!0){let[C1,b1]=[`
|
|
632
|
+
`.indexOf(A.charAt(Q))!==-1}var JP0=C(()=>{dg1();UI2()});function zI2(A,Q=[],B=vU1.DEFAULT){let J=null,$=[],Y=[];function X(Z){if(Array.isArray($))$.push(Z);else if(J!==null)$[J]=Z}return lg1(A,{onObjectBegin:()=>{let Z={};X(Z),Y.push($),$=Z,J=null},onObjectProperty:(Z)=>{J=Z},onObjectEnd:()=>{$=Y.pop()},onArrayBegin:()=>{let Z=[];X(Z),Y.push($),$=Z,J=null},onArrayEnd:()=>{$=Y.pop()},onLiteralValue:X,onError:(Z,G,U)=>{Q.push({error:Z,offset:G,length:U})}},B),$[0]}function $P0(A,Q=[],B=vU1.DEFAULT){let J={type:"array",offset:-1,length:-1,children:[],parent:void 0};function $(Z){if(J.type==="property")J.length=Z-J.offset,J=J.parent}function Y(Z){return J.children.push(Z),Z}lg1(A,{onObjectBegin:(Z)=>{J=Y({type:"object",offset:Z,length:-1,parent:J,children:[]})},onObjectProperty:(Z,G,U)=>{J=Y({type:"property",offset:G,length:-1,parent:J,children:[]}),J.children.push({type:"string",value:Z,offset:G,length:U,parent:J})},onObjectEnd:(Z,G)=>{$(Z+G),J.length=Z+G-J.offset,J=J.parent,$(Z+G)},onArrayBegin:(Z,G)=>{J=Y({type:"array",offset:Z,length:-1,parent:J,children:[]})},onArrayEnd:(Z,G)=>{J.length=Z+G-J.offset,J=J.parent,$(Z+G)},onLiteralValue:(Z,G,U)=>{Y({type:$S5(Z),offset:G,length:U,parent:J,value:Z}),$(G+U)},onSeparator:(Z,G,U)=>{if(J.type==="property"){if(Z===":")J.colonOffset=G;else if(Z===",")$(G)}},onError:(Z,G,U)=>{Q.push({error:Z,offset:G,length:U})}},B);let W=J.children[0];if(W)delete W.parent;return W}function cg1(A,Q){if(!A)return;let B=A;for(let J of Q)if(typeof J==="string"){if(B.type!=="object"||!Array.isArray(B.children))return;let $=!1;for(let Y of B.children)if(Array.isArray(Y.children)&&Y.children[0].value===J&&Y.children.length===2){B=Y.children[1],$=!0;break}if(!$)return}else{let $=J;if(B.type!=="array"||$<0||!Array.isArray(B.children)||$>=B.children.length)return;B=B.children[$]}return B}function lg1(A,Q,B=vU1.DEFAULT){let J=bU1(A,!1),$=[],Y=0;function X(g){return g?()=>Y===0&&g(J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter()):()=>!0}function W(g){return g?(a)=>Y===0&&g(a,J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter()):()=>!0}function Z(g){return g?(a)=>Y===0&&g(a,J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter(),()=>$.slice()):()=>!0}function G(g){return g?()=>{if(Y>0)Y++;else if(g(J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter(),()=>$.slice())===!1)Y=1}:()=>!0}function U(g){return g?()=>{if(Y>0)Y--;if(Y===0)g(J.getTokenOffset(),J.getTokenLength(),J.getTokenStartLine(),J.getTokenStartCharacter())}:()=>!0}let z=G(Q.onObjectBegin),K=Z(Q.onObjectProperty),H=U(Q.onObjectEnd),V=G(Q.onArrayBegin),w=U(Q.onArrayEnd),D=Z(Q.onLiteralValue),_=W(Q.onSeparator),F=X(Q.onComment),M=W(Q.onError),N=B&&B.disallowComments,O=B&&B.allowTrailingComma;function L(){while(!0){let g=J.scan();switch(J.getTokenError()){case 4:q(14);break;case 5:q(15);break;case 3:q(13);break;case 1:if(!N)q(11);break;case 2:q(12);break;case 6:q(16);break}switch(g){case 12:case 13:if(N)q(10);else F();break;case 16:q(1);break;case 15:case 14:break;default:return g}}}function q(g,a=[],Q1=[]){if(M(g),a.length+Q1.length>0){let e=J.getToken();while(e!==17){if(a.indexOf(e)!==-1){L();break}else if(Q1.indexOf(e)!==-1)break;e=L()}}}function R(g){let a=J.getTokenValue();if(g)D(a);else K(a),$.push(a);return L(),!0}function I(){switch(J.getToken()){case 11:let g=J.getTokenValue(),a=Number(g);if(isNaN(a))q(2),a=0;D(a);break;case 7:D(null);break;case 8:D(!0);break;case 9:D(!1);break;default:return!1}return L(),!0}function x(){if(J.getToken()!==10)return q(3,[],[2,5]),!1;if(R(!1),J.getToken()===6){if(_(":"),L(),!y())q(4,[],[2,5])}else q(5,[],[2,5]);return $.pop(),!0}function S(){z(),L();let g=!1;while(J.getToken()!==2&&J.getToken()!==17){if(J.getToken()===5){if(!g)q(4,[],[]);if(_(","),L(),J.getToken()===2&&O)break}else if(g)q(6,[],[]);if(!x())q(4,[],[2,5]);g=!0}if(H(),J.getToken()!==2)q(7,[2],[]);else L();return!0}function P(){V(),L();let g=!0,a=!1;while(J.getToken()!==4&&J.getToken()!==17){if(J.getToken()===5){if(!a)q(4,[],[]);if(_(","),L(),J.getToken()===4&&O)break}else if(a)q(6,[],[]);if(g)$.push(0),g=!1;else $[$.length-1]++;if(!y())q(4,[],[4,5]);a=!0}if(w(),!g)$.pop();if(J.getToken()!==4)q(8,[4],[]);else L();return!0}function y(){switch(J.getToken()){case 3:return P();case 1:return S();case 10:return R(!0);default:return I()}}if(L(),J.getToken()===17){if(B.allowEmptyContent)return!0;return q(4,[],[]),!1}if(!y())return q(4,[],[]),!1;if(J.getToken()!==17)q(9,[],[]);return!0}function $S5(A){switch(typeof A){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(!A)return"null";else if(Array.isArray(A))return"array";return"object"}default:return"null"}}var vU1;var YP0=C(()=>{dg1();(function(A){A.DEFAULT={allowTrailingComma:!1}})(vU1||(vU1={}))});function KI2(A,Q,B,J){let $=Q.slice(),X=$P0(A,[]),W=void 0,Z=void 0;while($.length>0)if(Z=$.pop(),W=cg1(X,$),W===void 0&&B!==void 0)if(typeof Z==="string")B={[Z]:B};else B=[B];else break;if(!W){if(B===void 0)throw Error("Can not delete in empty document");return Od(A,{offset:X?X.offset:0,length:X?X.length:0,content:JSON.stringify(B)},J)}else if(W.type==="object"&&typeof Z==="string"&&Array.isArray(W.children)){let G=cg1(W,[Z]);if(G!==void 0)if(B===void 0){if(!G.parent)throw Error("Malformed AST");let U=W.children.indexOf(G.parent),z,K=G.parent.offset+G.parent.length;if(U>0){let H=W.children[U-1];z=H.offset+H.length}else if(z=W.offset+1,W.children.length>1)K=W.children[1].offset;return Od(A,{offset:z,length:K-z,content:""},J)}else return Od(A,{offset:G.offset,length:G.length,content:JSON.stringify(B)},J);else{if(B===void 0)return[];let U=`${JSON.stringify(Z)}: ${JSON.stringify(B)}`,z=J.getInsertionIndex?J.getInsertionIndex(W.children.map((H)=>H.children[0].value)):W.children.length,K;if(z>0){let H=W.children[z-1];K={offset:H.offset+H.length,length:0,content:","+U}}else if(W.children.length===0)K={offset:W.offset+1,length:0,content:U};else K={offset:W.offset+1,length:0,content:U+","};return Od(A,K,J)}}else if(W.type==="array"&&typeof Z==="number"&&Array.isArray(W.children)){let G=Z;if(G===-1){let U=`${JSON.stringify(B)}`,z;if(W.children.length===0)z={offset:W.offset+1,length:0,content:U};else{let K=W.children[W.children.length-1];z={offset:K.offset+K.length,length:0,content:","+U}}return Od(A,z,J)}else if(B===void 0&&W.children.length>=0){let U=Z,z=W.children[U],K;if(W.children.length===1)K={offset:W.offset+1,length:W.length-2,content:""};else if(W.children.length-1===U){let H=W.children[U-1],V=H.offset+H.length,w=W.offset+W.length;K={offset:V,length:w-2-V,content:""}}else K={offset:z.offset,length:W.children[U+1].offset-z.offset,content:""};return Od(A,K,J)}else if(B!==void 0){let U,z=`${JSON.stringify(B)}`;if(!J.isArrayInsertion&&W.children.length>Z){let K=W.children[Z];U={offset:K.offset,length:K.length,content:z}}else if(W.children.length===0||Z===0)U={offset:W.offset+1,length:0,content:W.children.length===0?z:z+","};else{let K=Z>W.children.length?W.children.length:Z,H=W.children[K-1];U={offset:H.offset+H.length,length:0,content:","+z}}return Od(A,U,J)}else throw Error(`Can not ${B===void 0?"remove":J.isArrayInsertion?"insert":"modify"} Array index ${G} as length is not sufficient`)}else throw Error(`Can not add ${typeof Z!=="number"?"index":"property"} to parent of type ${W.type}`)}function Od(A,Q,B){if(!B.formattingOptions)return[Q];let J=ig1(A,Q),$=Q.offset,Y=Q.offset+Q.content.length;if(Q.length===0||Q.content.length===0){while($>0&&!xU1(J,$-1))$--;while(Y<J.length&&!xU1(J,Y))Y++}let X=BP0(J,{offset:$,length:Y-$},{...B.formattingOptions,keepLines:!1});for(let Z=X.length-1;Z>=0;Z--){let G=X[Z];J=ig1(J,G),$=Math.min($,G.offset),Y=Math.max(Y,G.offset+G.length),Y+=G.content.length-G.length}let W=A.length-(J.length-Y)-$;return[{offset:$,length:W,content:J.substring($,Y)}]}function ig1(A,Q){return A.substring(0,Q.offset)+Q.content+A.substring(Q.offset+Q.length)}var HI2=C(()=>{JP0();YP0()});function MI2(A){switch(A){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}function NI2(A,Q,B,J){return KI2(A,Q,B,J)}function OI2(A,Q){let B=Q.slice(0).sort(($,Y)=>{let X=$.offset-Y.offset;if(X===0)return $.length-Y.length;return X}),J=A.length;for(let $=B.length-1;$>=0;$--){let Y=B[$];if(Y.offset+Y.length<=J)A=ig1(A,Y);else throw Error("Overlapping edit");J=Y.offset}return A}var VI2,wI2,_I2,FI2,DI2;var qI2=C(()=>{JP0();HI2();dg1();YP0();(function(A){A[A.None=0]="None",A[A.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",A[A.UnexpectedEndOfString=2]="UnexpectedEndOfString",A[A.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",A[A.InvalidUnicode=4]="InvalidUnicode",A[A.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",A[A.InvalidCharacter=6]="InvalidCharacter"})(VI2||(VI2={}));(function(A){A[A.OpenBraceToken=1]="OpenBraceToken",A[A.CloseBraceToken=2]="CloseBraceToken",A[A.OpenBracketToken=3]="OpenBracketToken",A[A.CloseBracketToken=4]="CloseBracketToken",A[A.CommaToken=5]="CommaToken",A[A.ColonToken=6]="ColonToken",A[A.NullKeyword=7]="NullKeyword",A[A.TrueKeyword=8]="TrueKeyword",A[A.FalseKeyword=9]="FalseKeyword",A[A.StringLiteral=10]="StringLiteral",A[A.NumericLiteral=11]="NumericLiteral",A[A.LineCommentTrivia=12]="LineCommentTrivia",A[A.BlockCommentTrivia=13]="BlockCommentTrivia",A[A.LineBreakTrivia=14]="LineBreakTrivia",A[A.Trivia=15]="Trivia",A[A.Unknown=16]="Unknown",A[A.EOF=17]="EOF"})(wI2||(wI2={}));_I2=zI2,FI2=lg1;(function(A){A[A.InvalidSymbol=1]="InvalidSymbol",A[A.InvalidNumberFormat=2]="InvalidNumberFormat",A[A.PropertyNameExpected=3]="PropertyNameExpected",A[A.ValueExpected=4]="ValueExpected",A[A.ColonExpected=5]="ColonExpected",A[A.CommaExpected=6]="CommaExpected",A[A.CloseBraceExpected=7]="CloseBraceExpected",A[A.CloseBracketExpected=8]="CloseBracketExpected",A[A.EndOfFileExpected=9]="EndOfFileExpected",A[A.InvalidCommentToken=10]="InvalidCommentToken",A[A.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",A[A.UnexpectedEndOfString=12]="UnexpectedEndOfString",A[A.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",A[A.InvalidUnicode=14]="InvalidUnicode",A[A.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",A[A.InvalidCharacter=16]="InvalidCharacter"})(DI2||(DI2={}))});var uZ=C(()=>{hX1();hX1()});var LI2=(A)=>{if(A===null)return"null";if(Array.isArray(A))return"an array";return`a ${typeof A}`},WS5=(A)=>{try{return new RegExp(A),!0}catch{return!1}},ZS5,GS5,US5=(A)=>{let Q=A.issues[0];if(Q===void 0)return"invalid rule.";let B=Q.message.endsWith(".")?Q.message:`${Q.message}.`;if(Q.path.length===0||B.startsWith('"'))return B;return`"${Q.path.join(".")}": ${B}`},zS5='Expected { "toolName": string, "permission": { "type": "allow" | "deny" | "ask-user" } | { "type": "webhook-policy", "webhookUrl": string } | { "type": "script-policy", "script": string }, "eventType"?: "tool-call" | "tool-response", "shellInputRegex"?: string }.',KS5=(A)=>{let Q=A.toolPermissions;if(Q===void 0)return[];if(!Array.isArray(Q))return A.toolPermissions=void 0,[`Ignoring "toolPermissions": expected an array of rules, got ${LI2(Q)}.`];let B=[],J=[];for(let $=0;$<Q.length;$++){let Y=GS5.safeParse(Q[$]);if(Y.success)J.push(Q[$]);else B.push(`Dropping invalid "toolPermissions" rule at index ${$}: ${US5(Y.error)} ${zS5}`)}if(B.length>0)A.toolPermissions=J;return B},HS5=(A)=>{if("queueMode"in A&&!("steeringMode"in A))A.steeringMode=A.queueMode,A.queueMode=void 0;if(!("transport"in A)&&typeof A.websockets==="boolean")A.transport=A.websockets?"websocket":"sse",A.websockets=void 0;if("skills"in A&&typeof A.skills==="object"&&A.skills!==null&&!Array.isArray(A.skills)){let Q=A.skills;if(Q.enableSkillCommands!==void 0&&A.enableSkillCommands===void 0)A.enableSkillCommands=Q.enableSkillCommands;if(Array.isArray(Q.customDirectories)&&Q.customDirectories.length>0)A.skills=Q.customDirectories;else A.skills=void 0}return A},EI2=(A)=>{let Q=HS5(A),B=KS5(Q);return{settings:Q,warnings:B}};var CI2=C(()=>{uZ();ZS5=SA.discriminatedUnion("type",[SA.object({type:SA.enum(["allow","deny","ask-user"])}),SA.object({type:SA.literal("webhook-policy"),webhookUrl:SA.url({error:'"permission.webhookUrl" must be a valid URL for a "webhook-policy".'})}),SA.object({type:SA.literal("script-policy"),script:SA.string({error:'"permission.script" must be a non-empty string for a "script-policy".'}).min(1,{error:'"permission.script" must be a non-empty string for a "script-policy".'})})],{error:'unknown or invalid "permission".'}),GS5=SA.object({toolName:SA.string({error:'"toolName" must be a non-empty string.'}).min(1,{error:'"toolName" must be a non-empty string.'}),permission:ZS5,eventType:SA.enum(["tool-call","tool-response"],{error:'"eventType" must be "tool-call" or "tool-response" when present.'}).optional(),shellInputRegex:SA.string({error:'"shellInputRegex" must be a string when present.'}).refine(WS5,{error:'"shellInputRegex" must be a valid regular expression when present.'}).optional()},{error:(A)=>`rule must be an object, got ${LI2(A.input)}.`})});class c01{settings={};warnings=[];store;constructor(A){this.store=A}drainWarnings(){let A=this.warnings;return this.warnings=[],A}getSettings(){return structuredClone(this.settings)}publish(A){let Q=XP0(A),{settings:B,warnings:J}=EI2(Q);this.warnings.push(...J),this.settings=B}reload(){let A=this.store.read();if(A===void 0||A.trim()===""){this.settings={};return}this.publish(A)}remove(A){let Q={persisted:!1,effectiveChange:!1};return this.store.modify((B)=>{if(B===void 0||B.trim()==="")return;XP0(B);let J=B;for(let $ of A.paths)J=II2(J,$,void 0);if(J===B)return;return this.publish(J),Q={persisted:!0,effectiveChange:!0},J}),Q}update(A){return this.updateAll([A])}updateAll(A){let Q={persisted:!1,effectiveChange:!1};return this.store.modify((B)=>{let J=B===void 0||B.trim()===""?"{}":B;XP0(J);let $=A.reduce((Y,X)=>II2(Y,X.path,X.value),J);if($===J)return;return this.publish($),Q={persisted:!0,effectiveChange:!0},$}),Q}}var VS5=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),wS5=(A)=>{FI2(A,{onObjectProperty:(Q)=>{if(tx.has(Q))throw Error(`Settings document contains reserved key "${Q}".`)}})},XP0=(A)=>{wS5(A);let Q=[],B=_I2(A,Q,{allowTrailingComma:!0});if(Q.length>0){let J=Q.map(($)=>MI2($.error)).join(", ");throw Error(`Failed to parse settings JSON: ${J}`)}if(B===void 0)return{};if(!VS5(B))throw Error("Settings document is not a valid object. Expected a JSON object but found a different type (e.g., array).");return B},DS5,tx,_S5=(A)=>{let Q=typeof A==="string"?A.split("."):[...A],B=typeof A==="string"?A:A.join(".");for(let J of Q){if(J==="")throw Error(`Invalid settings path "${B}": empty segment.`);if(tx.has(J))throw Error(`Invalid settings path "${B}": "${J}" is a reserved key.`)}return Q},II2=(A,Q,B)=>{let J=NI2(A,_S5(Q),B,{formattingOptions:DS5});return OI2(A,J)};var l01=C(()=>{qI2();CI2();DS5={tabSize:2,insertSpaces:!0},tx=new Set(["__proto__","constructor","prototype"])});class i01{locals;vfs;overrides;errors=[];constructor(A,Q={},B={}){this.locals=A,this.overrides=Q,this.vfs=B}drainErrors(){let A=this.errors;return this.errors=[],A}getSettings(){return this.mergeLayers([MS5,NS5,OS5,FS5])}getGlobalSettings(){return this.locals.global.getSettings()}getManagedSettings(){return this.locals.managed.getSettings()}getLocalSettings(){return this.locals.local.getSettings()}getProjectSettings(){return this.locals.project.getSettings()}getVfsUserSettings(){return this.vfs.vfsUser?.getSettings()??{}}getVfsSpaceSettings(){return this.vfs.vfsSpace?.getSettings()??{}}getVfsOrgSettings(){return this.vfs.vfsOrg?.getSettings()??{}}mergeLayers(A){let Q={},B=A.map((J)=>this.locals[J].getSettings());for(let J of B)RI2(Q,J,!0);return RI2(Q,this.overrides),Q}reload(){let A=[...Object.entries(this.locals),...Object.entries(this.vfs)];for(let[Q,B]of A){if(!B)continue;try{B.reload()}catch(J){let $=J instanceof Error?J:Error(String(J));XA.error("settings reload failed",{scope:Q,error:$}),this.errors.push({scope:Q,error:$})}for(let J of B.drainWarnings())this.errors.push({scope:Q,error:Error(J)})}}remove(A,Q){return this.routeWrite(A,(B)=>B.remove(Q))}update(A,Q){return this.routeWrite(A,(B)=>B.update(Q))}updateAll(A,Q){return this.routeWrite(A,(B)=>B.updateAll(Q))}routeWrite(A,Q){if(A==="managed")throw Error('Refusing to write read-only settings scope "managed"');let B=this.getSettings(),J=Q(this.locals[A]);for(let X of this.locals[A].drainWarnings())this.errors.push({scope:A,error:Error(X)});if(!J.persisted)return J;let $=this.getSettings(),Y=JSON.stringify(B)!==JSON.stringify($);return{persisted:J.persisted,effectiveChange:Y}}}var WP0=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),yU1=(A)=>{if(Array.isArray(A))return A.map(yU1);if(WP0(A))return Object.fromEntries(Object.entries(A).filter(([Q])=>!tx.has(Q)).map(([Q,B])=>[Q,yU1(B)]));return structuredClone(A)},RI2=(A,Q,B=!1)=>{for(let[J,$]of Object.entries(Q)){if(tx.has(J)||$===void 0)continue;let Y=A[J];if(B&&J==="toolPermissions"&&Array.isArray($))A[J]=[...yU1($),...Array.isArray(Y)?Y:[]];else if(WP0(Y)&&WP0($))A[J]={...Y,...yU1($)};else A[J]=yU1($)}},FS5="managed",MS5="global",NS5="project",OS5="local";var ng1=C(()=>{v2();l01()});var ZP0=(A,Q)=>{let B=($)=>new c01(new eT0($)),J=new i01({managed:B(A.managedPath),global:B(A.globalPath),project:B(A.projectPath),local:B(A.localPath)},Q,{vfsUser:A.vfsUserPath?B(A.vfsUserPath):void 0,vfsSpace:A.vfsSpacePath?B(A.vfsSpacePath):void 0,vfsOrg:A.vfsOrgPath?B(A.vfsOrgPath):void 0});return J.reload(),J};var GP0=C(()=>{WI2();ng1();l01()});class n01{manager;dynamicOverrides;errors=[];constructor(A){this.manager=A}get settings(){let A=this.manager.getSettings();return this.dynamicOverrides?jI2(A,this.dynamicOverrides):A}update(A,Q,B){if(this.dynamicOverrides=void 0,typeof Q==="object"&&"path"in Q)return this.manager.update(A,Q);try{this.manager.update(A,{path:Q,value:B})}catch(J){let $=J instanceof Error?J:Error(String(J));this.errors.push({scope:A,error:$})}}updateAll(A,Q){return this.dynamicOverrides=void 0,this.manager.updateAll(A,Q)}remove(A,Q){return this.dynamicOverrides=void 0,this.manager.remove(A,Q)}getSettings(){return structuredClone(this.settings)}getGlobalSettings(){return structuredClone(this.manager.getGlobalSettings())}getProjectSettings(){return structuredClone(this.manager.getProjectSettings())}getLocalSettings(){return structuredClone(this.manager.getLocalSettings())}getManagedSettings(){return structuredClone(this.manager.getManagedSettings())}getVfsUserSettings(){return structuredClone(this.manager.getVfsUserSettings())}getVfsSpaceSettings(){return structuredClone(this.manager.getVfsSpaceSettings())}getVfsOrgSettings(){return structuredClone(this.manager.getVfsOrgSettings())}reload(){this.manager.reload(),this.dynamicOverrides=void 0}applyOverrides(A){this.dynamicOverrides=jI2(this.dynamicOverrides??{},A)}flush(){}drainErrors(){let A=[...this.manager.drainErrors(),...this.errors];return this.errors=[],A}getLastChangelogVersion(){return this.settings.lastChangelogVersion}setLastChangelogVersion(A){this.update("global","lastChangelogVersion",A)}getSessionDir(){return this.settings.sessionDir}getWorktreeDir(){return this.settings.worktreeDir}getDefaultProvider(){return this.settings.defaultProvider}getDefaultModel(){return this.settings.defaultModel}setDefaultProvider(A){this.update("global","defaultProvider",A)}setDefaultModel(A){this.update("global","defaultModel",A)}setDefaultModelAndProvider(A,Q){this.dynamicOverrides=void 0;try{this.manager.updateAll("global",[{path:"defaultProvider",value:A},{path:"defaultModel",value:Q}])}catch(B){let J=B instanceof Error?B:Error(String(B));this.errors.push({scope:"global",error:J})}}getSteeringMode(){return this.settings.steeringMode||"one-at-a-time"}setSteeringMode(A){this.update("global","steeringMode",A)}getFollowUpMode(){return this.settings.followUpMode||"one-at-a-time"}setFollowUpMode(A){this.update("global","followUpMode",A)}getTheme(){return this.settings.theme}setTheme(A){this.update("global","theme",A)}getDefaultThinkingLevel(){return this.settings.defaultThinkingLevel}setDefaultThinkingLevel(A){this.update("global","defaultThinkingLevel",A)}getTransport(){return this.settings.transport??"sse"}setTransport(A){this.update("global","transport",A)}getCompactionEnabled(){return this.settings.compaction?.enabled??!0}setCompactionEnabled(A){this.update("global","compaction.enabled",A)}getCompactionReserveTokens(){return this.settings.compaction?.reserveTokens??16384}getCompactionProtectedHeadTokens(){return this.settings.compaction?.protectedHeadTokens??20000}getCompactionKeepRecentTokens(){return this.settings.compaction?.keepRecentTokens??20000}getCompactionSummarizationModel(){return this.settings.compaction?.summarizationModel}getCompactionSettings(){return{enabled:this.getCompactionEnabled(),reserveTokens:this.getCompactionReserveTokens(),protectedHeadTokens:this.getCompactionProtectedHeadTokens(),keepRecentTokens:this.getCompactionKeepRecentTokens(),summarizationModel:this.getCompactionSummarizationModel(),useReserveTrigger:this.settings.compaction?.useReserveTrigger??!1,inputBudgetTriggerRatio:this.settings.compaction?.inputBudgetTriggerRatio,fallbackInputBudgetRatio:this.settings.compaction?.fallbackInputBudgetRatio,maxMessageTokens:this.settings.compaction?.maxMessageTokens}}getBranchSummarySettings(){return{reserveTokens:this.settings.branchSummary?.reserveTokens??16384,skipPrompt:this.settings.branchSummary?.skipPrompt??!1}}getBranchSummarySkipPrompt(){return this.settings.branchSummary?.skipPrompt??!1}getRetryEnabled(){return this.settings.retry?.enabled??!0}setRetryEnabled(A){this.update("global","retry.enabled",A)}getRetrySettings(){return{enabled:this.getRetryEnabled(),maxRetries:this.settings.retry?.maxRetries??3,baseDelayMs:this.settings.retry?.baseDelayMs??2000,maxDelayMs:this.settings.retry?.maxDelayMs??60000}}getHideThinkingBlock(){return this.settings.hideThinkingBlock??!1}setHideThinkingBlock(A){this.update("global","hideThinkingBlock",A)}getCollapsePromptCommands(){return this.settings.collapsePromptCommands??!1}setCollapsePromptCommands(A){this.update("global","collapsePromptCommands",A)}getShellPath(){return this.settings.shellPath}setShellPath(A){this.update("global","shellPath",A)}getQuietStartup(){return this.settings.quietStartup??!1}setQuietStartup(A){this.update("global","quietStartup",A)}getShellCommandPrefix(){return this.settings.shellCommandPrefix}setShellCommandPrefix(A){this.update("global","shellCommandPrefix",A)}getNpmCommand(){return this.settings.npmCommand?[...this.settings.npmCommand]:void 0}setNpmCommand(A){this.update("global","npmCommand",A?[...A]:void 0)}getCollapseChangelog(){return this.settings.collapseChangelog??!1}setCollapseChangelog(A){this.update("global","collapseChangelog",A)}getPackages(){return[...this.settings.packages??[]]}setPackages(A){this.update("global","packages",A)}setProjectPackages(A){this.update("project","packages",A)}setLocalPackages(A){this.update("local","packages",A)}getExtensionPaths(){return[...this.settings.extensions??[]]}setExtensionPaths(A){this.update("global","extensions",A)}setProjectExtensionPaths(A){this.update("project","extensions",A)}setLocalExtensionPaths(A){this.update("local","extensions",A)}getSkillPaths(){return[...this.settings.skills??[]]}setSkillPaths(A){this.update("global","skills",A)}setProjectSkillPaths(A){this.update("project","skills",A)}setLocalSkillPaths(A){this.update("local","skills",A)}getPromptTemplatePaths(){return[...this.settings.prompts??[]]}setPromptTemplatePaths(A){this.update("global","prompts",A)}setProjectPromptTemplatePaths(A){this.update("project","prompts",A)}setLocalPromptTemplatePaths(A){this.update("local","prompts",A)}getThemePaths(){return[...this.settings.themes??[]]}setThemePaths(A){this.update("global","themes",A)}setProjectThemePaths(A){this.update("project","themes",A)}setLocalThemePaths(A){this.update("local","themes",A)}getEnableSkillCommands(){return this.settings.enableSkillCommands??!0}setEnableSkillCommands(A){this.update("global","enableSkillCommands",A)}getEnableHashline(){return this.settings.enableHashline??!1}setEnableHashline(A){this.update("global","enableHashline",A)}getEnabledPlugins(){let A={};for(let[Q,B]of Object.entries(this.settings.enabledPlugins??{}))if(typeof B==="boolean")A[Q]=B;return A}getToolPermissions(){let A=this.settings.toolPermissions;return Array.isArray(A)?structuredClone(A):[]}getToolPermissionScopeRuleSets(){let A=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],Q=[];for(let B of A){let J=B.toolPermissions;if(Array.isArray(J)&&J.length>0)Q.push(structuredClone(J))}return Q}setPluginEnabled(A,Q){this.update("global",["enabledPlugins",A],Q)}getEnableToolSearch(){return this.settings.enableToolSearch??!1}getThinkingBudgets(){return this.settings.thinkingBudgets}getShowImages(){return this.settings.terminal?.showImages??!0}setShowImages(A){this.update("global","terminal.showImages",A)}getClearOnShrink(){if(this.settings.terminal?.clearOnShrink!==void 0)return this.settings.terminal.clearOnShrink;return process.env.PI_CLEAR_ON_SHRINK==="1"}setClearOnShrink(A){this.update("global","terminal.clearOnShrink",A)}getImageAutoResize(){return this.settings.images?.autoResize??!0}setImageAutoResize(A){this.update("global","images.autoResize",A)}getBlockImages(){return this.settings.images?.blockImages??!1}setBlockImages(A){this.update("global","images.blockImages",A)}getEnabledModels(){return this.settings.enabledModels?[...this.settings.enabledModels]:void 0}setEnabledModels(A){this.update("global","enabledModels",A)}getDoubleEscapeAction(){return this.settings.doubleEscapeAction??"tree"}setDoubleEscapeAction(A){this.update("global","doubleEscapeAction",A)}getTreeFilterMode(){let A=this.settings.treeFilterMode;return A&&["default","no-tools","user-only","labeled-only","all"].includes(A)?A:"default"}setTreeFilterMode(A){this.update("global","treeFilterMode",A)}getShowHardwareCursor(){return this.settings.showHardwareCursor??process.env.PI_HARDWARE_CURSOR==="1"}setShowHardwareCursor(A){this.update("global","showHardwareCursor",A)}getEditorPaddingX(){return this.settings.editorPaddingX??0}setEditorPaddingX(A){this.update("global","editorPaddingX",Math.max(0,Math.min(3,Math.floor(A))))}getAutocompleteMaxVisible(){return this.settings.autocompleteMaxVisible??5}setAutocompleteMaxVisible(A){this.update("global","autocompleteMaxVisible",Math.max(3,Math.min(20,Math.floor(A))))}getCodeBlockIndent(){return this.settings.markdown?.codeBlockIndent??" "}getHooks(){return this.settings.hooks}getTelemetrySettings(){return this.settings.telemetry}getEnvInjection(){let A=this.settings.env;if(!A||typeof A!=="object")return{};let Q={};for(let[B,J]of Object.entries(A))if(typeof J==="string")Q[B]=J;return Q}getFeatureFlagOverrides(){return this.settings.featureFlagOverrides}getIndexingDirsUnion(){let A=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],Q=(B)=>{let J=new Set,$=[];for(let Y of A){let X=Y[B];if(!Array.isArray(X))continue;for(let W of X){if(typeof W!=="string"||J.has(W))continue;J.add(W),$.push(W)}}return $};return{allowDirs:Q("indexingAllowDirs"),denyDirs:Q("indexingDenyDirs")}}}var UP0=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),zP0=(A)=>{if(Array.isArray(A))return A.map(zP0);if(!UP0(A))return structuredClone(A);let Q={};for(let[B,J]of Object.entries(A))if(!tx.has(B))Q[B]=zP0(J);return Q},jI2=(A,Q)=>{let B=structuredClone(A);for(let J of Object.keys(Q)){let $=Q[J];if($===void 0||tx.has(J))continue;let Y=B[J],X=zP0($);if(UP0(Y)&&UP0(X))B[J]={...Y,...X};else B[J]=X}return B};var ag1=C(()=>{l01()});var KP0=(A,Q)=>new n01(ZP0(A,Q));var HP0=C(()=>{GP0();ag1()});class og1{content;constructor(A){this.content=A}read(){return this.content}modify(A){let Q=A(this.content);if(Q!==void 0)this.content=Q}}import{homedir as TI2}from"node:os";import{join as qd}from"node:path";var qS5="AUGGIE-V2_CODING_AGENT_DIR",LS5=()=>{let A=process.env[`${qS5}_MANAGED`];if(A){if(A==="~")return qd(TI2(),"settings.json");if(A.startsWith("~/"))return TI2()+A.slice(1);return A}if(process.platform==="win32"){let Q=process.env.ProgramData||"C:\\ProgramData";return qd(Q,"augment","settings.json")}return qd("/etc","augment","settings.json")},VP0=(A)=>A?qd(A,".augment","settings.json"):void 0,O5;var PI2=C(()=>{ng1();l01();HP0();ag1();O5={create(A,Q,B){return KP0({globalPath:qd(Q,"settings.json"),projectPath:qd(A,".augment","settings.json"),localPath:qd(A,".augment","settings.local.json"),managedPath:LS5(),vfsUserPath:VP0(B?.user),vfsSpacePath:VP0(B?.space),vfsOrgPath:VP0(B?.org)})},inMemory(A={}){let Q=(J)=>new c01(new og1(J===void 0?void 0:JSON.stringify(J))),B=new i01({managed:Q(),local:Q(),project:Q(),global:Q(A)});return B.reload(),new n01(B)}}});var mX=C(()=>{HP0();ag1();PI2();GP0();ng1();l01()});var ex;var wP0=C(()=>{ex={name:"@augmentcode/auggie-v2",version:"1.1.0",description:"Auggie CLI Client by Augment Code",type:"module",piConfig:{name:"auggie-v2",configDir:".augment"},bin:{pi:"dist/cli.js"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{source:"./src/index.ts",bun:"./src/index.ts",types:"./dist/index.d.ts",import:"./dist/index.js"},"./hooks":{bun:"./src/core/hooks/index.ts",types:"./dist/core/hooks/index.d.ts",import:"./dist/core/hooks/index.js"}},files:["dist","docs","examples","CHANGELOG.md"],scripts:{"check-types":"npm run bake:export-html && tsgo -p tsconfig.build.json",clean:"shx rm -rf dist",dev:"npm run bake:export-html && bun src/cli.ts","dev:debug":"npm run bake:export-html && bun --inspect-wait=ws://localhost:6499/57uz7t2uyri src/cli.ts","bake:export-html":"node scripts/bake-export-html.mjs",build:"npm run bake:export-html && tsgo -p tsconfig.build.json --noCheck && shx chmod +x dist/cli.js && shx cp src/bun/register-extensions.js dist/bun/register-extensions.js && shx cp src/bun/cloud-bridge.js dist/bun/cloud-bridge.js && shx cp src/bun/cloud-tracer-bridge.js dist/bun/cloud-tracer-bridge.js && shx cp src/bun/cloud-error-bridge.js dist/bun/cloud-error-bridge.js && shx cp src/bun/mcp-error-bridge.js dist/bun/mcp-error-bridge.js && npm run copy-assets","build:npm:release":"bun scripts/build-npm-release.mjs","build:migration-engine":"bun scripts/build-migration-engine.mjs","build:release:sea":"bun scripts/build-sea-release.mjs","build:release:sea:from-onison":"bun scripts/build-sea-from-onison.mjs","build:release-js":"npm run bake:export-html && tsgo -p tsconfig.release.json --noCheck && shx chmod +x dist/cli.js && shx cp src/bun/register-extensions.js dist/bun/register-extensions.js && shx cp src/bun/cloud-bridge.js dist/bun/cloud-bridge.js && shx cp src/bun/cloud-tracer-bridge.js dist/bun/cloud-tracer-bridge.js && shx cp src/bun/cloud-error-bridge.js dist/bun/cloud-error-bridge.js && shx cp src/bun/mcp-error-bridge.js dist/bun/mcp-error-bridge.js && npm run copy-assets","build:npm":"npm run build:release-js && bun build --minify --target=bun dist/cli.js --outfile dist/cli.js && bun build --minify --target=bun dist/index.js --outfile dist/index.js && npm run clean:npm-artifacts","clean:npm-artifacts":"find dist -name '*.js' -not -path 'dist/cli.js' -not -path 'dist/index.js' -not -path 'dist/release/*' -not -path 'dist/core/export-html/*' -delete && find dist -name '*.js.map' -delete","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/","assemble-changelog":"bun scripts/assemble-changelog.ts",test:"npm run bake:export-html && vitest --run","test:acp:e2e":"npm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/acp/","test:e2e:sanity":"npm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/tui/sanity.test.ts","test:e2e:tui":"npm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/tui/","test:e2e:cli":"npm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/cli/",prepublishOnly:"npm run clean && npm run build"},dependencies:{"@agentclientprotocol/sdk":"1.3.0","@augmentcode/api-client":"0.0.13-20260806T062724Z","@earendil-works/pi-agent-core":"workspace:*","@earendil-works/pi-ai":"workspace:*","@earendil-works/pi-indexing":"workspace:*","@earendil-works/pi-tui":"workspace:*","@hermes/ask-user":"workspace:*","@hermes/cloud":"workspace:*","@hermes/daemon":"workspace:*","@hermes/hashline-edit":"workspace:*","@hermes/hooks":"workspace:*","@hermes/logger":"workspace:*","@hermes/lsp":"workspace:*","@hermes/mcp":"workspace:*","@hermes/migration":"workspace:*","@hermes/otel":"workspace:*","@hermes/path-utils":"workspace:*","@hermes/plugins":"workspace:*","@hermes/prompt-enhancer":"workspace:*","@hermes/segment-analytics":"workspace:*","@hermes/settings":"workspace:*","@hermes/shared-types":"workspace:*","@hermes/subagents":"workspace:*","@hermes/tool-permissions":"workspace:*","@mariozechner/jiti":"^2.6.2","@sentry/node":"^10.53.1","@silvia-odwyer/photon-node":"^0.3.4","@sinclair/typebox":"^0.34.41",ajv:"^8.17.1",chalk:"^5.5.0","cli-highlight":"^2.1.11",diff:"^8.0.2","extract-zip":"^2.0.1",fdir:"^6.5.0","file-type":"^21.1.1",glob:"^13.0.1","hosted-git-info":"^9.0.2",ignore:"^7.0.5","jsonc-parser":"3.3.1",marked:"^15.0.12",minimatch:"^10.2.3","proper-lockfile":"^4.1.2","strip-ansi":"^7.1.0",turndown:"^7.2.4",undici:"^7.19.1",yaml:"^2.8.2",zod:"^4.4.3"},overrides:{rimraf:"6.1.2",gaxios:{rimraf:"6.1.2"}},optionalDependencies:{"@mariozechner/clipboard":"^0.3.2"},devDependencies:{"@tintinweb/pi-subagents":"workspace:*","@types/diff":"^7.0.2","@types/hosted-git-info":"^3.0.5","@types/ms":"^2.1.0","@types/node":"^24.3.0","@types/proper-lockfile":"^4.1.4","@types/turndown":"^5.0.5",level:"^10.0.0",shx:"^0.4.0",tsx:"^4.21.0",typescript:"^5.7.3",vitest:"^3.2.4"},keywords:["coding-agent","ai","llm","cli","tui","agent"],author:"Mario Zechner",license:"MIT",repository:{type:"git",url:"git+https://github.com/badlogic/pi-mono.git",directory:"packages/coding-agent"},engines:{node:">=20.6.0"}}});import{existsSync as CS5}from"node:fs";import{homedir as fU1}from"node:os";import{dirname as DP0,join as m_,resolve as SI2}from"node:path";import{fileURLToPath as IS5}from"node:url";function jS5(){let A=`${_P0}\x00${process.execPath||""}`.toLowerCase();if(A.includes("/pnpm/")||A.includes("/.pnpm/")||A.includes("\\pnpm\\"))return"pnpm";if(A.includes("/yarn/")||A.includes("/.yarn/")||A.includes("\\yarn\\"))return"yarn";if(gU1)return"bun";if(A.includes("/npm/")||A.includes("/node_modules/")||A.includes("\\npm\\"))return"npm";return"unknown"}function kI2(A,Q){switch(jS5()){case"pnpm":return`Run: pnpm install -g ${A}`;case"yarn":return`Run: yarn global add ${A}`;case"bun":return`Run: bun install -g ${A}`;case"npm":return`Run: npm install -g ${A}`;default:return`Run: npm install -g ${A}`}}function bI2(){let A=process.env.PI_PACKAGE_DIR;if(A){if(A==="~")return fU1();if(A.startsWith("~/"))return fU1()+A.slice(1);return A}let Q=_P0;while(Q!==DP0(Q)){if(CS5(m_(Q,"package.json")))return Q;Q=DP0(Q)}return _P0}function a01(){return SI2(m_(bI2(),"docs"))}function rg1(){return SI2(m_(bI2(),"CHANGELOG.md"))}function fI2(A){return`${process.env.PI_SHARE_VIEWER_URL||PS5}#${A}`}function gI2(A){if(A==="~")return fU1();if(A.startsWith("~/"))return fU1()+A.slice(1);return A}function XT(){let A=process.env.AUGMENT_CACHE_DIR;if(A)return gI2(A);return m_(fU1(),".augment")}function o6(){let A=process.env[uU1];if(A)return gI2(A);return XT()}function pU1(){return m_(o6(),"themes")}function hI2(){return m_(o6(),"models.json")}function FP0(){return m_(o6(),"auth.json")}function mI2(){return m_(o6(),"settings.json")}function Ld(){return XT()}function o01(){return m_(o6(),"bin")}function uI2(){return m_(o6(),"prompts")}function pI2(){return m_(o6(),hU1)}function dI2(){return m_(o6(),`${V4}-debug.log`)}var RS5,_P0,gU1,V4,$8,hU1="sessions-v2",mU1="auggie",xI2="Auggie Coding Agent",TS5="1.1.0-prerelease.202608110824",wJ,vI2="b8f2079df96513dd611d6af75a0db439a400658e",yI2="2026-08-11T15:24:39Z",uU1,PS5="https://pi.dev/session/";var e3=C(()=>{wP0();RS5=IS5(import.meta.url),_P0=DP0(RS5),gU1=!!process.versions.bun;V4=ex.piConfig?.name||"pi",$8=ex.piConfig?.configDir||".augment",wJ=TS5??ex.version,uU1=`${V4.toUpperCase()}_CODING_AGENT_DIR`});function SS5(A,Q){let B=Q.find((J)=>J.$id===A.$ref);if(B===void 0)throw new cI2(A);return g3(B,Q)}function kW(A,Q){if(!k3(A.$id)||Q.some((B)=>B.$id===A.$id))return Q;return Q.push(A),Q}function g3(A,Q){return A[E2]==="This"||A[E2]==="Ref"?SS5(A,Q):A}var cI2;var lI2=C(()=>{oB();u6();cI2=class cI2 extends m4{constructor(A){super(`Unable to dereference schema with $id '${A.$ref}'`);this.schema=A}}});var u_=C(()=>{lI2()});var nI2,aI2,iI2;var oI2=C(()=>{rh();$B1();u6();oB();nI2=class nI2 extends m4{constructor(A){super(`Duplicate type kind '${A}' detected`)}};aI2=class aI2 extends m4{constructor(A){super(`Duplicate string format '${A}' detected`)}};(function(A){function Q(J,$){if(bY.Has(J))throw new nI2(J);return bY.Set(J,$),(Y={})=>Hm({...Y,[E2]:J})}A.Type=Q;function B(J,$){if(RG.Has(J))throw new aI2(J);return RG.Set(J,$),J}A.Format=B})(iI2||(iI2={}))});var sg1=C(()=>{Y71();oI2()});function*vS5(A){let Q=A===0?1:Math.ceil(Math.floor(Math.log2(A)+1)/8);for(let B=0;B<Q;B++)yield A>>8*(Q-1-B)&255}function yS5(A){lG(aV.Array);for(let Q of A)s01(Q)}function fS5(A){lG(aV.Boolean),lG(A?1:0)}function gS5(A){lG(aV.BigInt),tI2.setBigInt64(0,A);for(let Q of eI2)lG(Q)}function hS5(A){lG(aV.Date),s01(A.getTime())}function mS5(A){lG(aV.Null)}function uS5(A){lG(aV.Number),tI2.setFloat64(0,A);for(let Q of eI2)lG(Q)}function pS5(A){lG(aV.Object);for(let Q of globalThis.Object.getOwnPropertyNames(A).sort())s01(Q),s01(A[Q])}function dS5(A){lG(aV.String);for(let Q=0;Q<A.length;Q++)for(let B of vS5(A.charCodeAt(Q)))lG(B)}function cS5(A){lG(aV.Symbol),s01(A.description)}function lS5(A){lG(aV.Uint8Array);for(let Q=0;Q<A.length;Q++)lG(A[Q])}function iS5(A){return lG(aV.Undefined)}function s01(A){if(n4(A))return yS5(A);if(tq(A))return fS5(A);if(FZ(A))return gS5(A);if(jU(A))return hS5(A);if(AR(A))return mS5(A);if(q4(A))return uS5(A);if(a5(A))return pS5(A);if(k3(A))return dS5(A);if(QR(A))return cS5(A);if(vo(A))return lS5(A);if(qB(A))return iS5(A);throw new rI2(A)}function lG(A){r01=r01^xS5[A],r01=r01*kS5%bS5}function Av(A){return r01=BigInt("14695981039346656037"),s01(A),r01}var rI2,aV,r01,kS5,bS5,xS5,sI2,tI2,eI2;var AR2=C(()=>{kY();oB();rI2=class rI2 extends m4{constructor(A){super("Unable to hash value");this.value=A}};(function(A){A[A.Undefined=0]="Undefined",A[A.Null=1]="Null",A[A.Boolean=2]="Boolean",A[A.Number=3]="Number",A[A.String=4]="String",A[A.Object=5]="Object",A[A.Array=6]="Array",A[A.Date=7]="Date",A[A.Uint8Array=8]="Uint8Array",A[A.Symbol=9]="Symbol",A[A.BigInt=10]="BigInt"})(aV||(aV={}));r01=BigInt("14695981039346656037"),[kS5,bS5]=[BigInt("1099511628211"),BigInt("18446744073709551616")],xS5=Array.from({length:256}).map((A,Q)=>BigInt(Q)),sI2=new Float64Array(1),tI2=new DataView(sI2.buffer),eI2=new Uint8Array(sI2.buffer)});var t01=C(()=>{AR2()});function nS5(A){return A[E2]==="Any"||A[E2]==="Unknown"}function X3(A){return A!==void 0}function aS5(A,Q,B){return!0}function oS5(A,Q,B){return!0}function rS5(A,Q,B){if(!n4(B))return!1;if(X3(A.minItems)&&!(B.length>=A.minItems))return!1;if(X3(A.maxItems)&&!(B.length<=A.maxItems))return!1;for(let Y of B)if(!bW(A.items,Q,Y))return!1;if(A.uniqueItems===!0&&!function(){let Y=new Set;for(let X of B){let W=Av(X);if(Y.has(W))return!1;else Y.add(W)}return!0}())return!1;if(!(X3(A.contains)||q4(A.minContains)||q4(A.maxContains)))return!0;let J=X3(A.contains)?A.contains:o5(),$=B.reduce((Y,X)=>bW(J,Q,X)?Y+1:Y,0);if($===0)return!1;if(q4(A.minContains)&&$<A.minContains)return!1;if(q4(A.maxContains)&&$>A.maxContains)return!1;return!0}function sS5(A,Q,B){return YE1(B)}function tS5(A,Q,B){if(!FZ(B))return!1;if(X3(A.exclusiveMaximum)&&!(B<A.exclusiveMaximum))return!1;if(X3(A.exclusiveMinimum)&&!(B>A.exclusiveMinimum))return!1;if(X3(A.maximum)&&!(B<=A.maximum))return!1;if(X3(A.minimum)&&!(B>=A.minimum))return!1;if(X3(A.multipleOf)&&B%A.multipleOf!==BigInt(0))return!1;return!0}function eS5(A,Q,B){return tq(B)}function Ak5(A,Q,B){return bW(A.returns,Q,B.prototype)}function Qk5(A,Q,B){if(!jU(B))return!1;if(X3(A.exclusiveMaximumTimestamp)&&!(B.getTime()<A.exclusiveMaximumTimestamp))return!1;if(X3(A.exclusiveMinimumTimestamp)&&!(B.getTime()>A.exclusiveMinimumTimestamp))return!1;if(X3(A.maximumTimestamp)&&!(B.getTime()<=A.maximumTimestamp))return!1;if(X3(A.minimumTimestamp)&&!(B.getTime()>=A.minimumTimestamp))return!1;if(X3(A.multipleOfTimestamp)&&B.getTime()%A.multipleOfTimestamp!==0)return!1;return!0}function Bk5(A,Q,B){return Xk(B)}function Jk5(A,Q,B){let J=globalThis.Object.values(A.$defs),$=A.$defs[A.$ref];return bW($,[...Q,...J],B)}function $k5(A,Q,B){if(!ZE1(B))return!1;if(X3(A.exclusiveMaximum)&&!(B<A.exclusiveMaximum))return!1;if(X3(A.exclusiveMinimum)&&!(B>A.exclusiveMinimum))return!1;if(X3(A.maximum)&&!(B<=A.maximum))return!1;if(X3(A.minimum)&&!(B>=A.minimum))return!1;if(X3(A.multipleOf)&&B%A.multipleOf!==0)return!1;return!0}function Yk5(A,Q,B){let J=A.allOf.every(($)=>bW($,Q,B));if(A.unevaluatedProperties===!1){let $=new RegExp(JL(A)),Y=Object.getOwnPropertyNames(B).every((X)=>$.test(X));return J&&Y}else if(EB(A.unevaluatedProperties)){let $=new RegExp(JL(A)),Y=Object.getOwnPropertyNames(B).every((X)=>$.test(X)||bW(A.unevaluatedProperties,Q,B[X]));return J&&Y}else return J}function Xk5(A,Q,B){return XE1(B)}function Wk5(A,Q,B){return B===A.const}function Zk5(A,Q,B){return!1}function Gk5(A,Q,B){return!bW(A.not,Q,B)}function Uk5(A,Q,B){return AR(B)}function zk5(A,Q,B){if(!KB.IsNumberLike(B))return!1;if(X3(A.exclusiveMaximum)&&!(B<A.exclusiveMaximum))return!1;if(X3(A.exclusiveMinimum)&&!(B>A.exclusiveMinimum))return!1;if(X3(A.minimum)&&!(B>=A.minimum))return!1;if(X3(A.maximum)&&!(B<=A.maximum))return!1;if(X3(A.multipleOf)&&B%A.multipleOf!==0)return!1;return!0}function Kk5(A,Q,B){if(!KB.IsObjectLike(B))return!1;if(X3(A.minProperties)&&!(Object.getOwnPropertyNames(B).length>=A.minProperties))return!1;if(X3(A.maxProperties)&&!(Object.getOwnPropertyNames(B).length<=A.maxProperties))return!1;let J=Object.getOwnPropertyNames(A.properties);for(let $ of J){let Y=A.properties[$];if(A.required&&A.required.includes($)){if(!bW(Y,Q,B[$]))return!1;if(($L(Y)||nS5(Y))&&!($ in B))return!1}else if(KB.IsExactOptionalProperty(B,$)&&!bW(Y,Q,B[$]))return!1}if(A.additionalProperties===!1){let $=Object.getOwnPropertyNames(B);if(A.required&&A.required.length===J.length&&$.length===J.length)return!0;else return $.every((Y)=>J.includes(Y))}else if(typeof A.additionalProperties==="object")return Object.getOwnPropertyNames(B).every((Y)=>J.includes(Y)||bW(A.additionalProperties,Q,B[Y]));else return!0}function Hk5(A,Q,B){return WE1(B)}function Vk5(A,Q,B){if(!KB.IsRecordLike(B))return!1;if(X3(A.minProperties)&&!(Object.getOwnPropertyNames(B).length>=A.minProperties))return!1;if(X3(A.maxProperties)&&!(Object.getOwnPropertyNames(B).length<=A.maxProperties))return!1;let[J,$]=Object.entries(A.patternProperties)[0],Y=new RegExp(J),X=Object.entries(B).every(([G,U])=>{return Y.test(G)?bW($,Q,U):!0}),W=typeof A.additionalProperties==="object"?Object.entries(B).every(([G,U])=>{return!Y.test(G)?bW(A.additionalProperties,Q,U):!0}):!0,Z=A.additionalProperties===!1?Object.getOwnPropertyNames(B).every((G)=>{return Y.test(G)}):!0;return X&&W&&Z}function wk5(A,Q,B){return bW(g3(A,Q),Q,B)}function Dk5(A,Q,B){let J=new RegExp(A.source,A.flags);if(X3(A.minLength)){if(!(B.length>=A.minLength))return!1}if(X3(A.maxLength)){if(!(B.length<=A.maxLength))return!1}return J.test(B)}function _k5(A,Q,B){if(!k3(B))return!1;if(X3(A.minLength)){if(!(B.length>=A.minLength))return!1}if(X3(A.maxLength)){if(!(B.length<=A.maxLength))return!1}if(X3(A.pattern)){if(!new RegExp(A.pattern).test(B))return!1}if(X3(A.format)){if(!RG.Has(A.format))return!1;return RG.Get(A.format)(B)}return!0}function Fk5(A,Q,B){return QR(B)}function Mk5(A,Q,B){return k3(B)&&new RegExp(A.pattern).test(B)}function Nk5(A,Q,B){return bW(g3(A,Q),Q,B)}function Ok5(A,Q,B){if(!n4(B))return!1;if(A.items===void 0&&B.length!==0)return!1;if(B.length!==A.maxItems)return!1;if(!A.items)return!0;for(let J=0;J<A.items.length;J++)if(!bW(A.items[J],Q,B[J]))return!1;return!0}function qk5(A,Q,B){return qB(B)}function Lk5(A,Q,B){return A.anyOf.some((J)=>bW(J,Q,B))}function Ek5(A,Q,B){if(!vo(B))return!1;if(X3(A.maxByteLength)&&!(B.length<=A.maxByteLength))return!1;if(X3(A.minByteLength)&&!(B.length>=A.minByteLength))return!1;return!0}function Ck5(A,Q,B){return!0}function Ik5(A,Q,B){return KB.IsVoidLike(B)}function Rk5(A,Q,B){if(!bY.Has(A[E2]))return!1;return bY.Get(A[E2])(A,B)}function bW(A,Q,B){let J=X3(A.$id)?kW(A,Q):Q,$=A;switch($[E2]){case"Any":return aS5($,J,B);case"Argument":return oS5($,J,B);case"Array":return rS5($,J,B);case"AsyncIterator":return sS5($,J,B);case"BigInt":return tS5($,J,B);case"Boolean":return eS5($,J,B);case"Constructor":return Ak5($,J,B);case"Date":return Qk5($,J,B);case"Function":return Bk5($,J,B);case"Import":return Jk5($,J,B);case"Integer":return $k5($,J,B);case"Intersect":return Yk5($,J,B);case"Iterator":return Xk5($,J,B);case"Literal":return Wk5($,J,B);case"Never":return Zk5($,J,B);case"Not":return Gk5($,J,B);case"Null":return Uk5($,J,B);case"Number":return zk5($,J,B);case"Object":return Kk5($,J,B);case"Promise":return Hk5($,J,B);case"Record":return Vk5($,J,B);case"Ref":return wk5($,J,B);case"RegExp":return Dk5($,J,B);case"String":return _k5($,J,B);case"Symbol":return Fk5($,J,B);case"TemplateLiteral":return Mk5($,J,B);case"This":return Nk5($,J,B);case"Tuple":return Ok5($,J,B);case"Undefined":return qk5($,J,B);case"Union":return Lk5($,J,B);case"Uint8Array":return Ek5($,J,B);case"Unknown":return Ck5($,J,B);case"Void":return Ik5($,J,B);default:if(!bY.Has($[E2]))throw new QR2($);return Rk5($,J,B)}}function _8(...A){return A.length===3?bW(A[0],A[1],A[2]):bW(A[0],[],A[1])}var QR2;var MP0=C(()=>{sg1();u_();t01();u6();RD();Zm();rh();oB();WY();kY();q8();QR2=class QR2 extends m4{constructor(A){super("Unknown type");this.schema=A}}});var oV=C(()=>{MP0()});function DJ(A,Q,B){try{return n3(A)?A[LB].Decode(B):B}catch(J){throw new BR2(A,Q,B,J)}}function jk5(A,Q,B,J){return n4(J)?DJ(A,B,J.map(($,Y)=>YO(A.items,Q,`${B}/${Y}`,$))):DJ(A,B,J)}function Tk5(A,Q,B,J){if(!a5(J)||UV(J))return DJ(A,B,J);let $=C71(A),Y=$.map((U)=>U[0]),X={...J};for(let[U,z]of $)if(U in X)X[U]=YO(z,Q,`${B}/${U}`,X[U]);if(!n3(A.unevaluatedProperties))return DJ(A,B,X);let W=Object.getOwnPropertyNames(X),Z=A.unevaluatedProperties,G={...X};for(let U of W)if(!Y.includes(U))G[U]=DJ(Z,`${B}/${U}`,G[U]);return DJ(A,B,G)}function Pk5(A,Q,B,J){let $=globalThis.Object.values(A.$defs),Y=A.$defs[A.$ref],X=YO(Y,[...Q,...$],B,J);return DJ(A,B,X)}function Sk5(A,Q,B,J){return DJ(A,B,YO(A.not,Q,B,J))}function kk5(A,Q,B,J){if(!a5(J))return DJ(A,B,J);let $=yU(A),Y={...J};for(let G of $){if(!Y5(Y,G))continue;if(qB(Y[G])&&(!QL(A.properties[G])||KB.IsExactOptionalProperty(Y,G)))continue;Y[G]=YO(A.properties[G],Q,`${B}/${G}`,Y[G])}if(!EB(A.additionalProperties))return DJ(A,B,Y);let X=Object.getOwnPropertyNames(Y),W=A.additionalProperties,Z={...Y};for(let G of X)if(!$.includes(G))Z[G]=DJ(W,`${B}/${G}`,Z[G]);return DJ(A,B,Z)}function bk5(A,Q,B,J){if(!a5(J))return DJ(A,B,J);let $=Object.getOwnPropertyNames(A.patternProperties)[0],Y=new RegExp($),X={...J};for(let U of Object.getOwnPropertyNames(J))if(Y.test(U))X[U]=YO(A.patternProperties[$],Q,`${B}/${U}`,X[U]);if(!EB(A.additionalProperties))return DJ(A,B,X);let W=Object.getOwnPropertyNames(X),Z=A.additionalProperties,G={...X};for(let U of W)if(!Y.test(U))G[U]=DJ(Z,`${B}/${U}`,G[U]);return DJ(A,B,G)}function xk5(A,Q,B,J){let $=g3(A,Q);return DJ(A,B,YO($,Q,B,J))}function vk5(A,Q,B,J){let $=g3(A,Q);return DJ(A,B,YO($,Q,B,J))}function yk5(A,Q,B,J){return n4(J)&&n4(A.items)?DJ(A,B,A.items.map(($,Y)=>YO($,Q,`${B}/${Y}`,J[Y]))):DJ(A,B,J)}function fk5(A,Q,B,J){for(let $ of A.anyOf){if(!_8($,Q,J))continue;let Y=YO($,Q,B,J);return DJ(A,B,Y)}return DJ(A,B,J)}function YO(A,Q,B,J){let $=kW(A,Q),Y=A;switch(A[E2]){case"Array":return jk5(Y,$,B,J);case"Import":return Pk5(Y,$,B,J);case"Intersect":return Tk5(Y,$,B,J);case"Not":return Sk5(Y,$,B,J);case"Object":return kk5(Y,$,B,J);case"Record":return bk5(Y,$,B,J);case"Ref":return xk5(Y,$,B,J);case"Symbol":return DJ(Y,B,J);case"This":return vk5(Y,$,B,J);case"Tuple":return yk5(Y,$,B,J);case"Union":return fk5(Y,$,B,J);default:return DJ(Y,B,J)}}function e01(A,Q,B){return YO(A,Q,"",B)}var dU1,BR2;var JR2=C(()=>{Y71();u6();oB();RD();u_();oV();kY();q8();dU1=class dU1 extends m4{constructor(A,Q,B){super("Unable to decode value as it does not match the expected schema");this.schema=A,this.value=Q,this.error=B}};BR2=class BR2 extends m4{constructor(A,Q,B,J){super(J instanceof Error?J.message:"Unknown error");this.schema=A,this.path=Q,this.value=B,this.error=J}}});function pZ(A,Q,B){try{return n3(A)?A[LB].Encode(B):B}catch(J){throw new $R2(A,Q,B,J)}}function gk5(A,Q,B,J){let $=pZ(A,B,J);return n4($)?$.map((Y,X)=>XO(A.items,Q,`${B}/${X}`,Y)):$}function hk5(A,Q,B,J){let $=globalThis.Object.values(A.$defs),Y=A.$defs[A.$ref],X=pZ(A,B,J);return XO(Y,[...Q,...$],B,X)}function mk5(A,Q,B,J){let $=pZ(A,B,J);if(!a5(J)||UV(J))return $;let Y=C71(A),X=Y.map((z)=>z[0]),W={...$};for(let[z,K]of Y)if(z in W)W[z]=XO(K,Q,`${B}/${z}`,W[z]);if(!n3(A.unevaluatedProperties))return W;let Z=Object.getOwnPropertyNames(W),G=A.unevaluatedProperties,U={...W};for(let z of Z)if(!X.includes(z))U[z]=pZ(G,`${B}/${z}`,U[z]);return U}function uk5(A,Q,B,J){return pZ(A.not,B,pZ(A,B,J))}function pk5(A,Q,B,J){let $=pZ(A,B,J);if(!a5($))return $;let Y=yU(A),X={...$};for(let U of Y){if(!Y5(X,U))continue;if(qB(X[U])&&(!QL(A.properties[U])||KB.IsExactOptionalProperty(X,U)))continue;X[U]=XO(A.properties[U],Q,`${B}/${U}`,X[U])}if(!EB(A.additionalProperties))return X;let W=Object.getOwnPropertyNames(X),Z=A.additionalProperties,G={...X};for(let U of W)if(!Y.includes(U))G[U]=pZ(Z,`${B}/${U}`,G[U]);return G}function dk5(A,Q,B,J){let $=pZ(A,B,J);if(!a5(J))return $;let Y=Object.getOwnPropertyNames(A.patternProperties)[0],X=new RegExp(Y),W={...$};for(let z of Object.getOwnPropertyNames(J))if(X.test(z))W[z]=XO(A.patternProperties[Y],Q,`${B}/${z}`,W[z]);if(!EB(A.additionalProperties))return W;let Z=Object.getOwnPropertyNames(W),G=A.additionalProperties,U={...W};for(let z of Z)if(!X.test(z))U[z]=pZ(G,`${B}/${z}`,U[z]);return U}function ck5(A,Q,B,J){let $=g3(A,Q),Y=XO($,Q,B,J);return pZ(A,B,Y)}function lk5(A,Q,B,J){let $=g3(A,Q),Y=XO($,Q,B,J);return pZ(A,B,Y)}function ik5(A,Q,B,J){let $=pZ(A,B,J);return n4(A.items)?A.items.map((Y,X)=>XO(Y,Q,`${B}/${X}`,$[X])):[]}function nk5(A,Q,B,J){for(let $ of A.anyOf){if(!_8($,Q,J))continue;let Y=XO($,Q,B,J);return pZ(A,B,Y)}for(let $ of A.anyOf){let Y=XO($,Q,B,J);if(!_8(A,Q,Y))continue;return pZ(A,B,Y)}return pZ(A,B,J)}function XO(A,Q,B,J){let $=kW(A,Q),Y=A;switch(A[E2]){case"Array":return gk5(Y,$,B,J);case"Import":return hk5(Y,$,B,J);case"Intersect":return mk5(Y,$,B,J);case"Not":return uk5(Y,$,B,J);case"Object":return pk5(Y,$,B,J);case"Record":return dk5(Y,$,B,J);case"Ref":return ck5(Y,$,B,J);case"This":return lk5(Y,$,B,J);case"Tuple":return ik5(Y,$,B,J);case"Union":return nk5(Y,$,B,J);default:return pZ(Y,B,J)}}function AA1(A,Q,B){return XO(A,Q,"",B)}var cU1,$R2;var YR2=C(()=>{Y71();u6();oB();RD();u_();oV();kY();q8();cU1=class cU1 extends m4{constructor(A,Q,B){super("The encoded value does not match the expected schema");this.schema=A,this.value=Q,this.error=B}};$R2=class $R2 extends m4{constructor(A,Q,B,J){super(`${J instanceof Error?J.message:"Unknown error"}`);this.schema=A,this.path=Q,this.value=B,this.error=J}}});function ak5(A,Q){return n3(A)||uX(A.items,Q)}function ok5(A,Q){return n3(A)||uX(A.items,Q)}function rk5(A,Q){return n3(A)||uX(A.returns,Q)||A.parameters.some((B)=>uX(B,Q))}function sk5(A,Q){return n3(A)||uX(A.returns,Q)||A.parameters.some((B)=>uX(B,Q))}function tk5(A,Q){return n3(A)||n3(A.unevaluatedProperties)||A.allOf.some((B)=>uX(B,Q))}function ek5(A,Q){let B=globalThis.Object.getOwnPropertyNames(A.$defs).reduce(($,Y)=>[...$,A.$defs[Y]],[]),J=A.$defs[A.$ref];return n3(A)||uX(J,[...B,...Q])}function Ab5(A,Q){return n3(A)||uX(A.items,Q)}function Qb5(A,Q){return n3(A)||uX(A.not,Q)}function Bb5(A,Q){return n3(A)||Object.values(A.properties).some((B)=>uX(B,Q))||EB(A.additionalProperties)&&uX(A.additionalProperties,Q)}function Jb5(A,Q){return n3(A)||uX(A.item,Q)}function $b5(A,Q){let B=Object.getOwnPropertyNames(A.patternProperties)[0],J=A.patternProperties[B];return n3(A)||uX(J,Q)||EB(A.additionalProperties)&&n3(A.additionalProperties)}function Yb5(A,Q){if(n3(A))return!0;return uX(g3(A,Q),Q)}function Xb5(A,Q){if(n3(A))return!0;return uX(g3(A,Q),Q)}function Wb5(A,Q){return n3(A)||!qB(A.items)&&A.items.some((B)=>uX(B,Q))}function Zb5(A,Q){return n3(A)||A.anyOf.some((B)=>uX(B,Q))}function uX(A,Q){let B=kW(A,Q),J=A;if(A.$id&&NP0.has(A.$id))return!1;if(A.$id)NP0.add(A.$id);switch(A[E2]){case"Array":return ak5(J,B);case"AsyncIterator":return ok5(J,B);case"Constructor":return rk5(J,B);case"Function":return sk5(J,B);case"Import":return ek5(J,B);case"Intersect":return tk5(J,B);case"Iterator":return Ab5(J,B);case"Not":return Qb5(J,B);case"Object":return Bb5(J,B);case"Promise":return Jb5(J,B);case"Record":return $b5(J,B);case"Ref":return Yb5(J,B);case"This":return Xb5(J,B);case"Tuple":return Wb5(J,B);case"Union":return Zb5(J,B);default:return n3(A)}}function WT(A,Q){return NP0.clear(),uX(A,Q)}var NP0;var XR2=C(()=>{u_();u6();q8();kY();NP0=new Set});var QA1=C(()=>{JR2();YR2();XR2()});function Gb5(A){switch(A.errorType){case S2.ArrayContains:return"Expected array to contain at least one matching value";case S2.ArrayMaxContains:return`Expected array to contain no more than ${A.schema.maxContains} matching values`;case S2.ArrayMinContains:return`Expected array to contain at least ${A.schema.minContains} matching values`;case S2.ArrayMaxItems:return`Expected array length to be less or equal to ${A.schema.maxItems}`;case S2.ArrayMinItems:return`Expected array length to be greater or equal to ${A.schema.minItems}`;case S2.ArrayUniqueItems:return"Expected array elements to be unique";case S2.Array:return"Expected array";case S2.AsyncIterator:return"Expected AsyncIterator";case S2.BigIntExclusiveMaximum:return`Expected bigint to be less than ${A.schema.exclusiveMaximum}`;case S2.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${A.schema.exclusiveMinimum}`;case S2.BigIntMaximum:return`Expected bigint to be less or equal to ${A.schema.maximum}`;case S2.BigIntMinimum:return`Expected bigint to be greater or equal to ${A.schema.minimum}`;case S2.BigIntMultipleOf:return`Expected bigint to be a multiple of ${A.schema.multipleOf}`;case S2.BigInt:return"Expected bigint";case S2.Boolean:return"Expected boolean";case S2.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${A.schema.exclusiveMinimumTimestamp}`;case S2.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${A.schema.exclusiveMaximumTimestamp}`;case S2.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${A.schema.minimumTimestamp}`;case S2.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${A.schema.maximumTimestamp}`;case S2.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${A.schema.multipleOfTimestamp}`;case S2.Date:return"Expected Date";case S2.Function:return"Expected function";case S2.IntegerExclusiveMaximum:return`Expected integer to be less than ${A.schema.exclusiveMaximum}`;case S2.IntegerExclusiveMinimum:return`Expected integer to be greater than ${A.schema.exclusiveMinimum}`;case S2.IntegerMaximum:return`Expected integer to be less or equal to ${A.schema.maximum}`;case S2.IntegerMinimum:return`Expected integer to be greater or equal to ${A.schema.minimum}`;case S2.IntegerMultipleOf:return`Expected integer to be a multiple of ${A.schema.multipleOf}`;case S2.Integer:return"Expected integer";case S2.IntersectUnevaluatedProperties:return"Unexpected property";case S2.Intersect:return"Expected all values to match";case S2.Iterator:return"Expected Iterator";case S2.Literal:return`Expected ${typeof A.schema.const==="string"?`'${A.schema.const}'`:A.schema.const}`;case S2.Never:return"Never";case S2.Not:return"Value should not match";case S2.Null:return"Expected null";case S2.NumberExclusiveMaximum:return`Expected number to be less than ${A.schema.exclusiveMaximum}`;case S2.NumberExclusiveMinimum:return`Expected number to be greater than ${A.schema.exclusiveMinimum}`;case S2.NumberMaximum:return`Expected number to be less or equal to ${A.schema.maximum}`;case S2.NumberMinimum:return`Expected number to be greater or equal to ${A.schema.minimum}`;case S2.NumberMultipleOf:return`Expected number to be a multiple of ${A.schema.multipleOf}`;case S2.Number:return"Expected number";case S2.Object:return"Expected object";case S2.ObjectAdditionalProperties:return"Unexpected property";case S2.ObjectMaxProperties:return`Expected object to have no more than ${A.schema.maxProperties} properties`;case S2.ObjectMinProperties:return`Expected object to have at least ${A.schema.minProperties} properties`;case S2.ObjectRequiredProperty:return"Expected required property";case S2.Promise:return"Expected Promise";case S2.RegExp:return"Expected string to match regular expression";case S2.StringFormatUnknown:return`Unknown format '${A.schema.format}'`;case S2.StringFormat:return`Expected string to match '${A.schema.format}' format`;case S2.StringMaxLength:return`Expected string length less or equal to ${A.schema.maxLength}`;case S2.StringMinLength:return`Expected string length greater or equal to ${A.schema.minLength}`;case S2.StringPattern:return`Expected string to match '${A.schema.pattern}'`;case S2.String:return"Expected string";case S2.Symbol:return"Expected symbol";case S2.TupleLength:return`Expected tuple to have ${A.schema.maxItems||0} elements`;case S2.Tuple:return"Expected tuple";case S2.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${A.schema.maxByteLength}`;case S2.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${A.schema.minByteLength}`;case S2.Uint8Array:return"Expected Uint8Array";case S2.Undefined:return"Expected undefined";case S2.Union:return"Expected union value";case S2.Void:return"Expected void";case S2.Kind:return`Expected kind '${A.schema[E2]}'`;default:return"Unknown error type"}}function WR2(){return Ub5}var Ub5;var OP0=C(()=>{u6();qP0();Ub5=Gb5});function ZT(A){return A.replace(/~/g,"~0").replace(/\//g,"~1")}function W3(A){return A!==void 0}function w6(A,Q,B,J,$=[]){return{type:A,schema:Q,path:B,value:J,message:WR2()({errorType:A,path:B,schema:Q,value:J,errors:$}),errors:$}}function*zb5(A,Q,B,J){}function*Kb5(A,Q,B,J){}function*Hb5(A,Q,B,J){if(!n4(J))return yield w6(S2.Array,A,B,J);if(W3(A.minItems)&&!(J.length>=A.minItems))yield w6(S2.ArrayMinItems,A,B,J);if(W3(A.maxItems)&&!(J.length<=A.maxItems))yield w6(S2.ArrayMaxItems,A,B,J);for(let X=0;X<J.length;X++)yield*xW(A.items,Q,`${B}/${X}`,J[X]);if(A.uniqueItems===!0&&!function(){let X=new Set;for(let W of J){let Z=Av(W);if(X.has(Z))return!1;else X.add(Z)}return!0}())yield w6(S2.ArrayUniqueItems,A,B,J);if(!(W3(A.contains)||W3(A.minContains)||W3(A.maxContains)))return;let $=W3(A.contains)?A.contains:o5(),Y=J.reduce((X,W,Z)=>xW($,Q,`${B}${Z}`,W).next().done===!0?X+1:X,0);if(Y===0)yield w6(S2.ArrayContains,A,B,J);if(q4(A.minContains)&&Y<A.minContains)yield w6(S2.ArrayMinContains,A,B,J);if(q4(A.maxContains)&&Y>A.maxContains)yield w6(S2.ArrayMaxContains,A,B,J)}function*Vb5(A,Q,B,J){if(!YE1(J))yield w6(S2.AsyncIterator,A,B,J)}function*wb5(A,Q,B,J){if(!FZ(J))return yield w6(S2.BigInt,A,B,J);if(W3(A.exclusiveMaximum)&&!(J<A.exclusiveMaximum))yield w6(S2.BigIntExclusiveMaximum,A,B,J);if(W3(A.exclusiveMinimum)&&!(J>A.exclusiveMinimum))yield w6(S2.BigIntExclusiveMinimum,A,B,J);if(W3(A.maximum)&&!(J<=A.maximum))yield w6(S2.BigIntMaximum,A,B,J);if(W3(A.minimum)&&!(J>=A.minimum))yield w6(S2.BigIntMinimum,A,B,J);if(W3(A.multipleOf)&&J%A.multipleOf!==BigInt(0))yield w6(S2.BigIntMultipleOf,A,B,J)}function*Db5(A,Q,B,J){if(!tq(J))yield w6(S2.Boolean,A,B,J)}function*_b5(A,Q,B,J){yield*xW(A.returns,Q,B,J.prototype)}function*Fb5(A,Q,B,J){if(!jU(J))return yield w6(S2.Date,A,B,J);if(W3(A.exclusiveMaximumTimestamp)&&!(J.getTime()<A.exclusiveMaximumTimestamp))yield w6(S2.DateExclusiveMaximumTimestamp,A,B,J);if(W3(A.exclusiveMinimumTimestamp)&&!(J.getTime()>A.exclusiveMinimumTimestamp))yield w6(S2.DateExclusiveMinimumTimestamp,A,B,J);if(W3(A.maximumTimestamp)&&!(J.getTime()<=A.maximumTimestamp))yield w6(S2.DateMaximumTimestamp,A,B,J);if(W3(A.minimumTimestamp)&&!(J.getTime()>=A.minimumTimestamp))yield w6(S2.DateMinimumTimestamp,A,B,J);if(W3(A.multipleOfTimestamp)&&J.getTime()%A.multipleOfTimestamp!==0)yield w6(S2.DateMultipleOfTimestamp,A,B,J)}function*Mb5(A,Q,B,J){if(!Xk(J))yield w6(S2.Function,A,B,J)}function*Nb5(A,Q,B,J){let $=globalThis.Object.values(A.$defs),Y=A.$defs[A.$ref];yield*xW(Y,[...Q,...$],B,J)}function*Ob5(A,Q,B,J){if(!ZE1(J))return yield w6(S2.Integer,A,B,J);if(W3(A.exclusiveMaximum)&&!(J<A.exclusiveMaximum))yield w6(S2.IntegerExclusiveMaximum,A,B,J);if(W3(A.exclusiveMinimum)&&!(J>A.exclusiveMinimum))yield w6(S2.IntegerExclusiveMinimum,A,B,J);if(W3(A.maximum)&&!(J<=A.maximum))yield w6(S2.IntegerMaximum,A,B,J);if(W3(A.minimum)&&!(J>=A.minimum))yield w6(S2.IntegerMinimum,A,B,J);if(W3(A.multipleOf)&&J%A.multipleOf!==0)yield w6(S2.IntegerMultipleOf,A,B,J)}function*qb5(A,Q,B,J){let $=!1;for(let Y of A.allOf)for(let X of xW(Y,Q,B,J))$=!0,yield X;if($)return yield w6(S2.Intersect,A,B,J);if(A.unevaluatedProperties===!1){let Y=new RegExp(JL(A));for(let X of Object.getOwnPropertyNames(J))if(!Y.test(X))yield w6(S2.IntersectUnevaluatedProperties,A,`${B}/${X}`,J)}if(typeof A.unevaluatedProperties==="object"){let Y=new RegExp(JL(A));for(let X of Object.getOwnPropertyNames(J))if(!Y.test(X)){let W=xW(A.unevaluatedProperties,Q,`${B}/${X}`,J[X]).next();if(!W.done)yield W.value}}}function*Lb5(A,Q,B,J){if(!XE1(J))yield w6(S2.Iterator,A,B,J)}function*Eb5(A,Q,B,J){if(J!==A.const)yield w6(S2.Literal,A,B,J)}function*Cb5(A,Q,B,J){yield w6(S2.Never,A,B,J)}function*Ib5(A,Q,B,J){if(xW(A.not,Q,B,J).next().done===!0)yield w6(S2.Not,A,B,J)}function*Rb5(A,Q,B,J){if(!AR(J))yield w6(S2.Null,A,B,J)}function*jb5(A,Q,B,J){if(!KB.IsNumberLike(J))return yield w6(S2.Number,A,B,J);if(W3(A.exclusiveMaximum)&&!(J<A.exclusiveMaximum))yield w6(S2.NumberExclusiveMaximum,A,B,J);if(W3(A.exclusiveMinimum)&&!(J>A.exclusiveMinimum))yield w6(S2.NumberExclusiveMinimum,A,B,J);if(W3(A.maximum)&&!(J<=A.maximum))yield w6(S2.NumberMaximum,A,B,J);if(W3(A.minimum)&&!(J>=A.minimum))yield w6(S2.NumberMinimum,A,B,J);if(W3(A.multipleOf)&&J%A.multipleOf!==0)yield w6(S2.NumberMultipleOf,A,B,J)}function*Tb5(A,Q,B,J){if(!KB.IsObjectLike(J))return yield w6(S2.Object,A,B,J);if(W3(A.minProperties)&&!(Object.getOwnPropertyNames(J).length>=A.minProperties))yield w6(S2.ObjectMinProperties,A,B,J);if(W3(A.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=A.maxProperties))yield w6(S2.ObjectMaxProperties,A,B,J);let $=Array.isArray(A.required)?A.required:[],Y=Object.getOwnPropertyNames(A.properties),X=Object.getOwnPropertyNames(J);for(let W of $){if(X.includes(W))continue;yield w6(S2.ObjectRequiredProperty,A.properties[W],`${B}/${ZT(W)}`,void 0)}if(A.additionalProperties===!1){for(let W of X)if(!Y.includes(W))yield w6(S2.ObjectAdditionalProperties,A,`${B}/${ZT(W)}`,J[W])}if(typeof A.additionalProperties==="object")for(let W of X){if(Y.includes(W))continue;yield*xW(A.additionalProperties,Q,`${B}/${ZT(W)}`,J[W])}for(let W of Y){let Z=A.properties[W];if(A.required&&A.required.includes(W)){if(yield*xW(Z,Q,`${B}/${ZT(W)}`,J[W]),$L(A)&&!(W in J))yield w6(S2.ObjectRequiredProperty,Z,`${B}/${ZT(W)}`,void 0)}else if(KB.IsExactOptionalProperty(J,W))yield*xW(Z,Q,`${B}/${ZT(W)}`,J[W])}}function*Pb5(A,Q,B,J){if(!WE1(J))yield w6(S2.Promise,A,B,J)}function*Sb5(A,Q,B,J){if(!KB.IsRecordLike(J))return yield w6(S2.Object,A,B,J);if(W3(A.minProperties)&&!(Object.getOwnPropertyNames(J).length>=A.minProperties))yield w6(S2.ObjectMinProperties,A,B,J);if(W3(A.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=A.maxProperties))yield w6(S2.ObjectMaxProperties,A,B,J);let[$,Y]=Object.entries(A.patternProperties)[0],X=new RegExp($);for(let[W,Z]of Object.entries(J))if(X.test(W))yield*xW(Y,Q,`${B}/${ZT(W)}`,Z);if(typeof A.additionalProperties==="object"){for(let[W,Z]of Object.entries(J))if(!X.test(W))yield*xW(A.additionalProperties,Q,`${B}/${ZT(W)}`,Z)}if(A.additionalProperties===!1)for(let[W,Z]of Object.entries(J)){if(X.test(W))continue;return yield w6(S2.ObjectAdditionalProperties,A,`${B}/${ZT(W)}`,Z)}}function*kb5(A,Q,B,J){yield*xW(g3(A,Q),Q,B,J)}function*bb5(A,Q,B,J){if(!k3(J))return yield w6(S2.String,A,B,J);if(W3(A.minLength)&&!(J.length>=A.minLength))yield w6(S2.StringMinLength,A,B,J);if(W3(A.maxLength)&&!(J.length<=A.maxLength))yield w6(S2.StringMaxLength,A,B,J);if(!new RegExp(A.source,A.flags).test(J))return yield w6(S2.RegExp,A,B,J)}function*xb5(A,Q,B,J){if(!k3(J))return yield w6(S2.String,A,B,J);if(W3(A.minLength)&&!(J.length>=A.minLength))yield w6(S2.StringMinLength,A,B,J);if(W3(A.maxLength)&&!(J.length<=A.maxLength))yield w6(S2.StringMaxLength,A,B,J);if(k3(A.pattern)){if(!new RegExp(A.pattern).test(J))yield w6(S2.StringPattern,A,B,J)}if(k3(A.format)){if(!RG.Has(A.format))yield w6(S2.StringFormatUnknown,A,B,J);else if(!RG.Get(A.format)(J))yield w6(S2.StringFormat,A,B,J)}}function*vb5(A,Q,B,J){if(!QR(J))yield w6(S2.Symbol,A,B,J)}function*yb5(A,Q,B,J){if(!k3(J))return yield w6(S2.String,A,B,J);if(!new RegExp(A.pattern).test(J))yield w6(S2.StringPattern,A,B,J)}function*fb5(A,Q,B,J){yield*xW(g3(A,Q),Q,B,J)}function*gb5(A,Q,B,J){if(!n4(J))return yield w6(S2.Tuple,A,B,J);if(A.items===void 0&&J.length!==0)return yield w6(S2.TupleLength,A,B,J);if(J.length!==A.maxItems)return yield w6(S2.TupleLength,A,B,J);if(!A.items)return;for(let $=0;$<A.items.length;$++)yield*xW(A.items[$],Q,`${B}/${$}`,J[$])}function*hb5(A,Q,B,J){if(!qB(J))yield w6(S2.Undefined,A,B,J)}function*mb5(A,Q,B,J){if(_8(A,Q,J))return;let $=A.anyOf.map((Y)=>new Ed(xW(Y,Q,B,J)));yield w6(S2.Union,A,B,J,$)}function*ub5(A,Q,B,J){if(!vo(J))return yield w6(S2.Uint8Array,A,B,J);if(W3(A.maxByteLength)&&!(J.length<=A.maxByteLength))yield w6(S2.Uint8ArrayMaxByteLength,A,B,J);if(W3(A.minByteLength)&&!(J.length>=A.minByteLength))yield w6(S2.Uint8ArrayMinByteLength,A,B,J)}function*pb5(A,Q,B,J){}function*db5(A,Q,B,J){if(!KB.IsVoidLike(J))yield w6(S2.Void,A,B,J)}function*cb5(A,Q,B,J){if(!bY.Get(A[E2])(A,J))yield w6(S2.Kind,A,B,J)}function*xW(A,Q,B,J){let $=W3(A.$id)?[...Q,A]:Q,Y=A;switch(Y[E2]){case"Any":return yield*zb5(Y,$,B,J);case"Argument":return yield*Kb5(Y,$,B,J);case"Array":return yield*Hb5(Y,$,B,J);case"AsyncIterator":return yield*Vb5(Y,$,B,J);case"BigInt":return yield*wb5(Y,$,B,J);case"Boolean":return yield*Db5(Y,$,B,J);case"Constructor":return yield*_b5(Y,$,B,J);case"Date":return yield*Fb5(Y,$,B,J);case"Function":return yield*Mb5(Y,$,B,J);case"Import":return yield*Nb5(Y,$,B,J);case"Integer":return yield*Ob5(Y,$,B,J);case"Intersect":return yield*qb5(Y,$,B,J);case"Iterator":return yield*Lb5(Y,$,B,J);case"Literal":return yield*Eb5(Y,$,B,J);case"Never":return yield*Cb5(Y,$,B,J);case"Not":return yield*Ib5(Y,$,B,J);case"Null":return yield*Rb5(Y,$,B,J);case"Number":return yield*jb5(Y,$,B,J);case"Object":return yield*Tb5(Y,$,B,J);case"Promise":return yield*Pb5(Y,$,B,J);case"Record":return yield*Sb5(Y,$,B,J);case"Ref":return yield*kb5(Y,$,B,J);case"RegExp":return yield*bb5(Y,$,B,J);case"String":return yield*xb5(Y,$,B,J);case"Symbol":return yield*vb5(Y,$,B,J);case"TemplateLiteral":return yield*yb5(Y,$,B,J);case"This":return yield*fb5(Y,$,B,J);case"Tuple":return yield*gb5(Y,$,B,J);case"Undefined":return yield*hb5(Y,$,B,J);case"Union":return yield*mb5(Y,$,B,J);case"Uint8Array":return yield*ub5(Y,$,B,J);case"Unknown":return yield*pb5(Y,$,B,J);case"Void":return yield*db5(Y,$,B,J);default:if(!bY.Has(Y[E2]))throw new ZR2(A);return yield*cb5(Y,$,B,J)}}function FE(...A){let Q=A.length===3?xW(A[0],A[1],"",A[2]):xW(A[0],[],"",A[1]);return new Ed(Q)}var S2,ZR2,Ed;var qP0=C(()=>{sg1();RD();rh();TE1();OP0();oB();u_();t01();oV();u6();WY();kY();(function(A){A[A.ArrayContains=0]="ArrayContains",A[A.ArrayMaxContains=1]="ArrayMaxContains",A[A.ArrayMaxItems=2]="ArrayMaxItems",A[A.ArrayMinContains=3]="ArrayMinContains",A[A.ArrayMinItems=4]="ArrayMinItems",A[A.ArrayUniqueItems=5]="ArrayUniqueItems",A[A.Array=6]="Array",A[A.AsyncIterator=7]="AsyncIterator",A[A.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",A[A.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",A[A.BigIntMaximum=10]="BigIntMaximum",A[A.BigIntMinimum=11]="BigIntMinimum",A[A.BigIntMultipleOf=12]="BigIntMultipleOf",A[A.BigInt=13]="BigInt",A[A.Boolean=14]="Boolean",A[A.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",A[A.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",A[A.DateMaximumTimestamp=17]="DateMaximumTimestamp",A[A.DateMinimumTimestamp=18]="DateMinimumTimestamp",A[A.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",A[A.Date=20]="Date",A[A.Function=21]="Function",A[A.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",A[A.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",A[A.IntegerMaximum=24]="IntegerMaximum",A[A.IntegerMinimum=25]="IntegerMinimum",A[A.IntegerMultipleOf=26]="IntegerMultipleOf",A[A.Integer=27]="Integer",A[A.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",A[A.Intersect=29]="Intersect",A[A.Iterator=30]="Iterator",A[A.Kind=31]="Kind",A[A.Literal=32]="Literal",A[A.Never=33]="Never",A[A.Not=34]="Not",A[A.Null=35]="Null",A[A.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",A[A.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",A[A.NumberMaximum=38]="NumberMaximum",A[A.NumberMinimum=39]="NumberMinimum",A[A.NumberMultipleOf=40]="NumberMultipleOf",A[A.Number=41]="Number",A[A.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",A[A.ObjectMaxProperties=43]="ObjectMaxProperties",A[A.ObjectMinProperties=44]="ObjectMinProperties",A[A.ObjectRequiredProperty=45]="ObjectRequiredProperty",A[A.Object=46]="Object",A[A.Promise=47]="Promise",A[A.RegExp=48]="RegExp",A[A.StringFormatUnknown=49]="StringFormatUnknown",A[A.StringFormat=50]="StringFormat",A[A.StringMaxLength=51]="StringMaxLength",A[A.StringMinLength=52]="StringMinLength",A[A.StringPattern=53]="StringPattern",A[A.String=54]="String",A[A.Symbol=55]="Symbol",A[A.TupleLength=56]="TupleLength",A[A.Tuple=57]="Tuple",A[A.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",A[A.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",A[A.Uint8Array=60]="Uint8Array",A[A.Undefined=61]="Undefined",A[A.Union=62]="Union",A[A.Void=63]="Void"})(S2||(S2={}));ZR2=class ZR2 extends m4{constructor(A){super("Unknown type");this.schema=A}};Ed=class Ed{constructor(A){this.iterator=A}[Symbol.iterator](){return this.iterator}First(){let A=this.iterator.next();return A.done?void 0:A.value}}});var BA1=C(()=>{qP0();OP0()});class GR2{constructor(A,Q,B,J){this.schema=A,this.references=Q,this.checkFunc=B,this.code=J,this.hasTransform=WT(A,Q)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(A){return FE(this.schema,this.references,A)}Check(A){return this.checkFunc(A)}Decode(A){if(!this.checkFunc(A))throw new dU1(this.schema,A,this.Errors(A).First());return this.hasTransform?e01(this.schema,this.references,A):A}Encode(A){let Q=this.hasTransform?AA1(this.schema,this.references,A):A;if(!this.checkFunc(Q))throw new cU1(this.schema,A,this.Errors(A).First());return Q}}var GT,tg1,LP0,EP0,UR2,CP0,Cd,JA1;var zR2=C(()=>{QA1();BA1();sg1();oB();u_();t01();u6();rh();RD();TE1();WY();wR();kY();T40();(function(A){function Q(Y){return Y===36}A.DollarSign=Q;function B(Y){return Y===95}A.IsUnderscore=B;function J(Y){return Y>=65&&Y<=90||Y>=97&&Y<=122}A.IsAlpha=J;function $(Y){return Y>=48&&Y<=57}A.IsNumeric=$})(GT||(GT={}));(function(A){function Q(Y){if(Y.length===0)return!1;return GT.IsNumeric(Y.charCodeAt(0))}function B(Y){if(Q(Y))return!1;for(let X=0;X<Y.length;X++){let W=Y.charCodeAt(X);if(!(GT.IsAlpha(W)||GT.IsNumeric(W)||GT.DollarSign(W)||GT.IsUnderscore(W)))return!1}return!0}function J(Y){return Y.replace(/'/g,"\\'")}function $(Y,X){return B(X)?`${Y}.${X}`:`${Y}['${J(X)}']`}A.Encode=$})(tg1||(tg1={}));(function(A){function Q(B){let J=[];for(let $=0;$<B.length;$++){let Y=B.charCodeAt($);if(GT.IsNumeric(Y)||GT.IsAlpha(Y))J.push(B.charAt($));else J.push(`_${Y}_`)}return J.join("").replace(/__/g,"_")}A.Encode=Q})(LP0||(LP0={}));(function(A){function Q(B){return B.replace(/'/g,"\\'")}A.Escape=Q})(EP0||(EP0={}));UR2=class UR2 extends m4{constructor(A){super("Unknown type");this.schema=A}};CP0=class CP0 extends m4{constructor(A){super("Preflight validation check failed to guard for the given schema");this.schema=A}};(function(A){function Q(X,W,Z){return KB.ExactOptionalPropertyTypes?`('${W}' in ${X} ? ${Z} : true)`:`(${tg1.Encode(X,W)} !== undefined ? ${Z} : true)`}A.IsExactOptionalProperty=Q;function B(X){return!KB.AllowArrayObject?`(typeof ${X} === 'object' && ${X} !== null && !Array.isArray(${X}))`:`(typeof ${X} === 'object' && ${X} !== null)`}A.IsObjectLike=B;function J(X){return!KB.AllowArrayObject?`(typeof ${X} === 'object' && ${X} !== null && !Array.isArray(${X}) && !(${X} instanceof Date) && !(${X} instanceof Uint8Array))`:`(typeof ${X} === 'object' && ${X} !== null && !(${X} instanceof Date) && !(${X} instanceof Uint8Array))`}A.IsRecordLike=J;function $(X){return KB.AllowNaN?`typeof ${X} === 'number'`:`Number.isFinite(${X})`}A.IsNumberLike=$;function Y(X){return KB.AllowNullVoid?`(${X} === undefined || ${X} === null)`:`${X} === undefined`}A.IsVoidLike=Y})(Cd||(Cd={}));(function(A){function Q(W1){return W1[E2]==="Any"||W1[E2]==="Unknown"}function*B(W1,P1,E1){yield"true"}function*J(W1,P1,E1){yield"true"}function*$(W1,P1,E1){yield`Array.isArray(${E1})`;let[t,G1]=[z1("value","any"),z1("acc","number")];if(q4(W1.maxItems))yield`${E1}.length <= ${W1.maxItems}`;if(q4(W1.minItems))yield`${E1}.length >= ${W1.minItems}`;let C1=D1(W1.items,P1,"value");if(yield`((array) => { for(const ${t} of array) if(!(${C1})) { return false }; return true; })(${E1})`,CB(W1.contains)||q4(W1.minContains)||q4(W1.maxContains)){let b1=CB(W1.contains)?W1.contains:o5(),g1=D1(b1,P1,"value"),A1=q4(W1.minContains)?[`(count >= ${W1.minContains})`]:[],u1=q4(W1.maxContains)?[`(count <= ${W1.maxContains})`]:[],M0=`const count = value.reduce((${G1}, ${t}) => ${g1} ? acc + 1 : acc, 0)`,N0=["(count > 0)",...A1,...u1].join(" && ");yield`((${t}) => { ${M0}; return ${N0}})(${E1})`}if(W1.uniqueItems===!0)yield`((${t}) => { const set = new Set(); for(const element of value) { const hashed = hash(element); if(set.has(hashed)) { return false } else { set.add(hashed) } } return true } )(${E1})`}function*Y(W1,P1,E1){yield`(typeof value === 'object' && Symbol.asyncIterator in ${E1})`}function*X(W1,P1,E1){if(yield`(typeof ${E1} === 'bigint')`,FZ(W1.exclusiveMaximum))yield`${E1} < BigInt(${W1.exclusiveMaximum})`;if(FZ(W1.exclusiveMinimum))yield`${E1} > BigInt(${W1.exclusiveMinimum})`;if(FZ(W1.maximum))yield`${E1} <= BigInt(${W1.maximum})`;if(FZ(W1.minimum))yield`${E1} >= BigInt(${W1.minimum})`;if(FZ(W1.multipleOf))yield`(${E1} % BigInt(${W1.multipleOf})) === 0`}function*W(W1,P1,E1){yield`(typeof ${E1} === 'boolean')`}function*Z(W1,P1,E1){yield*d(W1.returns,P1,`${E1}.prototype`)}function*G(W1,P1,E1){if(yield`(${E1} instanceof Date) && Number.isFinite(${E1}.getTime())`,q4(W1.exclusiveMaximumTimestamp))yield`${E1}.getTime() < ${W1.exclusiveMaximumTimestamp}`;if(q4(W1.exclusiveMinimumTimestamp))yield`${E1}.getTime() > ${W1.exclusiveMinimumTimestamp}`;if(q4(W1.maximumTimestamp))yield`${E1}.getTime() <= ${W1.maximumTimestamp}`;if(q4(W1.minimumTimestamp))yield`${E1}.getTime() >= ${W1.minimumTimestamp}`;if(q4(W1.multipleOfTimestamp))yield`(${E1}.getTime() % ${W1.multipleOfTimestamp}) === 0`}function*U(W1,P1,E1){yield`(typeof ${E1} === 'function')`}function*z(W1,P1,E1){let t=globalThis.Object.getOwnPropertyNames(W1.$defs).reduce((G1,C1)=>{return[...G1,W1.$defs[C1]]},[]);yield*d(vU(W1.$ref),[...P1,...t],E1)}function*K(W1,P1,E1){if(yield`Number.isInteger(${E1})`,q4(W1.exclusiveMaximum))yield`${E1} < ${W1.exclusiveMaximum}`;if(q4(W1.exclusiveMinimum))yield`${E1} > ${W1.exclusiveMinimum}`;if(q4(W1.maximum))yield`${E1} <= ${W1.maximum}`;if(q4(W1.minimum))yield`${E1} >= ${W1.minimum}`;if(q4(W1.multipleOf))yield`(${E1} % ${W1.multipleOf}) === 0`}function*H(W1,P1,E1){let t=W1.allOf.map((G1)=>D1(G1,P1,E1)).join(" && ");if(W1.unevaluatedProperties===!1){let G1=s(`${new RegExp(JL(W1))};`),C1=`Object.getOwnPropertyNames(${E1}).every(key => ${G1}.test(key))`;yield`(${t} && ${C1})`}else if(CB(W1.unevaluatedProperties)){let G1=s(`${new RegExp(JL(W1))};`),C1=`Object.getOwnPropertyNames(${E1}).every(key => ${G1}.test(key) || ${D1(W1.unevaluatedProperties,P1,`${E1}[key]`)})`;yield`(${t} && ${C1})`}else yield`(${t})`}function*V(W1,P1,E1){yield`(typeof value === 'object' && Symbol.iterator in ${E1})`}function*w(W1,P1,E1){if(typeof W1.const==="number"||typeof W1.const==="boolean")yield`(${E1} === ${W1.const})`;else yield`(${E1} === '${EP0.Escape(W1.const)}')`}function*D(W1,P1,E1){yield"false"}function*_(W1,P1,E1){yield`(!${D1(W1.not,P1,E1)})`}function*F(W1,P1,E1){yield`(${E1} === null)`}function*M(W1,P1,E1){if(yield Cd.IsNumberLike(E1),q4(W1.exclusiveMaximum))yield`${E1} < ${W1.exclusiveMaximum}`;if(q4(W1.exclusiveMinimum))yield`${E1} > ${W1.exclusiveMinimum}`;if(q4(W1.maximum))yield`${E1} <= ${W1.maximum}`;if(q4(W1.minimum))yield`${E1} >= ${W1.minimum}`;if(q4(W1.multipleOf))yield`(${E1} % ${W1.multipleOf}) === 0`}function*N(W1,P1,E1){if(yield Cd.IsObjectLike(E1),q4(W1.minProperties))yield`Object.getOwnPropertyNames(${E1}).length >= ${W1.minProperties}`;if(q4(W1.maxProperties))yield`Object.getOwnPropertyNames(${E1}).length <= ${W1.maxProperties}`;let t=Object.getOwnPropertyNames(W1.properties);for(let G1 of t){let C1=tg1.Encode(E1,G1),b1=W1.properties[G1];if(W1.required&&W1.required.includes(G1)){if(yield*d(b1,P1,C1),$L(b1)||Q(b1))yield`('${G1}' in ${E1})`}else{let g1=D1(b1,P1,C1);yield Cd.IsExactOptionalProperty(E1,G1,g1)}}if(W1.additionalProperties===!1)if(W1.required&&W1.required.length===t.length)yield`Object.getOwnPropertyNames(${E1}).length === ${t.length}`;else{let G1=`[${t.map((C1)=>`'${C1}'`).join(", ")}]`;yield`Object.getOwnPropertyNames(${E1}).every(key => ${G1}.includes(key))`}if(typeof W1.additionalProperties==="object"){let G1=D1(W1.additionalProperties,P1,`${E1}[key]`),C1=`[${t.map((b1)=>`'${b1}'`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${E1}).every(key => ${C1}.includes(key) || ${G1}))`}}function*O(W1,P1,E1){yield`${E1} instanceof Promise`}function*L(W1,P1,E1){if(yield Cd.IsRecordLike(E1),q4(W1.minProperties))yield`Object.getOwnPropertyNames(${E1}).length >= ${W1.minProperties}`;if(q4(W1.maxProperties))yield`Object.getOwnPropertyNames(${E1}).length <= ${W1.maxProperties}`;let[t,G1]=Object.entries(W1.patternProperties)[0],C1=s(`${new RegExp(t)}`),b1=D1(G1,P1,"value"),g1=CB(W1.additionalProperties)?D1(W1.additionalProperties,P1,E1):W1.additionalProperties===!1?"false":"true",A1=`(${C1}.test(key) ? ${b1} : ${g1})`;yield`(Object.entries(${E1}).every(([key, value]) => ${A1}))`}function*q(W1,P1,E1){let t=g3(W1,P1);if(U1.functions.has(W1.$ref))return yield`${M1(W1.$ref)}(${E1})`;yield*d(t,P1,E1)}function*R(W1,P1,E1){let t=s(`${new RegExp(W1.source,W1.flags)};`);if(yield`(typeof ${E1} === 'string')`,q4(W1.maxLength))yield`${E1}.length <= ${W1.maxLength}`;if(q4(W1.minLength))yield`${E1}.length >= ${W1.minLength}`;yield`${t}.test(${E1})`}function*I(W1,P1,E1){if(yield`(typeof ${E1} === 'string')`,q4(W1.maxLength))yield`${E1}.length <= ${W1.maxLength}`;if(q4(W1.minLength))yield`${E1}.length >= ${W1.minLength}`;if(W1.pattern!==void 0)yield`${s(`${new RegExp(W1.pattern)};`)}.test(${E1})`;if(W1.format!==void 0)yield`format('${W1.format}', ${E1})`}function*x(W1,P1,E1){yield`(typeof ${E1} === 'symbol')`}function*S(W1,P1,E1){yield`(typeof ${E1} === 'string')`,yield`${s(`${new RegExp(W1.pattern)};`)}.test(${E1})`}function*P(W1,P1,E1){yield`${M1(W1.$ref)}(${E1})`}function*y(W1,P1,E1){if(yield`Array.isArray(${E1})`,W1.items===void 0)return yield`${E1}.length === 0`;yield`(${E1}.length === ${W1.maxItems})`;for(let t=0;t<W1.items.length;t++)yield`${D1(W1.items[t],P1,`${E1}[${t}]`)}`}function*g(W1,P1,E1){yield`${E1} === undefined`}function*a(W1,P1,E1){yield`(${W1.anyOf.map((G1)=>D1(G1,P1,E1)).join(" || ")})`}function*Q1(W1,P1,E1){if(yield`${E1} instanceof Uint8Array`,q4(W1.maxByteLength))yield`(${E1}.length <= ${W1.maxByteLength})`;if(q4(W1.minByteLength))yield`(${E1}.length >= ${W1.minByteLength})`}function*e(W1,P1,E1){yield"true"}function*l(W1,P1,E1){yield Cd.IsVoidLike(E1)}function*J1(W1,P1,E1){let t=U1.instances.size;U1.instances.set(t,W1),yield`kind('${W1[E2]}', ${t}, ${E1})`}function*d(W1,P1,E1,t=!0){let G1=k3(W1.$id)?[...P1,W1]:P1,C1=W1;if(t&&k3(W1.$id)){let b1=M1(W1.$id);if(U1.functions.has(b1))return yield`${b1}(${E1})`;else{U1.functions.set(b1,"<deferred>");let g1=V1(b1,W1,P1,"value",!1);return U1.functions.set(b1,g1),yield`${b1}(${E1})`}}switch(C1[E2]){case"Any":return yield*B(C1,G1,E1);case"Argument":return yield*J(C1,G1,E1);case"Array":return yield*$(C1,G1,E1);case"AsyncIterator":return yield*Y(C1,G1,E1);case"BigInt":return yield*X(C1,G1,E1);case"Boolean":return yield*W(C1,G1,E1);case"Constructor":return yield*Z(C1,G1,E1);case"Date":return yield*G(C1,G1,E1);case"Function":return yield*U(C1,G1,E1);case"Import":return yield*z(C1,G1,E1);case"Integer":return yield*K(C1,G1,E1);case"Intersect":return yield*H(C1,G1,E1);case"Iterator":return yield*V(C1,G1,E1);case"Literal":return yield*w(C1,G1,E1);case"Never":return yield*D(C1,G1,E1);case"Not":return yield*_(C1,G1,E1);case"Null":return yield*F(C1,G1,E1);case"Number":return yield*M(C1,G1,E1);case"Object":return yield*N(C1,G1,E1);case"Promise":return yield*O(C1,G1,E1);case"Record":return yield*L(C1,G1,E1);case"Ref":return yield*q(C1,G1,E1);case"RegExp":return yield*R(C1,G1,E1);case"String":return yield*I(C1,G1,E1);case"Symbol":return yield*x(C1,G1,E1);case"TemplateLiteral":return yield*S(C1,G1,E1);case"This":return yield*P(C1,G1,E1);case"Tuple":return yield*y(C1,G1,E1);case"Undefined":return yield*g(C1,G1,E1);case"Union":return yield*a(C1,G1,E1);case"Uint8Array":return yield*Q1(C1,G1,E1);case"Unknown":return yield*e(C1,G1,E1);case"Void":return yield*l(C1,G1,E1);default:if(!bY.Has(C1[E2]))throw new UR2(W1);return yield*J1(C1,G1,E1)}}let U1={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function D1(W1,P1,E1,t=!0){return`(${[...d(W1,P1,E1,t)].join(" && ")})`}function M1(W1){return`check_${LP0.Encode(W1)}`}function s(W1){let P1=`local_${U1.variables.size}`;return U1.variables.set(P1,`const ${P1} = ${W1}`),P1}function V1(W1,P1,E1,t,G1=!0){let[C1,b1]=[`
|
|
633
633
|
`,(M0)=>"".padStart(M0," ")],g1=z1("value","any"),A1=Y1("boolean"),u1=[...d(P1,E1,t,G1)].map((M0)=>`${b1(4)}${M0}`).join(` &&${C1}`);return`function ${W1}(${g1})${A1} {${C1}${b1(2)}return (${C1}${u1}${C1}${b1(2)})
|
|
634
634
|
}`}function z1(W1,P1){let E1=U1.language==="typescript"?`: ${P1}`:"";return`${W1}${E1}`}function Y1(W1){return U1.language==="typescript"?`: ${W1}`:""}function Z1(W1,P1,E1){let t=V1("check",W1,P1,"value"),G1=z1("value","any"),C1=Y1("boolean"),b1=[...U1.functions.values()],g1=[...U1.variables.values()],A1=k3(W1.$id)?`return function check(${G1})${C1} {
|
|
635
635
|
return ${M1(W1.$id)}(value)
|
|
@@ -6901,7 +6901,7 @@ gpgsig`+yr0(Y)+`
|
|
|
6901
6901
|
`).filter(Boolean);if(G.length>0)return $.info(`getAncestorCommitShas via native git: ${G.length} commits`),G}catch(Z){$.info(`Native git unavailable, falling back to isomorphic-git: ${Z}`)}let Y={fs:l73,dir:A,gitdir:Q,cache:{}},X=[],W=B;for(let Z=0;Z<J;Z++){let{commit:G}=await Ib9.readCommit({...Y,oid:W});if(X.push(W),await new Promise((U)=>setTimeout(U,a73)),!G.parent||G.parent.length===0)break;W=G.parent[0]}return $.info(`getAncestorCommitShas via isomorphic-git: ${X.length} commits`),X}var Ib9,n73,a73=1;var Gs0=C(()=>{Ib9=iA(Ys0(),1),n73=i73(c73)});import{extname as o73}from"node:path";class ko1{log=XA.child({prefix:"IgnoreRulesBlobFilter"});maxFileSize;excludedExtensions;ignoreObj;constructor(A={}){if(this.maxFileSize=A.maxFileSize??t73,this.excludedExtensions=new Set(r73),A.additionalExcludedExtensions)for(let Q of A.additionalExcludedExtensions)this.excludedExtensions.add(Q.startsWith(".")?Q:`.${Q}`);if(this.ignoreObj=Rb9.default(),this.ignoreObj.add(s73),A.gitignoreContent){let Q=Us0(A.gitignoreContent);this.ignoreObj.add(Q)}}setAugmentIgnoreRules(A){let Q=Us0(A);if(Q.length>0)this.ignoreObj.add(Q),this.log.info(`Added ${Q.length} .augmentignore rules`)}addGitignoreRules(A,Q=""){let B=Us0(A,Q);if(B.length>0)this.ignoreObj.add(B)}shouldAcceptBlob(A){let Q=o73(A.path).toLowerCase();if(this.excludedExtensions.has(Q))return Promise.resolve({accepted:!1,reason:`Excluded extension: ${Q}`});if(A.size>this.maxFileSize)return Promise.resolve({accepted:!1,reason:`File too large: ${A.size} > ${this.maxFileSize}`});if(this.ignoreObj.ignores(A.path))return Promise.resolve({accepted:!1,reason:"Matched ignore rule"});return Promise.resolve({accepted:!0})}}function Us0(A,Q=""){let B=A.split(`
|
|
6902
6902
|
`).map(($)=>$.endsWith("\r")?$.slice(0,-1):$).filter(($)=>$.trim()!==""&&!$.trim().startsWith("#"));if(Q==="")return B;let J=Q.endsWith("/")?Q.slice(0,-1):Q;return B.map(($)=>e73($,J))}function e73(A,Q){if(A.startsWith("!")){let B=A.slice(1);if(B.startsWith("/"))return`!${Q}${B}`;return`!${Q}/**/${B}`}if(A.startsWith("/"))return Q+A;return`${Q}/**/${A}`}var Rb9,r73,s73,t73=1048576;var zs0=C(()=>{v2();Rb9=iA(rT(),1),r73=new Set([".png",".jpg",".jpeg",".gif",".ico",".webp",".svg",".bmp",".tiff",".psd",".ai",".mp3",".mp4",".wav",".mov",".avi",".flv",".mkv",".m4a",".aac",".ogg",".webm",".zip",".tar",".gz",".rar",".7z",".bz2",".xz",".iso",".exe",".dll",".so",".dylib",".o",".a",".lib",".bin",".app",".db",".sqlite",".sqlite3",".mdb",".dat",".class",".pyc",".pyo",".obj",".out",".woff",".woff2",".ttf",".otf",".eot",".fon",".jar",".war",".ear",".apk",".dmg",".deb",".rpm",".crt",".cer",".pem",".key",".lock"]),s73=[".git","*.pem","*.key","*.pfx","*.p12","*.jks","*.keystore","*.pkcs12","*.crt","*.cer","id_rsa","id_ed25519","id_ecdsa","id_dsa",".augment-guidelines"]});import{execFile as AB3}from"node:child_process";import{readFile as jb9}from"node:fs/promises";import{join as Tb9}from"node:path";import{promisify as QB3}from"node:util";class bo1{blobNameCalc;blobUploader;log=XA.child({prefix:"IsoGitIndexingService"});onProgress=new Y3;orchestrator;filesDiscovered=0;currentWorkspaceRoot;indexingStartTime;apiServer;constructor(A,Q=1048576,B=$41){this.apiServer=A,this.blobNameCalc=new Qf(Q),this.blobUploader=new Bf(this.blobNameCalc,A,B)}dispose(){this.blobUploader.dispose(),this.onProgress.dispose()}async createBlobFilter(A){let Q;try{Q=await jb9(Tb9(A,".gitignore"),"utf-8")}catch{}let B=new ko1({gitignoreContent:Q});try{let J=await jb9(Tb9(A,".augmentignore"),"utf-8");B.setAugmentIgnoreRules(J)}catch{}return B}getIndexingStatus(){let A=this.orchestrator?.filesAccepted??0,Q=this.orchestrator?.filesSettled??0;return{itemsInFlight:Math.max(0,A-Q),calculateQueueSize:0,probeQueueSize:0,uploadQueueSize:0,probeRetryQueueSize:0,probeRetryBackoffQueueSize:0,calculateErrors:0,probeErrors:0,mtimeCacheHits:0,mtimeCacheMisses:0,pathsAccepted:A,currentFile:void 0,consecutiveNoneIndexedProbes:0,calculateAvgMs:0,calculateMaxMs:0}}emitProgress(A){let Q=this.orchestrator?.filesAccepted??0,B=this.orchestrator?.filesSettled??0,J=Q>0?Math.round(B/Q*100):0;this.onProgress.fire({phase:A,percentage:J,filesDiscovered:this.filesDiscovered,filesTracked:Q,filesProcessed:B,filesIndexed:this.orchestrator?.filesIndexed??0,filesFailed:this.orchestrator?.filesFailed??0,filesRejected:this.orchestrator?.filesRejected??0,filesPreIndexed:0,workspaceRoot:this.currentWorkspaceRoot,durationMs:A==="complete"&&this.indexingStartTime?Date.now()-this.indexingStartTime:void 0})}async findIndexedBaseCommit(A,Q,B=20){let J=qP(A);if(!J.isGitRepo||!J.dir||!J.gitdir)return this.log.warn(`Not a git repository: ${A}`),null;try{let $=await Zs0(J.dir,J.gitdir,Q,B,this.log);if($.length===0)return null;this.log.info(`Looking for indexed checkpoint among ${$.length} ancestor commits`);let Y=this.apiServer.getLatestIndexedCommitBlobset({commit_shas:$}),X=null,W,Z=new Map;for await(let G of Y){if(G.commit_sha&&!X)X=G.commit_sha,W=G.checkpoint_id,this.log.info(`Found indexed base commit: ${X}`+(W?` (checkpoint: ${W})`:""));for(let U of G.file_infos)Z.set(U.file_path,U.blob_name)}if(!X)return this.log.info("No indexed checkpoint found — will do full tree walk"),null;return this.log.info(`Collected ${Z.size} file mappings from base commit`),{commitSha:X,checkpointId:W,fileInfoMap:Z}}catch($){return this.log.info("No indexed base commit found",{error:$}),null}}async createGitShaCommitIndex(A,Q){this.log.info(`Starting indexing for commit ${Q} in repo ${A}`),this.currentWorkspaceRoot=A,this.indexingStartTime=Date.now(),this.emitProgress("qualifying");let B=qP(A);if(!B.isGitRepo||!B.dir||!B.gitdir)throw Error(`Not a git repository: ${A}`);let{dir:J,gitdir:$,headRef:Y}=B,X=Q==="HEAD"&&Y?Y:Q,W;try{let{stdout:O}=await Pb9("git",["--git-dir",$,"rev-parse",X],{cwd:J});W=O.trim(),this.log.info(`Resolved commit ${Q} to OID ${W}`)}catch(O){throw Error(`Failed to resolve commit ${Q}: ${O}`)}let Z=await this.createBlobFilter(A),G;try{let{stdout:O}=await Pb9("git",["--git-dir",$,"log","-1","--format=%ct",W],{cwd:J});G=Number.parseInt(O.trim(),10)*1000}catch(O){throw Error(`Failed to read commit ${W}: ${O}`)}let U=await this.findIndexedBaseCommit(A,W);if(U&&U.commitSha===W)return this.log.info("Target commit already indexed, nothing to do"),this.emitProgress("complete"),{commitSha:W,filesIndexed:0,alreadyIndexed:!0,registered:!1,durationMs:Date.now()-(this.indexingStartTime??Date.now())};this.emitProgress("indexing");let z=new Jf(this.apiServer,U?.checkpointId);if(U)if(U.checkpointId)this.log.info(`Resuming from checkpoint ${U.checkpointId} (${U.fileInfoMap.size} base files)`);else{let O=Array.from(U.fileInfoMap.values());this.log.info(`Seeding checkpoint with ${O.length} blobs from base commit`),z.update(O,[]),await z.flushToLimit()}let K=new $f(Z,this.blobUploader,z);this.orchestrator=K;let H=!1,V=new Promise((O)=>{K.onDone(async(L)=>{if(L.hadFailures)this.log.warn("Not registering commit blobset due to failures");else try{await this.apiServer.registerIndexedCommitBlobset({commit:{commit_sha:W,commit_time:new Date(G).toISOString()},blobs:z.blobs}),H=!0,this.log.info(`Checkpoint registered: commit ${W}, ${K.filesSettled} files indexed`)}catch(q){this.log.error("Failed to register commit blobset",{error:q})}this.emitProgress("complete"),O()})}),w=K.onBlobSettled.event(()=>{this.emitProgress("indexing")}),D=()=>{if(this.filesDiscovered++,this.filesDiscovered%1000===0)this.emitProgress("indexing")},_={async onFileAdded(O,L){let q;try{q=await L()}catch(R){if(R instanceof Mf)return;throw R}await K.addFile(O,q.length,async()=>q),D()},async onFileChanged(O,L,q){let R;try{R=await q()}catch(I){if(I instanceof Mf)return;throw I}await K.addFile(O,R.length,async()=>R),D()},onFileDeleted(O){K.removeFile(O)}},F=Xs0({repoRoot:A,targetSha:W,baseSha:U?.commitSha,baseFileInfoMap:U?.fileInfoMap});this.log.info(U?`Incremental walk from base ${U.commitSha} to ${W}`:`Full tree walk for ${W}`),await F.walk(_),this.emitProgress("indexing"),K.traversalCompleted(),await V,w.dispose();let M=K.filesSettled,N=Date.now()-(this.indexingStartTime??Date.now());return this.log.info(`Git SHA indexing complete: ${M} files, ${(N/1000).toFixed(1)}s, registered=${H}`),{commitSha:W,filesIndexed:M,alreadyIndexed:!1,registered:H,durationMs:N}}}var Pb9;var Ks0=C(()=>{So1();v2();_D1();MD1();Gs0();ND1();So1();OD1();zs0();qD1();Pb9=QB3(AB3)});import{readdir as BB3,stat as JB3}from"node:fs/promises";import{join as $B3,relative as Sb9}from"node:path";async function*Hs0(A,Q,B={}){let J=new Set([...YB3,...B.skipDirectories??[]]),$=B.signal,Y=B.shouldEnterDirectory;async function*X(W){if($?.aborted)return;let Z;try{Z=await BB3(W,{withFileTypes:!0})}catch(G){XB3.warn(`Cannot read directory ${W}`,{error:G});return}for(let G of Z){if($?.aborted)return;let U=$B3(W,G.name);if(G.isDirectory()){if(J.has(G.name))continue;if(Y){let z=Sb9(A,U);if(!Y(z))continue}yield*X(U)}else if(G.isFile())try{let z=await JB3(U);yield{relativePath:Sb9(A,U),absolutePath:U,size:z.size}}catch{}}}yield*X(Q)}var YB3,XB3;var Vs0=C(()=>{v2();YB3=new Set([".git","node_modules",".hg",".svn","__pycache__",".tox",".mypy_cache",".pytest_cache",".next",".nuxt",".output",".turbo",".vercel",".cache",".parcel-cache","dist","build","out","coverage",".idea",".vscode"]),XB3=XA.child({prefix:"FileWalker"})});import{readFile as WB3}from"node:fs/promises";import{basename as ZB3}from"node:path";class xo1{blobNameCalc;blobUploader;log=XA.child({prefix:"WorkspaceIndexingService"});onProgress=new Y3;onCheckpoint=new Y3;orchestrator;walkComplete=!1;filesDiscovered=0;filesPreIndexed=0;currentWorkspaceRoot;indexingStartTime;apiServer;constructor(A,Q=1048576,B=$41){this.apiServer=A,this.blobNameCalc=new Qf(Q),this.blobUploader=new Bf(this.blobNameCalc,A,B)}dispose(){this.blobUploader.dispose(),this.onProgress.dispose()}createBlobFilter(A){let Q=new Y41({workspaceRoot:A});return Q.loadDirectory(""),Q}getIndexingStatus(){let A=this.orchestrator?.filesAccepted??0,Q=this.orchestrator?.filesSettled??0;return{itemsInFlight:Math.max(0,A-Q),calculateQueueSize:0,probeQueueSize:0,uploadQueueSize:0,probeRetryQueueSize:0,probeRetryBackoffQueueSize:0,calculateErrors:0,probeErrors:0,mtimeCacheHits:0,mtimeCacheMisses:0,pathsAccepted:A,currentFile:void 0,consecutiveNoneIndexedProbes:0,calculateAvgMs:0,calculateMaxMs:0}}emitProgress(A){let Q=this.orchestrator?.filesAccepted??0,B=this.orchestrator?.filesSettled??0,J=Q+this.filesPreIndexed,$=B+this.filesPreIndexed,Y=J>0?Math.round($/J*100):0;this.onProgress.fire({phase:A,percentage:Y,filesDiscovered:this.filesDiscovered,filesTracked:Q,filesProcessed:B,filesIndexed:this.orchestrator?.filesIndexed??0,filesFailed:this.orchestrator?.filesFailed??0,filesRejected:this.orchestrator?.filesRejected??0,filesPreIndexed:this.filesPreIndexed,walkComplete:this.walkComplete,workspaceRoot:this.currentWorkspaceRoot,durationMs:A==="complete"&&this.indexingStartTime?Date.now()-this.indexingStartTime:void 0})}async indexWorkspace(A,Q,B={}){this.log.info(`Starting workspace indexing for ${Q}`+(Q===A?"":` (workspace root: ${A})`)),this.walkComplete=!1,this.filesDiscovered=0,this.filesPreIndexed=0,this.currentWorkspaceRoot=A,this.indexingStartTime=Date.now(),this.emitProgress("qualifying");let J=this.createBlobFilter(A),$=B.baselineCheckpointId,Y=new Jf(this.apiServer,$),X=!1,W=Y.onCheckpoint.event((M)=>{X=!0,this.onCheckpoint.fire(M)}),Z=new $f(J,this.blobUploader,Y);this.orchestrator=Z;let G=B.preIndexedFiles;if(G&&G.size>0)if(Y.seed(G),this.filesPreIndexed=G.size,$)this.log.info(`Resuming from checkpoint ${$} (${G.size} pre-indexed files)`);else{let M=Array.from(G.values());this.log.info(`Seeding checkpoint with ${M.length} pre-indexed blobs`),Y.update(M,[]),await Y.flushToLimit()}let U=new Promise((M,N)=>{Z.onDone((O)=>{if(O.hadFailures)this.log.warn("Workspace indexing completed with failures");this.emitProgress("complete"),M()})}),z=Z.onBlobSettled.event(()=>{this.emitProgress("indexing")});this.emitProgress("indexing");let K={skipDirectories:B.skipDirectories,signal:B.signal,shouldEnterDirectory:(M)=>{return J.loadDirectory(M),!J.isDirectoryIgnored(M)}},H=B.maxTrackableFiles??GB3,V=0;for await(let M of Hs0(A,Q,K)){if(B.signal?.aborted)break;if(Z.filesAccepted>=H){this.log.warn(`Workspace exceeds ${H} trackable files, stopping walk`),this.emitProgress("workspace-too-large");break}this.filesDiscovered++;let N=ZB3(M.relativePath);if(N===".gitignore"||N===".augmentignore"){J.updateIgnoreFile(M.relativePath);continue}if(G?.has(M.relativePath)){V++;continue}if(await Z.addFile(M.relativePath,M.size,()=>WB3(M.absolutePath)),this.filesDiscovered%1000===0)this.emitProgress("indexing")}if(V>0)this.log.info(`Skipped ${V} pre-indexed files (incremental)`);this.walkComplete=!0,this.emitProgress("indexing"),Z.traversalCompleted(),await U,z.dispose(),Y.flushCheckpointEvent();let w=Y.blobs.checkpointId;if(!X&&w)this.onCheckpoint.fire({checkpointId:w,addedBlobs:[],deletedBlobs:[]});W.dispose();let D=Date.now()-(this.indexingStartTime??Date.now()),_=Z.filesAccepted,F=Z.filesSettled;return this.log.info(`Workspace indexing complete: ${_} tracked, ${F} processed, ${V} skipped (pre-indexed), ${(D/1000).toFixed(1)}s, checkpoint: ${w??"none"}`),{checkpointId:w,filesTracked:_,filesProcessed:F,filesSkipped:V,durationMs:D,pathToBlobName:Z.pathToBlobName}}}var GB3=200000;var ws0=C(()=>{v2();_D1();MD1();OD1();Vs0();fa1();qD1()});import{watch as kb9}from"node:fs";import{readdir as UB3,stat as zB3}from"node:fs/promises";import{join as bb9,relative as Ds0}from"node:path";class yo1{workspaceRoot;debounceMs;skipDirs;shouldWatch;onChange=new Y3;watchers=[];pendingEvents=new Map;debounceTimer=null;running=!1;constructor(A){this.workspaceRoot=A.workspaceRoot,this.debounceMs=A.debounceMs??KB3,this.skipDirs=new Set([...HB3,...A.skipDirectories??[]]),this.shouldWatch=A.shouldWatchDirectory}async start(){if(this.running)return;this.running=!0;let A=process.platform==="darwin"||process.platform==="win32";if(A)this.startRecursive();else await this.startPerDirectory(this.workspaceRoot);vo1.info(`Started watching ${this.workspaceRoot} (${A?"recursive":"per-directory"}, ${this.watchers.length} watcher(s))`)}stop(){if(!this.running)return;this.running=!1;for(let A of this.watchers)A.close();this.watchers=[],this.flush(),vo1.info("Stopped watching")}startRecursive(){let A=kb9(this.workspaceRoot,{recursive:!0},(Q,B)=>{if(!B||!this.running)return;let J=B.toString();if(this.shouldSkip(J))return;this.enqueue(J,Q==="rename"?"rename":"change")});A.on("error",(Q)=>{vo1.warn("Watcher error",{error:Q})}),this.watchers.push(A)}async startPerDirectory(A){if(!this.running)return;let Q=Ds0(this.workspaceRoot,A);if(Q&&this.shouldSkipDir(Q))return;this.watchSingleDirectory(A);let B;try{B=await UB3(A,{withFileTypes:!0})}catch{return}let J=[];for(let $ of B)if($.isDirectory()&&!this.skipDirs.has($.name)){let Y=Q?`${Q}/${$.name}`:$.name;if(this.shouldWatch&&!this.shouldWatch(Y))continue;J.push(this.startPerDirectory(bb9(A,$.name)))}await Promise.all(J)}watchSingleDirectory(A){let Q=kb9(A,(B,J)=>{if(!J||!this.running)return;let $=bb9(A,J.toString()),Y=Ds0(this.workspaceRoot,$);if(this.shouldSkip(Y))return;if(this.enqueue(Y,B==="rename"?"rename":"change"),B==="rename")this.maybeWatchNewDirectory($)});Q.on("error",(B)=>{vo1.warn(`Watcher error on ${A}`,{error:B})}),this.watchers.push(Q)}maybeWatchNewDirectory(A){zB3(A).then((Q)=>{if(Q.isDirectory()&&this.running){let B=Ds0(this.workspaceRoot,A);if(this.shouldSkipDir(B))return;if(this.shouldWatch&&!this.shouldWatch(B))return;this.watchSingleDirectory(A)}}).catch(()=>{})}shouldSkip(A){let Q=A.split("/");if(Q.some((B)=>this.skipDirs.has(B)))return!0;if(this.shouldWatch&&Q.length>1){let B=Q.slice(0,-1).join("/");if(!this.shouldWatch(B))return!0}return!1}shouldSkipDir(A){return A.split("/").some((B)=>this.skipDirs.has(B))}enqueue(A,Q){if(this.pendingEvents.set(A,Q),this.debounceTimer)clearTimeout(this.debounceTimer);this.debounceTimer=setTimeout(()=>this.flush(),this.debounceMs)}flush(){if(this.debounceTimer)clearTimeout(this.debounceTimer),this.debounceTimer=null;if(this.pendingEvents.size===0)return;let A=[];for(let[Q,B]of this.pendingEvents)A.push({type:B,relativePath:Q});this.pendingEvents.clear(),this.onChange.fire(A)}}var KB3=500,HB3,vo1;var _s0=C(()=>{v2();HB3=new Set([".git","node_modules",".hg",".svn","__pycache__",".tox",".mypy_cache",".pytest_cache",".next",".nuxt",".output",".turbo",".vercel",".cache",".parcel-cache"]),vo1=XA.child({prefix:"FileWatcher"})});import{readFile as VB3,stat as wB3}from"node:fs/promises";import{basename as DB3,join as _B3}from"node:path";class fo1{workspaceRoot;blobFilter;orchestrator;subscription=null;onUpdate=new Y3;constructor(A){this.workspaceRoot=A.workspaceRoot,this.blobFilter=A.blobFilter,this.orchestrator=A.orchestrator}attach(A){this.detach(),this.subscription=A.onChange.event((Q)=>{this.processBatch(Q).catch((B)=>{xb9.error("Failed to process watcher batch",{error:B})})})}detach(){this.subscription?.dispose(),this.subscription=null}dispose(){this.detach(),this.onUpdate.dispose()}async processBatch(A){let Q=[],B=[];for(let Y of A){let X=DB3(Y.relativePath);if(FB3.has(X))Q.push(Y);else B.push(Y)}for(let Y of Q)this.blobFilter.updateIgnoreFile(Y.relativePath);if(B.length===0)return;let J=0,$=0;for(let Y of B){let X=_B3(this.workspaceRoot,Y.relativePath),W=null;try{W=await wB3(X)}catch{}if(!W?.isFile()){this.orchestrator.removeFile(Y.relativePath),$++;continue}await this.orchestrator.addFile(Y.relativePath,W.size,()=>VB3(X)),J++}if(J>0||$>0)xb9.info(`Processed batch: ${J} added, ${$} deleted`),this.onUpdate.fire({checkpointId:this.orchestrator.checkpointBuilder.blobs.checkpointId})}}var FB3,xb9;var Fs0=C(()=>{v2();FB3=new Set([".gitignore",".augmentignore"]),xb9=XA.child({prefix:"WatcherProcessor"})});import{relative as vb9,resolve as yb9}from"node:path";class fb9{gitService;workspaceService;deltaResolver;apiServer;maxBlobSize;log=XA.child({prefix:"ContextIndexer"});fileWatcher=null;watcherProcessor=null;onIndexing=new Y3;onCheckpoint=new Y3;onWatcherUpdate=new Y3;constructor(A,Q={}){this.apiServer=A,this.maxBlobSize=Q.maxBlobSize??1048576,this.gitService=new bo1(A,Q.maxBlobSize),this.workspaceService=new xo1(A,Q.maxBlobSize),this.deltaResolver=new ba1(A,Q.deltaResolverOptions),this.workspaceService.onProgress.event((B)=>{this.onIndexing.fire(B)}),this.workspaceService.onCheckpoint.event((B)=>{this.onCheckpoint.fire(B)})}getGitRepoDetails(A){return qP(A)}async indexWorkspace(A,Q,B){let J=yb9(A),$=yb9(Q),Y=_o0(J),X,W,Z=null;this.log.info("Looking for previously indexed git SHA...");try{let U=Y?await this.deltaResolver.resolveIndexedCommitDelta(Y):null;if(U&&Y){this.log.info(`Found indexed commit ${U.indexedCommitSha}: ${U.fileInfoMap.size} unchanged, ${U.modifiedFiles.size} modified, ${U.addedFiles.size} added, ${U.deletedFiles.size} deleted, ${U.untrackedFiles.size} untracked`);let z=Y===J?"":`${vb9(Y,J)}/`,K=$===J?z:`${vb9(Y,$)}/`,H=new Map;for(let[V,w]of U.fileInfoMap)if(V.startsWith(K))H.set(V,w);if(Z={commitSha:U.indexedCommitSha,fileCount:H.size},H.size!==U.fileInfoMap.size)this.log.info(`Filtered delta to ${H.size} files under ${K} (was ${U.fileInfoMap.size})`);if(X=H,Y===J&&$===J)W=U.checkpointId}else this.log.info(Y?"No previously indexed commit found — doing full walk":"Not inside a git repository — doing full walk")}catch(U){this.log.warn("Delta resolution failed, falling back to full walk",U)}return{...await this.workspaceService.indexWorkspace(A,Q,{...B,preIndexedFiles:X,baselineCheckpointId:W}),baseline:Z}}createGitShaCommitIndex(A,Q){return this.gitService.createGitShaCommitIndex(A,Q)}getIndexingStatus(){return this.gitService.getIndexingStatus()}async startWatcher(A,Q){this.stopWatcher();let B=new Qf(this.maxBlobSize),J=new Bf(B,this.apiServer),$=new Jf(this.apiServer);if(Q)$.seed(Q);let Y=new Y41({workspaceRoot:A});Y.loadDirectory("");let X=new $f(Y,J,$);this.fileWatcher=new yo1({workspaceRoot:A,shouldWatchDirectory:(W)=>{return Y.loadDirectory(W),!Y.isDirectoryIgnored(W)}}),this.watcherProcessor=new fo1({workspaceRoot:A,blobFilter:Y,orchestrator:X}),this.watcherProcessor.onUpdate.event((W)=>{this.onWatcherUpdate.fire(W)}),$.onCheckpoint.event((W)=>{this.onCheckpoint.fire(W)}),this.watcherProcessor.attach(this.fileWatcher),await this.fileWatcher.start(),this.log.info(`File watcher started for ${A}`)}stopWatcher(){this.fileWatcher?.stop(),this.watcherProcessor?.dispose(),this.fileWatcher=null,this.watcherProcessor=null}dispose(){this.stopWatcher(),this.gitService.dispose(),this.workspaceService.dispose(),this.onIndexing.dispose(),this.onCheckpoint.dispose(),this.onWatcherUpdate.dispose()}}var gb9=C(()=>{v2();_D1();MD1();Vo0();ND1();OD1();fa1();qD1();Ks0();ws0();_s0();Fs0()});import{Worker as MB3}from"node:worker_threads";async function __1(){let A=Date.now(),B=typeof process.versions.bun==="string"?new URL("./indexing-worker.js",import.meta.url):new URL("./indexing-worker.mjs",import.meta.url),J;try{J=new MB3(B)}catch($){return{ok:!1,error:`Worker construction threw: ${$ instanceof Error?$.message:String($)}`,durationMs:Date.now()-A}}return await new Promise(($)=>{let Y=!1,X=(Z)=>{if(Y)return;Y=!0,clearTimeout(W),J.terminate().catch(()=>{}),$(Z)},W=setTimeout(()=>{X({ok:!1,error:`Worker did not report ready within ${hb9}ms`,durationMs:Date.now()-A})},hb9);W.unref(),J.on("message",(Z)=>{if(Z&&Z.type==="ready")X({ok:!0,durationMs:Date.now()-A})}),J.on("error",(Z)=>{X({ok:!1,error:`Worker error event: ${Z.message}`,durationMs:Date.now()-A})}),J.on("exit",(Z)=>{if(Z!==0)X({ok:!1,error:`Worker exited with code ${Z} before ready`,durationMs:Date.now()-A})})})}var hb9=1e4;var mb9=()=>{};class ub9{api;apiUrl;apiToken;constructor(A,Q,B){this.api=A,this.apiUrl=Q.endsWith("/")?Q:`${Q}/`,this.apiToken=B}async batchUpload(A){uC.debug(`batchUpload → ${A.length} blob(s)`);let Q=A.map((J)=>({pathName:J.pathName,text:J.text,blobName:J.blobName,metadata:J.metadata})),B=await this.api.batchUpload(Q);return uC.debug("batchUpload ← done"),B}async checkpointBlobs(A){uC.debug(`checkpointBlobs → +${A.addedBlobs.length} -${A.deletedBlobs.length} (checkpoint=${A.checkpointId??"new"})`);let Q=await this.api.checkpointBlobs({checkpointId:A.checkpointId,addedBlobs:A.addedBlobs,deletedBlobs:A.deletedBlobs});return uC.debug(`checkpointBlobs ← checkpoint=${Q.newCheckpointId??"none"}`),Q}async findMissing(A){uC.debug(`findMissing → ${A.length} blob(s)`);let Q=await this.api.findMissing(A,void 0),B=Q.nonindexedBlobNames.length,J=Q.unknownBlobNames.length,$=A.length-B-J;return uC.debug(`findMissing ← ${$} indexed, ${B} non-indexed, ${J} unknown`),Q}async*getLatestIndexedCommitBlobset(A,Q){uC.debug(`getLatestIndexedCommitBlobset → ${A.commit_shas.length} commit(s)`);let B=new URL("indexed-commits/get-latest-blobset",this.apiUrl),J=await fetch(B.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiToken}`},body:JSON.stringify({commit_shas:A.commit_shas}),signal:Q});if(!J.ok)throw Error(`getLatestIndexedCommitBlobset failed: ${J.status} ${J.statusText}`);let $=J.body?.getReader();if(!$)return;let Y=new TextDecoder,X="";while(!0){let{value:W,done:Z}=await $.read();if(Z)break;X+=Y.decode(W,{stream:!0});while(X.includes(`
|
|
6903
6903
|
`)){let G=X.indexOf(`
|
|
6904
|
-
`),U=X.slice(0,G);if(X=X.slice(G+1),!U.trim())continue;let z=JSON.parse(U);yield{commit_sha:z.commit_sha,file_infos:z.file_infos??[],checkpoint_id:z.baseline_checkpoint_id}}}if(X.trim()){let W=JSON.parse(X);yield{commit_sha:W.commit_sha,file_infos:W.file_infos??[],checkpoint_id:W.baseline_checkpoint_id}}}async registerIndexedCommitBlobset(A){uC.debug(`registerIndexedCommitBlobset → sha=${A.commit.commit_sha} checkpoint=${A.blobs.checkpointId}`);let Q=new URL("indexed-commits/register-blobset",this.apiUrl),B=await fetch(Q.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiToken}`},body:JSON.stringify({commit:{commit_sha:A.commit.commit_sha,commit_time:A.commit.commit_time},blobs:{checkpoint_id:A.blobs.checkpointId,added_blobs:A.blobs.addedBlobs,deleted_blobs:A.blobs.deletedBlobs}})});if(!B.ok){let J=await B.text().catch(()=>"");throw Error(`registerIndexedCommitBlobset failed: ${B.status} ${B.statusText} ${J}`)}uC.debug("registerIndexedCommitBlobset ← ok")}async agentCodebaseRetrieval(A,Q,B,J,$){return uC.debug(`agentCodebaseRetrieval → "${Q.slice(0,80)}..."`),{formattedRetrieval:(await this.api.agentCodebaseRetrieval(A,Q,{checkpointId:B.checkpointId,addedBlobs:B.addedBlobs,deletedBlobs:B.deletedBlobs},J,0,void 0,$)).formattedRetrieval}}}var uC;var pb9=C(()=>{v2();uC=XA.child({prefix:"AugmentApiAdapter"})});var Ms0=C(()=>{gb9();mb9();IT0();pb9();Gs0();Ho0();ND1();So1();Vo0();OD1();Vs0();fa1();zs0();qD1();Ks0();ws0();_D1();MD1();Go0();Uo0();_s0();Fs0()});var lb9,NB3,OB3,qB3,db9=(A,Q,B)=>{if(B==="grpc")return A;let J=qB3[Q],$=A.endsWith("/")?A.slice(0,-1):A;if($.endsWith(J))return $;return $+J},cb9=(A)=>lb9.has(A.trim().toLowerCase()),v41=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();if(lb9.has(Q))return!0;return NB3.has(Q)?!1:void 0},go1=(A,Q)=>{if(A===void 0)return Q;let B=Number.parseInt(A.trim(),10);return Number.isNaN(B)?Q:B},Ns0=(A,Q)=>{let B=go1(A,Q);return B>0?B:Q},Os0=(A,Q)=>A&&A>0?A:Q,LB3=(A)=>A==="grpc"||A==="http/protobuf"||A==="http/json",ho1=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();return LB3(Q)?Q:void 0},Es0=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();if(Q==="delta"||Q==="cumulative")return Q;return},pi=(A)=>{if(A===void 0)return;let Q=A.trim();return Q.length>0?Q:void 0},Cs0=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();if(Q==="hmac"||Q==="raw"||Q==="off")return Q;return},EB3=(A,Q)=>(A??"").split(",").map((B)=>B.trim().toLowerCase()).includes(Q),F_1=(A)=>{let Q={};if(!A)return Q;for(let B of A.split(",")){let J=B.trim(),$=J.indexOf("=");if($<=0)continue;let Y=J.slice(0,$).trim();if(Y)Q[Y]=J.slice($+1).trim()}return Q},CB3=(A,Q,B)=>{if(B.enabled!==void 0)return B.enabled;let J=A.AUGGIE_ENABLE_TELEMETRY;if(J!==void 0)return cb9(J);let $=A.CLAUDE_CODE_ENABLE_TELEMETRY;if($!==void 0)return cb9($);return Q.enabled??!1},qs0=(A,Q,B,J)=>{let $=OB3[Q],Y=J.protocol??ho1(A[`OTEL_EXPORTER_OTLP_${$}_PROTOCOL`])??ho1(A.OTEL_EXPORTER_OTLP_PROTOCOL)??B.protocol??"http/protobuf",X=pi(J.endpoint),W=pi(A[`OTEL_EXPORTER_OTLP_${$}_ENDPOINT`]),Z=pi(A.OTEL_EXPORTER_OTLP_ENDPOINT)??pi(B.endpoint),G;if(X!==void 0)G=db9(X,Q,Y);else if(W!==void 0)G=W;else if(Z!==void 0)G=db9(Z,Q,Y);let U={...B.headers,...F_1(A.OTEL_EXPORTER_OTLP_HEADERS),...F_1(A[`OTEL_EXPORTER_OTLP_${$}_HEADERS`]),...J.headers};return{endpoint:G,headers:U,protocol:Y}},Ls0=(A)=>A!==void 0&&A>0?A:void 0,IB3=(A,Q,B)=>({bufferDir:pi(B.bufferDir)??pi(A.AUGGIE_TELEMETRY_BUFFER_DIR)??pi(Q.bufferDir),bufferMaxBytes:Ls0(B.bufferMaxBytes)??Ns0(A.AUGGIE_TELEMETRY_BUFFER_MAX_BYTES,Os0(Q.bufferMaxBytes,52428800)),breakerFailureThreshold:Ls0(B.breakerFailureThreshold)??Ns0(A.AUGGIE_TELEMETRY_BREAKER_FAILURE_THRESHOLD,Os0(Q.breakerFailureThreshold,3)),breakerBackoffMs:Ls0(B.breakerBackoffMs)??Ns0(A.AUGGIE_TELEMETRY_BREAKER_BACKOFF_MS,Os0(Q.breakerBackoffMs,30000))}),mo1=(A={})=>{let Q=A.env??process.env,B={...A.envInjection,...Q},J=A.telemetry??{},$=A.managed??{},Y={metrics:qs0(B,"metrics",J,$),logs:qs0(B,"logs",J,$),traces:qs0(B,"traces",J,$)},X=Y.metrics.endpoint!==void 0||Y.logs.endpoint!==void 0||Y.traces.endpoint!==void 0;return{enabled:CB3(B,J,$)&&X,exporter:Y,metricExportIntervalMs:$.metricExportIntervalMs??go1(B.OTEL_METRIC_EXPORT_INTERVAL,J.metricExportIntervalMs??20000),logsExportIntervalMs:$.logsExportIntervalMs??go1(B.OTEL_LOGS_EXPORT_INTERVAL,J.logsExportIntervalMs??5000),metricsTemporalityPreference:$.metricsTemporalityPreference??Es0(B.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE)??J.metricsTemporalityPreference??"delta",resourceAttributes:{...J.resourceAttributes,...F_1(B.OTEL_RESOURCE_ATTRIBUTES),...$.resourceAttributes},includeVersion:$.includeVersion??v41(B.OTEL_METRICS_INCLUDE_VERSION)??J.includeVersion??!1,includeAccountUuid:$.includeAccountUuid??v41(B.OTEL_METRICS_INCLUDE_ACCOUNT_UUID)??J.includeAccountUuid??!0,identity:{mode:$.identityMode??Cs0(B.AUGGIE_TELEMETRY_IDENTITY_MODE)??J.identityMode??"hmac",secret:$.identitySecret??B.AUGGIE_TELEMETRY_IDENTITY_SECRET??J.identitySecret},shutdownTimeoutMs:$.shutdownTimeoutMs??go1(B.AUGGIE_TELEMETRY_SHUTDOWN_TIMEOUT_MS,J.shutdownTimeoutMs??2000),...IB3(B,J,$),genAiCaptureMessageContent:$.captureMessageContent??v41(B.OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT)??J.captureMessageContent??!1,genAiLatestExperimental:EB3(B.OTEL_SEMCONV_STABILITY_OPT_IN,"gen_ai_latest_experimental"),logUserPrompts:$.logUserPrompts??v41(B.OTEL_LOG_USER_PROMPTS)??J.logUserPrompts??!1,logToolDetails:$.logToolDetails??v41(B.OTEL_LOG_TOOL_DETAILS)??J.logToolDetails??!1,langsmithCompat:$.langsmithCompat??v41(B.AUGGIE_TELEMETRY_LANGSMITH_COMPAT)??J.langsmithCompat??!1}};var uo1=C(()=>{lb9=new Set(["1","true","yes","on"]),NB3=new Set(["0","false","no","off"]),OB3={metrics:"METRICS",logs:"LOGS",traces:"TRACES"},qB3={metrics:"/v1/metrics",logs:"/v1/logs",traces:"/v1/traces"}});import{execFileSync as RB3}from"node:child_process";import{existsSync as jB3,readFileSync as TB3}from"node:fs";var ib9="/Library/Managed Preferences/com.augmentcode.auggie.plist",PB3="HKLM\\SOFTWARE\\Policies\\AugmentCode\\Auggie\\Telemetry",SB3="/etc/augment/auggie-managed-settings.json",nb9="/usr/bin/plutil",ab9="C:\\Windows\\System32\\reg.exe",kB3=2000,js0=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),ob9=(A)=>js0(A)?A.telemetry:void 0,bB3=(A,Q)=>RB3(A,Q,{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:kB3,windowsHide:!0}),xB3,vB3=(A)=>{let Q={};for(let B of A.split(/\r?\n/)){let J=xB3.exec(B);if(!J)continue;let[,$,Y,X]=J;if(Y==="REG_DWORD"||Y==="REG_QWORD"){let W=Number(X.trim());if(Number.isFinite(W))Q[$]=W}else if(Y==="REG_SZ"||Y==="REG_EXPAND_SZ")Q[$]=X}return Object.keys(Q).length>0?Q:void 0},yB3=(A={})=>{let Q=A.execRead??bB3,B=A.fileExists??jB3;return{darwin:()=>{if(!(B(ib9)&&B(nb9)))return;let J=Q(nb9,["-convert","json","-o","-",ib9]);return ob9(JSON.parse(J))},linux:()=>ob9(JSON.parse(TB3(SB3,"utf-8"))),win32:()=>{if(!B(ab9))return;return vB3(Q(ab9,["query",PB3]))}}},fB3,Is0=(A)=>typeof A==="string"?A:void 0,gB3,hB3,di=(A)=>{if(typeof A==="boolean")return A;if(typeof A==="number")return A!==0;if(typeof A==="string"){let Q=A.trim().toLowerCase();if(gB3.has(Q))return!0;if(hB3.has(Q))return!1}return},y41=(A)=>{if(typeof A==="number")return Number.isFinite(A)?A:void 0;if(typeof A==="string"){let Q=A.trim();if(Q.length===0)return;let B=Number(Q);return Number.isFinite(B)?B:void 0}return},Rs0=(A)=>{if(typeof A!=="string")return;let Q=A.trim();return Q.length>0?Q:void 0},rb9=(A)=>{if(typeof A==="string"){let B=F_1(A);return Object.keys(B).length>0?B:void 0}if(!js0(A))return;let Q={};for(let[B,J]of Object.entries(A))if(typeof J==="string")Q[B]=J;return Object.keys(Q).length>0?Q:void 0},mB3=(A)=>{if(!js0(A))return;let Q={breakerBackoffMs:y41(A.breakerBackoffMs),breakerFailureThreshold:y41(A.breakerFailureThreshold),bufferDir:Rs0(A.bufferDir),bufferMaxBytes:y41(A.bufferMaxBytes),captureMessageContent:di(A.captureMessageContent),enabled:di(A.enabled),endpoint:Rs0(A.endpoint),headers:rb9(A.headers),identityMode:Cs0(Is0(A.identityMode)),identitySecret:Rs0(A.identitySecret),includeAccountUuid:di(A.includeAccountUuid),includeVersion:di(A.includeVersion),logsExportIntervalMs:y41(A.logsExportIntervalMs),langsmithCompat:di(A.langsmithCompat),logToolDetails:di(A.logToolDetails),logUserPrompts:di(A.logUserPrompts),metricExportIntervalMs:y41(A.metricExportIntervalMs),metricsTemporalityPreference:Es0(Is0(A.metricsTemporalityPreference)),protocol:ho1(Is0(A.protocol)),resourceAttributes:rb9(A.resourceAttributes),shutdownTimeoutMs:y41(A.shutdownTimeoutMs)};return Object.values(Q).some((J)=>J!==void 0)?Q:void 0},po1=(A={})=>{let Q=A.platform??process.platform;if(Q!=="darwin"&&Q!=="win32"&&Q!=="linux")return;let B=A.readers?.[Q]??fB3[Q];try{return mB3(B())}catch{return}};var Ts0=C(()=>{uo1();xB3=/^ {4}(.+?) {4}(REG_[A-Z_]+) {4}(.*)$/,fB3=yB3(),gB3=new Set(["1","true","yes","on"]),hB3=new Set(["0","false","no","off"])});function IH(A,Q){if(typeof A==="string"){if(!Q)throw Error(`registerBuiltinExtension("${A}", factory) called without a factory`);do1.push({name:A,factory:Q,kind:"bundled"});return}if((A.kind??"bundled")==="prebundled"){if(A.factory!==void 0)throw Error(`registerBuiltinExtension("${A.name}"): prebundled extensions must not be registered with a factory (the static factory import would inline the extension into the SEA, see apps/auggie-v2/docs/prebundled-extensions.md).`);do1.push({name:A.name,kind:"prebundled"});return}if(!A.factory)throw Error(`registerBuiltinExtension({ name: "${A.name}" }) called without a factory for kind="bundled"`);do1.push({name:A.name,factory:A.factory,kind:"bundled"})}function sb9(){return do1}function tb9(A,Q){return A.filter((B)=>!Q.has(B.name))}var do1;var Ps0=C(()=>{do1=[]});import{statSync as uB3}from"node:fs";import{resolve as pB3}from"node:path";function eb9(A,Q,B){let J=[],$=[];if(!A||A.length===0)return{resolved:J,errors:$};let Y=new Set([Q]);for(let X of A){let W=HJ(X),Z=pB3(B,W);if(Y.has(Z))continue;let G;try{G=uB3(Z)}catch(U){let z=U instanceof Error?U.message:String(U);$.push(`--add-workspace "${X}": ${z}`);continue}if(!G.isDirectory()){$.push(`--add-workspace "${X}": not a directory (${Z})`);continue}Y.add(Z),J.push(Z)}return{resolved:J,errors:$}}function Ax9(A){if(A.isCloudService)return{kind:"tolerate",warnings:A.errors};return{kind:"fatal",fatalErrors:A.errors}}var Qx9=C(()=>{vX()});import{execFile as dB3}from"node:child_process";import{existsSync as cB3,rmSync as lB3}from"node:fs";import{promisify as iB3}from"node:util";function Ss0(A){let Q=A.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(Q){let[,J,$]=Q;return{sshUrl:A.endsWith(".git")?A:`${A}.git`,httpsUrl:`https://${J}/${$}.git`}}let B=A.match(/^https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(B){let[,J,$]=B;return{sshUrl:`git@${J}:${$}.git`,httpsUrl:A.endsWith(".git")?A:`${A}.git`}}return{sshUrl:A,httpsUrl:A}}function Yx9(A){return A instanceof Error?A.message:String(A)}async function ks0({sshUrl:A,httpsUrl:Q,targetDir:B,extraArgs:J=[]}){let $;for(let Y of[{url:A,env:nB3},{url:Q,env:$x9}])try{return await Jx9("git",["clone","--depth","1",...J,Y.url,B],{env:Y.env}),{success:!0}}catch(X){if($=X,cB3(B))lB3(B,{recursive:!0,force:!0})}return{success:!1,error:Yx9($)}}function Bx9(A,Q){return Jx9("git",A,{cwd:Q,env:$x9})}async function Xx9(A,Q){try{return await Bx9(["fetch","--depth","1","origin",Q],A),await Bx9(["checkout","FETCH_HEAD"],A),{success:!0}}catch(B){return{success:!1,error:Yx9(B)}}}var Jx9,nB3,$x9;var Wx9=C(()=>{Jx9=iB3(dB3),nB3={...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes"},$x9={...process.env,GIT_TERMINAL_PROMPT:"0"}});import{existsSync as aB3,readFileSync as oB3}from"node:fs";import{join as f41}from"node:path";function Ux9(A){for(let Q of Gx9)if(aB3(f41(A,Q)))return!0;return!1}function ci(A){let Q=rB3(A,Zx9);if(Q.manifest||Q.diagnostics.length>0)return Q;return{diagnostics:[`no marketplace manifest found (looked for ${Zx9.join(", ")})`]}}function rB3(A,Q){let B=[];for(let J of Q){let $=f41(A,J),Y;try{Y=oB3($,"utf-8")}catch{continue}try{let X=JSON.parse(Y);if(X&&typeof X==="object"&&!Array.isArray(X))return{manifest:X,manifestPath:$,diagnostics:B};B.push(`manifest at ${J} is not a JSON object; ignoring`)}catch(X){B.push(`failed to parse manifest at ${J}: ${X.message}`)}}return{diagnostics:B}}var Gx9,Zx9,zx9;var co1=C(()=>{Gx9=[f41(".augment-plugin","plugin.json"),f41(".claude-plugin","plugin.json")],Zx9=[f41(".augment-plugin","marketplace.json"),f41(".claude-plugin","marketplace.json")];zx9=`no plugin manifest found (looked for ${Gx9.join(", ")})`});import{execFile as sB3}from"node:child_process";import{existsSync as PP,mkdirSync as Hx9,readdirSync as tB3,renameSync as eB3,rmSync as AJ3,statSync as QJ3}from"node:fs";import{dirname as BJ3,isAbsolute as Vx9,join as SP,relative as wx9,resolve as bs0}from"node:path";import{promisify as JJ3}from"node:util";function _x9(A){let Q=A.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();if(!Q)return null;if(!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(Q))return null;return Q}function Kx9(A){let Q=A.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();if(!Q)return null;if(!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(Q))return null;return Q}function YJ3(A){let Q=A.match(/^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(?:@(.+))?$/);if(Q?.[1]&&Q[2])return{owner:Q[1],repo:Q[2].replace(/\.git$/,""),...Q[3]?{ref:Q[3]}:{}};let B=A.match(/^https?:\/\/github\.com\/([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);if(B?.[1]&&B[2])return{owner:B[1],repo:B[2],...B[4]?{ref:B[4]}:{}};let J=A.match(/^git@github\.com:([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);if(J?.[1]&&J[2])return{owner:J[1],repo:J[2],...J[4]?{ref:J[4]}:{}};return null}function pC(A){return typeof A==="string"&&A.length>0?A:void 0}function XJ3(A,Q){let B=pC(A.repo);if(!B)return null;return{kind:"github",url:`https://github.com/${B.replace(/\.git$/,"")}.git`,...Q?{ref:Q}:{},...pC(A.path)?{subdir:pC(A.path)}:{}}}function WJ3(A,Q){let B=pC(A.url);if(!B)return null;return{kind:"url",url:B,...Q?{ref:Q}:{},...pC(A.path)?{subdir:pC(A.path)}:{}}}function ZJ3(A,Q){let B=pC(A.url),J=pC(A.path);if(!(B&&J))return null;return{kind:"git-subdir",url:B,subdir:J,...Q?{ref:Q}:{}}}function xs0(A){if(!A||typeof A!=="object")return null;let Q=A,B=pC(Q.sha)??pC(Q.ref);switch(Q.source){case"github":return XJ3(Q,B);case"url":return WJ3(Q,B);case"git-subdir":return ZJ3(Q,B);default:return null}}function Fx9(A,Q,B){let J=_x9(Q);if(!J)return;let $=SP(A,Dx9,J);if(!PP(SP($,".git")))return;if(!B)return $;let Y=bs0($,B),X=wx9($,Y);if(X.startsWith("..")||Vx9(X))return;return PP(Y)?Y:void 0}async function GJ3(A,Q){let B=typeof Q.name==="string"?Q.name:"",J=xs0(Q.source);if(!J)return;let $=_x9(B);if(!$)return{name:B,status:"failed",error:"invalid plugin cache name"};let Y=SP(A,Dx9,$);if(PP(SP(Y,".git")))return{name:B,status:"skipped"};let X=BJ3(Y);if(!PP(X))Hx9(X,{recursive:!0});let{sshUrl:W,httpsUrl:Z}=Ss0(J.url),G=J.kind==="git-subdir",U=await ks0({sshUrl:W,httpsUrl:Z,targetDir:Y,extraArgs:G?["--filter=blob:none","--sparse"]:[]});if(!U.success)return{name:B,status:"failed",error:U.error};if(J.ref){let z=await Xx9(Y,J.ref);if(!z.success)return{name:B,status:"failed",error:z.error}}if(G&&J.kind==="git-subdir")try{await $J3("git",["sparse-checkout","set",J.subdir],{cwd:Y,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}catch(z){return{name:B,status:"failed",error:z instanceof Error?z.message:String(z)}}return{name:B,status:"cloned"}}async function Mx9(A){let{manifest:Q}=ci(A),B=Q?.plugins;if(!B||B.length===0)return[];let J=[];for(let $ of B){let Y=await GJ3(A,$);if(Y)J.push(Y)}return J}function UJ3(A){try{return QJ3(A).isDirectory()}catch{return!1}}function zJ3(A,Q){let B=wx9(bs0(A),bs0(Q));return B!==""&&!B.startsWith("..")&&!Vx9(B)}async function M_1(A,Q){let B=YJ3(Q);if(!B)return{success:!1,error:`Invalid GitHub repository: ${Q}. Expected owner/repo or a github.com URL.`};let{owner:J,repo:$,ref:Y}=B;if(!PP(A))Hx9(A,{recursive:!0});let X=Kx9($);if(!X)return{success:!1,error:`Invalid repository name for marketplace directory: "${$}".`};let W=SP(A,X);if(PP(W))return{success:!1,alreadyInstalled:!0,marketplaceId:X,error:`Marketplace '${X}' is already installed.`};let{sshUrl:Z,httpsUrl:G}=Ss0(`https://github.com/${J}/${$}`),U=await ks0({sshUrl:Z,httpsUrl:G,targetDir:W,extraArgs:Y?["--branch",Y]:[]});if(!U.success)return{success:!1,error:`Failed to clone '${J}/${$}' (SSH and HTTPS both failed): ${U.error}`};let{manifest:z}=ci(W),K=X,H=typeof z?.name==="string"?Kx9(z.name):null;if(H&&H!==X){let V=SP(A,H);if(!PP(V))try{eB3(W,V),K=H}catch{}}return await Mx9(SP(A,K)),{success:!0,marketplaceId:K}}function N_1(A,Q){let B=SP(A,Q);if(!zJ3(A,B))return{success:!1,error:`Refusing to remove '${Q}': path is outside the marketplaces directory.`};if(!PP(B))return{success:!1,error:`Marketplace '${Q}' not found.`};try{return AJ3(B,{recursive:!0,force:!0}),{success:!0}}catch(J){return{success:!1,error:`Failed to remove '${Q}': ${J instanceof Error?J.message:String(J)}`}}}async function Nx9(A){let Q=!1;for(let B of A){if(!PP(B))continue;let J;try{J=tB3(B)}catch{continue}for(let $ of J){let Y=SP(B,$);if(!UJ3(Y))continue;if((await Mx9(Y)).some((W)=>W.status==="cloned"))Q=!0}}return Q}var $J3,Dx9=".plugin-cache";var lo1=C(()=>{Wx9();co1();$J3=JJ3(sB3)});import{readFileSync as KJ3}from"node:fs";import{join as HJ3}from"node:path";function Ox9(A){let Q=HJ3(A,"hooks","hooks.json"),B;try{B=KJ3(Q,"utf-8")}catch{return{diagnostics:[]}}let J;try{J=JSON.parse(B)}catch(Y){return{diagnostics:[`failed to parse hooks/hooks.json: ${Y.message}`]}}if(!J||typeof J!=="object"||Array.isArray(J))return{diagnostics:["hooks/hooks.json must be a JSON object"]};return{config:jV1(J),diagnostics:[]}}var qx9=C(()=>{Ul()});import{existsSync as VJ3,lstatSync as wJ3,readdirSync as Ex9,statSync as DJ3}from"node:fs";import{isAbsolute as Lx9,join as O_1,relative as _J3,resolve as Cx9}from"node:path";function Ix9(A,Q){let B=[],J=[],$=[],Y=new Map;for(let X of A)for(let W of FJ3(X,Q,J)){let Z=Y.get(W.id);if(Z!==void 0){$.push({id:W.id,shadowedRoot:X,winnerRoot:Z});continue}Y.set(W.id,X),B.push(W)}for(let[X,W]of Object.entries(Q))if(W&&!Y.has(X))J.push(`enabledPlugins["${X}"] = true but no plugin with that id was found in any marketplace root`);return{plugins:B,globalDiagnostics:J,shadowedPlugins:$}}function FJ3(A,Q,B){let J=[];if(!VJ3(A))return J;let $;try{$=Ex9(A)}catch(Y){return B.push(`failed to read marketplaces directory ${A}: ${Y.message}`),J}for(let Y of $){let X=O_1(A,Y);if(!q_1(X))continue;MJ3(X,Y,Q,J,B)}return J}function MJ3(A,Q,B,J,$){let Y=ci(A);if(!Y.manifest){for(let G of Y.diagnostics)$.push(`[${Q}] ${G}`);return}let X=IJ3(Y.manifest.name,Q),W=CJ3(A,Y.manifest.metadata?.pluginRoot),Z=Array.isArray(Y.manifest.plugins)?Y.manifest.plugins:[];if(Z.length===0)$.push(`[${X}] marketplace.json has no plugins[] entries`);for(let G of Z){let U=NJ3(G,A,W,X,B);if(U)J.push(U)}for(let G of Y.diagnostics)$.push(`[${X}] ${G}`)}function NJ3(A,Q,B,J,$){let Y=typeof A.name==="string"?g41(A.name):void 0;if(!Y)return;let X=`${Y}@${J}`,W=$[X]===!0,Z=[],G=EJ3(A.source,Y,Q,B,Z);if(!G)return{id:X,marketplace:J,name:Y,root:Q,enabled:W,commandsDir:void 0,skillsDir:void 0,hooksConfig:void 0,agentsDirPresent:!1,diagnostics:Z};return qJ3(X,J,Y,G,W,Z)}function OJ3(A,Q){let B=[],J;try{J=Ex9(A).sort()}catch(Y){return Q.push(`failed to read agents directory: ${Y.message}`),B}let $=[];for(let Y of J){if(!Y.endsWith(".md"))continue;let X=O_1(A,Y);try{if(!wJ3(X).isFile()){$.push(Y);continue}}catch(W){Q.push(`failed to stat agent file ${Y}: ${W.message}`);continue}B.push(X)}if($.length>0)Q.push(`ignoring non-regular agent file(s) under agents/ (symlinks / dirs / devices are not followed): ${$.join(", ")}`);return B}function qJ3(A,Q,B,J,$,Y){if(!Ux9(J))Y.push(zx9);let X=O_1(J,"commands"),W=O_1(J,"skills"),Z=O_1(J,"agents"),G=q_1(X)?X:void 0,U=q_1(W)?W:void 0,z=q_1(Z),K=z&&$?OJ3(Z,Y):void 0,H=Ox9(J);for(let V of H.diagnostics)Y.push(V);return{id:A,marketplace:Q,name:B,root:J,enabled:$,commandsDir:G,skillsDir:U,hooksConfig:H.config,agentsDirPresent:z,agentFiles:K,diagnostics:Y}}function LJ3(A,Q,B,J){let $=xs0(A);if(!$){let X=A.source;J.push(`source kind "${typeof X==="string"?X:"object"}" is not supported; install the plugin manually as a relative directory`);return}let Y=Fx9(B,Q,$.subdir);if(Y)return Y;J.push(`source kind "${$.kind}" not fetched yet; run /plugins to clone it (or marketplace update)`);return}function EJ3(A,Q,B,J,$){if(typeof A!=="string"){if(A&&typeof A==="object")return LJ3(A,Q,B,$);$.push("plugin entry has no source field; skipping");return}if(Lx9(A)){$.push(`absolute source "${A}" is not allowed; skipping`);return}let Y=A.startsWith("./")?B:J,X=Cx9(Y,A),W=_J3(B,X);if(W.startsWith("..")||Lx9(W)){$.push(`source "${A}" resolves outside the marketplace root; skipping`);return}if(!q_1(X)){$.push(`source "${A}" does not point to an existing directory (looked at ${X})`);return}return X}function CJ3(A,Q){if(typeof Q!=="string"||Q.length===0)return A;return Cx9(A,Q)}function IJ3(A,Q){if(typeof A==="string"&&A.length>0){let B=g41(A);if(B.length>0)return B}return Q}function g41(A){let Q="";for(let B of A){let J=B.codePointAt(0);if(J===void 0)continue;let $=J<=31,Y=J>=127&&J<=159;if($||Y)continue;Q+=B}return Q}function q_1(A){try{return DJ3(A).isDirectory()}catch{return!1}}var io1=C(()=>{lo1();qx9();co1()});import{readFileSync as RJ3}from"node:fs";import{basename as jJ3}from"node:path";function no1(A){return typeof A==="string"?A:void 0}function PJ3(A){if(typeof A!=="string")return;return jx9.includes(A)?A:void 0}function SJ3(A){return typeof A==="number"&&A>=0?A:void 0}function Px9(A){if(A===void 0||A===null)return;let Q=String(A).trim();if(!Q||Q==="none")return;let B=Q.split(",").map((J)=>J.trim()).filter(Boolean);return B.length>0?B:void 0}function Sx9(A,Q){if(A===void 0||A===null)return[...Q];return Px9(A)??[]}function kJ3(A){return Px9(A)}function bJ3(A){if(A==="user"||A==="project"||A==="local")return A;return}function Rx9(A){if(A===void 0||A===null||A===!0)return!0;if(A===!1||A==="none")return!1;let Q=Sx9(A,[]);return Q.length>0?Q:!1}function xJ3(A,Q){let B=g41(jJ3(A,".md")),J;try{J=RJ3(A,"utf-8")}catch(U){let z=U instanceof Error?U.message:String(U);return{ok:!1,diagnostic:`failed to read agent file ${A}: ${z}`}}let $,Y;try{let U=bO(J);$=U.frontmatter??{},Y=U.body}catch(U){let z=U instanceof Error?U.message:String(U);return{ok:!1,diagnostic:`invalid frontmatter in agent file ${A}: ${z}`}}let X=no1($.thinking),W=PJ3($.thinking),Z=[];if(X!==void 0&&W===void 0)Z.push(`agent file ${A} declares thinking: "${X}", which is not a recognised level (expected one of: ${jx9.join(", ")}); falling back to the model's default`);let G={name:B,displayName:no1($.display_name),description:no1($.description)??B,builtinToolNames:Sx9($.tools,TJ3),disallowedTools:kJ3($.disallowed_tools),extensions:Rx9($.extensions??$.inherit_extensions),skills:Rx9($.skills??$.inherit_skills),model:no1($.model),thinking:W,maxTurns:SJ3($.max_turns),systemPrompt:Y.trim(),promptMode:$.prompt_mode==="append"?"append":"replace",inheritContext:$.inherit_context==null?void 0:$.inherit_context===!0,runInBackground:$.run_in_background==null?void 0:$.run_in_background===!0,isolated:$.isolated==null?void 0:$.isolated===!0,memory:bJ3($.memory),isolation:$.isolation==="worktree"?"worktree":void 0,enabled:$.enabled!==!1,source:"plugin",pluginId:Q};return Z.length>0?{ok:!0,config:G,warnings:Z}:{ok:!0,config:G}}function kx9(A){let Q=new Map,B=[];if(!A.agentFiles||A.agentFiles.length===0)return{agents:Q,diagnostics:B};let J=new Map;for(let $ of A.agentFiles){let Y=xJ3($,A.id);if(!Y.ok){B.push(Y.diagnostic);continue}if(Y.warnings)for(let Z of Y.warnings)B.push(Z);let{config:X}=Y,W=X.name.toLowerCase();if(J.has(W)){let Z=J.get(W)??X.name,G=Z===X.name?`"${X.name}"`:`"${X.name}" (case-insensitive collision with "${Z}")`;B.push(`duplicate agent name ${G} in plugin ${A.id}; ignoring ${$}`);continue}Q.set(X.name,X),J.set(W,X.name)}return{agents:Q,diagnostics:B}}var TJ3,jx9,Tx9;var bx9=C(()=>{NQ();io1();TJ3=["read","bash","edit","write","grep","find","ls"],jx9=["off","minimal","low","medium","high","xhigh"],Tx9=["general-purpose","explore","plan"]});import{lstatSync as vJ3,readFileSync as yJ3,realpathSync as xx9}from"node:fs";import{isAbsolute as fJ3,join as gJ3,relative as hJ3}from"node:path";function L_1(A,Q){let B=A;for(let J of mJ3){let $=`\${${J}}`;if(B.includes($))B=B.split($).join(Q)}return B}function vs0(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}function vx9(A){if(!A)return;let Q={};for(let[B,J]of Object.entries(A)){if(J===null||J===void 0)continue;Q[B]=String(J)}return Object.keys(Q).length>0?Q:void 0}function uJ3(A){if(A.type==="stdio"||A.type==="http"||A.type==="sse")return A.type;if(A.url)return"http";if(A.command)return"stdio";return}function pJ3(A,Q,B){let J=uJ3(Q);if(!J)throw Error(`MCP server "${A}" must declare a 'command' (stdio) or 'url' (http/sse) property`);if(J==="http"||J==="sse"){if(!Q.url)throw Error(`MCP server "${A}" has type "${J}" but no 'url' property`);return{type:J,name:A,disabled:Q.disabled,url:Q.url,headers:vx9(Q.headers),auth:Q.auth==="oauth"?"oauth":void 0,cwd:Q.cwd,timeoutMs:Q.timeoutMs}}let $=Q.command;if(!$)throw Error(`MCP server "${A}" has type "stdio" but no 'command' property`);let Y=Array.isArray(Q.args)?Q.args.map((W)=>String(W)):[],X=Y.length>0?`${$} ${Y.join(" ")}`:$;if(Q.useShellInterpolation===!1)B.push(`MCP server "${A}": useShellInterpolation:false is ignored; plugin stdio servers always shell-wrap (V2 parity)`);return{type:"stdio",name:A,disabled:Q.disabled,command:X,args:[],env:vx9(Q.env),cwd:Q.cwd,timeoutMs:Q.timeoutMs,useShellInterpolation:!0}}function yx9(A,Q){if(!A)return;let B={};for(let[J,$]of Object.entries(A))B[J]=L_1($,Q);return B}function dJ3(A,Q){if(A.type==="stdio")return{...A,command:L_1(A.command,Q),env:yx9(A.env,Q),cwd:A.cwd?L_1(A.cwd,Q):void 0};return{...A,url:L_1(A.url,Q),headers:yx9(A.headers,Q),cwd:A.cwd?L_1(A.cwd,Q):void 0}}function cJ3(A,Q){let B=gJ3(A,".mcp.json"),J;try{J=vJ3(B)}catch($){if($?.code==="ENOENT")return;Q.push(`failed to stat .mcp.json: ${$.message}`);return}if(J.isSymbolicLink()){Q.push(".mcp.json is a symlink; refusing to follow it out of the plugin root");return}if(!J.isFile()){Q.push(".mcp.json is not a regular file; skipping");return}try{let $=xx9(A),Y=xx9(B),X=hJ3($,Y);if(X.startsWith("..")||fJ3(X)){Q.push(".mcp.json resolves outside the plugin root; skipping");return}}catch($){Q.push(`failed to resolve .mcp.json real path: ${$.message}`);return}try{return yJ3(B,"utf-8")}catch($){Q.push(`failed to read .mcp.json: ${$.message}`);return}}function fx9(A){let Q=[],B=cJ3(A.root,Q);if(B===void 0)return{servers:[],diagnostics:Q};let J;try{J=JSON.parse(B)}catch(X){return Q.push(`failed to parse .mcp.json: ${X.message}`),{servers:[],diagnostics:Q}}if(!vs0(J))return Q.push(".mcp.json must be a JSON object"),{servers:[],diagnostics:Q};let $=J.mcpServers;if(!vs0($))return Q.push('.mcp.json must contain an "mcpServers" object'),{servers:[],diagnostics:Q};let Y=[];for(let[X,W]of Object.entries($)){let Z=`${A.id}/${g41(X)}`;if(!vs0(W)){Q.push(`MCP server "${Z}" must be a JSON object`);continue}try{let G=pJ3(Z,W,Q);Y.push(dJ3(G,A.root))}catch(G){Q.push(G instanceof Error?G.message:String(G))}}return{servers:Y,diagnostics:Q}}var mJ3,gx9="hermes:mcp:register-server-source";var hx9=C(()=>{io1();mJ3=["CLAUDE_PLUGIN_ROOT","AUGMENT_PLUGIN_ROOT","AUGGIE_PLUGIN_ROOT"]});function mx9(A,Q){let B=O5.create(A,Q),J=B.getEnabledPlugins(),$=B.drainErrors().map(({scope:Y,error:X})=>`failed to load ${Y} settings: ${X.message}; enabledPlugins entries from this scope will be ignored`);return{enabled:J,diagnostics:$}}var ux9=C(()=>{NQ()});var px9="hermes:subagents:register-agent-source";import{join as h41}from"node:path";import{existsSync as lJ3,readdirSync as iJ3,statSync as nJ3}from"node:fs";function gs0(A){Zq=[],fs0=[],ao1=[],ys0=[],E_1=[];let Q=!1,B,J=new Map,$,Y,X=new Map,W;A.events.on(wl1,(R)=>{B=R.register}),A.events.on(px9,(R)=>{$=R.register}),A.events.on(gx9,(R)=>{W=R.registerServerSource});function Z(R,I){let{enabled:x,diagnostics:S}=mx9(R,I),P=h41(Ld(),"plugins","marketplaces"),y=h41(I,"plugins","marketplaces"),g=Ix9([P,y],x);for(let a of g.shadowedPlugins)Tw.debug(`plugin "${a.id}" from ${a.shadowedRoot} is shadowed by the higher-precedence root ${a.winnerRoot}`);return g.globalDiagnostics=[...S,...g.globalDiagnostics],Zq=g.plugins,fs0=g.globalDiagnostics,Q=!0,g}function G(R,I){if(!Q)Z(R,I)}function U(){let R=new Map,I=new Map;ao1=[];let x=[...Zq.filter((S)=>S.enabled)].sort((S,P)=>S.id.localeCompare(P.id));for(let S of x){let{agents:P,diagnostics:y}=kx9(S);for(let g of y)Tw.warn(`[${S.id}] ${g}`),ao1.push({type:"warning",message:`[${S.id}] ${g}`,path:S.root});for(let[g,a]of P)z(S.id,g,a,R,I)}X=R}function z(R,I,x,S,P){let y=I.toLowerCase(),g=P.get(y);if(g){let a=g.name===I?`"${I}"`:`"${I}" (case-insensitive collision with "${g.name}")`;Tw.warn(`[${R}] plugin-contributed agent ${a} shadowed by earlier plugin ${g.pluginId}; ignoring`);return}if(Tx9.includes(y))Tw.warn(`[${R}] plugin-contributed agent "${I}" shadows the built-in default agent of the same name; the plugin's definition will be used for every Agent-tool invocation across this session`);S.set(I,x),P.set(y,{pluginId:R,name:I})}function K(){if(!$)return;Y?.(),Y=$({getAgents:()=>X,getDiagnostics:()=>ao1})}function H(){let R=[];E_1=[];let I=[...Zq.filter((x)=>x.enabled)].sort((x,S)=>x.id.localeCompare(S.id));for(let x of I){let{servers:S,diagnostics:P}=fx9(x);for(let y of P)Tw.warn(`[${x.id}] ${y}`),E_1.push({type:"warning",message:`[${x.id}] ${y}`,path:x.root});for(let y of S)R.push(y)}ys0=R}function V(){if(!W)return;W({source:"plugin",getServers:()=>ys0,getDiagnostics:()=>E_1})}function w(){if(!B)return;for(let R of J.values())R();J.clear();for(let R of Zq){if(!R.enabled)continue;let I=aJ3(R);J.set(R.id,B(I))}}function D(){for(let R of J.values())R();J.clear()}function _(){let R=[],I=[];for(let x of Zq){if(!x.enabled){for(let S of x.diagnostics)Tw.debug(`[${x.id}] ${S}`);continue}if(x.commandsDir)I.push(x.commandsDir);if(x.skillsDir)R.push(x.skillsDir);for(let S of x.diagnostics)Tw.warn(`[${x.id}] ${S}`)}return{skillPaths:R,promptPaths:I}}A.on("resources_discover",(R)=>{Q=!1;let I=Z(R.cwd,R.agentDir),{skillPaths:x,promptPaths:S}=_();for(let y of I.globalDiagnostics)Tw.warn(y);let P=Zq.filter((y)=>y.enabled).length;if(Zq.length>0)Tw.info(`Discovered ${Zq.length} plugin(s); ${P} enabled`);return w(),U(),K(),L(),H(),V(),q(),{skillPaths:x,promptPaths:S}}),A.on("session_start",(R,I)=>{G(I.cwd,I.agentDir),w(),U(),K(),O(),H(),V();let x=h41(Ld(),"plugins","marketplaces"),S=h41(I.agentDir,"plugins","marketplaces");Nx9([x,S]).then((P)=>{if(!P)return;Q=!1,Z(I.cwd,I.agentDir),w(),U(),K(),H(),V()}).catch((P)=>{Tw.debug(`background plugin source fetch failed: ${P instanceof Error?P.message:String(P)}`)})}),A.on("session_shutdown",()=>{D(),Y?.(),Y=void 0,X=new Map});let F=!1,M=!1,N=!1;function O(){if(!B&&!F)F=!0,Tw.warn("@hermes/hooks did not register a hook listener; plugin hooks will not run. This usually means @hermes/hooks was removed from the built-in extension list.")}function L(){if(!$&&!M)M=!0,Tw.debug("@hermes/subagents did not register an agent source; plugin-contributed subagents will not be available (expected when --disable-subagents is set).")}function q(){if(!W&&!N)N=!0,Tw.debug("@hermes/mcp did not register a server source; plugin-contributed MCP servers will not be loaded.")}}function aJ3(A){return{source:A.id,isEnabled:()=>A.enabled,getConfig:()=>A.hooksConfig,env:oJ3(A.root),postToolUsePrefix:`Plugin ${A.id} hook`,backgroundLabel:(Q)=>`[${A.id}] ${Q} hook`,blockedFallbackReason:"Blocked by plugin hook"}}function oJ3(A){return{PLUGIN_ROOT:A,CLAUDE_PLUGIN_ROOT:A}}function Nf(){return Zq}function C_1(A){return h41(A,"plugins","marketplaces")}function oo1(A){let Q=C_1(A);if(!lJ3(Q))return[];let B;try{B=iJ3(Q)}catch{return[]}let J=[];for(let $ of B){let Y=h41(Q,$);try{if(!nJ3(Y).isDirectory())continue}catch{continue}let{manifest:X}=ci(Y);if(!X)continue;let W=typeof X.name==="string"&&X.name.length>0?X.name:$;J.push({dir:$,name:W,path:Y})}return J}function dC(){let A=[];for(let Q of Zq)for(let B of Q.diagnostics)A.push({type:"warning",message:`[${Q.id}] ${B}`,path:Q.root});for(let Q of fs0)A.push({type:"warning",message:Q});for(let Q of E_1)A.push(Q);return A}var Tw,Zq,fs0,ao1,ys0,E_1;var m41=C(()=>{NQ();Ul();v2();bx9();io1();lo1();co1();hx9();ux9();lo1();Tw=XA.child({prefix:"pi-plugins"}),Zq=[],fs0=[],ao1=[],ys0=[],E_1=[]});import{existsSync as rJ3}from"node:fs";import{homedir as I_1}from"node:os";import{dirname as hs0,join as bF,resolve as dx9}from"node:path";import{fileURLToPath as sJ3}from"node:url";function eJ3(){let A=`${ms0}\x00${process.execPath||""}`.toLowerCase();if(A.includes("/pnpm/")||A.includes("/.pnpm/")||A.includes("\\pnpm\\"))return"pnpm";if(A.includes("/yarn/")||A.includes("/.yarn/")||A.includes("\\yarn\\"))return"yarn";if(R_1)return"bun";if(A.includes("/npm/")||A.includes("/node_modules/")||A.includes("\\npm\\"))return"npm";return"unknown"}function cx9(A,Q){switch(eJ3()){case"pnpm":return`Run: pnpm install -g ${A}`;case"yarn":return`Run: yarn global add ${A}`;case"bun":return`Run: bun install -g ${A}`;case"npm":return`Run: npm install -g ${A}`;default:return`Run: npm install -g ${A}`}}function lx9(){let A=process.env.PI_PACKAGE_DIR;if(A){if(A==="~")return I_1();if(A.startsWith("~/"))return I_1()+A.slice(1);return A}let Q=ms0;while(Q!==hs0(Q)){if(rJ3(bF(Q,"package.json")))return Q;Q=hs0(Q)}return ms0}function u41(){return dx9(bF(lx9(),"docs"))}function ro1(){return dx9(bF(lx9(),"CHANGELOG.md"))}function ox9(A){return`${process.env.PI_SHARE_VIEWER_URL||Q$3}#${A}`}function rx9(A){if(A==="~")return I_1();if(A.startsWith("~/"))return I_1()+A.slice(1);return A}function kP(){let A=process.env.AUGMENT_CACHE_DIR;if(A)return rx9(A);return bF(I_1(),".augment")}function Q6(){let A=process.env[P_1];if(A)return rx9(A);return kP()}function S_1(){return bF(Q6(),"themes")}function sx9(){return bF(Q6(),"models.json")}function us0(){return bF(Q6(),"auth.json")}function tx9(){return bF(Q6(),"settings.json")}function so1(){return kP()}function p41(){return bF(Q6(),"bin")}function ex9(){return bF(Q6(),"prompts")}function Av9(){return bF(Q6(),j_1)}function Qv9(){return bF(Q6(),`${_4}-debug.log`)}var tJ3,ms0,R_1,_4,X8,j_1="sessions-v2",T_1="auggie",ix9="Auggie Coding Agent",A$3="1.1.0-prerelease.202608110224",v$,nx9="b8f2079df96513dd611d6af75a0db439a400658e",ax9="2026-08-11T09:24:47Z",P_1,Q$3="https://pi.dev/session/";var GQ=C(()=>{wP0();tJ3=sJ3(import.meta.url),ms0=hs0(tJ3),R_1=!!process.versions.bun;_4=ex.piConfig?.name||"pi",X8=ex.piConfig?.configDir||".augment",v$=A$3??ex.version,P_1=`${_4.toUpperCase()}_CODING_AGENT_DIR`});var Jv9;var Bv9=C(()=>{Jv9={$schema:"https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",name:"dark",vars:{cyan:"#00d7ff",blue:"#5f87ff",green:"#b5bd68",red:"#cc6666",yellow:"#ffff00",gray:"#808080",dimGray:"#666666",darkGray:"#505050",accent:"#8abeb7",selectedBg:"#3a3a4a",userMsgBg:"#343541",toolPendingBg:"#282832",toolSuccessBg:"#283228",toolErrorBg:"#3c2828",customMsgBg:"#2d2838"},colors:{accent:"accent",border:"blue",borderAccent:"cyan",borderMuted:"darkGray",success:"green",error:"red",warning:"yellow",muted:"gray",dim:"dimGray",text:"",thinkingText:"gray",selectedBg:"selectedBg",userMessageBg:"userMsgBg",userMessageText:"",customMessageBg:"customMsgBg",customMessageText:"",customMessageLabel:"#9575cd",toolPendingBg:"toolPendingBg",toolSuccessBg:"toolSuccessBg",toolErrorBg:"toolErrorBg",toolTitle:"#b294bb",toolOutput:"gray",mdHeading:"#f0c674",mdLink:"#81a2be",mdLinkUrl:"dimGray",mdCode:"accent",mdCodeBlock:"green",mdCodeBlockBorder:"gray",mdQuote:"gray",mdQuoteBorder:"gray",mdHr:"gray",mdListBullet:"accent",toolDiffAdded:"green",toolDiffRemoved:"red",toolDiffContext:"gray",syntaxComment:"#6A9955",syntaxKeyword:"#569CD6",syntaxFunction:"#DCDCAA",syntaxVariable:"#9CDCFE",syntaxString:"#CE9178",syntaxNumber:"#B5CEA8",syntaxType:"#4EC9B0",syntaxOperator:"#D4D4D4",syntaxPunctuation:"#D4D4D4",thinkingOff:"darkGray",thinkingMinimal:"#6e6e6e",thinkingLow:"#5f87af",thinkingMedium:"#81a2be",thinkingHigh:"#b294bb",thinkingXhigh:"#d183e8",bashMode:"green"},export:{pageBg:"#18181e",cardBg:"#1e1e24",infoBg:"#3c3728"}}});var Yv9;var $v9=C(()=>{Yv9={$schema:"https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",name:"light",vars:{teal:"#5a8080",blue:"#547da7",green:"#588458",red:"#aa5555",yellow:"#9a7326",mediumGray:"#6c6c6c",dimGray:"#767676",lightGray:"#b0b0b0",selectedBg:"#d0d0e0",userMsgBg:"#e8e8e8",toolPendingBg:"#e8e8f0",toolSuccessBg:"#e8f0e8",toolErrorBg:"#f0e8e8",customMsgBg:"#ede7f6"},colors:{accent:"teal",border:"blue",borderAccent:"teal",borderMuted:"lightGray",success:"green",error:"red",warning:"yellow",muted:"mediumGray",dim:"dimGray",text:"",thinkingText:"mediumGray",selectedBg:"selectedBg",userMessageBg:"userMsgBg",userMessageText:"",customMessageBg:"customMsgBg",customMessageText:"",customMessageLabel:"#7e57c2",toolPendingBg:"toolPendingBg",toolSuccessBg:"toolSuccessBg",toolErrorBg:"toolErrorBg",toolTitle:"",toolOutput:"mediumGray",mdHeading:"yellow",mdLink:"blue",mdLinkUrl:"dimGray",mdCode:"teal",mdCodeBlock:"green",mdCodeBlockBorder:"mediumGray",mdQuote:"mediumGray",mdQuoteBorder:"mediumGray",mdHr:"mediumGray",mdListBullet:"green",toolDiffAdded:"green",toolDiffRemoved:"red",toolDiffContext:"mediumGray",syntaxComment:"#008000",syntaxKeyword:"#0000FF",syntaxFunction:"#795E26",syntaxVariable:"#001080",syntaxString:"#A31515",syntaxNumber:"#098658",syntaxType:"#267F99",syntaxOperator:"#000000",syntaxPunctuation:"#000000",thinkingOff:"lightGray",thinkingMinimal:"#767676",thinkingLow:"blue",thinkingMedium:"teal",thinkingHigh:"#875f87",thinkingXhigh:"#8b008b",bashMode:"green"},export:{pageBg:"#f8f8f8",cardBg:"#ffffff",infoBg:"#fffae6"}}});import*as xz from"node:fs";import*as eo1 from"node:path";function Y$3(){let A=process.env.COLORTERM;if(A==="truecolor"||A==="24bit")return"truecolor";if(process.env.WT_SESSION)return"truecolor";let Q=process.env.TERM||"";if(Q==="dumb"||Q===""||Q==="linux")return"256color";if(process.env.TERM_PROGRAM==="Apple_Terminal")return"256color";if(Q==="screen"||Q.startsWith("screen-")||Q.startsWith("screen."))return"256color";return"truecolor"}function ls0(A){let Q=A.replace("#","");if(Q.length!==6)throw Error(`Invalid hex color: ${A}`);let B=Number.parseInt(Q.slice(0,2),16),J=Number.parseInt(Q.slice(2,4),16),$=Number.parseInt(Q.slice(4,6),16);if(Number.isNaN(B)||Number.isNaN(J)||Number.isNaN($))throw Error(`Invalid hex color: ${A}`);return{r:B,g:J,b:$}}function ps0(A){let Q=Number.POSITIVE_INFINITY,B=0;for(let[J,$]of to1.entries()){let Y=Math.abs(A-$);if(Y<Q)Q=Y,B=J}return B}function X$3(A){let Q=Number.POSITIVE_INFINITY,B=0;for(let[J,$]of Gv9.entries()){let Y=Math.abs(A-$);if(Y<Q)Q=Y,B=J}return B}function Wv9(A,Q,B,J,$,Y){let X=A-J,W=Q-$,Z=B-Y;return X*X*0.299+W*W*0.587+Z*Z*0.114}function W$3(A,Q,B){let J=ps0(A),$=ps0(Q),Y=ps0(B),X=to1[J]??0,W=to1[$]??0,Z=to1[Y]??0,G=16+36*J+6*$+Y,U=Wv9(A,Q,B,X,W,Z),z=Math.round(0.299*A+0.587*Q+0.114*B),K=X$3(z),H=Gv9[K]??0,V=232+K,w=Wv9(A,Q,B,H,H,H),D=Math.max(A,Q,B),_=Math.min(A,Q,B);if(D-_<10&&w<U)return V;return G}function Uv9(A){let{r:Q,g:B,b:J}=ls0(A);return W$3(Q,B,J)}function Z$3(A,Q){if(A==="")return"\x1B[39m";if(typeof A==="number")return`\x1B[38;5;${A}m`;if(A.startsWith("#")){if(Q==="truecolor"){let{r:J,g:$,b:Y}=ls0(A);return`\x1B[38;2;${J};${$};${Y}m`}return`\x1B[38;5;${Uv9(A)}m`}throw Error(`Invalid color value: ${A}`)}function G$3(A,Q){if(A==="")return"\x1B[49m";if(typeof A==="number")return`\x1B[48;5;${A}m`;if(A.startsWith("#")){if(Q==="truecolor"){let{r:J,g:$,b:Y}=ls0(A);return`\x1B[48;2;${J};${$};${Y}m`}return`\x1B[48;5;${Uv9(A)}m`}throw Error(`Invalid color value: ${A}`)}function is0(A,Q,B=new Set){if(typeof A==="number"||A===""||A.startsWith("#"))return A;if(B.has(A))throw Error(`Circular variable reference detected: ${A}`);if(!(A in Q))throw Error(`Variable reference not found: ${A}`);B.add(A);let J=Q[A];if(J===void 0)throw Error(`Variable reference not found: ${A}`);return is0(J,Q,B)}function zv9(A,Q={}){let B={};for(let[J,$]of Object.entries(A))B[J]=is0($,Q);return B}class l41{name;sourcePath;sourceInfo;fgColors;bgColors;mode;constructor(A,Q,B,J={}){this.name=J.name,this.sourcePath=J.sourcePath,this.sourceInfo=J.sourceInfo,this.mode=B,this.fgColors=new Map;for(let[$,Y]of Object.entries(A))this.fgColors.set($,Z$3(Y,B));this.bgColors=new Map;for(let[$,Y]of Object.entries(Q))this.bgColors.set($,G$3(Y,B))}fg(A,Q){let B=this.fgColors.get(A);if(!B)throw Error(`Unknown theme color: ${A}`);return`${B}${Q}\x1B[39m`}bg(A,Q){let B=this.bgColors.get(A);if(!B)throw Error(`Unknown theme background color: ${A}`);return`${B}${Q}\x1B[49m`}bold(A){return OA.bold(A)}italic(A){return OA.italic(A)}underline(A){return OA.underline(A)}inverse(A){return OA.inverse(A)}strikethrough(A){return OA.strikethrough(A)}getFgAnsi(A){let Q=this.fgColors.get(A);if(!Q)throw Error(`Unknown theme color: ${A}`);return Q}getBgAnsi(A){let Q=this.bgColors.get(A);if(!Q)throw Error(`Unknown theme background color: ${A}`);return Q}getColorMode(){return this.mode}getThinkingBorderColor(A){switch(A){case"off":return(Q)=>this.fg("thinkingOff",Q);case"minimal":return(Q)=>this.fg("thinkingMinimal",Q);case"low":return(Q)=>this.fg("thinkingLow",Q);case"medium":return(Q)=>this.fg("thinkingMedium",Q);case"high":return(Q)=>this.fg("thinkingHigh",Q);case"xhigh":return(Q)=>this.fg("thinkingXhigh",Q);default:return(Q)=>this.fg("thinkingOff",Q)}}getBashModeBorderColor(){return(A)=>this.fg("bashMode",A)}}function Ar1(){let A=new Set(Object.keys(ns0)),Q=S_1();if(xz.existsSync(Q)){let B=xz.readdirSync(Q);for(let J of B)if(J.endsWith(".json"))A.add(J.slice(0,-5))}for(let B of ai.keys())A.add(B);return Array.from(A).sort()}function Kv9(){let A=S_1(),Q=[];for(let B of Object.keys(ns0))Q.push({name:B,path:void 0});if(xz.existsSync(A)){for(let B of xz.readdirSync(A))if(B.endsWith(".json")){let J=B.slice(0,-5);if(!Q.some(($)=>$.name===J))Q.push({name:J,path:eo1.join(A,B)})}}for(let[B,J]of ai.entries())if(!Q.some(($)=>$.name===B))Q.push({name:B,path:J.sourcePath});return Q.sort((B,J)=>B.name.localeCompare(J.name))}function U$3(A,Q){if(!Xv9.Check(Q)){let B=Array.from(Xv9.Errors(Q)),J=[],$=[];for(let X of B){let Z=X.path.match(/^\/colors\/(\w+)$/)?.[1];if(Z&&X.message.includes("Required"))J.push(Z);else $.push(` - ${X.path}: ${X.message}`)}let Y=`Invalid theme "${A}":
|
|
6904
|
+
`),U=X.slice(0,G);if(X=X.slice(G+1),!U.trim())continue;let z=JSON.parse(U);yield{commit_sha:z.commit_sha,file_infos:z.file_infos??[],checkpoint_id:z.baseline_checkpoint_id}}}if(X.trim()){let W=JSON.parse(X);yield{commit_sha:W.commit_sha,file_infos:W.file_infos??[],checkpoint_id:W.baseline_checkpoint_id}}}async registerIndexedCommitBlobset(A){uC.debug(`registerIndexedCommitBlobset → sha=${A.commit.commit_sha} checkpoint=${A.blobs.checkpointId}`);let Q=new URL("indexed-commits/register-blobset",this.apiUrl),B=await fetch(Q.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiToken}`},body:JSON.stringify({commit:{commit_sha:A.commit.commit_sha,commit_time:A.commit.commit_time},blobs:{checkpoint_id:A.blobs.checkpointId,added_blobs:A.blobs.addedBlobs,deleted_blobs:A.blobs.deletedBlobs}})});if(!B.ok){let J=await B.text().catch(()=>"");throw Error(`registerIndexedCommitBlobset failed: ${B.status} ${B.statusText} ${J}`)}uC.debug("registerIndexedCommitBlobset ← ok")}async agentCodebaseRetrieval(A,Q,B,J,$){return uC.debug(`agentCodebaseRetrieval → "${Q.slice(0,80)}..."`),{formattedRetrieval:(await this.api.agentCodebaseRetrieval(A,Q,{checkpointId:B.checkpointId,addedBlobs:B.addedBlobs,deletedBlobs:B.deletedBlobs},J,0,void 0,$)).formattedRetrieval}}}var uC;var pb9=C(()=>{v2();uC=XA.child({prefix:"AugmentApiAdapter"})});var Ms0=C(()=>{gb9();mb9();IT0();pb9();Gs0();Ho0();ND1();So1();Vo0();OD1();Vs0();fa1();zs0();qD1();Ks0();ws0();_D1();MD1();Go0();Uo0();_s0();Fs0()});var lb9,NB3,OB3,qB3,db9=(A,Q,B)=>{if(B==="grpc")return A;let J=qB3[Q],$=A.endsWith("/")?A.slice(0,-1):A;if($.endsWith(J))return $;return $+J},cb9=(A)=>lb9.has(A.trim().toLowerCase()),v41=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();if(lb9.has(Q))return!0;return NB3.has(Q)?!1:void 0},go1=(A,Q)=>{if(A===void 0)return Q;let B=Number.parseInt(A.trim(),10);return Number.isNaN(B)?Q:B},Ns0=(A,Q)=>{let B=go1(A,Q);return B>0?B:Q},Os0=(A,Q)=>A&&A>0?A:Q,LB3=(A)=>A==="grpc"||A==="http/protobuf"||A==="http/json",ho1=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();return LB3(Q)?Q:void 0},Es0=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();if(Q==="delta"||Q==="cumulative")return Q;return},pi=(A)=>{if(A===void 0)return;let Q=A.trim();return Q.length>0?Q:void 0},Cs0=(A)=>{if(A===void 0)return;let Q=A.trim().toLowerCase();if(Q==="hmac"||Q==="raw"||Q==="off")return Q;return},EB3=(A,Q)=>(A??"").split(",").map((B)=>B.trim().toLowerCase()).includes(Q),F_1=(A)=>{let Q={};if(!A)return Q;for(let B of A.split(",")){let J=B.trim(),$=J.indexOf("=");if($<=0)continue;let Y=J.slice(0,$).trim();if(Y)Q[Y]=J.slice($+1).trim()}return Q},CB3=(A,Q,B)=>{if(B.enabled!==void 0)return B.enabled;let J=A.AUGGIE_ENABLE_TELEMETRY;if(J!==void 0)return cb9(J);let $=A.CLAUDE_CODE_ENABLE_TELEMETRY;if($!==void 0)return cb9($);return Q.enabled??!1},qs0=(A,Q,B,J)=>{let $=OB3[Q],Y=J.protocol??ho1(A[`OTEL_EXPORTER_OTLP_${$}_PROTOCOL`])??ho1(A.OTEL_EXPORTER_OTLP_PROTOCOL)??B.protocol??"http/protobuf",X=pi(J.endpoint),W=pi(A[`OTEL_EXPORTER_OTLP_${$}_ENDPOINT`]),Z=pi(A.OTEL_EXPORTER_OTLP_ENDPOINT)??pi(B.endpoint),G;if(X!==void 0)G=db9(X,Q,Y);else if(W!==void 0)G=W;else if(Z!==void 0)G=db9(Z,Q,Y);let U={...B.headers,...F_1(A.OTEL_EXPORTER_OTLP_HEADERS),...F_1(A[`OTEL_EXPORTER_OTLP_${$}_HEADERS`]),...J.headers};return{endpoint:G,headers:U,protocol:Y}},Ls0=(A)=>A!==void 0&&A>0?A:void 0,IB3=(A,Q,B)=>({bufferDir:pi(B.bufferDir)??pi(A.AUGGIE_TELEMETRY_BUFFER_DIR)??pi(Q.bufferDir),bufferMaxBytes:Ls0(B.bufferMaxBytes)??Ns0(A.AUGGIE_TELEMETRY_BUFFER_MAX_BYTES,Os0(Q.bufferMaxBytes,52428800)),breakerFailureThreshold:Ls0(B.breakerFailureThreshold)??Ns0(A.AUGGIE_TELEMETRY_BREAKER_FAILURE_THRESHOLD,Os0(Q.breakerFailureThreshold,3)),breakerBackoffMs:Ls0(B.breakerBackoffMs)??Ns0(A.AUGGIE_TELEMETRY_BREAKER_BACKOFF_MS,Os0(Q.breakerBackoffMs,30000))}),mo1=(A={})=>{let Q=A.env??process.env,B={...A.envInjection,...Q},J=A.telemetry??{},$=A.managed??{},Y={metrics:qs0(B,"metrics",J,$),logs:qs0(B,"logs",J,$),traces:qs0(B,"traces",J,$)},X=Y.metrics.endpoint!==void 0||Y.logs.endpoint!==void 0||Y.traces.endpoint!==void 0;return{enabled:CB3(B,J,$)&&X,exporter:Y,metricExportIntervalMs:$.metricExportIntervalMs??go1(B.OTEL_METRIC_EXPORT_INTERVAL,J.metricExportIntervalMs??20000),logsExportIntervalMs:$.logsExportIntervalMs??go1(B.OTEL_LOGS_EXPORT_INTERVAL,J.logsExportIntervalMs??5000),metricsTemporalityPreference:$.metricsTemporalityPreference??Es0(B.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE)??J.metricsTemporalityPreference??"delta",resourceAttributes:{...J.resourceAttributes,...F_1(B.OTEL_RESOURCE_ATTRIBUTES),...$.resourceAttributes},includeVersion:$.includeVersion??v41(B.OTEL_METRICS_INCLUDE_VERSION)??J.includeVersion??!1,includeAccountUuid:$.includeAccountUuid??v41(B.OTEL_METRICS_INCLUDE_ACCOUNT_UUID)??J.includeAccountUuid??!0,identity:{mode:$.identityMode??Cs0(B.AUGGIE_TELEMETRY_IDENTITY_MODE)??J.identityMode??"hmac",secret:$.identitySecret??B.AUGGIE_TELEMETRY_IDENTITY_SECRET??J.identitySecret},shutdownTimeoutMs:$.shutdownTimeoutMs??go1(B.AUGGIE_TELEMETRY_SHUTDOWN_TIMEOUT_MS,J.shutdownTimeoutMs??2000),...IB3(B,J,$),genAiCaptureMessageContent:$.captureMessageContent??v41(B.OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT)??J.captureMessageContent??!1,genAiLatestExperimental:EB3(B.OTEL_SEMCONV_STABILITY_OPT_IN,"gen_ai_latest_experimental"),logUserPrompts:$.logUserPrompts??v41(B.OTEL_LOG_USER_PROMPTS)??J.logUserPrompts??!1,logToolDetails:$.logToolDetails??v41(B.OTEL_LOG_TOOL_DETAILS)??J.logToolDetails??!1,langsmithCompat:$.langsmithCompat??v41(B.AUGGIE_TELEMETRY_LANGSMITH_COMPAT)??J.langsmithCompat??!1}};var uo1=C(()=>{lb9=new Set(["1","true","yes","on"]),NB3=new Set(["0","false","no","off"]),OB3={metrics:"METRICS",logs:"LOGS",traces:"TRACES"},qB3={metrics:"/v1/metrics",logs:"/v1/logs",traces:"/v1/traces"}});import{execFileSync as RB3}from"node:child_process";import{existsSync as jB3,readFileSync as TB3}from"node:fs";var ib9="/Library/Managed Preferences/com.augmentcode.auggie.plist",PB3="HKLM\\SOFTWARE\\Policies\\AugmentCode\\Auggie\\Telemetry",SB3="/etc/augment/auggie-managed-settings.json",nb9="/usr/bin/plutil",ab9="C:\\Windows\\System32\\reg.exe",kB3=2000,js0=(A)=>typeof A==="object"&&A!==null&&!Array.isArray(A),ob9=(A)=>js0(A)?A.telemetry:void 0,bB3=(A,Q)=>RB3(A,Q,{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:kB3,windowsHide:!0}),xB3,vB3=(A)=>{let Q={};for(let B of A.split(/\r?\n/)){let J=xB3.exec(B);if(!J)continue;let[,$,Y,X]=J;if(Y==="REG_DWORD"||Y==="REG_QWORD"){let W=Number(X.trim());if(Number.isFinite(W))Q[$]=W}else if(Y==="REG_SZ"||Y==="REG_EXPAND_SZ")Q[$]=X}return Object.keys(Q).length>0?Q:void 0},yB3=(A={})=>{let Q=A.execRead??bB3,B=A.fileExists??jB3;return{darwin:()=>{if(!(B(ib9)&&B(nb9)))return;let J=Q(nb9,["-convert","json","-o","-",ib9]);return ob9(JSON.parse(J))},linux:()=>ob9(JSON.parse(TB3(SB3,"utf-8"))),win32:()=>{if(!B(ab9))return;return vB3(Q(ab9,["query",PB3]))}}},fB3,Is0=(A)=>typeof A==="string"?A:void 0,gB3,hB3,di=(A)=>{if(typeof A==="boolean")return A;if(typeof A==="number")return A!==0;if(typeof A==="string"){let Q=A.trim().toLowerCase();if(gB3.has(Q))return!0;if(hB3.has(Q))return!1}return},y41=(A)=>{if(typeof A==="number")return Number.isFinite(A)?A:void 0;if(typeof A==="string"){let Q=A.trim();if(Q.length===0)return;let B=Number(Q);return Number.isFinite(B)?B:void 0}return},Rs0=(A)=>{if(typeof A!=="string")return;let Q=A.trim();return Q.length>0?Q:void 0},rb9=(A)=>{if(typeof A==="string"){let B=F_1(A);return Object.keys(B).length>0?B:void 0}if(!js0(A))return;let Q={};for(let[B,J]of Object.entries(A))if(typeof J==="string")Q[B]=J;return Object.keys(Q).length>0?Q:void 0},mB3=(A)=>{if(!js0(A))return;let Q={breakerBackoffMs:y41(A.breakerBackoffMs),breakerFailureThreshold:y41(A.breakerFailureThreshold),bufferDir:Rs0(A.bufferDir),bufferMaxBytes:y41(A.bufferMaxBytes),captureMessageContent:di(A.captureMessageContent),enabled:di(A.enabled),endpoint:Rs0(A.endpoint),headers:rb9(A.headers),identityMode:Cs0(Is0(A.identityMode)),identitySecret:Rs0(A.identitySecret),includeAccountUuid:di(A.includeAccountUuid),includeVersion:di(A.includeVersion),logsExportIntervalMs:y41(A.logsExportIntervalMs),langsmithCompat:di(A.langsmithCompat),logToolDetails:di(A.logToolDetails),logUserPrompts:di(A.logUserPrompts),metricExportIntervalMs:y41(A.metricExportIntervalMs),metricsTemporalityPreference:Es0(Is0(A.metricsTemporalityPreference)),protocol:ho1(Is0(A.protocol)),resourceAttributes:rb9(A.resourceAttributes),shutdownTimeoutMs:y41(A.shutdownTimeoutMs)};return Object.values(Q).some((J)=>J!==void 0)?Q:void 0},po1=(A={})=>{let Q=A.platform??process.platform;if(Q!=="darwin"&&Q!=="win32"&&Q!=="linux")return;let B=A.readers?.[Q]??fB3[Q];try{return mB3(B())}catch{return}};var Ts0=C(()=>{uo1();xB3=/^ {4}(.+?) {4}(REG_[A-Z_]+) {4}(.*)$/,fB3=yB3(),gB3=new Set(["1","true","yes","on"]),hB3=new Set(["0","false","no","off"])});function IH(A,Q){if(typeof A==="string"){if(!Q)throw Error(`registerBuiltinExtension("${A}", factory) called without a factory`);do1.push({name:A,factory:Q,kind:"bundled"});return}if((A.kind??"bundled")==="prebundled"){if(A.factory!==void 0)throw Error(`registerBuiltinExtension("${A.name}"): prebundled extensions must not be registered with a factory (the static factory import would inline the extension into the SEA, see apps/auggie-v2/docs/prebundled-extensions.md).`);do1.push({name:A.name,kind:"prebundled"});return}if(!A.factory)throw Error(`registerBuiltinExtension({ name: "${A.name}" }) called without a factory for kind="bundled"`);do1.push({name:A.name,factory:A.factory,kind:"bundled"})}function sb9(){return do1}function tb9(A,Q){return A.filter((B)=>!Q.has(B.name))}var do1;var Ps0=C(()=>{do1=[]});import{statSync as uB3}from"node:fs";import{resolve as pB3}from"node:path";function eb9(A,Q,B){let J=[],$=[];if(!A||A.length===0)return{resolved:J,errors:$};let Y=new Set([Q]);for(let X of A){let W=HJ(X),Z=pB3(B,W);if(Y.has(Z))continue;let G;try{G=uB3(Z)}catch(U){let z=U instanceof Error?U.message:String(U);$.push(`--add-workspace "${X}": ${z}`);continue}if(!G.isDirectory()){$.push(`--add-workspace "${X}": not a directory (${Z})`);continue}Y.add(Z),J.push(Z)}return{resolved:J,errors:$}}function Ax9(A){if(A.isCloudService)return{kind:"tolerate",warnings:A.errors};return{kind:"fatal",fatalErrors:A.errors}}var Qx9=C(()=>{vX()});import{execFile as dB3}from"node:child_process";import{existsSync as cB3,rmSync as lB3}from"node:fs";import{promisify as iB3}from"node:util";function Ss0(A){let Q=A.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(Q){let[,J,$]=Q;return{sshUrl:A.endsWith(".git")?A:`${A}.git`,httpsUrl:`https://${J}/${$}.git`}}let B=A.match(/^https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(B){let[,J,$]=B;return{sshUrl:`git@${J}:${$}.git`,httpsUrl:A.endsWith(".git")?A:`${A}.git`}}return{sshUrl:A,httpsUrl:A}}function Yx9(A){return A instanceof Error?A.message:String(A)}async function ks0({sshUrl:A,httpsUrl:Q,targetDir:B,extraArgs:J=[]}){let $;for(let Y of[{url:A,env:nB3},{url:Q,env:$x9}])try{return await Jx9("git",["clone","--depth","1",...J,Y.url,B],{env:Y.env}),{success:!0}}catch(X){if($=X,cB3(B))lB3(B,{recursive:!0,force:!0})}return{success:!1,error:Yx9($)}}function Bx9(A,Q){return Jx9("git",A,{cwd:Q,env:$x9})}async function Xx9(A,Q){try{return await Bx9(["fetch","--depth","1","origin",Q],A),await Bx9(["checkout","FETCH_HEAD"],A),{success:!0}}catch(B){return{success:!1,error:Yx9(B)}}}var Jx9,nB3,$x9;var Wx9=C(()=>{Jx9=iB3(dB3),nB3={...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes"},$x9={...process.env,GIT_TERMINAL_PROMPT:"0"}});import{existsSync as aB3,readFileSync as oB3}from"node:fs";import{join as f41}from"node:path";function Ux9(A){for(let Q of Gx9)if(aB3(f41(A,Q)))return!0;return!1}function ci(A){let Q=rB3(A,Zx9);if(Q.manifest||Q.diagnostics.length>0)return Q;return{diagnostics:[`no marketplace manifest found (looked for ${Zx9.join(", ")})`]}}function rB3(A,Q){let B=[];for(let J of Q){let $=f41(A,J),Y;try{Y=oB3($,"utf-8")}catch{continue}try{let X=JSON.parse(Y);if(X&&typeof X==="object"&&!Array.isArray(X))return{manifest:X,manifestPath:$,diagnostics:B};B.push(`manifest at ${J} is not a JSON object; ignoring`)}catch(X){B.push(`failed to parse manifest at ${J}: ${X.message}`)}}return{diagnostics:B}}var Gx9,Zx9,zx9;var co1=C(()=>{Gx9=[f41(".augment-plugin","plugin.json"),f41(".claude-plugin","plugin.json")],Zx9=[f41(".augment-plugin","marketplace.json"),f41(".claude-plugin","marketplace.json")];zx9=`no plugin manifest found (looked for ${Gx9.join(", ")})`});import{execFile as sB3}from"node:child_process";import{existsSync as PP,mkdirSync as Hx9,readdirSync as tB3,renameSync as eB3,rmSync as AJ3,statSync as QJ3}from"node:fs";import{dirname as BJ3,isAbsolute as Vx9,join as SP,relative as wx9,resolve as bs0}from"node:path";import{promisify as JJ3}from"node:util";function _x9(A){let Q=A.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();if(!Q)return null;if(!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(Q))return null;return Q}function Kx9(A){let Q=A.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();if(!Q)return null;if(!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(Q))return null;return Q}function YJ3(A){let Q=A.match(/^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(?:@(.+))?$/);if(Q?.[1]&&Q[2])return{owner:Q[1],repo:Q[2].replace(/\.git$/,""),...Q[3]?{ref:Q[3]}:{}};let B=A.match(/^https?:\/\/github\.com\/([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);if(B?.[1]&&B[2])return{owner:B[1],repo:B[2],...B[4]?{ref:B[4]}:{}};let J=A.match(/^git@github\.com:([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);if(J?.[1]&&J[2])return{owner:J[1],repo:J[2],...J[4]?{ref:J[4]}:{}};return null}function pC(A){return typeof A==="string"&&A.length>0?A:void 0}function XJ3(A,Q){let B=pC(A.repo);if(!B)return null;return{kind:"github",url:`https://github.com/${B.replace(/\.git$/,"")}.git`,...Q?{ref:Q}:{},...pC(A.path)?{subdir:pC(A.path)}:{}}}function WJ3(A,Q){let B=pC(A.url);if(!B)return null;return{kind:"url",url:B,...Q?{ref:Q}:{},...pC(A.path)?{subdir:pC(A.path)}:{}}}function ZJ3(A,Q){let B=pC(A.url),J=pC(A.path);if(!(B&&J))return null;return{kind:"git-subdir",url:B,subdir:J,...Q?{ref:Q}:{}}}function xs0(A){if(!A||typeof A!=="object")return null;let Q=A,B=pC(Q.sha)??pC(Q.ref);switch(Q.source){case"github":return XJ3(Q,B);case"url":return WJ3(Q,B);case"git-subdir":return ZJ3(Q,B);default:return null}}function Fx9(A,Q,B){let J=_x9(Q);if(!J)return;let $=SP(A,Dx9,J);if(!PP(SP($,".git")))return;if(!B)return $;let Y=bs0($,B),X=wx9($,Y);if(X.startsWith("..")||Vx9(X))return;return PP(Y)?Y:void 0}async function GJ3(A,Q){let B=typeof Q.name==="string"?Q.name:"",J=xs0(Q.source);if(!J)return;let $=_x9(B);if(!$)return{name:B,status:"failed",error:"invalid plugin cache name"};let Y=SP(A,Dx9,$);if(PP(SP(Y,".git")))return{name:B,status:"skipped"};let X=BJ3(Y);if(!PP(X))Hx9(X,{recursive:!0});let{sshUrl:W,httpsUrl:Z}=Ss0(J.url),G=J.kind==="git-subdir",U=await ks0({sshUrl:W,httpsUrl:Z,targetDir:Y,extraArgs:G?["--filter=blob:none","--sparse"]:[]});if(!U.success)return{name:B,status:"failed",error:U.error};if(J.ref){let z=await Xx9(Y,J.ref);if(!z.success)return{name:B,status:"failed",error:z.error}}if(G&&J.kind==="git-subdir")try{await $J3("git",["sparse-checkout","set",J.subdir],{cwd:Y,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}catch(z){return{name:B,status:"failed",error:z instanceof Error?z.message:String(z)}}return{name:B,status:"cloned"}}async function Mx9(A){let{manifest:Q}=ci(A),B=Q?.plugins;if(!B||B.length===0)return[];let J=[];for(let $ of B){let Y=await GJ3(A,$);if(Y)J.push(Y)}return J}function UJ3(A){try{return QJ3(A).isDirectory()}catch{return!1}}function zJ3(A,Q){let B=wx9(bs0(A),bs0(Q));return B!==""&&!B.startsWith("..")&&!Vx9(B)}async function M_1(A,Q){let B=YJ3(Q);if(!B)return{success:!1,error:`Invalid GitHub repository: ${Q}. Expected owner/repo or a github.com URL.`};let{owner:J,repo:$,ref:Y}=B;if(!PP(A))Hx9(A,{recursive:!0});let X=Kx9($);if(!X)return{success:!1,error:`Invalid repository name for marketplace directory: "${$}".`};let W=SP(A,X);if(PP(W))return{success:!1,alreadyInstalled:!0,marketplaceId:X,error:`Marketplace '${X}' is already installed.`};let{sshUrl:Z,httpsUrl:G}=Ss0(`https://github.com/${J}/${$}`),U=await ks0({sshUrl:Z,httpsUrl:G,targetDir:W,extraArgs:Y?["--branch",Y]:[]});if(!U.success)return{success:!1,error:`Failed to clone '${J}/${$}' (SSH and HTTPS both failed): ${U.error}`};let{manifest:z}=ci(W),K=X,H=typeof z?.name==="string"?Kx9(z.name):null;if(H&&H!==X){let V=SP(A,H);if(!PP(V))try{eB3(W,V),K=H}catch{}}return await Mx9(SP(A,K)),{success:!0,marketplaceId:K}}function N_1(A,Q){let B=SP(A,Q);if(!zJ3(A,B))return{success:!1,error:`Refusing to remove '${Q}': path is outside the marketplaces directory.`};if(!PP(B))return{success:!1,error:`Marketplace '${Q}' not found.`};try{return AJ3(B,{recursive:!0,force:!0}),{success:!0}}catch(J){return{success:!1,error:`Failed to remove '${Q}': ${J instanceof Error?J.message:String(J)}`}}}async function Nx9(A){let Q=!1;for(let B of A){if(!PP(B))continue;let J;try{J=tB3(B)}catch{continue}for(let $ of J){let Y=SP(B,$);if(!UJ3(Y))continue;if((await Mx9(Y)).some((W)=>W.status==="cloned"))Q=!0}}return Q}var $J3,Dx9=".plugin-cache";var lo1=C(()=>{Wx9();co1();$J3=JJ3(sB3)});import{readFileSync as KJ3}from"node:fs";import{join as HJ3}from"node:path";function Ox9(A){let Q=HJ3(A,"hooks","hooks.json"),B;try{B=KJ3(Q,"utf-8")}catch{return{diagnostics:[]}}let J;try{J=JSON.parse(B)}catch(Y){return{diagnostics:[`failed to parse hooks/hooks.json: ${Y.message}`]}}if(!J||typeof J!=="object"||Array.isArray(J))return{diagnostics:["hooks/hooks.json must be a JSON object"]};return{config:jV1(J),diagnostics:[]}}var qx9=C(()=>{Ul()});import{existsSync as VJ3,lstatSync as wJ3,readdirSync as Ex9,statSync as DJ3}from"node:fs";import{isAbsolute as Lx9,join as O_1,relative as _J3,resolve as Cx9}from"node:path";function Ix9(A,Q){let B=[],J=[],$=[],Y=new Map;for(let X of A)for(let W of FJ3(X,Q,J)){let Z=Y.get(W.id);if(Z!==void 0){$.push({id:W.id,shadowedRoot:X,winnerRoot:Z});continue}Y.set(W.id,X),B.push(W)}for(let[X,W]of Object.entries(Q))if(W&&!Y.has(X))J.push(`enabledPlugins["${X}"] = true but no plugin with that id was found in any marketplace root`);return{plugins:B,globalDiagnostics:J,shadowedPlugins:$}}function FJ3(A,Q,B){let J=[];if(!VJ3(A))return J;let $;try{$=Ex9(A)}catch(Y){return B.push(`failed to read marketplaces directory ${A}: ${Y.message}`),J}for(let Y of $){let X=O_1(A,Y);if(!q_1(X))continue;MJ3(X,Y,Q,J,B)}return J}function MJ3(A,Q,B,J,$){let Y=ci(A);if(!Y.manifest){for(let G of Y.diagnostics)$.push(`[${Q}] ${G}`);return}let X=IJ3(Y.manifest.name,Q),W=CJ3(A,Y.manifest.metadata?.pluginRoot),Z=Array.isArray(Y.manifest.plugins)?Y.manifest.plugins:[];if(Z.length===0)$.push(`[${X}] marketplace.json has no plugins[] entries`);for(let G of Z){let U=NJ3(G,A,W,X,B);if(U)J.push(U)}for(let G of Y.diagnostics)$.push(`[${X}] ${G}`)}function NJ3(A,Q,B,J,$){let Y=typeof A.name==="string"?g41(A.name):void 0;if(!Y)return;let X=`${Y}@${J}`,W=$[X]===!0,Z=[],G=EJ3(A.source,Y,Q,B,Z);if(!G)return{id:X,marketplace:J,name:Y,root:Q,enabled:W,commandsDir:void 0,skillsDir:void 0,hooksConfig:void 0,agentsDirPresent:!1,diagnostics:Z};return qJ3(X,J,Y,G,W,Z)}function OJ3(A,Q){let B=[],J;try{J=Ex9(A).sort()}catch(Y){return Q.push(`failed to read agents directory: ${Y.message}`),B}let $=[];for(let Y of J){if(!Y.endsWith(".md"))continue;let X=O_1(A,Y);try{if(!wJ3(X).isFile()){$.push(Y);continue}}catch(W){Q.push(`failed to stat agent file ${Y}: ${W.message}`);continue}B.push(X)}if($.length>0)Q.push(`ignoring non-regular agent file(s) under agents/ (symlinks / dirs / devices are not followed): ${$.join(", ")}`);return B}function qJ3(A,Q,B,J,$,Y){if(!Ux9(J))Y.push(zx9);let X=O_1(J,"commands"),W=O_1(J,"skills"),Z=O_1(J,"agents"),G=q_1(X)?X:void 0,U=q_1(W)?W:void 0,z=q_1(Z),K=z&&$?OJ3(Z,Y):void 0,H=Ox9(J);for(let V of H.diagnostics)Y.push(V);return{id:A,marketplace:Q,name:B,root:J,enabled:$,commandsDir:G,skillsDir:U,hooksConfig:H.config,agentsDirPresent:z,agentFiles:K,diagnostics:Y}}function LJ3(A,Q,B,J){let $=xs0(A);if(!$){let X=A.source;J.push(`source kind "${typeof X==="string"?X:"object"}" is not supported; install the plugin manually as a relative directory`);return}let Y=Fx9(B,Q,$.subdir);if(Y)return Y;J.push(`source kind "${$.kind}" not fetched yet; run /plugins to clone it (or marketplace update)`);return}function EJ3(A,Q,B,J,$){if(typeof A!=="string"){if(A&&typeof A==="object")return LJ3(A,Q,B,$);$.push("plugin entry has no source field; skipping");return}if(Lx9(A)){$.push(`absolute source "${A}" is not allowed; skipping`);return}let Y=A.startsWith("./")?B:J,X=Cx9(Y,A),W=_J3(B,X);if(W.startsWith("..")||Lx9(W)){$.push(`source "${A}" resolves outside the marketplace root; skipping`);return}if(!q_1(X)){$.push(`source "${A}" does not point to an existing directory (looked at ${X})`);return}return X}function CJ3(A,Q){if(typeof Q!=="string"||Q.length===0)return A;return Cx9(A,Q)}function IJ3(A,Q){if(typeof A==="string"&&A.length>0){let B=g41(A);if(B.length>0)return B}return Q}function g41(A){let Q="";for(let B of A){let J=B.codePointAt(0);if(J===void 0)continue;let $=J<=31,Y=J>=127&&J<=159;if($||Y)continue;Q+=B}return Q}function q_1(A){try{return DJ3(A).isDirectory()}catch{return!1}}var io1=C(()=>{lo1();qx9();co1()});import{readFileSync as RJ3}from"node:fs";import{basename as jJ3}from"node:path";function no1(A){return typeof A==="string"?A:void 0}function PJ3(A){if(typeof A!=="string")return;return jx9.includes(A)?A:void 0}function SJ3(A){return typeof A==="number"&&A>=0?A:void 0}function Px9(A){if(A===void 0||A===null)return;let Q=String(A).trim();if(!Q||Q==="none")return;let B=Q.split(",").map((J)=>J.trim()).filter(Boolean);return B.length>0?B:void 0}function Sx9(A,Q){if(A===void 0||A===null)return[...Q];return Px9(A)??[]}function kJ3(A){return Px9(A)}function bJ3(A){if(A==="user"||A==="project"||A==="local")return A;return}function Rx9(A){if(A===void 0||A===null||A===!0)return!0;if(A===!1||A==="none")return!1;let Q=Sx9(A,[]);return Q.length>0?Q:!1}function xJ3(A,Q){let B=g41(jJ3(A,".md")),J;try{J=RJ3(A,"utf-8")}catch(U){let z=U instanceof Error?U.message:String(U);return{ok:!1,diagnostic:`failed to read agent file ${A}: ${z}`}}let $,Y;try{let U=bO(J);$=U.frontmatter??{},Y=U.body}catch(U){let z=U instanceof Error?U.message:String(U);return{ok:!1,diagnostic:`invalid frontmatter in agent file ${A}: ${z}`}}let X=no1($.thinking),W=PJ3($.thinking),Z=[];if(X!==void 0&&W===void 0)Z.push(`agent file ${A} declares thinking: "${X}", which is not a recognised level (expected one of: ${jx9.join(", ")}); falling back to the model's default`);let G={name:B,displayName:no1($.display_name),description:no1($.description)??B,builtinToolNames:Sx9($.tools,TJ3),disallowedTools:kJ3($.disallowed_tools),extensions:Rx9($.extensions??$.inherit_extensions),skills:Rx9($.skills??$.inherit_skills),model:no1($.model),thinking:W,maxTurns:SJ3($.max_turns),systemPrompt:Y.trim(),promptMode:$.prompt_mode==="append"?"append":"replace",inheritContext:$.inherit_context==null?void 0:$.inherit_context===!0,runInBackground:$.run_in_background==null?void 0:$.run_in_background===!0,isolated:$.isolated==null?void 0:$.isolated===!0,memory:bJ3($.memory),isolation:$.isolation==="worktree"?"worktree":void 0,enabled:$.enabled!==!1,source:"plugin",pluginId:Q};return Z.length>0?{ok:!0,config:G,warnings:Z}:{ok:!0,config:G}}function kx9(A){let Q=new Map,B=[];if(!A.agentFiles||A.agentFiles.length===0)return{agents:Q,diagnostics:B};let J=new Map;for(let $ of A.agentFiles){let Y=xJ3($,A.id);if(!Y.ok){B.push(Y.diagnostic);continue}if(Y.warnings)for(let Z of Y.warnings)B.push(Z);let{config:X}=Y,W=X.name.toLowerCase();if(J.has(W)){let Z=J.get(W)??X.name,G=Z===X.name?`"${X.name}"`:`"${X.name}" (case-insensitive collision with "${Z}")`;B.push(`duplicate agent name ${G} in plugin ${A.id}; ignoring ${$}`);continue}Q.set(X.name,X),J.set(W,X.name)}return{agents:Q,diagnostics:B}}var TJ3,jx9,Tx9;var bx9=C(()=>{NQ();io1();TJ3=["read","bash","edit","write","grep","find","ls"],jx9=["off","minimal","low","medium","high","xhigh"],Tx9=["general-purpose","explore","plan"]});import{lstatSync as vJ3,readFileSync as yJ3,realpathSync as xx9}from"node:fs";import{isAbsolute as fJ3,join as gJ3,relative as hJ3}from"node:path";function L_1(A,Q){let B=A;for(let J of mJ3){let $=`\${${J}}`;if(B.includes($))B=B.split($).join(Q)}return B}function vs0(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}function vx9(A){if(!A)return;let Q={};for(let[B,J]of Object.entries(A)){if(J===null||J===void 0)continue;Q[B]=String(J)}return Object.keys(Q).length>0?Q:void 0}function uJ3(A){if(A.type==="stdio"||A.type==="http"||A.type==="sse")return A.type;if(A.url)return"http";if(A.command)return"stdio";return}function pJ3(A,Q,B){let J=uJ3(Q);if(!J)throw Error(`MCP server "${A}" must declare a 'command' (stdio) or 'url' (http/sse) property`);if(J==="http"||J==="sse"){if(!Q.url)throw Error(`MCP server "${A}" has type "${J}" but no 'url' property`);return{type:J,name:A,disabled:Q.disabled,url:Q.url,headers:vx9(Q.headers),auth:Q.auth==="oauth"?"oauth":void 0,cwd:Q.cwd,timeoutMs:Q.timeoutMs}}let $=Q.command;if(!$)throw Error(`MCP server "${A}" has type "stdio" but no 'command' property`);let Y=Array.isArray(Q.args)?Q.args.map((W)=>String(W)):[],X=Y.length>0?`${$} ${Y.join(" ")}`:$;if(Q.useShellInterpolation===!1)B.push(`MCP server "${A}": useShellInterpolation:false is ignored; plugin stdio servers always shell-wrap (V2 parity)`);return{type:"stdio",name:A,disabled:Q.disabled,command:X,args:[],env:vx9(Q.env),cwd:Q.cwd,timeoutMs:Q.timeoutMs,useShellInterpolation:!0}}function yx9(A,Q){if(!A)return;let B={};for(let[J,$]of Object.entries(A))B[J]=L_1($,Q);return B}function dJ3(A,Q){if(A.type==="stdio")return{...A,command:L_1(A.command,Q),env:yx9(A.env,Q),cwd:A.cwd?L_1(A.cwd,Q):void 0};return{...A,url:L_1(A.url,Q),headers:yx9(A.headers,Q),cwd:A.cwd?L_1(A.cwd,Q):void 0}}function cJ3(A,Q){let B=gJ3(A,".mcp.json"),J;try{J=vJ3(B)}catch($){if($?.code==="ENOENT")return;Q.push(`failed to stat .mcp.json: ${$.message}`);return}if(J.isSymbolicLink()){Q.push(".mcp.json is a symlink; refusing to follow it out of the plugin root");return}if(!J.isFile()){Q.push(".mcp.json is not a regular file; skipping");return}try{let $=xx9(A),Y=xx9(B),X=hJ3($,Y);if(X.startsWith("..")||fJ3(X)){Q.push(".mcp.json resolves outside the plugin root; skipping");return}}catch($){Q.push(`failed to resolve .mcp.json real path: ${$.message}`);return}try{return yJ3(B,"utf-8")}catch($){Q.push(`failed to read .mcp.json: ${$.message}`);return}}function fx9(A){let Q=[],B=cJ3(A.root,Q);if(B===void 0)return{servers:[],diagnostics:Q};let J;try{J=JSON.parse(B)}catch(X){return Q.push(`failed to parse .mcp.json: ${X.message}`),{servers:[],diagnostics:Q}}if(!vs0(J))return Q.push(".mcp.json must be a JSON object"),{servers:[],diagnostics:Q};let $=J.mcpServers;if(!vs0($))return Q.push('.mcp.json must contain an "mcpServers" object'),{servers:[],diagnostics:Q};let Y=[];for(let[X,W]of Object.entries($)){let Z=`${A.id}/${g41(X)}`;if(!vs0(W)){Q.push(`MCP server "${Z}" must be a JSON object`);continue}try{let G=pJ3(Z,W,Q);Y.push(dJ3(G,A.root))}catch(G){Q.push(G instanceof Error?G.message:String(G))}}return{servers:Y,diagnostics:Q}}var mJ3,gx9="hermes:mcp:register-server-source";var hx9=C(()=>{io1();mJ3=["CLAUDE_PLUGIN_ROOT","AUGMENT_PLUGIN_ROOT","AUGGIE_PLUGIN_ROOT"]});function mx9(A,Q){let B=O5.create(A,Q),J=B.getEnabledPlugins(),$=B.drainErrors().map(({scope:Y,error:X})=>`failed to load ${Y} settings: ${X.message}; enabledPlugins entries from this scope will be ignored`);return{enabled:J,diagnostics:$}}var ux9=C(()=>{NQ()});var px9="hermes:subagents:register-agent-source";import{join as h41}from"node:path";import{existsSync as lJ3,readdirSync as iJ3,statSync as nJ3}from"node:fs";function gs0(A){Zq=[],fs0=[],ao1=[],ys0=[],E_1=[];let Q=!1,B,J=new Map,$,Y,X=new Map,W;A.events.on(wl1,(R)=>{B=R.register}),A.events.on(px9,(R)=>{$=R.register}),A.events.on(gx9,(R)=>{W=R.registerServerSource});function Z(R,I){let{enabled:x,diagnostics:S}=mx9(R,I),P=h41(Ld(),"plugins","marketplaces"),y=h41(I,"plugins","marketplaces"),g=Ix9([P,y],x);for(let a of g.shadowedPlugins)Tw.debug(`plugin "${a.id}" from ${a.shadowedRoot} is shadowed by the higher-precedence root ${a.winnerRoot}`);return g.globalDiagnostics=[...S,...g.globalDiagnostics],Zq=g.plugins,fs0=g.globalDiagnostics,Q=!0,g}function G(R,I){if(!Q)Z(R,I)}function U(){let R=new Map,I=new Map;ao1=[];let x=[...Zq.filter((S)=>S.enabled)].sort((S,P)=>S.id.localeCompare(P.id));for(let S of x){let{agents:P,diagnostics:y}=kx9(S);for(let g of y)Tw.warn(`[${S.id}] ${g}`),ao1.push({type:"warning",message:`[${S.id}] ${g}`,path:S.root});for(let[g,a]of P)z(S.id,g,a,R,I)}X=R}function z(R,I,x,S,P){let y=I.toLowerCase(),g=P.get(y);if(g){let a=g.name===I?`"${I}"`:`"${I}" (case-insensitive collision with "${g.name}")`;Tw.warn(`[${R}] plugin-contributed agent ${a} shadowed by earlier plugin ${g.pluginId}; ignoring`);return}if(Tx9.includes(y))Tw.warn(`[${R}] plugin-contributed agent "${I}" shadows the built-in default agent of the same name; the plugin's definition will be used for every Agent-tool invocation across this session`);S.set(I,x),P.set(y,{pluginId:R,name:I})}function K(){if(!$)return;Y?.(),Y=$({getAgents:()=>X,getDiagnostics:()=>ao1})}function H(){let R=[];E_1=[];let I=[...Zq.filter((x)=>x.enabled)].sort((x,S)=>x.id.localeCompare(S.id));for(let x of I){let{servers:S,diagnostics:P}=fx9(x);for(let y of P)Tw.warn(`[${x.id}] ${y}`),E_1.push({type:"warning",message:`[${x.id}] ${y}`,path:x.root});for(let y of S)R.push(y)}ys0=R}function V(){if(!W)return;W({source:"plugin",getServers:()=>ys0,getDiagnostics:()=>E_1})}function w(){if(!B)return;for(let R of J.values())R();J.clear();for(let R of Zq){if(!R.enabled)continue;let I=aJ3(R);J.set(R.id,B(I))}}function D(){for(let R of J.values())R();J.clear()}function _(){let R=[],I=[];for(let x of Zq){if(!x.enabled){for(let S of x.diagnostics)Tw.debug(`[${x.id}] ${S}`);continue}if(x.commandsDir)I.push(x.commandsDir);if(x.skillsDir)R.push(x.skillsDir);for(let S of x.diagnostics)Tw.warn(`[${x.id}] ${S}`)}return{skillPaths:R,promptPaths:I}}A.on("resources_discover",(R)=>{Q=!1;let I=Z(R.cwd,R.agentDir),{skillPaths:x,promptPaths:S}=_();for(let y of I.globalDiagnostics)Tw.warn(y);let P=Zq.filter((y)=>y.enabled).length;if(Zq.length>0)Tw.info(`Discovered ${Zq.length} plugin(s); ${P} enabled`);return w(),U(),K(),L(),H(),V(),q(),{skillPaths:x,promptPaths:S}}),A.on("session_start",(R,I)=>{G(I.cwd,I.agentDir),w(),U(),K(),O(),H(),V();let x=h41(Ld(),"plugins","marketplaces"),S=h41(I.agentDir,"plugins","marketplaces");Nx9([x,S]).then((P)=>{if(!P)return;Q=!1,Z(I.cwd,I.agentDir),w(),U(),K(),H(),V()}).catch((P)=>{Tw.debug(`background plugin source fetch failed: ${P instanceof Error?P.message:String(P)}`)})}),A.on("session_shutdown",()=>{D(),Y?.(),Y=void 0,X=new Map});let F=!1,M=!1,N=!1;function O(){if(!B&&!F)F=!0,Tw.warn("@hermes/hooks did not register a hook listener; plugin hooks will not run. This usually means @hermes/hooks was removed from the built-in extension list.")}function L(){if(!$&&!M)M=!0,Tw.debug("@hermes/subagents did not register an agent source; plugin-contributed subagents will not be available (expected when --disable-subagents is set).")}function q(){if(!W&&!N)N=!0,Tw.debug("@hermes/mcp did not register a server source; plugin-contributed MCP servers will not be loaded.")}}function aJ3(A){return{source:A.id,isEnabled:()=>A.enabled,getConfig:()=>A.hooksConfig,env:oJ3(A.root),postToolUsePrefix:`Plugin ${A.id} hook`,backgroundLabel:(Q)=>`[${A.id}] ${Q} hook`,blockedFallbackReason:"Blocked by plugin hook"}}function oJ3(A){return{PLUGIN_ROOT:A,CLAUDE_PLUGIN_ROOT:A}}function Nf(){return Zq}function C_1(A){return h41(A,"plugins","marketplaces")}function oo1(A){let Q=C_1(A);if(!lJ3(Q))return[];let B;try{B=iJ3(Q)}catch{return[]}let J=[];for(let $ of B){let Y=h41(Q,$);try{if(!nJ3(Y).isDirectory())continue}catch{continue}let{manifest:X}=ci(Y);if(!X)continue;let W=typeof X.name==="string"&&X.name.length>0?X.name:$;J.push({dir:$,name:W,path:Y})}return J}function dC(){let A=[];for(let Q of Zq)for(let B of Q.diagnostics)A.push({type:"warning",message:`[${Q.id}] ${B}`,path:Q.root});for(let Q of fs0)A.push({type:"warning",message:Q});for(let Q of E_1)A.push(Q);return A}var Tw,Zq,fs0,ao1,ys0,E_1;var m41=C(()=>{NQ();Ul();v2();bx9();io1();lo1();co1();hx9();ux9();lo1();Tw=XA.child({prefix:"pi-plugins"}),Zq=[],fs0=[],ao1=[],ys0=[],E_1=[]});import{existsSync as rJ3}from"node:fs";import{homedir as I_1}from"node:os";import{dirname as hs0,join as bF,resolve as dx9}from"node:path";import{fileURLToPath as sJ3}from"node:url";function eJ3(){let A=`${ms0}\x00${process.execPath||""}`.toLowerCase();if(A.includes("/pnpm/")||A.includes("/.pnpm/")||A.includes("\\pnpm\\"))return"pnpm";if(A.includes("/yarn/")||A.includes("/.yarn/")||A.includes("\\yarn\\"))return"yarn";if(R_1)return"bun";if(A.includes("/npm/")||A.includes("/node_modules/")||A.includes("\\npm\\"))return"npm";return"unknown"}function cx9(A,Q){switch(eJ3()){case"pnpm":return`Run: pnpm install -g ${A}`;case"yarn":return`Run: yarn global add ${A}`;case"bun":return`Run: bun install -g ${A}`;case"npm":return`Run: npm install -g ${A}`;default:return`Run: npm install -g ${A}`}}function lx9(){let A=process.env.PI_PACKAGE_DIR;if(A){if(A==="~")return I_1();if(A.startsWith("~/"))return I_1()+A.slice(1);return A}let Q=ms0;while(Q!==hs0(Q)){if(rJ3(bF(Q,"package.json")))return Q;Q=hs0(Q)}return ms0}function u41(){return dx9(bF(lx9(),"docs"))}function ro1(){return dx9(bF(lx9(),"CHANGELOG.md"))}function ox9(A){return`${process.env.PI_SHARE_VIEWER_URL||Q$3}#${A}`}function rx9(A){if(A==="~")return I_1();if(A.startsWith("~/"))return I_1()+A.slice(1);return A}function kP(){let A=process.env.AUGMENT_CACHE_DIR;if(A)return rx9(A);return bF(I_1(),".augment")}function Q6(){let A=process.env[P_1];if(A)return rx9(A);return kP()}function S_1(){return bF(Q6(),"themes")}function sx9(){return bF(Q6(),"models.json")}function us0(){return bF(Q6(),"auth.json")}function tx9(){return bF(Q6(),"settings.json")}function so1(){return kP()}function p41(){return bF(Q6(),"bin")}function ex9(){return bF(Q6(),"prompts")}function Av9(){return bF(Q6(),j_1)}function Qv9(){return bF(Q6(),`${_4}-debug.log`)}var tJ3,ms0,R_1,_4,X8,j_1="sessions-v2",T_1="auggie",ix9="Auggie Coding Agent",A$3="1.1.0-prerelease.202608110824",v$,nx9="b8f2079df96513dd611d6af75a0db439a400658e",ax9="2026-08-11T15:24:39Z",P_1,Q$3="https://pi.dev/session/";var GQ=C(()=>{wP0();tJ3=sJ3(import.meta.url),ms0=hs0(tJ3),R_1=!!process.versions.bun;_4=ex.piConfig?.name||"pi",X8=ex.piConfig?.configDir||".augment",v$=A$3??ex.version,P_1=`${_4.toUpperCase()}_CODING_AGENT_DIR`});var Jv9;var Bv9=C(()=>{Jv9={$schema:"https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",name:"dark",vars:{cyan:"#00d7ff",blue:"#5f87ff",green:"#b5bd68",red:"#cc6666",yellow:"#ffff00",gray:"#808080",dimGray:"#666666",darkGray:"#505050",accent:"#8abeb7",selectedBg:"#3a3a4a",userMsgBg:"#343541",toolPendingBg:"#282832",toolSuccessBg:"#283228",toolErrorBg:"#3c2828",customMsgBg:"#2d2838"},colors:{accent:"accent",border:"blue",borderAccent:"cyan",borderMuted:"darkGray",success:"green",error:"red",warning:"yellow",muted:"gray",dim:"dimGray",text:"",thinkingText:"gray",selectedBg:"selectedBg",userMessageBg:"userMsgBg",userMessageText:"",customMessageBg:"customMsgBg",customMessageText:"",customMessageLabel:"#9575cd",toolPendingBg:"toolPendingBg",toolSuccessBg:"toolSuccessBg",toolErrorBg:"toolErrorBg",toolTitle:"#b294bb",toolOutput:"gray",mdHeading:"#f0c674",mdLink:"#81a2be",mdLinkUrl:"dimGray",mdCode:"accent",mdCodeBlock:"green",mdCodeBlockBorder:"gray",mdQuote:"gray",mdQuoteBorder:"gray",mdHr:"gray",mdListBullet:"accent",toolDiffAdded:"green",toolDiffRemoved:"red",toolDiffContext:"gray",syntaxComment:"#6A9955",syntaxKeyword:"#569CD6",syntaxFunction:"#DCDCAA",syntaxVariable:"#9CDCFE",syntaxString:"#CE9178",syntaxNumber:"#B5CEA8",syntaxType:"#4EC9B0",syntaxOperator:"#D4D4D4",syntaxPunctuation:"#D4D4D4",thinkingOff:"darkGray",thinkingMinimal:"#6e6e6e",thinkingLow:"#5f87af",thinkingMedium:"#81a2be",thinkingHigh:"#b294bb",thinkingXhigh:"#d183e8",bashMode:"green"},export:{pageBg:"#18181e",cardBg:"#1e1e24",infoBg:"#3c3728"}}});var Yv9;var $v9=C(()=>{Yv9={$schema:"https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",name:"light",vars:{teal:"#5a8080",blue:"#547da7",green:"#588458",red:"#aa5555",yellow:"#9a7326",mediumGray:"#6c6c6c",dimGray:"#767676",lightGray:"#b0b0b0",selectedBg:"#d0d0e0",userMsgBg:"#e8e8e8",toolPendingBg:"#e8e8f0",toolSuccessBg:"#e8f0e8",toolErrorBg:"#f0e8e8",customMsgBg:"#ede7f6"},colors:{accent:"teal",border:"blue",borderAccent:"teal",borderMuted:"lightGray",success:"green",error:"red",warning:"yellow",muted:"mediumGray",dim:"dimGray",text:"",thinkingText:"mediumGray",selectedBg:"selectedBg",userMessageBg:"userMsgBg",userMessageText:"",customMessageBg:"customMsgBg",customMessageText:"",customMessageLabel:"#7e57c2",toolPendingBg:"toolPendingBg",toolSuccessBg:"toolSuccessBg",toolErrorBg:"toolErrorBg",toolTitle:"",toolOutput:"mediumGray",mdHeading:"yellow",mdLink:"blue",mdLinkUrl:"dimGray",mdCode:"teal",mdCodeBlock:"green",mdCodeBlockBorder:"mediumGray",mdQuote:"mediumGray",mdQuoteBorder:"mediumGray",mdHr:"mediumGray",mdListBullet:"green",toolDiffAdded:"green",toolDiffRemoved:"red",toolDiffContext:"mediumGray",syntaxComment:"#008000",syntaxKeyword:"#0000FF",syntaxFunction:"#795E26",syntaxVariable:"#001080",syntaxString:"#A31515",syntaxNumber:"#098658",syntaxType:"#267F99",syntaxOperator:"#000000",syntaxPunctuation:"#000000",thinkingOff:"lightGray",thinkingMinimal:"#767676",thinkingLow:"blue",thinkingMedium:"teal",thinkingHigh:"#875f87",thinkingXhigh:"#8b008b",bashMode:"green"},export:{pageBg:"#f8f8f8",cardBg:"#ffffff",infoBg:"#fffae6"}}});import*as xz from"node:fs";import*as eo1 from"node:path";function Y$3(){let A=process.env.COLORTERM;if(A==="truecolor"||A==="24bit")return"truecolor";if(process.env.WT_SESSION)return"truecolor";let Q=process.env.TERM||"";if(Q==="dumb"||Q===""||Q==="linux")return"256color";if(process.env.TERM_PROGRAM==="Apple_Terminal")return"256color";if(Q==="screen"||Q.startsWith("screen-")||Q.startsWith("screen."))return"256color";return"truecolor"}function ls0(A){let Q=A.replace("#","");if(Q.length!==6)throw Error(`Invalid hex color: ${A}`);let B=Number.parseInt(Q.slice(0,2),16),J=Number.parseInt(Q.slice(2,4),16),$=Number.parseInt(Q.slice(4,6),16);if(Number.isNaN(B)||Number.isNaN(J)||Number.isNaN($))throw Error(`Invalid hex color: ${A}`);return{r:B,g:J,b:$}}function ps0(A){let Q=Number.POSITIVE_INFINITY,B=0;for(let[J,$]of to1.entries()){let Y=Math.abs(A-$);if(Y<Q)Q=Y,B=J}return B}function X$3(A){let Q=Number.POSITIVE_INFINITY,B=0;for(let[J,$]of Gv9.entries()){let Y=Math.abs(A-$);if(Y<Q)Q=Y,B=J}return B}function Wv9(A,Q,B,J,$,Y){let X=A-J,W=Q-$,Z=B-Y;return X*X*0.299+W*W*0.587+Z*Z*0.114}function W$3(A,Q,B){let J=ps0(A),$=ps0(Q),Y=ps0(B),X=to1[J]??0,W=to1[$]??0,Z=to1[Y]??0,G=16+36*J+6*$+Y,U=Wv9(A,Q,B,X,W,Z),z=Math.round(0.299*A+0.587*Q+0.114*B),K=X$3(z),H=Gv9[K]??0,V=232+K,w=Wv9(A,Q,B,H,H,H),D=Math.max(A,Q,B),_=Math.min(A,Q,B);if(D-_<10&&w<U)return V;return G}function Uv9(A){let{r:Q,g:B,b:J}=ls0(A);return W$3(Q,B,J)}function Z$3(A,Q){if(A==="")return"\x1B[39m";if(typeof A==="number")return`\x1B[38;5;${A}m`;if(A.startsWith("#")){if(Q==="truecolor"){let{r:J,g:$,b:Y}=ls0(A);return`\x1B[38;2;${J};${$};${Y}m`}return`\x1B[38;5;${Uv9(A)}m`}throw Error(`Invalid color value: ${A}`)}function G$3(A,Q){if(A==="")return"\x1B[49m";if(typeof A==="number")return`\x1B[48;5;${A}m`;if(A.startsWith("#")){if(Q==="truecolor"){let{r:J,g:$,b:Y}=ls0(A);return`\x1B[48;2;${J};${$};${Y}m`}return`\x1B[48;5;${Uv9(A)}m`}throw Error(`Invalid color value: ${A}`)}function is0(A,Q,B=new Set){if(typeof A==="number"||A===""||A.startsWith("#"))return A;if(B.has(A))throw Error(`Circular variable reference detected: ${A}`);if(!(A in Q))throw Error(`Variable reference not found: ${A}`);B.add(A);let J=Q[A];if(J===void 0)throw Error(`Variable reference not found: ${A}`);return is0(J,Q,B)}function zv9(A,Q={}){let B={};for(let[J,$]of Object.entries(A))B[J]=is0($,Q);return B}class l41{name;sourcePath;sourceInfo;fgColors;bgColors;mode;constructor(A,Q,B,J={}){this.name=J.name,this.sourcePath=J.sourcePath,this.sourceInfo=J.sourceInfo,this.mode=B,this.fgColors=new Map;for(let[$,Y]of Object.entries(A))this.fgColors.set($,Z$3(Y,B));this.bgColors=new Map;for(let[$,Y]of Object.entries(Q))this.bgColors.set($,G$3(Y,B))}fg(A,Q){let B=this.fgColors.get(A);if(!B)throw Error(`Unknown theme color: ${A}`);return`${B}${Q}\x1B[39m`}bg(A,Q){let B=this.bgColors.get(A);if(!B)throw Error(`Unknown theme background color: ${A}`);return`${B}${Q}\x1B[49m`}bold(A){return OA.bold(A)}italic(A){return OA.italic(A)}underline(A){return OA.underline(A)}inverse(A){return OA.inverse(A)}strikethrough(A){return OA.strikethrough(A)}getFgAnsi(A){let Q=this.fgColors.get(A);if(!Q)throw Error(`Unknown theme color: ${A}`);return Q}getBgAnsi(A){let Q=this.bgColors.get(A);if(!Q)throw Error(`Unknown theme background color: ${A}`);return Q}getColorMode(){return this.mode}getThinkingBorderColor(A){switch(A){case"off":return(Q)=>this.fg("thinkingOff",Q);case"minimal":return(Q)=>this.fg("thinkingMinimal",Q);case"low":return(Q)=>this.fg("thinkingLow",Q);case"medium":return(Q)=>this.fg("thinkingMedium",Q);case"high":return(Q)=>this.fg("thinkingHigh",Q);case"xhigh":return(Q)=>this.fg("thinkingXhigh",Q);default:return(Q)=>this.fg("thinkingOff",Q)}}getBashModeBorderColor(){return(A)=>this.fg("bashMode",A)}}function Ar1(){let A=new Set(Object.keys(ns0)),Q=S_1();if(xz.existsSync(Q)){let B=xz.readdirSync(Q);for(let J of B)if(J.endsWith(".json"))A.add(J.slice(0,-5))}for(let B of ai.keys())A.add(B);return Array.from(A).sort()}function Kv9(){let A=S_1(),Q=[];for(let B of Object.keys(ns0))Q.push({name:B,path:void 0});if(xz.existsSync(A)){for(let B of xz.readdirSync(A))if(B.endsWith(".json")){let J=B.slice(0,-5);if(!Q.some(($)=>$.name===J))Q.push({name:J,path:eo1.join(A,B)})}}for(let[B,J]of ai.entries())if(!Q.some(($)=>$.name===B))Q.push({name:B,path:J.sourcePath});return Q.sort((B,J)=>B.name.localeCompare(J.name))}function U$3(A,Q){if(!Xv9.Check(Q)){let B=Array.from(Xv9.Errors(Q)),J=[],$=[];for(let X of B){let Z=X.path.match(/^\/colors\/(\w+)$/)?.[1];if(Z&&X.message.includes("Required"))J.push(Z);else $.push(` - ${X.path}: ${X.message}`)}let Y=`Invalid theme "${A}":
|
|
6905
6905
|
`;if(J.length>0)Y+=`
|
|
6906
6906
|
Missing required color tokens:
|
|
6907
6907
|
`,Y+=J.map((X)=>` - ${X}`).join(`
|
|
@@ -14123,4 +14123,4 @@ ${W.enhancedPrompt}`),{action:"transform",text:W.enhancedPrompt,images:Q.images}
|
|
|
14123
14123
|
Allow?`,["Yes","No"])==="Yes"?void 0:X()}if(Y)try{if(await Y({toolUseId:Q.toolCallId,toolName:Q.toolName,toolInput:J}))return}catch(W){kL1.warn(`tool-approval provider threw for "${Q.toolName}"; denying: ${W}`)}return X()}function vWA(A){let Q=[],B=[],J=[],$=[],Y=()=>{$=[Q,...B,...J].filter((U)=>U.length>0)},X,W,Z;A.on("session_start",(U,z)=>{if(X=z.cwd,W=z.agentDir,Q=cI6(z.permissionOverride,(H,V)=>kL1.warn(`Ignoring invalid --permission "${H}": ${V}`)),B=TqQ(z.scopeRuleSets),Y(),Z)G.applyVfsScopes(Z);let K=B.reduce((H,V)=>H+V.length,0);if(Q.length>0||K>0)kL1.info(`Loaded ${Q.length} CLI --permission rule(s) and ${K} settings rule(s)`)});let G=SqQ();if(G.applyVfsScopes=(U)=>{if(Z=U,!X||!W){J=[],Y();return}let z=O5.create(X,W,Z);J=[O60(z.getVfsUserSettings().toolPermissions),O60(z.getVfsSpaceSettings().toolPermissions),O60(z.getVfsOrgSettings().toolPermissions)].filter((K)=>K.length>0),Y();for(let{scope:K,error:H}of z.drainErrors())kL1.error(`Failed to load ${K} tool-permissions settings: ${H.message}`)},!G.vfsListenerBound)G.vfsListenerBound=!0,A.events?.on(Kl,(U)=>{G.applyVfsScopes(U?.scopes??{})});if(!G.approvalProviderListenerBound)G.approvalProviderListenerBound=!0,A.events?.on(PqQ,(U)=>{G.toolApprovalProvider=U?.provider});A.on("tool_call",async(U,z)=>{if($.length===0)return;let K=U.input,H=await bWA(U.toolName,"tool-call",K,$);if(H.allow)return;if(H.denialReason==="ask-user")return kqQ({event:U,ctx:z,details:K,result:H,provider:G.toolApprovalProvider});return{block:!0,reason:N60(H,U.toolName),decisionSource:"config"}}),A.on("tool_result",async(U,z)=>{if($.length===0)return;if(U.isError)return;let H={text:U.content.filter((w)=>w.type==="text").map((w)=>w.text).join(`
|
|
14124
14124
|
`),isError:U.isError},V=await bWA(U.toolName,"tool-response",H,$);if(V.allow)return;return{isError:!0,content:[{type:"text",text:N60(V,U.toolName)}]}})}var kL1,PqQ="augment:tool-approval-provider",xWA;var iI6=C(()=>{JP();v2();mX();pI6();lI6();kL1=XA.child({prefix:"tool-permissions"});xWA=Symbol.for("__pi_tool_permissions_state__")});var bqQ={};var nI6=C(()=>{SC2();ig();m_6();n_6();m41();s_6();gI6();tC();iI6();Ps0();IH({name:"ask-user",kind:"prebundled"});IH({name:"mcp",kind:"prebundled"});IH({name:"otel",kind:"prebundled"});IH({name:"migration",kind:"prebundled"});IH("cloud",S$A);IH("context-engine",yT0);IH("hashline-edit",s$A);IH("hooks",QYA);IH("plugins",gs0);IH("prompt-enhancer",$YA);IH("segment-analytics",kWA);IH("subagents",OBA);IH("tool-permissions",vWA)});function aI6(A){for(let J=0;J<A.length;J++){let $=A[J];if($==="--augment-cache-dir")return A[J+1];if($.startsWith("--augment-cache-dir="))return $.slice(20)}return}var vqQ={};var yWA,oI6,rI6,sI6,xqQ;var tI6=C(async()=>{v2();Q00();process.env.PI_CODING_AGENT="true";process.emitWarning=()=>{};K5A(new z5A);yWA=process.argv.slice(2),oI6=aI6(yWA);if(oI6!==void 0)process.env.AUGMENT_CACHE_DIR=oI6;({logFile:rI6,logLevel:sI6}=b20(yWA));if(rI6!==void 0||sI6!==void 0)lK(rI6,sI6);({main:xqQ}=await Promise.resolve().then(() => (mJA(),sH6)));xqQ(yWA)});process.emitWarning=()=>{};await Promise.resolve().then(() => ($M2(),KN5));await Promise.resolve().then(() => (nI6(),bqQ));await tI6().then(() => vqQ);
|
|
14125
14125
|
|
|
14126
|
-
//# debugId=
|
|
14126
|
+
//# debugId=A52AA7B0E1AAA85564756E2164756E21
|