@augmentcode/auggie 1.2.0-prerelease.202609141353 → 1.2.0-prerelease.202609141517
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 +31 -13
- package/package.json +1 -1
package/auggie-v2.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="486df11a-ef96-5b5f-9db9-95915e6831b8")}catch(e){}}();
|
|
4
4
|
import { createRequire as __createRequire } from "node:module"; import { dirname as __pathDirname } from "node:path"; import { fileURLToPath as __fileURLToPath } from "node:url"; const require = __createRequire(import.meta.url); const __dirname = __pathDirname(__fileURLToPath(import.meta.url));
|
|
5
|
-
var gbs=Object.create;var u3e=Object.defineProperty;var Abs=Object.getOwnPropertyDescriptor;var hbs=Object.getOwnPropertyNames;var Ebs=Object.getPrototypeOf,ybs=Object.prototype.hasOwnProperty;var nt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var C=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var U=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},ai=(e,t)=>{for(var n in t)u3e(e,n,{get:t[n],enumerable:!0})},HXn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of hbs(t))!ybs.call(e,i)&&i!==n&&u3e(e,i,{get:()=>t[i],enumerable:!(r=Abs(t,i))||r.enumerable});return e};var $n=(e,t,n)=>(n=e!=null?gbs(Ebs(e)):{},HXn(t||!e||!e.__esModule?u3e(n,"default",{value:e,enumerable:!0}):n,e)),Ar=e=>HXn(u3e({},"__esModule",{value:!0}),e);var cg={};ai(cg,{HasPropertyKey:()=>d3e,IsArray:()=>sg,IsAsyncIterator:()=>ONt,IsBigInt:()=>lIe,IsBoolean:()=>W2,IsDate:()=>vH,IsFunction:()=>PNt,IsIterator:()=>LNt,IsNull:()=>UNt,IsNumber:()=>dI,IsObject:()=>yu,IsRegExp:()=>uIe,IsString:()=>pd,IsSymbol:()=>GNt,IsUint8Array:()=>xP,IsUndefined:()=>ag});function d3e(e,t){return t in e}function ONt(e){return yu(e)&&!sg(e)&&!xP(e)&&Symbol.asyncIterator in e}function sg(e){return Array.isArray(e)}function lIe(e){return typeof e=="bigint"}function W2(e){return typeof e=="boolean"}function vH(e){return e instanceof globalThis.Date}function PNt(e){return typeof e=="function"}function LNt(e){return yu(e)&&!sg(e)&&!xP(e)&&Symbol.iterator in e}function UNt(e){return e===null}function dI(e){return typeof e=="number"}function yu(e){return typeof e=="object"&&e!==null}function uIe(e){return e instanceof globalThis.RegExp}function pd(e){return typeof e=="string"}function GNt(e){return typeof e=="symbol"}function xP(e){return e instanceof globalThis.Uint8Array}function ag(e){return e===void 0}var RC=C(()=>{});function bbs(e){return e.map(t=>p3e(t))}function Cbs(e){return new Date(e.getTime())}function Ibs(e){return new Uint8Array(e)}function Sbs(e){return new RegExp(e.source,e.flags)}function _bs(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=p3e(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=p3e(e[n]);return t}function p3e(e){return sg(e)?bbs(e):vH(e)?Cbs(e):xP(e)?Ibs(e):uIe(e)?Sbs(e):yu(e)?_bs(e):e}function Qd(e){return p3e(e)}var pI=C(()=>{RC()});function XXn(e){return e.map(t=>uB(t))}function uB(e,t){return t===void 0?Qd(e):Qd({...t,...e})}var m3e=C(()=>{pI()});var f3e=C(()=>{m3e();pI()});function dIe(e){return ea(e)&&globalThis.Symbol.asyncIterator in e}function pIe(e){return ea(e)&&globalThis.Symbol.iterator in e}function g3e(e){return ea(e)&&(globalThis.Object.getPrototypeOf(e)===Object.prototype||globalThis.Object.getPrototypeOf(e)===null)}function vbs(e){return ea(e)&&!qo(e)&&z2(e.constructor)&&e.constructor.name!=="Object"}function mIe(e){return e instanceof globalThis.Promise}function rb(e){return e instanceof Date&&globalThis.Number.isFinite(e.getTime())}function VNt(e){return e instanceof globalThis.Map}function WNt(e){return e instanceof globalThis.Set}function xbs(e){return e instanceof globalThis.RegExp}function C_(e){return globalThis.ArrayBuffer.isView(e)}function wbs(e){return e instanceof globalThis.Int8Array}function xH(e){return e instanceof globalThis.Uint8Array}function Rbs(e){return e instanceof globalThis.Uint8ClampedArray}function Tbs(e){return e instanceof globalThis.Int16Array}function Bbs(e){return e instanceof globalThis.Uint16Array}function Nbs(e){return e instanceof globalThis.Int32Array}function kbs(e){return e instanceof globalThis.Uint32Array}function Dbs(e){return e instanceof globalThis.Float32Array}function Mbs(e){return e instanceof globalThis.Float64Array}function Qbs(e){return e instanceof globalThis.BigInt64Array}function Fbs(e){return e instanceof globalThis.BigUint64Array}function hs(e,t){return t in e}function ea(e){return e!==null&&typeof e=="object"}function qo(e){return globalThis.Array.isArray(e)&&!globalThis.ArrayBuffer.isView(e)}function rp(e){return e===void 0}function Y2(e){return e===null}function dB(e){return typeof e=="boolean"}function Qo(e){return typeof e=="number"}function fIe(e){return globalThis.Number.isInteger(e)}function Sh(e){return typeof e=="bigint"}function Tc(e){return typeof e=="string"}function z2(e){return typeof e=="function"}function Z2(e){return typeof e=="symbol"}function mI(e){return Sh(e)||dB(e)||Y2(e)||Qo(e)||Tc(e)||Z2(e)||rp(e)}var A3e=C(()=>{});var Wg=C(()=>{A3e()});var Fd,gIe=C(()=>{Wg();(function(e){e.InstanceMode="default",e.ExactOptionalPropertyTypes=!1,e.AllowArrayObject=!1,e.AllowNaN=!1,e.AllowNullVoid=!1;function t(s,a){return e.ExactOptionalPropertyTypes?a in s:s[a]!==void 0}e.IsExactOptionalProperty=t;function n(s){let a=ea(s);return e.AllowArrayObject?a:a&&!qo(s)}e.IsObjectLike=n;function r(s){return n(s)&&!(s instanceof Date)&&!(s instanceof Uint8Array)}e.IsRecordLike=r;function i(s){return e.AllowNaN?Qo(s):Number.isFinite(s)}e.IsNumberLike=i;function o(s){let a=rp(s);return e.AllowNullVoid?a||s===null:a}e.IsVoidLike=o})(Fd||(Fd={}))});function Obs(e){return globalThis.Object.freeze(e).map(t=>AIe(t))}function Pbs(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=AIe(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=AIe(e[n]);return globalThis.Object.freeze(t)}function AIe(e){return sg(e)?Obs(e):vH(e)?e:xP(e)?e:uIe(e)?e:yu(e)?Pbs(e):e}var JXn=C(()=>{RC()});function dr(e,t){let n=t!==void 0?{...t,...e}:e;switch(Fd.InstanceMode){case"freeze":return AIe(n);case"clone":return Qd(n);default:return n}}var os=C(()=>{gIe();JXn();pI()});var wP=C(()=>{os()});var Zo,YNt=C(()=>{Zo=class extends Error{constructor(t){super(t)}}});var Ip=C(()=>{YNt()});var ip,I_,wA,ib,Kn,hIe=C(()=>{ip=Symbol.for("TypeBox.Transform"),I_=Symbol.for("TypeBox.Readonly"),wA=Symbol.for("TypeBox.Optional"),ib=Symbol.for("TypeBox.Hint"),Kn=Symbol.for("TypeBox.Kind")});var ao=C(()=>{hIe()});var ob={};ai(ob,{IsAny:()=>h3e,IsArgument:()=>E3e,IsArray:()=>ow,IsAsyncIterator:()=>Y5,IsBigInt:()=>z5,IsBoolean:()=>H2,IsComputed:()=>sw,IsConstructor:()=>aw,IsDate:()=>$Xn,IsFunction:()=>cw,IsImport:()=>Lbs,IsInteger:()=>lw,IsIntersect:()=>Xp,IsIterator:()=>Z5,IsKind:()=>TP,IsKindOf:()=>gc,IsLiteral:()=>PE,IsLiteralBoolean:()=>Wbs,IsLiteralNumber:()=>Vbs,IsLiteralString:()=>Gbs,IsLiteralValue:()=>EIe,IsMappedKey:()=>fI,IsMappedResult:()=>op,IsNever:()=>RP,IsNot:()=>KXn,IsNull:()=>Fie,IsNumber:()=>uw,IsObject:()=>sf,IsOptional:()=>TC,IsPromise:()=>H5,IsProperties:()=>Ubs,IsReadonly:()=>wH,IsRecord:()=>X5,IsRecursive:()=>Ybs,IsRef:()=>Fm,IsRegExp:()=>y3e,IsSchema:()=>Sp,IsString:()=>X2,IsSymbol:()=>Oie,IsTemplateLiteral:()=>gI,IsThis:()=>jXn,IsTransform:()=>Nl,IsTuple:()=>AI,IsUint8Array:()=>qXn,IsUndefined:()=>J2,IsUnion:()=>Jc,IsUnknown:()=>eJn,IsUnsafe:()=>tJn,IsVoid:()=>nJn});function wH(e){return yu(e)&&e[I_]==="Readonly"}function TC(e){return yu(e)&&e[wA]==="Optional"}function h3e(e){return gc(e,"Any")}function E3e(e){return gc(e,"Argument")}function ow(e){return gc(e,"Array")}function Y5(e){return gc(e,"AsyncIterator")}function z5(e){return gc(e,"BigInt")}function H2(e){return gc(e,"Boolean")}function sw(e){return gc(e,"Computed")}function aw(e){return gc(e,"Constructor")}function $Xn(e){return gc(e,"Date")}function cw(e){return gc(e,"Function")}function Lbs(e){return gc(e,"Import")}function lw(e){return gc(e,"Integer")}function Ubs(e){return yu(e)}function Xp(e){return gc(e,"Intersect")}function Z5(e){return gc(e,"Iterator")}function gc(e,t){return yu(e)&&Kn in e&&e[Kn]===t}function Gbs(e){return PE(e)&&pd(e.const)}function Vbs(e){return PE(e)&&dI(e.const)}function Wbs(e){return PE(e)&&W2(e.const)}function EIe(e){return W2(e)||dI(e)||pd(e)}function PE(e){return gc(e,"Literal")}function fI(e){return gc(e,"MappedKey")}function op(e){return gc(e,"MappedResult")}function RP(e){return gc(e,"Never")}function KXn(e){return gc(e,"Not")}function Fie(e){return gc(e,"Null")}function uw(e){return gc(e,"Number")}function sf(e){return gc(e,"Object")}function H5(e){return gc(e,"Promise")}function X5(e){return gc(e,"Record")}function Ybs(e){return yu(e)&&ib in e&&e[ib]==="Recursive"}function Fm(e){return gc(e,"Ref")}function y3e(e){return gc(e,"RegExp")}function X2(e){return gc(e,"String")}function Oie(e){return gc(e,"Symbol")}function gI(e){return gc(e,"TemplateLiteral")}function jXn(e){return gc(e,"This")}function Nl(e){return yu(e)&&ip in e}function AI(e){return gc(e,"Tuple")}function J2(e){return gc(e,"Undefined")}function Jc(e){return gc(e,"Union")}function qXn(e){return gc(e,"Uint8Array")}function eJn(e){return gc(e,"Unknown")}function tJn(e){return gc(e,"Unsafe")}function nJn(e){return gc(e,"Void")}function TP(e){return yu(e)&&Kn in e&&pd(e[Kn])}function Sp(e){return h3e(e)||E3e(e)||ow(e)||H2(e)||z5(e)||Y5(e)||sw(e)||aw(e)||$Xn(e)||cw(e)||lw(e)||Xp(e)||Z5(e)||PE(e)||fI(e)||op(e)||RP(e)||KXn(e)||Fie(e)||uw(e)||sf(e)||H5(e)||X5(e)||Fm(e)||y3e(e)||X2(e)||Oie(e)||gI(e)||jXn(e)||AI(e)||J2(e)||Jc(e)||qXn(e)||eJn(e)||tJn(e)||nJn(e)||TP(e)}var Za=C(()=>{RC();ao()});var hn={};ai(hn,{IsAny:()=>sJn,IsArgument:()=>aJn,IsArray:()=>cJn,IsAsyncIterator:()=>lJn,IsBigInt:()=>uJn,IsBoolean:()=>dJn,IsComputed:()=>pJn,IsConstructor:()=>mJn,IsDate:()=>fJn,IsFunction:()=>gJn,IsImport:()=>$bs,IsInteger:()=>AJn,IsIntersect:()=>hJn,IsIterator:()=>EJn,IsKind:()=>YJn,IsKindOf:()=>Ac,IsLiteral:()=>bIe,IsLiteralBoolean:()=>Kbs,IsLiteralNumber:()=>bJn,IsLiteralString:()=>yJn,IsLiteralValue:()=>CJn,IsMappedKey:()=>IJn,IsMappedResult:()=>SJn,IsNever:()=>_Jn,IsNot:()=>vJn,IsNull:()=>xJn,IsNumber:()=>wJn,IsObject:()=>RJn,IsOptional:()=>Jbs,IsPromise:()=>TJn,IsProperties:()=>b3e,IsReadonly:()=>Xbs,IsRecord:()=>BJn,IsRecursive:()=>jbs,IsRef:()=>NJn,IsRegExp:()=>kJn,IsSchema:()=>_p,IsString:()=>DJn,IsSymbol:()=>MJn,IsTemplateLiteral:()=>QJn,IsThis:()=>FJn,IsTransform:()=>OJn,IsTuple:()=>PJn,IsUint8Array:()=>UJn,IsUndefined:()=>LJn,IsUnion:()=>XNt,IsUnionLiteral:()=>qbs,IsUnknown:()=>GJn,IsUnsafe:()=>VJn,IsVoid:()=>WJn,TypeGuardUnknownTypeError:()=>zNt});function rJn(e){try{return new RegExp(e),!0}catch{return!1}}function ZNt(e){if(!pd(e))return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n>=7&&n<=13||n===27||n===127)return!1}return!0}function iJn(e){return HNt(e)||_p(e)}function yIe(e){return ag(e)||lIe(e)}function Od(e){return ag(e)||dI(e)}function HNt(e){return ag(e)||W2(e)}function Xu(e){return ag(e)||pd(e)}function Zbs(e){return ag(e)||pd(e)&&ZNt(e)&&rJn(e)}function Hbs(e){return ag(e)||pd(e)&&ZNt(e)}function oJn(e){return ag(e)||_p(e)}function Xbs(e){return yu(e)&&e[I_]==="Readonly"}function Jbs(e){return yu(e)&&e[wA]==="Optional"}function sJn(e){return Ac(e,"Any")&&Xu(e.$id)}function aJn(e){return Ac(e,"Argument")&&dI(e.index)}function cJn(e){return Ac(e,"Array")&&e.type==="array"&&Xu(e.$id)&&_p(e.items)&&Od(e.minItems)&&Od(e.maxItems)&&HNt(e.uniqueItems)&&oJn(e.contains)&&Od(e.minContains)&&Od(e.maxContains)}function lJn(e){return Ac(e,"AsyncIterator")&&e.type==="AsyncIterator"&&Xu(e.$id)&&_p(e.items)}function uJn(e){return Ac(e,"BigInt")&&e.type==="bigint"&&Xu(e.$id)&&yIe(e.exclusiveMaximum)&&yIe(e.exclusiveMinimum)&&yIe(e.maximum)&&yIe(e.minimum)&&yIe(e.multipleOf)}function dJn(e){return Ac(e,"Boolean")&&e.type==="boolean"&&Xu(e.$id)}function pJn(e){return Ac(e,"Computed")&&pd(e.target)&&sg(e.parameters)&&e.parameters.every(t=>_p(t))}function mJn(e){return Ac(e,"Constructor")&&e.type==="Constructor"&&Xu(e.$id)&&sg(e.parameters)&&e.parameters.every(t=>_p(t))&&_p(e.returns)}function fJn(e){return Ac(e,"Date")&&e.type==="Date"&&Xu(e.$id)&&Od(e.exclusiveMaximumTimestamp)&&Od(e.exclusiveMinimumTimestamp)&&Od(e.maximumTimestamp)&&Od(e.minimumTimestamp)&&Od(e.multipleOfTimestamp)}function gJn(e){return Ac(e,"Function")&&e.type==="Function"&&Xu(e.$id)&&sg(e.parameters)&&e.parameters.every(t=>_p(t))&&_p(e.returns)}function $bs(e){return Ac(e,"Import")&&d3e(e,"$defs")&&yu(e.$defs)&&b3e(e.$defs)&&d3e(e,"$ref")&&pd(e.$ref)&&e.$ref in e.$defs}function AJn(e){return Ac(e,"Integer")&&e.type==="integer"&&Xu(e.$id)&&Od(e.exclusiveMaximum)&&Od(e.exclusiveMinimum)&&Od(e.maximum)&&Od(e.minimum)&&Od(e.multipleOf)}function b3e(e){return yu(e)&&Object.entries(e).every(([t,n])=>ZNt(t)&&_p(n))}function hJn(e){return Ac(e,"Intersect")&&!(pd(e.type)&&e.type!=="object")&&sg(e.allOf)&&e.allOf.every(t=>_p(t)&&!OJn(t))&&Xu(e.type)&&(HNt(e.unevaluatedProperties)||oJn(e.unevaluatedProperties))&&Xu(e.$id)}function EJn(e){return Ac(e,"Iterator")&&e.type==="Iterator"&&Xu(e.$id)&&_p(e.items)}function Ac(e,t){return yu(e)&&Kn in e&&e[Kn]===t}function yJn(e){return bIe(e)&&pd(e.const)}function bJn(e){return bIe(e)&&dI(e.const)}function Kbs(e){return bIe(e)&&W2(e.const)}function bIe(e){return Ac(e,"Literal")&&Xu(e.$id)&&CJn(e.const)}function CJn(e){return W2(e)||dI(e)||pd(e)}function IJn(e){return Ac(e,"MappedKey")&&sg(e.keys)&&e.keys.every(t=>dI(t)||pd(t))}function SJn(e){return Ac(e,"MappedResult")&&b3e(e.properties)}function _Jn(e){return Ac(e,"Never")&&yu(e.not)&&Object.getOwnPropertyNames(e.not).length===0}function vJn(e){return Ac(e,"Not")&&_p(e.not)}function xJn(e){return Ac(e,"Null")&&e.type==="null"&&Xu(e.$id)}function wJn(e){return Ac(e,"Number")&&e.type==="number"&&Xu(e.$id)&&Od(e.exclusiveMaximum)&&Od(e.exclusiveMinimum)&&Od(e.maximum)&&Od(e.minimum)&&Od(e.multipleOf)}function RJn(e){return Ac(e,"Object")&&e.type==="object"&&Xu(e.$id)&&b3e(e.properties)&&iJn(e.additionalProperties)&&Od(e.minProperties)&&Od(e.maxProperties)}function TJn(e){return Ac(e,"Promise")&&e.type==="Promise"&&Xu(e.$id)&&_p(e.item)}function BJn(e){return Ac(e,"Record")&&e.type==="object"&&Xu(e.$id)&&iJn(e.additionalProperties)&&yu(e.patternProperties)&&(t=>{let n=Object.getOwnPropertyNames(t.patternProperties);return n.length===1&&rJn(n[0])&&yu(t.patternProperties)&&_p(t.patternProperties[n[0]])})(e)}function jbs(e){return yu(e)&&ib in e&&e[ib]==="Recursive"}function NJn(e){return Ac(e,"Ref")&&Xu(e.$id)&&pd(e.$ref)}function kJn(e){return Ac(e,"RegExp")&&Xu(e.$id)&&pd(e.source)&&pd(e.flags)&&Od(e.maxLength)&&Od(e.minLength)}function DJn(e){return Ac(e,"String")&&e.type==="string"&&Xu(e.$id)&&Od(e.minLength)&&Od(e.maxLength)&&Zbs(e.pattern)&&Hbs(e.format)}function MJn(e){return Ac(e,"Symbol")&&e.type==="symbol"&&Xu(e.$id)}function QJn(e){return Ac(e,"TemplateLiteral")&&e.type==="string"&&pd(e.pattern)&&e.pattern[0]==="^"&&e.pattern[e.pattern.length-1]==="$"}function FJn(e){return Ac(e,"This")&&Xu(e.$id)&&pd(e.$ref)}function OJn(e){return yu(e)&&ip in e}function PJn(e){return Ac(e,"Tuple")&&e.type==="array"&&Xu(e.$id)&&dI(e.minItems)&&dI(e.maxItems)&&e.minItems===e.maxItems&&(ag(e.items)&&ag(e.additionalItems)&&e.minItems===0||sg(e.items)&&e.items.every(t=>_p(t)))}function LJn(e){return Ac(e,"Undefined")&&e.type==="undefined"&&Xu(e.$id)}function qbs(e){return XNt(e)&&e.anyOf.every(t=>yJn(t)||bJn(t))}function XNt(e){return Ac(e,"Union")&&Xu(e.$id)&&yu(e)&&sg(e.anyOf)&&e.anyOf.every(t=>_p(t))}function UJn(e){return Ac(e,"Uint8Array")&&e.type==="Uint8Array"&&Xu(e.$id)&&Od(e.minByteLength)&&Od(e.maxByteLength)}function GJn(e){return Ac(e,"Unknown")&&Xu(e.$id)}function VJn(e){return Ac(e,"Unsafe")}function WJn(e){return Ac(e,"Void")&&e.type==="void"&&Xu(e.$id)}function YJn(e){return yu(e)&&Kn in e&&pd(e[Kn])&&!zbs.includes(e[Kn])}function _p(e){return yu(e)&&(sJn(e)||aJn(e)||cJn(e)||dJn(e)||uJn(e)||lJn(e)||pJn(e)||mJn(e)||fJn(e)||gJn(e)||AJn(e)||hJn(e)||EJn(e)||bIe(e)||IJn(e)||SJn(e)||_Jn(e)||vJn(e)||xJn(e)||wJn(e)||RJn(e)||TJn(e)||BJn(e)||NJn(e)||kJn(e)||DJn(e)||MJn(e)||QJn(e)||FJn(e)||PJn(e)||LJn(e)||XNt(e)||UJn(e)||GJn(e)||VJn(e)||WJn(e)||YJn(e))}var zNt,zbs,JNt=C(()=>{RC();ao();Ip();zNt=class extends Zo{},zbs=["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 C3e=C(()=>{Za();JNt();RC()});function zJn(e){return(parseInt(e)+1).toString()}var ZJn=C(()=>{});var $Nt=C(()=>{ZJn()});var CIe,RH,IIe,KNt,HJn,$2,K2,I3e,XJn=C(()=>{CIe="(true|false)",RH="(0|[1-9][0-9]*)",IIe="(.*)",KNt="(?!.*)",HJn=`^${CIe}$`,$2=`^${RH}$`,K2=`^${IIe}$`,I3e=`^${KNt}$`});var Pie=C(()=>{XJn()});var sb={};ai(sb,{Clear:()=>tCs,Delete:()=>nCs,Entries:()=>eCs,Get:()=>oCs,Has:()=>rCs,Set:()=>iCs});function eCs(){return new Map(Lie)}function tCs(){return Lie.clear()}function nCs(e){return Lie.delete(e)}function rCs(e){return Lie.has(e)}function iCs(e,t){Lie.set(e,t)}function oCs(e){return Lie.get(e)}var Lie,JJn=C(()=>{Lie=new Map});var Yg={};ai(Yg,{Clear:()=>aCs,Delete:()=>cCs,Entries:()=>sCs,Get:()=>dCs,Has:()=>lCs,Set:()=>uCs});function sCs(){return new Map(Uie)}function aCs(){return Uie.clear()}function cCs(e){return Uie.delete(e)}function lCs(e){return Uie.has(e)}function uCs(e,t){Uie.set(e,t)}function dCs(e){return Uie.get(e)}var Uie,$Jn=C(()=>{Uie=new Map});var J5=C(()=>{JJn();$Jn()});function SIe(e,t){return e.includes(t)}function KJn(e,t){return e.every(n=>SIe(t,n))}function S3e(e){return[...new Set(e)]}function jNt(e,t){return e.filter(n=>t.includes(n))}function jJn(e,t){return[...e,...t]}function qJn(e,t){return e.filter(n=>!t.includes(n))}function pCs(e,t){return e.reduce((n,r)=>jNt(n,r),t)}function _3e(e){return e.length===1?e[0]:e.length>1?pCs(e.slice(1),e[0]):[]}function v3e(e){let t=[];for(let n of e)t.push(...n);return t}var e$n=C(()=>{});var Gie=C(()=>{e$n()});function hI(e){return dr({[Kn]:"Any"},e)}var t$n=C(()=>{wP();ao()});var TH=C(()=>{t$n()});function S_(e,t){return dr({[Kn]:"Array",type:"array",items:e},t)}var n$n=C(()=>{os();ao()});var BH=C(()=>{n$n()});function BP(e){return dr({[Kn]:"Argument",index:e})}var r$n=C(()=>{os();ao()});var _Ie=C(()=>{r$n()});function dw(e,t){return dr({[Kn]:"AsyncIterator",type:"AsyncIterator",items:e},t)}var i$n=C(()=>{ao();os()});var NH=C(()=>{i$n()});function Pd(e,t,n){return dr({[Kn]:"Computed",target:e,parameters:t},n)}var o$n=C(()=>{wP();hIe()});var $5=C(()=>{o$n()});function mCs(e,t){let{[t]:n,...r}=e;return r}function Jp(e,t){return t.reduce((n,r)=>mCs(n,r),e)}var x3e=C(()=>{});var j2=C(()=>{x3e()});function Es(e){return dr({[Kn]:"Never",not:{}},e)}var s$n=C(()=>{os();ao()});var af=C(()=>{s$n()});function a$n(e){return dr({[Kn]:"MappedKey",keys:e})}var c$n=C(()=>{os();ao()});function $c(e){return dr({[Kn]:"MappedResult",properties:e})}var qNt=C(()=>{os();ao()});function pw(e,t,n){return dr({[Kn]:"Constructor",type:"Constructor",parameters:e,returns:t},n)}var l$n=C(()=>{os();ao()});var kH=C(()=>{l$n()});function ab(e,t,n){return dr({[Kn]:"Function",type:"Function",parameters:e,returns:t},n)}var u$n=C(()=>{os();ao()});var NP=C(()=>{u$n()});function vIe(e,t){return dr({[Kn]:"Union",anyOf:e},t)}var ekt=C(()=>{os();ao()});function fCs(e){return e.some(t=>TC(t))}function d$n(e){return e.map(t=>TC(t)?gCs(t):t)}function gCs(e){return Jp(e,[wA])}function ACs(e,t){return fCs(e)?cf(vIe(d$n(e),t)):vIe(d$n(e),t)}function mw(e,t){return e.length===1?dr(e[0],t):e.length===0?Es(t):ACs(e,t)}var p$n=C(()=>{os();ao();j2();af();pB();ekt();Za()});var m$n=C(()=>{});function Ha(e,t){return e.length===0?Es(t):e.length===1?dr(e[0],t):vIe(e,t)}var f$n=C(()=>{af();os();ekt()});var Om=C(()=>{p$n();m$n();f$n()});function hCs(e){return e.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function tkt(e,t,n){return e[t]===n&&e.charCodeAt(t-1)!==92}function kP(e,t){return tkt(e,t,"(")}function xIe(e,t){return tkt(e,t,")")}function g$n(e,t){return tkt(e,t,"|")}function ECs(e){if(!(kP(e,0)&&xIe(e,e.length-1)))return!1;let t=0;for(let n=0;n<e.length;n++)if(kP(e,n)&&(t+=1),xIe(e,n)&&(t-=1),t===0&&n!==e.length-1)return!1;return!0}function yCs(e){return e.slice(1,e.length-1)}function bCs(e){let t=0;for(let n=0;n<e.length;n++)if(kP(e,n)&&(t+=1),xIe(e,n)&&(t-=1),g$n(e,n)&&t===0)return!0;return!1}function CCs(e){for(let t=0;t<e.length;t++)if(kP(e,t))return!0;return!1}function ICs(e){let[t,n]=[0,0],r=[];for(let o=0;o<e.length;o++)if(kP(e,o)&&(t+=1),xIe(e,o)&&(t-=1),g$n(e,o)&&t===0){let s=e.slice(n,o);s.length>0&&r.push(K5(s)),n=o+1}let i=e.slice(n);return i.length>0&&r.push(K5(i)),r.length===0?{type:"const",const:""}:r.length===1?r[0]:{type:"or",expr:r}}function SCs(e){function t(i,o){if(!kP(i,o))throw new Vie("TemplateLiteralParser: Index must point to open parens");let s=0;for(let a=o;a<i.length;a++)if(kP(i,a)&&(s+=1),xIe(i,a)&&(s-=1),s===0)return[o,a];throw new Vie("TemplateLiteralParser: Unclosed group parens in expression")}function n(i,o){for(let s=o;s<i.length;s++)if(kP(i,s))return[o,s];return[o,i.length]}let r=[];for(let i=0;i<e.length;i++)if(kP(e,i)){let[o,s]=t(e,i),a=e.slice(o,s+1);r.push(K5(a)),i=s}else{let[o,s]=n(e,i),a=e.slice(o,s);a.length>0&&r.push(K5(a)),i=s-1}return r.length===0?{type:"const",const:""}:r.length===1?r[0]:{type:"and",expr:r}}function K5(e){return ECs(e)?K5(yCs(e)):bCs(e)?ICs(e):CCs(e)?SCs(e):{type:"const",const:hCs(e)}}function j5(e){return K5(e.slice(1,e.length-1))}var Vie,w3e=C(()=>{Ip();Vie=class extends Zo{}});function _Cs(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="0"&&e.expr[1].type==="const"&&e.expr[1].const==="[1-9][0-9]*"}function vCs(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="true"&&e.expr[1].type==="const"&&e.expr[1].const==="false"}function xCs(e){return e.type==="const"&&e.const===".*"}function DP(e){return _Cs(e)||xCs(e)?!1:vCs(e)?!0:e.type==="and"?e.expr.every(t=>DP(t)):e.type==="or"?e.expr.every(t=>DP(t)):e.type==="const"?!0:(()=>{throw new wIe("Unknown expression type")})()}function Wie(e){let t=j5(e.pattern);return DP(t)}var wIe,nkt=C(()=>{w3e();Ip();wIe=class extends Zo{}});function*A$n(e){if(e.length===1)return yield*e[0];for(let t of e[0])for(let n of A$n(e.slice(1)))yield`${t}${n}`}function*wCs(e){return yield*A$n(e.expr.map(t=>[...DH(t)]))}function*RCs(e){for(let t of e.expr)yield*DH(t)}function*TCs(e){return yield e.const}function*DH(e){return e.type==="and"?yield*wCs(e):e.type==="or"?yield*RCs(e):e.type==="const"?yield*TCs(e):(()=>{throw new RIe("Unknown expression")})()}function q5(e){let t=j5(e.pattern);return DP(t)?[...DH(t)]:[]}var RIe,rkt=C(()=>{nkt();w3e();Ip();RIe=class extends Zo{}});function pa(e,t){return dr({[Kn]:"Literal",const:e,type:typeof e},t)}var h$n=C(()=>{os();ao()});var LE=C(()=>{h$n()});function q2(e){return dr({[Kn]:"Boolean",type:"boolean"},e)}var E$n=C(()=>{ao();wP()});var Yie=C(()=>{E$n()});function fw(e){return dr({[Kn]:"BigInt",type:"bigint"},e)}var y$n=C(()=>{ao();wP()});var MH=C(()=>{y$n()});function _h(e){return dr({[Kn]:"Number",type:"number"},e)}var b$n=C(()=>{os();ao()});var MP=C(()=>{b$n()});function lg(e){return dr({[Kn]:"String",type:"string"},e)}var C$n=C(()=>{os();ao()});var QP=C(()=>{C$n()});function*BCs(e){let t=e.trim().replace(/"|'/g,"");return t==="boolean"?yield q2():t==="number"?yield _h():t==="bigint"?yield fw():t==="string"?yield lg():yield(()=>{let n=t.split("|").map(r=>pa(r.trim()));return n.length===0?Es():n.length===1?n[0]:mw(n)})()}function*NCs(e){if(e[1]!=="{"){let t=pa("$"),n=ikt(e.slice(1));return yield*[t,...n]}for(let t=2;t<e.length;t++)if(e[t]==="}"){let n=BCs(e.slice(2,t)),r=ikt(e.slice(t+1));return yield*[...n,...r]}yield pa(e)}function*ikt(e){for(let t=0;t<e.length;t++)if(e[t]==="$"){let n=pa(e.slice(0,t)),r=NCs(e.slice(t));return yield*[n,...r]}yield pa(e)}function R3e(e){return[...ikt(e)]}var okt=C(()=>{LE();Yie();MH();MP();QP();Om();af()});function kCs(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function I$n(e,t){return gI(e)?e.pattern.slice(1,e.pattern.length-1):Jc(e)?`(${e.anyOf.map(n=>I$n(n,t)).join("|")})`:uw(e)?`${t}${RH}`:lw(e)?`${t}${RH}`:z5(e)?`${t}${RH}`:X2(e)?`${t}${IIe}`:PE(e)?`${t}${kCs(e.const.toString())}`:H2(e)?`${t}${CIe}`:(()=>{throw new TIe(`Unexpected Kind '${e[Kn]}'`)})()}function BIe(e){return`^${e.map(t=>I$n(t,"")).join("")}$`}var TIe,skt=C(()=>{Pie();ao();Ip();Za();TIe=class extends Zo{}});function FP(e){let n=q5(e).map(r=>pa(r));return mw(n)}var S$n=C(()=>{Om();LE();rkt()});function eV(e,t){let n=pd(e)?BIe(R3e(e)):BIe(e);return dr({[Kn]:"TemplateLiteral",type:"string",pattern:n},t)}var _$n=C(()=>{os();okt();skt();RC();ao()});var gw=C(()=>{nkt();rkt();okt();w3e();skt();S$n();_$n()});function DCs(e){return q5(e).map(n=>n.toString())}function MCs(e){let t=[];for(let n of e)t.push(...cb(n));return t}function QCs(e){return[e.toString()]}function cb(e){return[...new Set(gI(e)?DCs(e):Jc(e)?MCs(e.anyOf):PE(e)?QCs(e.const):uw(e)?["[number]"]:lw(e)?["[number]"]:[])]}var T3e=C(()=>{gw();Za()});function FCs(e,t,n){let r={};for(let i of Object.getOwnPropertyNames(t))r[i]=EI(e,cb(t[i]),n);return r}function OCs(e,t,n){return FCs(e,t.properties,n)}function B3e(e,t,n){let r=OCs(e,t,n);return $c(r)}var akt=C(()=>{ug();T3e();Aw()});function x$n(e,t){return e.map(n=>N3e(n,t))}function PCs(e){return e.filter(t=>!RP(t))}function LCs(e,t){return zie(PCs(x$n(e,t)))}function UCs(e){return e.some(t=>RP(t))?[]:e}function GCs(e,t){return mw(UCs(x$n(e,t)))}function VCs(e,t){return t in e?e[t]:t==="[number]"?mw(e):Es()}function WCs(e,t){return t==="[number]"?e:Es()}function YCs(e,t){return t in e?e[t]:Es()}function N3e(e,t){return Xp(e)?LCs(e.allOf,t):Jc(e)?GCs(e.anyOf,t):AI(e)?VCs(e.items??[],t):ow(e)?WCs(e.items,t):sf(e)?YCs(e.properties,t):Es()}function QH(e,t){return t.map(n=>N3e(e,n))}function v$n(e,t){return mw(QH(e,t))}function w$n(e,t){return Pd("Index",[e,t])}function EI(e,t,n){if(Fm(e)||Fm(t)){let r="Index types using Ref parameters require both Type and Key to be of TSchema";if(!Sp(e)||!Sp(t))throw new Zo(r);return Pd("Index",[e,t])}return op(t)?B3e(e,t,n):fI(t)?D3e(e,t,n):dr(Sp(t)?v$n(e,cb(t)):v$n(e,t),n)}var k3e=C(()=>{os();Ip();$5();af();yI();Om();T3e();ckt();akt();Za()});function zCs(e,t,n){return{[t]:EI(e,[t],Qd(n))}}function ZCs(e,t,n){return t.reduce((r,i)=>({...r,...zCs(e,i,n)}),{})}function HCs(e,t,n){return ZCs(e,t.keys,n)}function D3e(e,t,n){let r=HCs(e,t,n);return $c(r)}var ckt=C(()=>{k3e();ug();pI()});var Aw=C(()=>{ckt();akt();T3e();k3e()});function hw(e,t){return dr({[Kn]:"Iterator",type:"Iterator",items:e},t)}var R$n=C(()=>{os();ao()});var FH=C(()=>{R$n()});function XCs(e){return globalThis.Object.keys(e).filter(t=>!TC(e[t]))}function JCs(e,t){let n=XCs(e),r=n.length>0?{[Kn]:"Object",type:"object",required:n,properties:e}:{[Kn]:"Object",type:"object",properties:e};return dr(r,t)}var rc,T$n=C(()=>{os();ao();Za();rc=JCs});var lb=C(()=>{T$n()});function eD(e,t){return dr({[Kn]:"Promise",type:"Promise",item:e},t)}var B$n=C(()=>{os();ao()});var Zie=C(()=>{B$n()});function $Cs(e){return dr(Jp(e,[I_]))}function KCs(e){return dr({...e,[I_]:"Readonly"})}function jCs(e,t){return t===!1?$Cs(e):KCs(e)}function zg(e,t){let n=t??!0;return op(e)?M3e(e,n):jCs(e,n)}var lkt=C(()=>{os();ao();j2();ukt();Za()});function qCs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=zg(e[r],t);return n}function e0s(e,t){return qCs(e.properties,t)}function M3e(e,t){let n=e0s(e,t);return $c(n)}var ukt=C(()=>{ug();lkt()});var OP=C(()=>{ukt();lkt()});function vh(e,t){return dr(e.length>0?{[Kn]:"Tuple",type:"array",items:e,additionalItems:!1,minItems:e.length,maxItems:e.length}:{[Kn]:"Tuple",type:"array",minItems:e.length,maxItems:e.length},t)}var N$n=C(()=>{os();ao()});var tD=C(()=>{N$n()});function k$n(e,t){return e in t?Ew(e,t[e]):$c(t)}function t0s(e){return{[e]:pa(e)}}function n0s(e){let t={};for(let n of e)t[n]=pa(n);return t}function r0s(e,t){return SIe(t,e)?t0s(e):n0s(t)}function i0s(e,t){let n=r0s(e,t);return k$n(e,n)}function NIe(e,t){return t.map(n=>Ew(e,n))}function o0s(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(t))n[r]=Ew(e,t[r]);return n}function Ew(e,t){let n={...t};return TC(t)?cf(Ew(e,Jp(t,[wA]))):wH(t)?zg(Ew(e,Jp(t,[I_]))):op(t)?k$n(e,t.properties):fI(t)?i0s(e,t.keys):aw(t)?pw(NIe(e,t.parameters),Ew(e,t.returns),n):cw(t)?ab(NIe(e,t.parameters),Ew(e,t.returns),n):Y5(t)?dw(Ew(e,t.items),n):Z5(t)?hw(Ew(e,t.items),n):Xp(t)?Pm(NIe(e,t.allOf),n):Jc(t)?Ha(NIe(e,t.anyOf),n):AI(t)?vh(NIe(e,t.items??[]),n):sf(t)?rc(o0s(e,t.properties),n):ow(t)?S_(Ew(e,t.items),n):H5(t)?eD(Ew(e,t.item),n):t}function dkt(e,t){let n={};for(let r of e)n[r]=Ew(r,t);return n}function Hie(e,t,n){let r=Sp(e)?cb(e):e,i=t({[Kn]:"MappedKey",keys:r}),o=dkt(r,i);return rc(o,n)}var D$n=C(()=>{ao();j2();BH();NH();kH();NP();Aw();yI();FH();LE();lb();pB();Zie();OP();tD();Om();Gie();qNt();Za()});var ug=C(()=>{c$n();qNt();D$n()});function s0s(e){return dr(Jp(e,[wA]))}function a0s(e){return dr({...e,[wA]:"Optional"})}function c0s(e,t){return t===!1?s0s(e):a0s(e)}function cf(e,t){let n=t??!0;return op(e)?Q3e(e,n):c0s(e,n)}var pkt=C(()=>{os();ao();j2();mkt();Za()});function l0s(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=cf(e[r],t);return n}function u0s(e,t){return l0s(e.properties,t)}function Q3e(e,t){let n=u0s(e,t);return $c(n)}var mkt=C(()=>{ug();pkt()});var pB=C(()=>{mkt();pkt()});function kIe(e,t={}){let n=e.every(i=>sf(i)),r=Sp(t.unevaluatedProperties)?{unevaluatedProperties:t.unevaluatedProperties}:{};return dr(t.unevaluatedProperties===!1||Sp(t.unevaluatedProperties)||n?{...r,[Kn]:"Intersect",type:"object",allOf:e}:{...r,[Kn]:"Intersect",allOf:e},t)}var fkt=C(()=>{os();ao();Za()});function d0s(e){return e.every(t=>TC(t))}function p0s(e){return Jp(e,[wA])}function M$n(e){return e.map(t=>TC(t)?p0s(t):t)}function m0s(e,t){return d0s(e)?cf(kIe(M$n(e),t)):kIe(M$n(e),t)}function zie(e,t={}){if(e.length===1)return dr(e[0],t);if(e.length===0)return Es(t);if(e.some(n=>Nl(n)))throw new Error("Cannot intersect transform types");return m0s(e,t)}var Q$n=C(()=>{ao();os();j2();af();pB();fkt();Za()});var F$n=C(()=>{});function Pm(e,t){if(e.length===1)return dr(e[0],t);if(e.length===0)return Es(t);if(e.some(n=>Nl(n)))throw new Error("Cannot intersect transform types");return kIe(e,t)}var O$n=C(()=>{os();af();fkt();Za()});var yI=C(()=>{Q$n();F$n();O$n()});function xh(...e){let[t,n]=typeof e[0]=="string"?[e[0],e[1]]:[e[0].$id,e[1]];if(typeof t!="string")throw new Zo("Ref: $ref must be a string");return dr({[Kn]:"Ref",$ref:t},n)}var P$n=C(()=>{Ip();os();ao()});var nD=C(()=>{P$n()});function f0s(e,t){return Pd("Awaited",[Pd(e,t)])}function g0s(e){return Pd("Awaited",[xh(e)])}function A0s(e){return Pm(L$n(e))}function h0s(e){return Ha(L$n(e))}function E0s(e){return yw(e)}function L$n(e){return e.map(t=>yw(t))}function yw(e,t){return dr(sw(e)?f0s(e.target,e.parameters):Xp(e)?A0s(e.allOf):Jc(e)?h0s(e.anyOf):H5(e)?E0s(e.item):Fm(e)?g0s(e.$ref):e,t)}var U$n=C(()=>{os();$5();yI();Om();nD();Za()});var Xie=C(()=>{U$n()});function G$n(e){let t=[];for(let n of e)t.push(ub(n));return t}function y0s(e){let t=G$n(e);return v3e(t)}function b0s(e){let t=G$n(e);return _3e(t)}function C0s(e){return e.map((t,n)=>n.toString())}function I0s(e){return["[number]"]}function S0s(e){return globalThis.Object.getOwnPropertyNames(e)}function _0s(e){return gkt?globalThis.Object.getOwnPropertyNames(e).map(n=>n[0]==="^"&&n[n.length-1]==="$"?n.slice(1,n.length-1):n):[]}function ub(e){return Xp(e)?y0s(e.allOf):Jc(e)?b0s(e.anyOf):AI(e)?C0s(e.items??[]):ow(e)?I0s(e.items):sf(e)?S0s(e.properties):X5(e)?_0s(e.patternProperties):[]}function mB(e){gkt=!0;let t=ub(e);return gkt=!1,`^(${t.map(r=>`(${r})`).join("|")})$`}var gkt,F3e=C(()=>{Gie();Za();gkt=!1});function v0s(e,t){return Pd("KeyOf",[Pd(e,t)])}function x0s(e){return Pd("KeyOf",[xh(e)])}function w0s(e,t){let n=ub(e),r=Akt(n),i=mw(r);return dr(i,t)}function Akt(e){return e.map(t=>t==="[number]"?_h():pa(t))}function bw(e,t){return sw(e)?v0s(e.target,e.parameters):Fm(e)?x0s(e.$ref):op(e)?O3e(e,t):w0s(e,t)}var hkt=C(()=>{os();LE();MP();$5();nD();F3e();Om();Ekt();Za()});function R0s(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=bw(e[r],Qd(t));return n}function T0s(e,t){return R0s(e.properties,t)}function O3e(e,t){let n=T0s(e,t);return $c(n)}var Ekt=C(()=>{ug();hkt();pI()});function Jie(e){let t=ub(e),n=QH(e,t);return t.map((r,i)=>[t[i],n[i]])}var V$n=C(()=>{k3e();F3e()});var __=C(()=>{Ekt();V$n();F3e();hkt()});function B0s(e){let t=[];for(let n of e)t.push(...ub(n));return S3e(t)}function N0s(e){return e.filter(t=>!RP(t))}function k0s(e,t){let n=[];for(let r of e)n.push(...QH(r,[t]));return N0s(n)}function D0s(e,t){let n={};for(let r of t)n[r]=zie(k0s(e,r));return n}function $ie(e,t){let n=B0s(e),r=D0s(e,n);return rc(r,t)}var W$n=C(()=>{yI();Aw();__();lb();Gie();Za()});var DIe=C(()=>{W$n()});function rD(e){return dr({[Kn]:"Date",type:"Date"},e)}var Y$n=C(()=>{ao();os()});var Kie=C(()=>{Y$n()});function iD(e){return dr({[Kn]:"Null",type:"null"},e)}var z$n=C(()=>{os();ao()});var jie=C(()=>{z$n()});function oD(e){return dr({[Kn]:"Symbol",type:"symbol"},e)}var Z$n=C(()=>{os();ao()});var qie=C(()=>{Z$n()});function sD(e){return dr({[Kn]:"Undefined",type:"undefined"},e)}var H$n=C(()=>{os();ao()});var eoe=C(()=>{H$n()});function aD(e){return dr({[Kn]:"Uint8Array",type:"Uint8Array"},e)}var X$n=C(()=>{os();ao()});var toe=C(()=>{X$n()});function UE(e){return dr({[Kn]:"Unknown"},e)}var J$n=C(()=>{os();ao()});var PP=C(()=>{J$n()});function M0s(e){return e.map(t=>ykt(t,!1))}function Q0s(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=zg(ykt(e[n],!1));return t}function P3e(e,t){return t===!0?e:zg(e)}function ykt(e,t){return ONt(e)?P3e(hI(),t):LNt(e)?P3e(hI(),t):sg(e)?zg(vh(M0s(e))):xP(e)?aD():vH(e)?rD():yu(e)?P3e(rc(Q0s(e)),t):PNt(e)?P3e(ab([],UE()),t):ag(e)?sD():UNt(e)?iD():GNt(e)?oD():lIe(e)?fw():dI(e)?pa(e):W2(e)?pa(e):pd(e)?pa(e):rc({})}function noe(e,t){return dr(ykt(e,!0),t)}var $$n=C(()=>{TH();MH();Kie();NP();LE();jie();lb();qie();tD();OP();eoe();toe();PP();wP();RC()});var MIe=C(()=>{$$n()});function tV(e,t){return aw(e)?vh(e.parameters,t):Es(t)}var K$n=C(()=>{tD();af();Za()});var QIe=C(()=>{K$n()});function roe(e,t){if(ag(e))throw new Error("Enum undefined or empty");let n=globalThis.Object.getOwnPropertyNames(e).filter(o=>isNaN(o)).map(o=>e[o]),i=[...new Set(n)].map(o=>pa(o));return Ha(i,{...t,[ib]:"Enum"})}var j$n=C(()=>{LE();ao();Om();RC()});var FIe=C(()=>{j$n()});function Cw(e){return e===pr.False?e:pr.True}function ioe(e){throw new OIe(e)}function Zg(e){return hn.IsNever(e)||hn.IsIntersect(e)||hn.IsUnion(e)||hn.IsUnknown(e)||hn.IsAny(e)}function Hg(e,t){return hn.IsNever(t)?oKn(e,t):hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)?_kt(e,t):hn.IsUnknown(t)?lKn(e,t):hn.IsAny(t)?Skt(e,t):ioe("StructuralRight")}function Skt(e,t){return pr.True}function F0s(e,t){return hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)&&t.anyOf.some(n=>hn.IsAny(n)||hn.IsUnknown(n))?pr.True:hn.IsUnion(t)?pr.Union:hn.IsUnknown(t)||hn.IsAny(t)?pr.True:pr.Union}function O0s(e,t){return hn.IsUnknown(e)?pr.False:hn.IsAny(e)?pr.Union:hn.IsNever(e)?pr.True:pr.False}function P0s(e,t){return hn.IsObject(t)&&U3e(t)?pr.True:Zg(t)?Hg(e,t):hn.IsArray(t)?Cw(Ju(e.items,t.items)):pr.False}function L0s(e,t){return Zg(t)?Hg(e,t):hn.IsAsyncIterator(t)?Cw(Ju(e.items,t.items)):pr.False}function U0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsBigInt(t)?pr.True:pr.False}function rKn(e,t){return hn.IsLiteralBoolean(e)||hn.IsBoolean(e)?pr.True:pr.False}function G0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsBoolean(t)?pr.True:pr.False}function V0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsConstructor(t)?e.parameters.length>t.parameters.length?pr.False:e.parameters.every((n,r)=>Cw(Ju(t.parameters[r],n))===pr.True)?Cw(Ju(e.returns,t.returns)):pr.False:pr.False}function W0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsDate(t)?pr.True:pr.False}function Y0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsFunction(t)?e.parameters.length>t.parameters.length?pr.False:e.parameters.every((n,r)=>Cw(Ju(t.parameters[r],n))===pr.True)?Cw(Ju(e.returns,t.returns)):pr.False:pr.False}function iKn(e,t){return hn.IsLiteral(e)&&cg.IsNumber(e.const)||hn.IsNumber(e)||hn.IsInteger(e)?pr.True:pr.False}function z0s(e,t){return hn.IsInteger(t)||hn.IsNumber(t)?pr.True:Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):pr.False}function L3e(e,t){return t.allOf.every(n=>Ju(e,n)===pr.True)?pr.True:pr.False}function Z0s(e,t){return e.allOf.some(n=>Ju(n,t)===pr.True)?pr.True:pr.False}function H0s(e,t){return Zg(t)?Hg(e,t):hn.IsIterator(t)?Cw(Ju(e.items,t.items)):pr.False}function X0s(e,t){return hn.IsLiteral(t)&&t.const===e.const?pr.True:Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsString(t)?cKn(e,t):hn.IsNumber(t)?sKn(e,t):hn.IsInteger(t)?iKn(e,t):hn.IsBoolean(t)?rKn(e,t):pr.False}function oKn(e,t){return pr.False}function J0s(e,t){return pr.True}function q$n(e){let[t,n]=[e,0];for(;hn.IsNot(t);)t=t.not,n+=1;return n%2===0?t:UE()}function $0s(e,t){return hn.IsNot(e)?Ju(q$n(e),t):hn.IsNot(t)?Ju(e,q$n(t)):ioe("Invalid fallthrough for Not")}function K0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsNull(t)?pr.True:pr.False}function sKn(e,t){return hn.IsLiteralNumber(e)||hn.IsNumber(e)||hn.IsInteger(e)?pr.True:pr.False}function j0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsInteger(t)||hn.IsNumber(t)?pr.True:pr.False}function bI(e,t){return Object.getOwnPropertyNames(e.properties).length===t}function eKn(e){return U3e(e)}function tKn(e){return bI(e,0)||bI(e,1)&&"description"in e.properties&&hn.IsUnion(e.properties.description)&&e.properties.description.anyOf.length===2&&(hn.IsString(e.properties.description.anyOf[0])&&hn.IsUndefined(e.properties.description.anyOf[1])||hn.IsString(e.properties.description.anyOf[1])&&hn.IsUndefined(e.properties.description.anyOf[0]))}function bkt(e){return bI(e,0)}function nKn(e){return bI(e,0)}function q0s(e){return bI(e,0)}function eIs(e){return bI(e,0)}function tIs(e){return U3e(e)}function nIs(e){let t=_h();return bI(e,0)||bI(e,1)&&"length"in e.properties&&Cw(Ju(e.properties.length,t))===pr.True}function rIs(e){return bI(e,0)}function U3e(e){let t=_h();return bI(e,0)||bI(e,1)&&"length"in e.properties&&Cw(Ju(e.properties.length,t))===pr.True}function iIs(e){let t=ab([hI()],hI());return bI(e,0)||bI(e,1)&&"then"in e.properties&&Cw(Ju(e.properties.then,t))===pr.True}function aKn(e,t){return Ju(e,t)===pr.False||hn.IsOptional(e)&&!hn.IsOptional(t)?pr.False:pr.True}function db(e,t){return hn.IsUnknown(e)?pr.False:hn.IsAny(e)?pr.Union:hn.IsNever(e)||hn.IsLiteralString(e)&&eKn(t)||hn.IsLiteralNumber(e)&&bkt(t)||hn.IsLiteralBoolean(e)&&nKn(t)||hn.IsSymbol(e)&&tKn(t)||hn.IsBigInt(e)&&q0s(t)||hn.IsString(e)&&eKn(t)||hn.IsSymbol(e)&&tKn(t)||hn.IsNumber(e)&&bkt(t)||hn.IsInteger(e)&&bkt(t)||hn.IsBoolean(e)&&nKn(t)||hn.IsUint8Array(e)&&tIs(t)||hn.IsDate(e)&&eIs(t)||hn.IsConstructor(e)&&rIs(t)||hn.IsFunction(e)&&nIs(t)?pr.True:hn.IsRecord(e)&&hn.IsString(Ckt(e))?t[ib]==="Record"?pr.True:pr.False:hn.IsRecord(e)&&hn.IsNumber(Ckt(e))&&bI(t,0)?pr.True:pr.False}function oIs(e,t){return Zg(t)?Hg(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsObject(t)?(()=>{for(let n of Object.getOwnPropertyNames(t.properties)){if(!(n in e.properties)&&!hn.IsOptional(t.properties[n]))return pr.False;if(hn.IsOptional(t.properties[n]))return pr.True;if(aKn(e.properties[n],t.properties[n])===pr.False)return pr.False}return pr.True})():pr.False}function sIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)&&iIs(t)?pr.True:hn.IsPromise(t)?Cw(Ju(e.item,t.item)):pr.False}function Ckt(e){return $2 in e.patternProperties?_h():K2 in e.patternProperties?lg():ioe("Unknown record key pattern")}function Ikt(e){return $2 in e.patternProperties?e.patternProperties[$2]:K2 in e.patternProperties?e.patternProperties[K2]:ioe("Unable to get record value schema")}function Iw(e,t){let[n,r]=[Ckt(t),Ikt(t)];return hn.IsLiteralString(e)&&hn.IsNumber(n)&&Cw(Ju(e,r))===pr.True?pr.True:hn.IsUint8Array(e)&&hn.IsNumber(n)||hn.IsString(e)&&hn.IsNumber(n)||hn.IsArray(e)&&hn.IsNumber(n)?Ju(e,r):hn.IsObject(e)?(()=>{for(let i of Object.getOwnPropertyNames(e.properties))if(aKn(r,e.properties[i])===pr.False)return pr.False;return pr.True})():pr.False}function aIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Ju(Ikt(e),Ikt(t)):pr.False}function cIs(e,t){let n=hn.IsRegExp(e)?lg():e,r=hn.IsRegExp(t)?lg():t;return Ju(n,r)}function cKn(e,t){return hn.IsLiteral(e)&&cg.IsString(e.const)||hn.IsString(e)?pr.True:pr.False}function lIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsString(t)?pr.True:pr.False}function uIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsSymbol(t)?pr.True:pr.False}function dIs(e,t){return hn.IsTemplateLiteral(e)?Ju(FP(e),t):hn.IsTemplateLiteral(t)?Ju(e,FP(t)):ioe("Invalid fallthrough for TemplateLiteral")}function pIs(e,t){return hn.IsArray(t)&&e.items!==void 0&&e.items.every(n=>Ju(n,t.items)===pr.True)}function mIs(e,t){return hn.IsNever(e)?pr.True:hn.IsUnknown(e)?pr.False:hn.IsAny(e)?pr.Union:pr.False}function fIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)&&U3e(t)||hn.IsArray(t)&&pIs(e,t)?pr.True:hn.IsTuple(t)?cg.IsUndefined(e.items)&&!cg.IsUndefined(t.items)||!cg.IsUndefined(e.items)&&cg.IsUndefined(t.items)?pr.False:cg.IsUndefined(e.items)&&!cg.IsUndefined(t.items)||e.items.every((n,r)=>Ju(n,t.items[r])===pr.True)?pr.True:pr.False:pr.False}function gIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsUint8Array(t)?pr.True:pr.False}function AIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsVoid(t)?yIs(e,t):hn.IsUndefined(t)?pr.True:pr.False}function _kt(e,t){return t.anyOf.some(n=>Ju(e,n)===pr.True)?pr.True:pr.False}function hIs(e,t){return e.anyOf.every(n=>Ju(n,t)===pr.True)?pr.True:pr.False}function lKn(e,t){return pr.True}function EIs(e,t){return hn.IsNever(t)?oKn(e,t):hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)?_kt(e,t):hn.IsAny(t)?Skt(e,t):hn.IsString(t)?cKn(e,t):hn.IsNumber(t)?sKn(e,t):hn.IsInteger(t)?iKn(e,t):hn.IsBoolean(t)?rKn(e,t):hn.IsArray(t)?O0s(e,t):hn.IsTuple(t)?mIs(e,t):hn.IsObject(t)?db(e,t):hn.IsUnknown(t)?pr.True:pr.False}function yIs(e,t){return hn.IsUndefined(e)||hn.IsUndefined(e)?pr.True:pr.False}function bIs(e,t){return hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)?_kt(e,t):hn.IsUnknown(t)?lKn(e,t):hn.IsAny(t)?Skt(e,t):hn.IsObject(t)?db(e,t):hn.IsVoid(t)?pr.True:pr.False}function Ju(e,t){return hn.IsTemplateLiteral(e)||hn.IsTemplateLiteral(t)?dIs(e,t):hn.IsRegExp(e)||hn.IsRegExp(t)?cIs(e,t):hn.IsNot(e)||hn.IsNot(t)?$0s(e,t):hn.IsAny(e)?F0s(e,t):hn.IsArray(e)?P0s(e,t):hn.IsBigInt(e)?U0s(e,t):hn.IsBoolean(e)?G0s(e,t):hn.IsAsyncIterator(e)?L0s(e,t):hn.IsConstructor(e)?V0s(e,t):hn.IsDate(e)?W0s(e,t):hn.IsFunction(e)?Y0s(e,t):hn.IsInteger(e)?z0s(e,t):hn.IsIntersect(e)?Z0s(e,t):hn.IsIterator(e)?H0s(e,t):hn.IsLiteral(e)?X0s(e,t):hn.IsNever(e)?J0s(e,t):hn.IsNull(e)?K0s(e,t):hn.IsNumber(e)?j0s(e,t):hn.IsObject(e)?oIs(e,t):hn.IsRecord(e)?aIs(e,t):hn.IsString(e)?lIs(e,t):hn.IsSymbol(e)?uIs(e,t):hn.IsTuple(e)?fIs(e,t):hn.IsPromise(e)?sIs(e,t):hn.IsUint8Array(e)?gIs(e,t):hn.IsUndefined(e)?AIs(e,t):hn.IsUnion(e)?hIs(e,t):hn.IsUnknown(e)?EIs(e,t):hn.IsVoid(e)?bIs(e,t):ioe(`Unknown left type operand '${e[Kn]}'`)}function cD(e,t){return Ju(e,t)}var OIe,pr,vkt=C(()=>{TH();NP();MP();QP();PP();gw();Pie();ao();Ip();C3e();OIe=class extends Zo{};(function(e){e[e.Union=0]="Union",e[e.True=1]="True",e[e.False=2]="False"})(pr||(pr={}))});function CIs(e,t,n,r,i){let o={};for(let s of globalThis.Object.getOwnPropertyNames(e))o[s]=Sw(e[s],t,n,r,Qd(i));return o}function IIs(e,t,n,r,i){return CIs(e.properties,t,n,r,i)}function G3e(e,t,n,r,i){let o=IIs(e,t,n,r,i);return $c(o)}var xkt=C(()=>{ug();V3e();pI()});function SIs(e,t,n,r){let i=cD(e,t);return i===pr.Union?Ha([n,r]):i===pr.True?n:r}function Sw(e,t,n,r,i){return op(e)?G3e(e,t,n,r,i):fI(e)?dr(W3e(e,t,n,r,i)):dr(SIs(e,t,n,r),i)}var V3e=C(()=>{os();Om();vkt();wkt();xkt();Za()});function _Is(e,t,n,r,i){return{[e]:Sw(pa(e),t,n,r,Qd(i))}}function vIs(e,t,n,r,i){return e.reduce((o,s)=>({...o,..._Is(s,t,n,r,i)}),{})}function xIs(e,t,n,r,i){return vIs(e.keys,t,n,r,i)}function W3e(e,t,n,r,i){let o=xIs(e,t,n,r,i);return $c(o)}var wkt=C(()=>{ug();LE();V3e();pI()});function wIs(e){return e.allOf.every(t=>fB(t))}function RIs(e){return e.anyOf.some(t=>fB(t))}function TIs(e){return!fB(e.not)}function fB(e){return e[Kn]==="Intersect"?wIs(e):e[Kn]==="Union"?RIs(e):e[Kn]==="Not"?TIs(e):e[Kn]==="Undefined"}var Y3e=C(()=>{ao()});var nV=C(()=>{vkt();wkt();xkt();Y3e();V3e()});function z3e(e,t){return _w(FP(e),t)}var Rkt=C(()=>{Z3e();gw()});function BIs(e,t){let n=e.filter(r=>cD(r,t)===pr.False);return n.length===1?n[0]:Ha(n)}function _w(e,t,n={}){return gI(e)?dr(z3e(e,t),n):op(e)?dr(H3e(e,t),n):dr(Jc(e)?BIs(e.anyOf,t):cD(e,t)!==pr.False?Es():e,n)}var Z3e=C(()=>{os();Om();af();nV();Tkt();Rkt();Za()});function NIs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=_w(e[r],t);return n}function kIs(e,t){return NIs(e.properties,t)}function H3e(e,t){let n=kIs(e,t);return $c(n)}var Tkt=C(()=>{ug();Z3e()});var PIe=C(()=>{Tkt();Rkt();Z3e()});function X3e(e,t){return vw(FP(e),t)}var Bkt=C(()=>{J3e();gw()});function DIs(e,t){let n=e.filter(r=>cD(r,t)!==pr.False);return n.length===1?n[0]:Ha(n)}function vw(e,t,n){return gI(e)?dr(X3e(e,t),n):op(e)?dr($3e(e,t),n):dr(Jc(e)?DIs(e.anyOf,t):cD(e,t)!==pr.False?e:Es(),n)}var J3e=C(()=>{os();Om();af();nV();Nkt();Bkt();Za()});function MIs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=vw(e[r],t);return n}function QIs(e,t){return MIs(e.properties,t)}function $3e(e,t){let n=QIs(e,t);return $c(n)}var Nkt=C(()=>{ug();J3e()});var LIe=C(()=>{Nkt();Bkt();J3e()});function rV(e,t){return aw(e)?dr(e.returns,t):Es(t)}var uKn=C(()=>{os();af();Za()});var UIe=C(()=>{uKn()});function lD(e){return zg(cf(e))}var dKn=C(()=>{OP();pB()});var ooe=C(()=>{dKn()});function OH(e,t,n){return dr({[Kn]:"Record",type:"object",patternProperties:{[e]:t}},n)}function kkt(e,t,n){let r={};for(let i of e)r[i]=t;return rc(r,{...n,[ib]:"Record"})}function FIs(e,t,n){return Wie(e)?kkt(cb(e),t,n):OH(e.pattern,t,n)}function OIs(e,t,n){return kkt(cb(Ha(e)),t,n)}function PIs(e,t,n){return kkt([e.toString()],t,n)}function LIs(e,t,n){return OH(e.source,t,n)}function UIs(e,t,n){let r=ag(e.pattern)?K2:e.pattern;return OH(r,t,n)}function GIs(e,t,n){return OH(K2,t,n)}function VIs(e,t,n){return OH(I3e,t,n)}function WIs(e,t,n){return rc({true:t,false:t},n)}function YIs(e,t,n){return OH($2,t,n)}function zIs(e,t,n){return OH($2,t,n)}function uD(e,t,n={}){return Jc(e)?OIs(e.anyOf,t,n):gI(e)?FIs(e,t,n):PE(e)?PIs(e.const,t,n):H2(e)?WIs(e,t,n):lw(e)?YIs(e,t,n):uw(e)?zIs(e,t,n):y3e(e)?LIs(e,t,n):X2(e)?UIs(e,t,n):h3e(e)?GIs(e,t,n):RP(e)?VIs(e,t,n):Es(n)}function soe(e){return globalThis.Object.getOwnPropertyNames(e.patternProperties)[0]}function K3e(e){let t=soe(e);return t===K2?lg():t===$2?_h():lg({pattern:t})}function aoe(e){return e.patternProperties[soe(e)]}var pKn=C(()=>{os();ao();af();MP();lb();QP();Om();gw();Pie();Aw();RC();Za()});var PH=C(()=>{pKn()});function ZIs(e,t){return t.parameters=LH(e,t.parameters),t.returns=gB(e,t.returns),t}function HIs(e,t){return t.parameters=LH(e,t.parameters),t.returns=gB(e,t.returns),t}function XIs(e,t){return t.allOf=LH(e,t.allOf),t}function JIs(e,t){return t.anyOf=LH(e,t.anyOf),t}function $Is(e,t){return ag(t.items)||(t.items=LH(e,t.items)),t}function KIs(e,t){return t.items=gB(e,t.items),t}function jIs(e,t){return t.items=gB(e,t.items),t}function qIs(e,t){return t.items=gB(e,t.items),t}function eSs(e,t){return t.item=gB(e,t.item),t}function tSs(e,t){let n=oSs(e,t.properties);return{...t,...rc(n)}}function nSs(e,t){let n=gB(e,K3e(t)),r=gB(e,aoe(t)),i=uD(n,r);return{...t,...i}}function rSs(e,t){return t.index in e?e[t.index]:UE()}function iSs(e,t){let n=wH(t),r=TC(t),i=gB(e,t);return n&&r?lD(i):n&&!r?zg(i):!n&&r?cf(i):i}function oSs(e,t){return globalThis.Object.getOwnPropertyNames(t).reduce((n,r)=>({...n,[r]:iSs(e,t[r])}),{})}function LH(e,t){return t.map(n=>gB(e,n))}function gB(e,t){return aw(t)?ZIs(e,t):cw(t)?HIs(e,t):Xp(t)?XIs(e,t):Jc(t)?JIs(e,t):AI(t)?$Is(e,t):ow(t)?KIs(e,t):Y5(t)?jIs(e,t):Z5(t)?qIs(e,t):H5(t)?eSs(e,t):sf(t)?tSs(e,t):X5(t)?nSs(e,t):E3e(t)?rSs(e,t):t}function iV(e,t){return gB(t,uB(e))}var mKn=C(()=>{m3e();PP();ooe();OP();pB();lb();PH();RC();Za()});var GIe=C(()=>{mKn()});function oV(e){return dr({[Kn]:"Integer",type:"integer"},e)}var fKn=C(()=>{os();ao()});var VIe=C(()=>{fKn()});function sSs(e,t,n){return{[e]:v_(pa(e),t,Qd(n))}}function aSs(e,t,n){return e.reduce((i,o)=>({...i,...sSs(o,t,n)}),{})}function cSs(e,t,n){return aSs(e.keys,t,n)}function j3e(e,t,n){let r=cSs(e,t,n);return $c(r)}var Dkt=C(()=>{ug();UH();LE();pI()});function lSs(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toLowerCase(),n].join("")}function uSs(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toUpperCase(),n].join("")}function dSs(e){return e.toUpperCase()}function pSs(e){return e.toLowerCase()}function mSs(e,t,n){let r=j5(e.pattern);if(!DP(r))return{...e,pattern:gKn(e.pattern,t)};let s=[...DH(r)].map(u=>pa(u)),a=AKn(s,t),c=Ha(a);return eV([c],n)}function gKn(e,t){return typeof e=="string"?t==="Uncapitalize"?lSs(e):t==="Capitalize"?uSs(e):t==="Uppercase"?dSs(e):t==="Lowercase"?pSs(e):e:e.toString()}function AKn(e,t){return e.map(n=>v_(n,t))}function v_(e,t,n={}){return fI(e)?j3e(e,t,n):gI(e)?mSs(e,t,n):Jc(e)?Ha(AKn(e.anyOf,t),n):PE(e)?pa(gKn(e.const,t),n):dr(e,n)}var UH=C(()=>{os();gw();Dkt();LE();Om();Za()});function sV(e,t={}){return v_(e,"Capitalize",t)}var hKn=C(()=>{UH()});function aV(e,t={}){return v_(e,"Lowercase",t)}var EKn=C(()=>{UH()});function cV(e,t={}){return v_(e,"Uncapitalize",t)}var yKn=C(()=>{UH()});function lV(e,t={}){return v_(e,"Uppercase",t)}var bKn=C(()=>{UH()});var WIe=C(()=>{hKn();Dkt();UH();EKn();yKn();bKn()});function fSs(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=CI(e[i],t,Qd(n));return r}function gSs(e,t,n){return fSs(e.properties,t,n)}function q3e(e,t,n){let r=gSs(e,t,n);return $c(r)}var Mkt=C(()=>{ug();eWe();pI()});function ASs(e,t){return e.map(n=>Qkt(n,t))}function hSs(e,t){return e.map(n=>Qkt(n,t))}function ESs(e,t){let{[t]:n,...r}=e;return r}function ySs(e,t){return t.reduce((n,r)=>ESs(n,r),e)}function bSs(e,t,n){let r=Jp(e,[ip,"$id","required","properties"]),i=ySs(n,t);return rc(i,r)}function CSs(e){let t=e.reduce((n,r)=>EIe(r)?[...n,pa(r)]:n,[]);return Ha(t)}function Qkt(e,t){return Xp(e)?Pm(ASs(e.allOf,t)):Jc(e)?Ha(hSs(e.anyOf,t)):sf(e)?bSs(e,t,e.properties):rc({})}function CI(e,t,n){let r=sg(t)?CSs(t):t,i=Sp(t)?cb(t):t,o=Fm(e),s=Fm(t);return op(e)?q3e(e,i,n):fI(t)?tWe(e,t,n):o&&s?Pd("Omit",[e,r],n):!o&&s?Pd("Omit",[e,r],n):o&&!s?Pd("Omit",[e,r],n):dr({...Qkt(e,i),...n})}var eWe=C(()=>{os();x3e();hIe();$5();LE();Aw();yI();Om();lb();Fkt();Mkt();Za();RC()});function ISs(e,t,n){return{[t]:CI(e,[t],Qd(n))}}function SSs(e,t,n){return t.reduce((r,i)=>({...r,...ISs(e,i,n)}),{})}function _Ss(e,t,n){return SSs(e,t.keys,n)}function tWe(e,t,n){let r=_Ss(e,t,n);return $c(r)}var Fkt=C(()=>{ug();eWe();pI()});var coe=C(()=>{Fkt();Mkt();eWe()});function vSs(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=II(e[i],t,Qd(n));return r}function xSs(e,t,n){return vSs(e.properties,t,n)}function nWe(e,t,n){let r=xSs(e,t,n);return $c(r)}var Okt=C(()=>{ug();rWe();pI()});function wSs(e,t){return e.map(n=>Pkt(n,t))}function RSs(e,t){return e.map(n=>Pkt(n,t))}function TSs(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function BSs(e,t,n){let r=Jp(e,[ip,"$id","required","properties"]),i=TSs(n,t);return rc(i,r)}function NSs(e){let t=e.reduce((n,r)=>EIe(r)?[...n,pa(r)]:n,[]);return Ha(t)}function Pkt(e,t){return Xp(e)?Pm(wSs(e.allOf,t)):Jc(e)?Ha(RSs(e.anyOf,t)):sf(e)?BSs(e,t,e.properties):rc({})}function II(e,t,n){let r=sg(t)?NSs(t):t,i=Sp(t)?cb(t):t,o=Fm(e),s=Fm(t);return op(e)?nWe(e,i,n):fI(t)?iWe(e,t,n):o&&s?Pd("Pick",[e,r],n):!o&&s?Pd("Pick",[e,r],n):o&&!s?Pd("Pick",[e,r],n):dr({...Pkt(e,i),...n})}var rWe=C(()=>{os();x3e();$5();yI();LE();lb();Om();Aw();hIe();Za();RC();Lkt();Okt()});function kSs(e,t,n){return{[t]:II(e,[t],Qd(n))}}function DSs(e,t,n){return t.reduce((r,i)=>({...r,...kSs(e,i,n)}),{})}function MSs(e,t,n){return DSs(e,t.keys,n)}function iWe(e,t,n){let r=MSs(e,t,n);return $c(r)}var Lkt=C(()=>{ug();rWe();pI()});var loe=C(()=>{Lkt();Okt();rWe()});function QSs(e,t){return Pd("Partial",[Pd(e,t)])}function FSs(e){return Pd("Partial",[xh(e)])}function OSs(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=cf(e[n]);return t}function PSs(e,t){let n=Jp(e,[ip,"$id","required","properties"]),r=OSs(t);return rc(r,n)}function CKn(e){return e.map(t=>IKn(t))}function IKn(e){return sw(e)?QSs(e.target,e.parameters):Fm(e)?FSs(e.$ref):Xp(e)?Pm(CKn(e.allOf)):Jc(e)?Ha(CKn(e.anyOf)):sf(e)?PSs(e,e.properties):z5(e)||H2(e)||lw(e)||PE(e)||Fie(e)||uw(e)||X2(e)||Oie(e)||J2(e)?e:rc({})}function xw(e,t){return op(e)?oWe(e,t):dr({...IKn(e),...t})}var Ukt=C(()=>{os();$5();pB();lb();yI();Om();nD();j2();ao();Gkt();Za()});function LSs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=xw(e[r],Qd(t));return n}function USs(e,t){return LSs(e.properties,t)}function oWe(e,t){let n=USs(e,t);return $c(n)}var Gkt=C(()=>{ug();Ukt();pI()});var uoe=C(()=>{Gkt();Ukt()});function GSs(e,t){return Pd("Required",[Pd(e,t)])}function VSs(e){return Pd("Required",[xh(e)])}function WSs(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=Jp(e[n],[wA]);return t}function YSs(e,t){let n=Jp(e,[ip,"$id","required","properties"]),r=WSs(t);return rc(r,n)}function SKn(e){return e.map(t=>_Kn(t))}function _Kn(e){return sw(e)?GSs(e.target,e.parameters):Fm(e)?VSs(e.$ref):Xp(e)?Pm(SKn(e.allOf)):Jc(e)?Ha(SKn(e.anyOf)):sf(e)?YSs(e,e.properties):z5(e)||H2(e)||lw(e)||PE(e)||Fie(e)||uw(e)||X2(e)||Oie(e)||J2(e)?e:rc({})}function ww(e,t){return op(e)?sWe(e,t):dr({..._Kn(e),...t})}var Vkt=C(()=>{os();$5();lb();yI();Om();nD();ao();j2();Wkt();Za()});function zSs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=ww(e[r],t);return n}function ZSs(e,t){return zSs(e.properties,t)}function sWe(e,t){let n=ZSs(e,t);return $c(n)}var Wkt=C(()=>{ug();Vkt()});var doe=C(()=>{Wkt();Vkt()});function HSs(e,t){return t.map(n=>Fm(n)?Ykt(e,n.$ref):x_(e,n))}function Ykt(e,t){return t in e?Fm(e[t])?Ykt(e,e[t].$ref):x_(e,e[t]):Es()}function XSs(e){return yw(e[0])}function JSs(e){return EI(e[0],e[1])}function $Ss(e){return bw(e[0])}function KSs(e){return xw(e[0])}function jSs(e){return CI(e[0],e[1])}function qSs(e){return II(e[0],e[1])}function e_s(e){return ww(e[0])}function t_s(e,t,n){let r=HSs(e,n);return t==="Awaited"?XSs(r):t==="Index"?JSs(r):t==="KeyOf"?$Ss(r):t==="Partial"?KSs(r):t==="Omit"?jSs(r):t==="Pick"?qSs(r):t==="Required"?e_s(r):Es()}function n_s(e,t){return S_(x_(e,t))}function r_s(e,t){return dw(x_(e,t))}function i_s(e,t,n){return pw(YIe(e,t),x_(e,n))}function o_s(e,t,n){return ab(YIe(e,t),x_(e,n))}function s_s(e,t){return Pm(YIe(e,t))}function a_s(e,t){return hw(x_(e,t))}function c_s(e,t){return rc(globalThis.Object.keys(t).reduce((n,r)=>({...n,[r]:x_(e,t[r])}),{}))}function l_s(e,t){let[n,r]=[x_(e,aoe(t)),soe(t)],i=uB(t);return i.patternProperties[r]=n,i}function u_s(e,t){return Fm(t)?{...Ykt(e,t.$ref),[ip]:t[ip]}:t}function d_s(e,t){return vh(YIe(e,t))}function p_s(e,t){return Ha(YIe(e,t))}function YIe(e,t){return t.map(n=>x_(e,n))}function x_(e,t){return TC(t)?dr(x_(e,Jp(t,[wA])),t):wH(t)?dr(x_(e,Jp(t,[I_])),t):Nl(t)?dr(u_s(e,t),t):ow(t)?dr(n_s(e,t.items),t):Y5(t)?dr(r_s(e,t.items),t):sw(t)?dr(t_s(e,t.target,t.parameters)):aw(t)?dr(i_s(e,t.parameters,t.returns),t):cw(t)?dr(o_s(e,t.parameters,t.returns),t):Xp(t)?dr(s_s(e,t.allOf),t):Z5(t)?dr(a_s(e,t.items),t):sf(t)?dr(c_s(e,t.properties),t):X5(t)?dr(l_s(e,t)):AI(t)?dr(d_s(e,t.items||[]),t):Jc(t)?dr(p_s(e,t.anyOf),t):t}function m_s(e,t){return t in e?x_(e,e[t]):Es()}function vKn(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:m_s(e,n)}),{})}var xKn=C(()=>{wP();f3e();j2();BH();Xie();NH();kH();Aw();NP();yI();FH();__();lb();coe();loe();af();uoe();PH();doe();tD();Om();ao();Za()});function poe(e){return new zIe(e)}var zIe,wKn=C(()=>{wP();ao();xKn();zIe=class{constructor(t){let n=vKn(t),r=this.WithIdentifiers(n);this.$defs=r}Import(t,n){let r={...this.$defs,[t]:dr(this.$defs[t],n)};return dr({[Kn]:"Import",$defs:r,$ref:t})}WithIdentifiers(t){return globalThis.Object.getOwnPropertyNames(t).reduce((n,r)=>({...n,[r]:{...t[r],$id:r}}),{})}}});var ZIe=C(()=>{wKn()});function moe(e,t){return dr({[Kn]:"Not",not:e},t)}var RKn=C(()=>{os();ao()});var HIe=C(()=>{RKn()});function uV(e,t){return cw(e)?vh(e.parameters,t):Es()}var TKn=C(()=>{tD();af();Za()});var XIe=C(()=>{TKn()});function foe(e,t={}){ag(t.$id)&&(t.$id=`T${f_s++}`);let n=uB(e({[Kn]:"This",$ref:`${t.$id}`}));return n.$id=t.$id,dr({[ib]:"Recursive",...n},t)}var f_s,BKn=C(()=>{m3e();os();RC();ao();f_s=0});var JIe=C(()=>{BKn()});function goe(e,t){let n=pd(e)?new globalThis.RegExp(e):e;return dr({[Kn]:"RegExp",type:"RegExp",source:n.source,flags:n.flags},t)}var NKn=C(()=>{os();RC();ao()});var $Ie=C(()=>{NKn()});function g_s(e){return Xp(e)?e.allOf:Jc(e)?e.anyOf:AI(e)?e.items??[]:[]}function Aoe(e){return g_s(e)}var kKn=C(()=>{Za()});var KIe=C(()=>{kKn()});function dV(e,t){return cw(e)?dr(e.returns,t):Es(t)}var DKn=C(()=>{os();af();Za()});var jIe=C(()=>{DKn()});var MKn=C(()=>{});var QKn=C(()=>{});var zkt=C(()=>{MKn();QKn()});var FKn=C(()=>{});var Zkt=C(()=>{FKn()});function hoe(e){return new qIe(e)}var qIe,eSe,OKn=C(()=>{ao();Za();qIe=class{constructor(t){this.schema=t}Decode(t){return new eSe(this.schema,t)}},eSe=class{constructor(t,n){this.schema=t,this.decode=n}EncodeTransform(t,n){let o={Encode:s=>n[ip].Encode(t(s)),Decode:s=>this.decode(n[ip].Decode(s))};return{...n,[ip]:o}}EncodeSchema(t,n){let r={Decode:this.decode,Encode:t};return{...n,[ip]:r}}Encode(t){return Nl(this.schema)?this.EncodeTransform(t,this.schema):this.EncodeSchema(t,this.schema)}}});var tSe=C(()=>{OKn()});function pV(e={}){return dr({[Kn]:e[Kn]??"Unsafe"},e)}var PKn=C(()=>{os();ao()});var Eoe=C(()=>{PKn()});function mV(e){return dr({[Kn]:"Void",type:"void"},e)}var LKn=C(()=>{os();ao()});var nSe=C(()=>{LKn()});var GH,Hkt=C(()=>{TH();BH();Yie();DIe();MIe();FIe();PIe();nV();LIe();Aw();VIe();yI();WIe();__();LE();ug();af();HIe();jie();ZIe();MP();lb();coe();pB();uoe();loe();OP();ooe();PH();JIe();nD();doe();KIe();QP();gw();tSe();tD();Om();PP();Eoe();GH=class{ReadonlyOptional(t){return lD(t)}Readonly(t,n){return zg(t,n??!0)}Optional(t,n){return cf(t,n??!0)}Any(t){return hI(t)}Array(t,n){return S_(t,n)}Boolean(t){return q2(t)}Capitalize(t,n){return sV(t,n)}Composite(t,n){return $ie(t,n)}Const(t,n){return noe(t,n)}Enum(t,n){return roe(t,n)}Exclude(t,n,r){return _w(t,n,r)}Extends(t,n,r,i,o){return Sw(t,n,r,i,o)}Extract(t,n,r){return vw(t,n,r)}Index(t,n,r){return EI(t,n,r)}Integer(t){return oV(t)}Intersect(t,n){return Pm(t,n)}KeyOf(t,n){return bw(t,n)}Literal(t,n){return pa(t,n)}Lowercase(t,n){return aV(t,n)}Mapped(t,n,r){return Hie(t,n,r)}Module(t){return poe(t)}Never(t){return Es(t)}Not(t,n){return moe(t,n)}Null(t){return iD(t)}Number(t){return _h(t)}Object(t,n){return rc(t,n)}Omit(t,n,r){return CI(t,n,r)}Partial(t,n){return xw(t,n)}Pick(t,n,r){return II(t,n,r)}Record(t,n,r){return uD(t,n,r)}Recursive(t,n){return foe(t,n)}Ref(...t){return xh(t[0],t[1])}Required(t,n){return ww(t,n)}Rest(t){return Aoe(t)}String(t){return lg(t)}TemplateLiteral(t,n){return eV(t,n)}Transform(t){return hoe(t)}Tuple(t,n){return vh(t,n)}Uncapitalize(t,n){return cV(t,n)}Union(t,n){return Ha(t,n)}Unknown(t){return UE(t)}Unsafe(t){return pV(t)}Uppercase(t,n){return lV(t,n)}}});var Xkt={};ai(Xkt,{Any:()=>hI,Argument:()=>BP,Array:()=>S_,AsyncIterator:()=>dw,Awaited:()=>yw,BigInt:()=>fw,Boolean:()=>q2,Capitalize:()=>sV,Composite:()=>$ie,Const:()=>noe,Constructor:()=>pw,ConstructorParameters:()=>tV,Date:()=>rD,Enum:()=>roe,Exclude:()=>_w,Extends:()=>Sw,Extract:()=>vw,Function:()=>ab,Index:()=>EI,InstanceType:()=>rV,Instantiate:()=>iV,Integer:()=>oV,Intersect:()=>Pm,Iterator:()=>hw,KeyOf:()=>bw,Literal:()=>pa,Lowercase:()=>aV,Mapped:()=>Hie,Module:()=>poe,Never:()=>Es,Not:()=>moe,Null:()=>iD,Number:()=>_h,Object:()=>rc,Omit:()=>CI,Optional:()=>cf,Parameters:()=>uV,Partial:()=>xw,Pick:()=>II,Promise:()=>eD,Readonly:()=>zg,ReadonlyOptional:()=>lD,Record:()=>uD,Recursive:()=>foe,Ref:()=>xh,RegExp:()=>goe,Required:()=>ww,Rest:()=>Aoe,ReturnType:()=>dV,String:()=>lg,Symbol:()=>oD,TemplateLiteral:()=>eV,Transform:()=>hoe,Tuple:()=>vh,Uint8Array:()=>aD,Uncapitalize:()=>cV,Undefined:()=>sD,Union:()=>Ha,Unknown:()=>UE,Unsafe:()=>pV,Uppercase:()=>lV,Void:()=>mV});var UKn=C(()=>{TH();_Ie();BH();NH();Xie();MH();Yie();DIe();MIe();kH();QIe();Kie();FIe();PIe();nV();LIe();NP();Aw();UIe();GIe();VIe();yI();WIe();FH();__();LE();ug();ZIe();af();HIe();jie();MP();lb();coe();pB();XIe();uoe();loe();Zie();OP();ooe();PH();JIe();nD();$Ie();doe();KIe();jIe();QP();qie();gw();tSe();tD();toe();eoe();Om();PP();Eoe();nSe()});var rSe,GKn=C(()=>{Hkt();_Ie();NH();Xie();MH();kH();QIe();Kie();NP();UIe();GIe();FH();XIe();Zie();$Ie();jIe();qie();toe();eoe();nSe();rSe=class extends GH{Argument(t){return BP(t)}AsyncIterator(t,n){return dw(t,n)}Awaited(t,n){return yw(t,n)}BigInt(t){return fw(t)}ConstructorParameters(t,n){return tV(t,n)}Constructor(t,n,r){return pw(t,n,r)}Date(t={}){return rD(t)}Function(t,n,r){return ab(t,n,r)}InstanceType(t,n){return rV(t,n)}Instantiate(t,n){return iV(t,n)}Iterator(t,n){return hw(t,n)}Parameters(t,n){return uV(t,n)}Promise(t,n){return eD(t,n)}RegExp(t,n){return goe(t,n)}ReturnType(t,n){return dV(t,n)}Symbol(t){return oD(t)}Undefined(t){return sD(t)}Uint8Array(t){return aD(t)}Void(t){return mV(t)}}});var fe,Jkt=C(()=>{Hkt();UKn();GKn();fe=Xkt});var VH={};ai(VH,{Any:()=>hI,Argument:()=>BP,Array:()=>S_,AsyncIterator:()=>dw,Awaited:()=>yw,BigInt:()=>fw,Boolean:()=>q2,Capitalize:()=>sV,Clone:()=>Qd,CloneRest:()=>XXn,CloneType:()=>uB,Composite:()=>$ie,Const:()=>noe,Constructor:()=>pw,ConstructorParameters:()=>tV,CreateType:()=>dr,Date:()=>rD,Enum:()=>roe,Exclude:()=>_w,ExcludeFromMappedResult:()=>H3e,ExcludeFromTemplateLiteral:()=>z3e,Extends:()=>Sw,ExtendsCheck:()=>cD,ExtendsFromMappedKey:()=>W3e,ExtendsFromMappedResult:()=>G3e,ExtendsResolverError:()=>OIe,ExtendsResult:()=>pr,ExtendsUndefinedCheck:()=>fB,Extract:()=>vw,ExtractFromMappedResult:()=>$3e,ExtractFromTemplateLiteral:()=>X3e,FormatRegistry:()=>sb,FromTypes:()=>LH,Function:()=>ab,Hint:()=>ib,Increment:()=>zJn,Index:()=>EI,IndexFromComputed:()=>w$n,IndexFromMappedKey:()=>D3e,IndexFromMappedResult:()=>B3e,IndexFromPropertyKey:()=>N3e,IndexFromPropertyKeys:()=>QH,IndexPropertyKeys:()=>cb,InstanceType:()=>rV,Instantiate:()=>iV,Integer:()=>oV,Intersect:()=>Pm,IntersectEvaluated:()=>zie,Intrinsic:()=>v_,IntrinsicFromMappedKey:()=>j3e,IsTemplateLiteralExpressionFinite:()=>DP,IsTemplateLiteralFinite:()=>Wie,Iterator:()=>hw,JavaScriptTypeBuilder:()=>rSe,JsonTypeBuilder:()=>GH,KeyOf:()=>bw,KeyOfFromMappedResult:()=>O3e,KeyOfPattern:()=>mB,KeyOfPropertyEntries:()=>Jie,KeyOfPropertyKeys:()=>ub,KeyOfPropertyKeysToRest:()=>Akt,Kind:()=>Kn,KindGuard:()=>ob,Literal:()=>pa,Lowercase:()=>aV,Mapped:()=>Hie,MappedFunctionReturnType:()=>dkt,MappedKey:()=>a$n,MappedResult:()=>$c,Module:()=>poe,Never:()=>Es,Not:()=>moe,Null:()=>iD,Number:()=>_h,Object:()=>rc,Omit:()=>CI,OmitFromMappedKey:()=>tWe,OmitFromMappedResult:()=>q3e,Optional:()=>cf,OptionalFromMappedResult:()=>Q3e,OptionalKind:()=>wA,Parameters:()=>uV,Partial:()=>xw,PartialFromMappedResult:()=>oWe,PatternBoolean:()=>CIe,PatternBooleanExact:()=>HJn,PatternNever:()=>KNt,PatternNeverExact:()=>I3e,PatternNumber:()=>RH,PatternNumberExact:()=>$2,PatternString:()=>IIe,PatternStringExact:()=>K2,Pick:()=>II,PickFromMappedKey:()=>iWe,PickFromMappedResult:()=>nWe,Promise:()=>eD,Readonly:()=>zg,ReadonlyFromMappedResult:()=>M3e,ReadonlyKind:()=>I_,ReadonlyOptional:()=>lD,Record:()=>uD,RecordKey:()=>K3e,RecordPattern:()=>soe,RecordValue:()=>aoe,Recursive:()=>foe,Ref:()=>xh,RegExp:()=>goe,Required:()=>ww,RequiredFromMappedResult:()=>sWe,Rest:()=>Aoe,ReturnType:()=>dV,SetComplement:()=>qJn,SetDistinct:()=>S3e,SetIncludes:()=>SIe,SetIntersect:()=>jNt,SetIntersectMany:()=>_3e,SetIsSubset:()=>KJn,SetUnion:()=>jJn,SetUnionMany:()=>v3e,String:()=>lg,Symbol:()=>oD,TModule:()=>zIe,TemplateLiteral:()=>eV,TemplateLiteralExpressionGenerate:()=>DH,TemplateLiteralFiniteError:()=>wIe,TemplateLiteralGenerate:()=>q5,TemplateLiteralGenerateError:()=>RIe,TemplateLiteralParse:()=>K5,TemplateLiteralParseExact:()=>j5,TemplateLiteralParserError:()=>Vie,TemplateLiteralPattern:()=>BIe,TemplateLiteralPatternError:()=>TIe,TemplateLiteralSyntax:()=>R3e,TemplateLiteralToUnion:()=>FP,Transform:()=>hoe,TransformDecodeBuilder:()=>qIe,TransformEncodeBuilder:()=>eSe,TransformKind:()=>ip,Tuple:()=>vh,Type:()=>fe,TypeBoxError:()=>Zo,TypeGuard:()=>hn,TypeRegistry:()=>Yg,Uint8Array:()=>aD,Uncapitalize:()=>cV,Undefined:()=>sD,Union:()=>Ha,UnionEvaluated:()=>mw,Unknown:()=>UE,Unsafe:()=>pV,Uppercase:()=>lV,ValueGuard:()=>cg,Void:()=>mV});var Us=C(()=>{f3e();wP();Ip();C3e();$Nt();Pie();J5();Gie();ao();TH();BH();_Ie();NH();Xie();MH();Yie();DIe();MIe();kH();QIe();Kie();FIe();PIe();nV();LIe();NP();Aw();UIe();GIe();VIe();yI();FH();WIe();__();LE();ZIe();ug();af();HIe();jie();MP();lb();coe();pB();XIe();uoe();loe();Zie();OP();ooe();PH();JIe();nD();$Ie();doe();KIe();jIe();zkt();Zkt();QP();qie();gw();tSe();tD();toe();eoe();Om();PP();Eoe();nSe();Jkt()});function A_s(e,t){return(n,r,i)=>{if(n.api!==e)throw new Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function h_s(e,t){return(n,r,i)=>{if(n.api!==e)throw new Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function LP(e,t){yoe.set(e.api,{provider:{api:e.api,stream:A_s(e.api,e.stream),streamSimple:h_s(e.api,e.streamSimple)},sourceId:t})}function $kt(e){return yoe.get(e)?.provider}function E_s(){return Array.from(yoe.values(),e=>e.provider)}function Kkt(e){for(let[t,n]of yoe.entries())n.sourceId===e&&yoe.delete(t)}function jkt(){yoe.clear()}var yoe,iSe=C(()=>{"use strict";yoe=new Map});function w_(e){if(process.versions?.bun&&!(typeof process>"u")&&!(Object.keys(process.env).length>0)){if(aWe===null){aWe=new Map;try{let{readFileSync:t}=nt("node:fs"),n=t("/proc/self/environ","utf-8");for(let r of n.split("\0")){let i=r.indexOf("=");i>0&&aWe.set(r.slice(0,i),r.slice(i+1))}}catch{}}return aWe.get(e)}}function I_s(){if(oSe===null){if(!cWe||!e2t||!t2t)return typeof process<"u"&&(process.versions?.node||process.versions?.bun)||(oSe=!1),!1;let e=process.env.GOOGLE_APPLICATION_CREDENTIALS||w_("GOOGLE_APPLICATION_CREDENTIALS");e?oSe=cWe(e):oSe=cWe(t2t(e2t(),".config","gcloud","application_default_credentials.json"))}return oSe}function S_s(e){if(e==="github-copilot")return["COPILOT_GITHUB_TOKEN","GH_TOKEN","GITHUB_TOKEN"];if(e==="anthropic")return["ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"];let n={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"}[e];return n?[n]:void 0}function VKn(e){let t=S_s(e);if(!t)return;let n=t.filter(r=>!!process.env[r]||!!w_(r));return n.length>0?n:void 0}function bu(e){let t=VKn(e);if(t?.[0])return process.env[t[0]]||w_(t[0]);if(e==="google-vertex"){let n=I_s(),r=!!(process.env.GOOGLE_CLOUD_PROJECT||process.env.GCLOUD_PROJECT||w_("GOOGLE_CLOUD_PROJECT")||w_("GCLOUD_PROJECT")),i=!!(process.env.GOOGLE_CLOUD_LOCATION||w_("GOOGLE_CLOUD_LOCATION"));if(n&&r&&i)return"<authenticated>"}if(e==="amazon-bedrock"&&(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||w_("AWS_PROFILE")||w_("AWS_ACCESS_KEY_ID")&&w_("AWS_SECRET_ACCESS_KEY")||w_("AWS_BEARER_TOKEN_BEDROCK")||w_("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")||w_("AWS_CONTAINER_CREDENTIALS_FULL_URI")||w_("AWS_WEB_IDENTITY_TOKEN_FILE")))return"<authenticated>"}var cWe,e2t,t2t,qkt,y_s,b_s,C_s,aWe,oSe,dD=C(()=>{"use strict";cWe=null,e2t=null,t2t=null,qkt=e=>import(e),y_s="node:fs",b_s="node:os",C_s="node:path";typeof process<"u"&&(process.versions?.node||process.versions?.bun)&&(qkt(y_s).then(e=>{cWe=e.existsSync}),qkt(b_s).then(e=>{e2t=e.homedir}),qkt(C_s).then(e=>{t2t=e.join}));aWe=null;oSe=null});var WKn,YKn=C(()=>{"use strict";WKn={"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:.33,output:2.75,cacheRead:.0825,cacheWrite:.33},contextWindow:1e6,maxTokens:65535},"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:.06,output:.24,cacheRead:.015,cacheWrite:.06},contextWindow:3e5,maxTokens:1e4},"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:.035,output:.14,cacheRead:.00875,cacheWrite:.035},contextWindow:128e3,maxTokens:1e4},"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:.8,output:3.2,cacheRead:.2,cacheWrite:.8},contextWindow:3e5,maxTokens:1e4},"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:128e3},"anthropic.claude-fable-5-1":{id:"anthropic.claude-fable-5-1",name:"Claude Fable 5.1",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:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"apac.amazon.nova-lite-v1:0":{id:"apac.amazon.nova-lite-v1:0",name:"Nova Lite (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.063,output:.252,cacheRead:.01575,cacheWrite:.063},contextWindow:3e5,maxTokens:1e4},"apac.amazon.nova-micro-v1:0":{id:"apac.amazon.nova-micro-v1:0",name:"Nova Micro (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.037,output:.148,cacheRead:.00925,cacheWrite:.037},contextWindow:128e3,maxTokens:1e4},"apac.amazon.nova-pro-v1:0":{id:"apac.amazon.nova-pro-v1:0",name:"Nova Pro (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.84,output:3.36,cacheRead:.21,cacheWrite:.84},contextWindow:3e5,maxTokens:1e4},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"au.anthropic.claude-opus-4-7":{id:"au.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (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.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"ca.amazon.nova-lite-v1:0":{id:"ca.amazon.nova-lite-v1:0",name:"Nova Lite (CA)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.064,output:.256,cacheRead:.016,cacheWrite:.064},contextWindow:3e5,maxTokens:1e4},"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:.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:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"eu.amazon.nova-2-lite-v1:0":{id:"eu.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.374,output:3.157,cacheRead:.0935,cacheWrite:.374},contextWindow:1e6,maxTokens:65535},"eu.amazon.nova-lite-v1:0":{id:"eu.amazon.nova-lite-v1:0",name:"Nova Lite (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.069,output:.276,cacheRead:.01725,cacheWrite:.069},contextWindow:3e5,maxTokens:1e4},"eu.amazon.nova-micro-v1:0":{id:"eu.amazon.nova-micro-v1:0",name:"Nova Micro (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.04,output:.16,cacheRead:.01,cacheWrite:.04},contextWindow:128e3,maxTokens:1e4},"eu.amazon.nova-pro-v1:0":{id:"eu.amazon.nova-pro-v1:0",name:"Nova Pro (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.92,output:3.68,cacheRead:.23,cacheWrite:.92},contextWindow:3e5,maxTokens:1e4},"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:128e3},"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:.11,cacheWrite:1.375},contextWindow:2e5,maxTokens:64e3},"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:.55,cacheWrite:6.875},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.33,cacheWrite:4.125},contextWindow:2e5,maxTokens:64e3},"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:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:64e3},"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:.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3},"eu.mistral.pixtral-large-2502-v1:0":{id:"eu.mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02) (EU)",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:128e3,maxTokens:8192},"global.amazon.nova-2-lite-v1:0":{id:"global.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (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:2.5,cacheRead:.075,cacheWrite:.3},contextWindow:1e6,maxTokens:65535},"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:128e3},"global.anthropic.claude-fable-5-1":{id:"global.anthropic.claude-fable-5-1",name:"Claude Fable 5.1 (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:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"global.openai.gpt-5.6-luna":{id:"global.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (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:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"global.openai.gpt-5.6-sol":{id:"global.openai.gpt-5.6-sol",name:"GPT-5.6 Sol (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"global.openai.gpt-5.6-terra":{id:"global.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (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:12,cacheRead:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"global.openai.gpt-6-astra":{id:"global.openai.gpt-6-astra",name:"GPT-6 Astra (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:105e4,maxTokens:128e3},"global.xai.grok-4.6":{id:"global.xai.grok-4.6",name:"Grok 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:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"google.gemma-4-26b-a4b":{id:"google.gemma-4-26b-a4b",name:"Gemma 4 26B A4B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.13,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google.gemma-4-31b":{id:"google.gemma-4-31b",name:"Gemma 4 31B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.14,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google.gemma-4-e2b":{id:"google.gemma-4-e2b",name:"Gemma 4 E2B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.04,output:.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"in.openai.gpt-5.6-luna":{id:"in.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (India)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.22,output:1.32,cacheRead:.022,cacheWrite:.275},contextWindow:105e4,maxTokens:128e3},"in.openai.gpt-5.6-terra":{id:"in.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (India)",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:.22,cacheWrite:2.75},contextWindow:105e4,maxTokens:128e3},"jp.amazon.nova-2-lite-v1:0":{id:"jp.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.396,output:3.311,cacheRead:.099,cacheWrite:.396},contextWindow:1e6,maxTokens:65535},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"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:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:8192},"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:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204608,maxTokens:128e3},"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:.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:.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:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e4},"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","image"],cost:{input:.2,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:256e3,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","image"],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:128e3,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:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:32768,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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32768,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:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16e3},"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:.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16384},"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:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"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:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192},"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:.06,output:.23,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"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:.15,output:.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:.275,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.55,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.22,output:1.32,cacheRead:.022,cacheWrite:.275},contextWindow:105e4,maxTokens:128e3},"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:4.4,output:22,cacheRead:.44,cacheWrite:5.5},contextWindow:105e4,maxTokens:128e3},"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:.22,cacheWrite:2.75},contextWindow:105e4,maxTokens:128e3},"openai.gpt-6-astra":{id:"openai.gpt-6-astra",name:"GPT-6 Astra",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:105e4,maxTokens:128e3},"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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:!0,input:["text"],cost:{input:.07,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B-A22B Instruct 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:32768,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:.15,output:.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:.45,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:!1,input:["text"],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"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:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262e3},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"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:.53,output:2.66,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262e3},"us-gov.openai.gpt-oss-120b-1:0":{id:"us-gov.openai.gpt-oss-120b-1:0",name:"gpt-oss-120b (GovCloud)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.18,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"us-gov.openai.gpt-oss-20b-1:0":{id:"us-gov.openai.gpt-oss-20b-1:0",name:"gpt-oss-20b (GovCloud)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.084,output:.36,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"us.amazon.nova-2-lite-v1:0":{id:"us.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.33,output:2.75,cacheRead:.0825,cacheWrite:.33},contextWindow:1e6,maxTokens:65535},"us.amazon.nova-lite-v1:0":{id:"us.amazon.nova-lite-v1:0",name:"Nova Lite (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.06,output:.24,cacheRead:.015,cacheWrite:.06},contextWindow:3e5,maxTokens:1e4},"us.amazon.nova-micro-v1:0":{id:"us.amazon.nova-micro-v1:0",name:"Nova Micro (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.035,output:.14,cacheRead:.00875,cacheWrite:.035},contextWindow:128e3,maxTokens:1e4},"us.amazon.nova-premier-v1:0":{id:"us.amazon.nova-premier-v1:0",name:"Nova Premier (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.625,cacheWrite:2.5},contextWindow:1e6,maxTokens:1e4},"us.amazon.nova-pro-v1:0":{id:"us.amazon.nova-pro-v1:0",name:"Nova Pro (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.8,output:3.2,cacheRead:.2,cacheWrite:.8},contextWindow:3e5,maxTokens:1e4},"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:128e3},"us.anthropic.claude-fable-5-1":{id:"us.anthropic.claude-fable-5-1",name:"Claude Fable 5.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:11,output:55,cacheRead:.275,cacheWrite:13.75},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"us.meta.llama3-1-70b-instruct-v1:0":{id:"us.meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"us.meta.llama3-1-8b-instruct-v1:0":{id:"us.meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"us.meta.llama3-3-70b-instruct-v1:0":{id:"us.meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"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:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"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:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:8192},"us.mistral.pixtral-large-2502-v1:0":{id:"us.mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02) (US)",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:128e3,maxTokens:8192},"us.openai.gpt-5.6-luna":{id:"us.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.22,output:1.32,cacheRead:.022,cacheWrite:.275},contextWindow:105e4,maxTokens:128e3},"us.openai.gpt-5.6-sol":{id:"us.openai.gpt-5.6-sol",name:"GPT-5.6 Sol (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.44,cacheWrite:5.5},contextWindow:105e4,maxTokens:128e3},"us.openai.gpt-5.6-terra":{id:"us.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (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.2,output:13.2,cacheRead:.22,cacheWrite:2.75},contextWindow:105e4,maxTokens:128e3},"us.openai.gpt-6-astra":{id:"us.openai.gpt-6-astra",name:"GPT-6 Astra (US)",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:105e4,maxTokens:128e3},"us.writer.palmyra-x4-v1:0":{id:"us.writer.palmyra-x4-v1:0",name:"Palmyra X4 (US)",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},"us.writer.palmyra-x5-v1:0":{id:"us.writer.palmyra-x5-v1:0",name:"Palmyra X5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,maxTokens:8192},"us.xai.grok-4.6":{id:"us.xai.grok-4.6",name:"Grok 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:2.2,output:6.6,cacheRead:.55,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"xai.grok-4.6":{id:"xai.grok-4.6",name:"Grok 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:2.2,output:6.6,cacheRead:.55,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.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:.07,output:.4,cacheRead:0,cacheWrite:0},contextWindow:2e5,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:131072}},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:128e3},"claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3}},"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:128e3,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:.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:.4,output:1.6,cacheRead:.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:.1,output:.4,cacheRead:.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:128e3,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:128e3,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:128e3,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:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:128e3,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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:272e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:1.25},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:105e4,maxTokens:128e3},"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:.4,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},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:2e5,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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:2e5,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:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5}},cerebras:{"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:.35,output:.75,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960},"qwen-3.8-27b":{id:"qwen-3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text","image"],cost:{input:.99,output:1.49,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:32768}},"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:128e3},"claude-fable-5.1":{id:"claude-fable-5.1",name:"Claude Fable 5.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:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:32e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.15,cacheWrite:0},contextWindow:2e5,maxTokens:64e3},"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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:264e3,maxTokens:64e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:5e5,maxTokens:128e3},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",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:.5,cacheWrite:0},contextWindow:5e5,maxTokens:128e3},"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:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:256e3,maxTokens:128e3},"mai-code-1.1-flash":{id:"mai-code-1.1-flash",name:"MAI-Code-1.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","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:0},contextWindow:256e3,maxTokens:128e3}},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:.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:.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:.3,output:2.5,cacheRead:.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:.1,output:.4,cacheRead:.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:.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:.5,output:3,cacheRead:.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:.25,output:1.5,cacheRead:.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:.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:.25,output:1.5,cacheRead:.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:.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:.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:.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:.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:.3,output:2.5,cacheRead:.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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,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:.75,output:3.75,cacheRead:.075,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:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.5,output:3,cacheRead:.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:.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:.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:.09,output:.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:.075,output:.3,cacheRead:.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:.0375,output:.15,cacheRead:.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:.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:.15,output:.6,cacheRead:.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:.075,output:.3,cacheRead:.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:.3,output:2.5,cacheRead:.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:.1,output:.4,cacheRead:.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:.1,output:.4,cacheRead:.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:.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:.5,output:3,cacheRead:.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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.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:.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:.05,output:.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:.59,output:.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:.15,output:.6,cacheRead:.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:.075,output:.3,cacheRead:.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:.075,output:.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:.6,output:3,cacheRead:.3,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3.8-27b":{id:"qwen/qwen3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text","image"],cost:{input:.8,output:4,cacheRead:0,cacheWrite:0},contextWindow:131042,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:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"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:.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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:524288,maxTokens:512e3},"Qwen/Qwen2.5-Coder-32B-Instruct":{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen2.5-Coder-32B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:.06,output:.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"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:.2,output:.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:.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:.3,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-30B-A3B":{id:"Qwen/Qwen3-30B-A3B",name:"Qwen3 30B A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:.12,output:.5,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"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:.29,output:.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:.07,output:.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:.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:.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:.3,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-VL-235B-A22B-Instruct":{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen3 VL 235B A22B Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.3,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"Qwen/Qwen3-VL-235B-A22B-Thinking":{id:"Qwen/Qwen3-VL-235B-A22B-Thinking",name:"Qwen3 VL 235B A22B Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.98,output:3.95,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"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:.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:.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:.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:.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:.17,output:.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:.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:.15,output:.95,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.8-2.4T-A95B":{id:"Qwen/Qwen3.8-2.4T-A95B",name:"Qwen3.8 2.4T A95B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:2.5,output:6.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3.8-27B":{id:"Qwen/Qwen3.8-27B",name:"Qwen3.8 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.4,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"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:.1,output:.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:.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:.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:64e3,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:.4,output:1.3,cacheRead:0,cacheWrite:0},contextWindow:64e3,maxTokens:8192},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:.27,output:1.12,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"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:.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:.28,output:.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:.14,output:.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"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:.14,output:.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"deepseek-ai/DeepSeek-V4-Flash-Vision-Exp":{id:"deepseek-ai/DeepSeek-V4-Flash-Vision-Exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.44,output:1.32,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"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:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek-ai/DeepSeek-V4-Pro-0813":{id:"deepseek-ai/DeepSeek-V4-Pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.32,output:3.96,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-ai/DeepSeek-V4.1-Flash":{id:"deepseek-ai/DeepSeek-V4.1-Flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Gemma 3 12B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.05,output:.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.08,output:.16,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"google/gemma-3-4b-it":{id:"google/gemma-3-4b-it",name:"Gemma 3 4B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.05,output:.1,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"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:.13,output:.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:.14,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Llama-3.1-8B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:.06,output:.06,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"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:.59,output:.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:.6,output:2.5,cacheRead:.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:.6,output:3,cacheRead:.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:.95,output:4,cacheRead:.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:.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:.25,output:.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:.1,output:.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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256e3},"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:.2,output:1.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256e3},"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:.14,output:.58,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:128e3},"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:.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:.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:.13,output:.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:.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:.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.6V-Flash":{id:"zai-org/GLM-4.6V-Flash",name:"GLM-4.6V-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.3,output:.9,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"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:.6,output:2.2,cacheRead:.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:2e5,maxTokens:128e3},"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:.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:.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},"zai-org/GLM-5.3":{id:"zai-org/GLM-5.3",name:"GLM-5.3",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:1048576,maxTokens:131072},"zai-org/GLM-5.3-Flash":{id:"zai-org/GLM-5.3-Flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:0,cacheWrite:0},contextWindow:1048576,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-for-coding",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: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:.3,output:1.2,cacheRead:.06,cacheWrite:.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:.6,output:2.4,cacheRead:.06,cacheWrite:.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:.3,output:1.2,cacheRead:.06,cacheWrite:.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:.6,output:2.4,cacheRead:.06,cacheWrite:.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:.3,output:.9,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:.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:.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:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:256e3,maxTokens:256e3},"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:128e3,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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.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:.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:.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:.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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.25,output:.25,cacheRead:0,cacheWrite:0},contextWindow:8e3,maxTokens:8e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:64e3,maxTokens:64e3},"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:.7,output:.7,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:32e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:128e3,maxTokens:128e3},"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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:32e3},"zai-glm-5-2":{id:"zai-glm-5-2",name:"GLM-5.2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.14,cacheWrite:0},contextWindow:1e6,maxTokens:131072}},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:128e3,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:.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:.4,output:1.6,cacheRead:.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:.1,output:.4,cacheRead:.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:128e3,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:128e3,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:128e3,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:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:128e3,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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:272e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:1.25},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:105e4,maxTokens:128e3},"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:.4,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},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:2e5,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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:2e5,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:.275,cacheWrite:0},contextWindow:2e5,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:.125,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:128e3,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:272e3,maxTokens:128e3}},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:2e5,maxTokens:32e3},"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:128e3},"claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.14,output:.28,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-flash-vision-exp":{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.14,output:.28,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.145,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.5,output:3,cacheRead:.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:.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:.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:.3,output:2.5,cacheRead:.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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 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:.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:.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:.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:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol (50% Off)",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:105e4,maxTokens:128e3},"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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.2,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.6,output:3,cacheRead:.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:.95,output:4,cacheRead:.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:.95,output:4,cacheRead:.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:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"ling-3.0-flash-fin-free":{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin 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},"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:2e5,maxTokens:32e3},"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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:512e3,maxTokens:128e3},"muse-spark-1.2":{id:"muse-spark-1.2",name:"Muse Spark 1.2",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.2-contributor-free":{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Free",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.3":{id:"muse-spark-1.3",name:"Muse Spark 1.3",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.3-contributor-free":{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Free",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"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:128e3},"nemotron-3.5-lightning-free":{id:"nemotron-3.5-lightning-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:.2,output:1.2,cacheRead:.02,cacheWrite:.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:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:262144,maxTokens:65536}},"opencode-go":{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-flash-vision-exp":{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro (New)",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.66,output:1.98,cacheRead:.022,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.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:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3":{id:"glm-5.3",name:"GLM-5.3",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:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},hy3:{id:"hy3",name:"Hy3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.14,output:.58,cacheRead:.035,cacheWrite:0},contextWindow:256e3,maxTokens:128e3},"hy4-preview":{id:"hy4-preview",name:"Hy4 preview",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:.042,cacheWrite:0},contextWindow:1024e3,maxTokens:64e3},"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:.95,output:4,cacheRead:.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:.95,output:4,cacheRead:.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:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"longcat-2.0":{id:"longcat-2.0",name:"LongCat-2.0",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1e6,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:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1048576,maxTokens:128e3},"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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"muse-spark-1.2-contributor":{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.3-contributor":{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:1e6,maxTokens:65536},"qwen3.7-max":{id:"qwen3.7-max",name:"Qwen3.7 Max",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:.5,cacheWrite:3.125},contextWindow:1e6,maxTokens:65536},"qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.4,output:1.6,cacheRead:.04,cacheWrite:.5},contextWindow:1e6,maxTokens:65536},"qwen3.8-flash":{id:"qwen3.8-flash",name:"Qwen3.8 Flash",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.2},contextWindow:1e6,maxTokens:131072},"qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:131072}},openrouter:{"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:.7999999999999999,output:1.5999999999999999,cacheRead:.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:.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:.7,output:1.4,cacheRead:.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:.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:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.625,cacheWrite:0},contextWindow:1e6,maxTokens:32e3},"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:.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,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:128e3},"anthropic/claude-fable-5.1":{id:"anthropic/claude-fable-5.1",name:"Anthropic: Claude Fable 5.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-fable-5.1:batch":{id:"anthropic/claude-fable-5.1:batch",name:"Anthropic: Claude Fable 5.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.125,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,output:2.5,cacheRead:.049999999999999996,cacheWrite:.625},contextWindow:2e5,maxTokens:64e3},"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:2e5,maxTokens:32e3},"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:2e5,maxTokens:32e3},"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:.75,cacheWrite:9.375},contextWindow:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.25,cacheWrite:3.125},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"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:.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:128e3},"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:.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.09999999999999999,cacheWrite:1.25},contextWindow:1e6,maxTokens:128e3},"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:.25,output:.7999999999999999,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:8e4},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:2e6,maxTokens:3e4},"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:.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:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-2-1-turbo":{id:"bytedance-seed/seed-2-1-turbo",name:"ByteDance Seed: Seed 2.1 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"bytedance-seed/seed-2.0-code":{id:"bytedance-seed/seed-2.0-code",name:"ByteDance Seed: Seed-2.0-Code",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"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:.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:.09999999999999999,output:.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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:128e3,maxTokens:4e3},"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:256e3,maxTokens:64e3},"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:.2574,output:1.0287,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16e3},"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:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:147456},"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:.25,output:.95,cacheRead:.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:.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:64e3,maxTokens:16e3},"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:.5,output:2.1500000000000004,cacheRead:.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:.27,output:1,cacheRead:.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:.26899999999999996,output:.39999999999999997,cacheRead:.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:.27,output:.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:.07938,output:.15876,cacheRead:.015875999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"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:.06,output:.12,cacheRead:.012,cacheWrite:0},contextWindow:1310720,maxTokens:943718},"deepseek/deepseek-v4-flash-0731:batch":{id:"deepseek/deepseek-v4-flash-0731:batch",name:"DeepSeek: DeepSeek V4 Flash 0731 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.11,output:.33,cacheRead:.0035,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4-flash-vision-exp":{id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek: DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.22,output:.66,cacheRead:.007,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4-flash-vision-exp:batch":{id:"deepseek/deepseek-v4-flash-vision-exp:batch",name:"DeepSeek: DeepSeek V4 Flash Vision Exp (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.11,output:.33,cacheRead:.0035,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro 0423",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.5999999999999999,output:3.1999999999999997,cacheRead:.135,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek/deepseek-v4-pro-0813":{id:"deepseek/deepseek-v4-pro-0813",name:"DeepSeek: DeepSeek V4 Pro 0813",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.57948,output:1.73844,cacheRead:.018438,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek/deepseek-v4-pro-0813:batch":{id:"deepseek/deepseek-v4-pro-0813:batch",name:"DeepSeek: DeepSeek V4 Pro 0813 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.66,output:1.9800000000000002,cacheRead:.022,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4.1-flash":{id:"deepseek/deepseek-v4.1-flash",name:"DeepSeek: DeepSeek V4.1 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"dots-studio/dots-3-note-preview:free":{id:"dots-studio/dots-3-note-preview:free",name:"Dots Studio: Dots3-Note Preview (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:512e3,maxTokens:460800},"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:.3,output:2.5,cacheRead:.03,cacheWrite:.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:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:.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:.049999999999999996,output:.19999999999999998,cacheRead:.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:.15,output:1.25,cacheRead:.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:.125,cacheWrite:.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:.125,cacheWrite:.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:.125,cacheWrite:.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:.625,output:5,cacheRead:.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:.5,output:3,cacheRead:.049999999999999996,cacheWrite:.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:.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:.19999999999999998,cacheWrite:.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:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.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:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.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:.125,output:.75,cacheRead:.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:.19999999999999998,cacheWrite:.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:.19999999999999998,cacheWrite:.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:.15,cacheWrite:.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:.3,output:2.5,cacheRead:.03,cacheWrite:.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:.15,output:1.25,cacheRead:.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:.75,output:4.5,cacheRead:.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:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},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:.375,output:1.875,cacheRead:.0375,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.7-flash":{id:"google/gemini-3.7-flash",name:"Google: Gemini 3.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.7-flash:batch":{id:"google/gemini-3.7-flash:batch",name:"Google: Gemini 3.7 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.8-flash":{id:"google/gemini-3.8-flash",name:"Google: Gemini 3.8 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.8-flash:batch":{id:"google/gemini-3.8-flash:batch",name:"Google: Gemini 3.8 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:.0416666666666667},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:.049999999999999996,output:.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:.08,output:.44999999999999996,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.09,output:.3,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.09,output:.33999999999999997,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:16384},"google/gemma-4-31b-it:batch":{id:"google/gemma-4-31b-it:batch",name:"Google: Gemma 4 31B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.39,output:.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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.2-8b":{id:"ibm-granite/granite-4.2-8b",name:"IBM: Granite 4.2 8B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.06,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:5e4},"inception/mercury-2.5":{id:"inception/mercury-2.5",name:"Inception: Mercury 2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.04,output:.15,cacheRead:.004,cacheWrite:0},contextWindow:26e4,maxTokens:65536},"inclusionai/ling-3.0-flash":{id:"inclusionai/ling-3.0-flash",name:"inclusionAI: Ling 3.0 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.020999999999999998,output:.063,cacheRead:.004200000000000001,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-3.0-flash-fin":{id:"inclusionai/ling-3.0-flash-fin",name:"inclusionAI: Ling 3.0 Flash Fin",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.06,output:.18,cacheRead:.012,cacheWrite:0},contextWindow:262144,maxTokens:235929},"inclusionai/ling-3.0-flash-fin:free":{id:"inclusionai/ling-3.0-flash-fin:free",name:"inclusionAI: Ling 3.0 Flash Fin (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/ling-3.0-flash-sante:free":{id:"inclusionai/ling-3.0-flash-sante:free",name:"inclusionAI: Ling 3.0 Flash Sante (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/ling-3.0-flash-vl":{id:"inclusionai/ling-3.0-flash-vl",name:"inclusionAI: Ling 3.0 Flash VL",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.06,output:.18,cacheRead:.012,cacheWrite:0},contextWindow:131072,maxTokens:32768},"inclusionai/ling-3.0-flash-vl:free":{id:"inclusionai/ling-3.0-flash-vl:free",name:"inclusionAI: Ling 3.0 Flash 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:262144,maxTokens:32768},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:144e3},"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:.74,output:2.96,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:235929},"liquid/lfm-2.5-2.6b:free":{id:"liquid/lfm-2.5-2.6b:free",name:"LiquidAI: LFM2.5-2.6B (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:65536,maxTokens:8192},"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:.3,output:1.2,cacheRead:.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:.39999999999999997,output:.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:.049999999999999996,output:.08,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.09999999999999999,output:.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:.1875,output:.6525,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:16384},"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:.09999999999999999,output:.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:.35,output:1.5,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:117964},"meta/muse-glimmer-30b:batch":{id:"meta/muse-glimmer-30b:batch",name:"Meta: Muse Glimmer 30B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.175,output:.75,cacheRead:.02,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"meta/muse-spark-1.2-contributor":{id:"meta/muse-spark-1.2-contributor",name:"Meta: Muse Spark 1.2 Contributor",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.09999999999999999,output:.19999999999999998,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"meta/muse-spark-1.3":{id:"meta/muse-spark-1.3",name:"Meta: Muse Spark 1.3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"meta/muse-spark-1.3-contributor":{id:"meta/muse-spark-1.3-contributor",name:"Meta: Muse Spark 1.3 Contributor",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.09999999999999999,output:.19999999999999998,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"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:.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4e4},"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:.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:.3,output:1.2,cacheRead:.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:.27,output:1.08,cacheRead:.027,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:1048576,maxTokens:512e3},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:524288,maxTokens:471859},"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:.3,output:.8999999999999999,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:204800},"mistralai/codestral-2508:batch":{id:"mistralai/codestral-2508:batch",name:"Mistral: Codestral 2508 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.15,output:.44999999999999996,cacheRead:.015,cacheWrite:0},contextWindow:256e3,maxTokens:204800},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.19999999999999998,output:.19999999999999998,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.09999999999999999,output:.09999999999999999,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:209715},"mistralai/ministral-8b-2512:batch":{id:"mistralai/ministral-8b-2512:batch",name:"Mistral: Ministral 3 8B 2512 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.075,output:.075,cacheRead:.0075,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.19999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:102400},"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:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:.5,output:1.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:209715},"mistralai/mistral-large-2512:batch":{id:"mistralai/mistral-large-2512:batch",name:"Mistral: Mistral Large 3 2512 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:209715},"mistralai/mistral-medium-3-5:batch":{id:"mistralai/mistral-medium-3-5:batch",name:"Mistral: Mistral Medium 3.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:104857},"mistralai/mistral-medium-3.1:batch":{id:"mistralai/mistral-medium-3.1:batch",name:"Mistral: Mistral Medium 3.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.19999999999999998,output:1,cacheRead:.02,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:.019000000000000003,output:.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:.19999999999999998,output:.6,cacheRead:.02,cacheWrite:0},contextWindow:32768,maxTokens:26214},"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:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:209715},"mistralai/mistral-small-2603:batch":{id:"mistralai/mistral-small-2603:batch",name:"Mistral: Mistral Small 4 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.075,output:.3,cacheRead:.0075,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.075,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:.19999999999999998,cacheWrite:0},contextWindow:65536,maxTokens:52428},"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:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:32768,maxTokens:26214},"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:.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"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:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:98304},"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:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:98304},"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:.41,output:2.06,cacheRead:.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:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.71,output:3.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:2.6481380629999998,output:13.282724250000001,cacheRead:.30264435,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"moonshotai/kimi-k3:batch":{id:"moonshotai/kimi-k3:batch",name:"MoonshotAI: Kimi K3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"nex-agi/nex-n2.5-mini:free":{id:"nex-agi/nex-n2.5-mini:free",name:"Nex AGI: Nex-N2.5-Mini (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:235929},"nex-agi/nex-n2.5-pro:free":{id:"nex-agi/nex-n2.5-pro:free",name:"Nex AGI: Nex-N2.5-Pro (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:235929},"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:.049999999999999996,output:.19999999999999998,cacheRead:.03,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:256e3,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:.08,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:235929},"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:.6,output:2.4,cacheRead:.12,cacheWrite:0},contextWindow:262144,maxTokens:182520},"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":{id:"nvidia/nemotron-3.5-lightning",name:"NVIDIA: Nemotron 3.5 Lightning",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.08,output:.19999999999999998,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:131072},"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},"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:.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:3685},"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:.25,output:.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:128e3,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:128e3,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:128e3,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:.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:.39999999999999997,output:1.5999999999999999,cacheRead:.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:.19999999999999998,output:.7999999999999999,cacheRead:.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:.09999999999999999,output:.39999999999999997,cacheRead:.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:.049999999999999996,output:.19999999999999998,cacheRead:.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:.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:128e3,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:128e3,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:128e3,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:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.075,output:.3,cacheRead:.0375,cacheWrite:0},contextWindow:128e3,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:.625,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,output:1,cacheRead:.012499999999999999,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.049999999999999996,output:.39999999999999997,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.024999999999999998,output:.19999999999999998,cacheRead:.0025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.625,output:5,cacheRead:.0625,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:.875,output:7,cacheRead:.0875,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.375,output:2.25,cacheRead:.0375,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.09999999999999999,output:.625,cacheRead:.01,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,output:.6,cacheRead:.01,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,output:.6,cacheRead:.01,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:105e4,maxTokens:128e3},"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:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:105e4,maxTokens:128e3},"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:2,output:12,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:2,output:12,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.625,output:5,cacheRead:.0625,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-6-astra":{id:"openai/gpt-6-astra",name:"OpenAI: GPT-6 Astra",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:105e4,maxTokens:128e3},"openai/gpt-6-astra-pro":{id:"openai/gpt-6-astra-pro",name:"OpenAI: GPT-6 Astra Pro",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:105e4,maxTokens:128e3},"openai/gpt-6-astra-pro:batch":{id:"openai/gpt-6-astra-pro:batch",name:"OpenAI: GPT-6 Astra Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:105e4,maxTokens:128e3},"openai/gpt-6-astra:batch":{id:"openai/gpt-6-astra:batch",name:"OpenAI: GPT-6 Astra (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:105e4,maxTokens:128e3},"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:128e3,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:.6,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.5,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.037,output:.16999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964},"openai/gpt-oss-120b:batch":{id:"openai/gpt-oss-120b:batch",name:"OpenAI: gpt-oss-120b (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.03,output:.13,cacheRead:.03,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.075,output:.3,cacheRead:.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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:.55,output:2.2,cacheRead:.275,cacheWrite:0},contextWindow:2e5,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:2e5,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:.25,cacheWrite:0},contextWindow:2e5,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:.275,cacheWrite:0},contextWindow:2e5,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:.275,cacheWrite:0},contextWindow:2e5,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:.55,output:2.2,cacheRead:.1375,cacheWrite:0},contextWindow:2e5,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:2e6,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:2e6,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:2e5,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:.09,output:.18,cacheRead:.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:.06,output:.12,cacheRead:.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:.36,output:.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:.09999999999999999,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:29491},"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:.26,output:.78,cacheRead:.052000000000000005,cacheWrite:.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:.26,output:.78,cacheRead:0,cacheWrite:0},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:.12,output:.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:.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:.0875,output:.35,cacheRead:.0175,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.22999999999999998,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.12,output:.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:.04815,output:.19305,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32e3},"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:.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:.08,output:.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:.117,output:.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:.3,output:1,cacheRead:.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:.07,output:.28,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.195,output:.975,cacheRead:.039,cacheWrite:.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:.12,output:.7999999999999999,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.65,output:3.25,cacheRead:.13,cacheWrite:.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:.78,output:3.9,cacheRead:.156,cacheWrite:.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:.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:.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:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.21,output:1.9,cacheRead:.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:.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:.15,output:.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:.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:.10400000000000001,output:.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:.117,output:.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:.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:.26,output:2.08,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"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:.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:.3125,output:1.25,cacheRead:.15625,cacheWrite:0},contextWindow:262144,maxTokens:16384},"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:.55,output:3.5,cacheRead:.22499999999999998,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.09999999999999999,output:.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"qwen/qwen3.5-9b:batch":{id:"qwen/qwen3.5-9b:batch",name:"Qwen: Qwen3.5-9B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.16999999999999998,output:.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.065,output:.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:.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:.3,output:1.7999999999999998,cacheRead:0,cacheWrite:.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:.3,output:2,cacheRead:.03,cacheWrite:0},contextWindow:262144,maxTokens:65536},"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:.09999999999999999,output:.8999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.1875,output:1.125,cacheRead:0,cacheWrite:.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:.325,output:1.95,cacheRead:0,cacheWrite:.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:.03,output:.13,cacheRead:.006,cacheWrite:.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:.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:.32,output:1.28,cacheRead:.064,cacheWrite:.39999999999999997},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-2.4t-a95b":{id:"qwen/qwen3.8-2.4t-a95b",name:"Qwen: Qwen3.8 2.4T A95B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"qwen/qwen3.8-2.4t-a95b:batch":{id:"qwen/qwen3.8-2.4t-a95b:batch",name:"Qwen: Qwen3.8 2.4T A95B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:101e4,maxTokens:909e3},"qwen/qwen3.8-27b":{id:"qwen/qwen3.8-27b",name:"Qwen: Qwen3.8 27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.21400000000000002,output:2.5500000000000003,cacheRead:.15,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-flash":{id:"qwen/qwen3.8-flash",name:"Qwen: Qwen3.8 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.19999999999999998},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-max-0902":{id:"qwen/qwen3.8-max-0902",name:"Qwen: Qwen3.8 Max (0902)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.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:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:14745},"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:256e3,maxTokens:128e3},"sakana/fugu-max":{id:"sakana/fugu-max",name:"Sakana: Fugu Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"sakana/fugu-ultra-v2":{id:"sakana/fugu-ultra-v2",name:"Sakana: Fugu Ultra v2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.95,output:4,cacheRead:.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:.85,output:.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:.09999999999999999,output:.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:.19999999999999998,output:1.15,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:230400},"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:.0825,output:.33,cacheRead:.020625,cacheWrite:0},contextWindow:262144,maxTokens:128e3},"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:.18,output:.6,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:235929},"tencent/hy4-preview":{id:"tencent/hy4-preview",name:"Tencent: Hy4 preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:.041999999999999996,cacheWrite:0},contextWindow:1048576,maxTokens:64e3},"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:.39999999999999997,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:1024e3,maxTokens:819200},"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:1,output:4.05,cacheRead:.16999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:471859},"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:.44999999999999996,output:1.2,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1048576,maxTokens:262144},"thinkingmachines/inkling-small:batch":{id:"thinkingmachines/inkling-small:batch",name:"Thinking Machines: Inkling Small (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:1.2,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:524288,maxTokens:471859},"thinkingmachines/inkling-small:free":{id:"thinkingmachines/inkling-small:free",name:"Thinking Machines: Inkling Small (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:1048576,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:1,output:4.05,cacheRead:.16999999999999998,cacheWrite:0},contextWindow:524288,maxTokens:471859},"thinkingmachines/inkling:free":{id:"thinkingmachines/inkling:free",name:"Thinking Machines: Inkling (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:1048576,maxTokens:262144},"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:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.09,output:.36,cacheRead:.018,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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:18e5},"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:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:9e5},"x-ai/grok-4.3:batch":{id:"x-ai/grok-4.3:batch",name:"SpaceXAI: Grok 4.3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:.16,cacheWrite:0},contextWindow:1e6,maxTokens:9e5},"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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:45e4},"x-ai/grok-4.6":{id:"x-ai/grok-4.6",name:"SpaceXAI: Grok 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:45e4},"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:.19999999999999998,cacheWrite:0},contextWindow:256e3,maxTokens:230400},"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:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:105e4,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:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:105e4,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:.6,output:2.2,cacheRead:.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:.13,output:.85,cacheRead:.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:.6,output:1.7999999999999998,cacheRead:.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:.43,output:1.75,cacheRead:.08,cacheWrite:0},contextWindow:204800,maxTokens:16384},"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:.3,output:.8999999999999999,cacheRead:.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:.39999999999999997,output:1.75,cacheRead:.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:.060500000000000005,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:117964},"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:.6,output:1.9,cacheRead:.119,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"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:.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:.966,output:3.036,cacheRead:.1794,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"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:.6832,output:2.1471999999999998,cacheRead:.12688000000000002,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:.7,output:2.2,cacheRead:.07,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"z-ai/glm-5.3":{id:"z-ai/glm-5.3",name:"Z.ai: GLM 5.3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1310720,maxTokens:943717},"z-ai/glm-5.3-flash":{id:"z-ai/glm-5.3-flash",name:"Z.ai: GLM 5.3 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1310720,maxTokens:131072},"z-ai/glm-5.3-flash:batch":{id:"z-ai/glm-5.3-flash:batch",name:"Z.ai: GLM 5.3 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.075,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"z-ai/glm-5.3:batch":{id:"z-ai/glm-5.3:batch",name:"Z.ai: GLM 5.3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.7,output:2.2,cacheRead:.13,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"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:.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:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"~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:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"~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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"~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:.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"~deepseek/deepseek-flash-latest":{id:"~deepseek/deepseek-flash-latest",name:"DeepSeek: DeepSeek Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"~deepseek/deepseek-pro-latest":{id:"~deepseek/deepseek-pro-latest",name:"DeepSeek: DeepSeek Pro Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.57948,output:1.73844,cacheRead:.018438,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"~deepseek/deepseek-v4-flash-latest":{id:"~deepseek/deepseek-v4-flash-latest",name:"DeepSeek: DeepSeek V4 Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.04,output:.09999999999999999,cacheRead:.01,cacheWrite:0},contextWindow:1310720,maxTokens:393216},"~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:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},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:.19999999999999998,cacheWrite:.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:1.975,output:11.06,cacheRead:.2291,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"~openai/gpt-astra-latest":{id:"~openai/gpt-astra-latest",name:"OpenAI: GPT Astra 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:105e4,maxTokens:128e3},"~openai/gpt-luna-latest":{id:"~openai/gpt-luna-latest",name:"OpenAI: GPT Luna Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"~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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"~openai/gpt-sol-latest":{id:"~openai/gpt-sol-latest",name:"OpenAI: GPT Sol Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"~openai/gpt-terra-latest":{id:"~openai/gpt-terra-latest",name:"OpenAI: GPT Terra Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"~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:.5,cacheWrite:0},contextWindow:5e5,maxTokens:45e4},"~z-ai/glm-flash-latest":{id:"~z-ai/glm-flash-latest",name:"Z.ai: GLM Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.075,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:1310720,maxTokens:131072},"~z-ai/glm-latest":{id:"~z-ai/glm-latest",name:"Z.ai: GLM Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.8999999999999999,output:3.0690000000000004,cacheRead:.18,cacheWrite:0},contextWindow:1310720,maxTokens:943718}},"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:.12,output:.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:.22,output:.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:.12,output:.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:.16,output:.64,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.26,cacheWrite:1.625},contextWindow:24e4,maxTokens:64e3},"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:.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:.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:.15,output:.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:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.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:.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:.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:.24,cacheWrite:0},contextWindow:256e3,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:.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:.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:.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:.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:.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:.09999999999999999,output:.39999999999999997,cacheRead:.001,cacheWrite:.125},contextWindow:1e6,maxTokens:64e3},"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:.39999999999999997,output:2.4,cacheRead:.04,cacheWrite:.5},contextWindow:1e6,maxTokens:64e3},"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:.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.5,output:3,cacheRead:.09999999999999999,cacheWrite:.625},contextWindow:1e6,maxTokens:64e3},"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:.03,output:.13,cacheRead:.006,cacheWrite:.038000000000000006},contextWindow:991e3,maxTokens:64e3},"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:.5,cacheWrite:3.125},contextWindow:991e3,maxTokens:64e3},"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:.39999999999999997,output:1.5999999999999999,cacheRead:.08,cacheWrite:.5},contextWindow:1e6,maxTokens:64e3},"alibaba/qwen3.8-2.4t-a95b":{id:"alibaba/qwen3.8-2.4t-a95b",name:"Qwen3.8 2.4T A95B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:128e3},"alibaba/qwen3.8-27b":{id:"alibaba/qwen3.8-27b",name:"Qwen3.8 27B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:.09999999999999999,cacheWrite:.625},contextWindow:1e6,maxTokens:131072},"alibaba/qwen3.8-flash":{id:"alibaba/qwen3.8-flash",name:"Qwen 3.8 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.16,output:.47,cacheRead:.016,cacheWrite:.19999999999999998},contextWindow:991e3,maxTokens:128e3},"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:.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"alibaba/qwen3.8-max-0902":{id:"alibaba/qwen3.8-max-0902",name:"Qwen3.8 Max 0902",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:2.5},contextWindow:991e3,maxTokens:128e3},"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:.3,output:2.5,cacheRead:.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:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,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:128e3},"anthropic/claude-fable-5.1":{id:"anthropic/claude-fable-5.1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:2e5,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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:128e3},"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:.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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"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:.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.25,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262100,maxTokens:8e4},"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:.25,output:2,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.25,output:2,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:256e3,maxTokens:64e3},"bytedance/seed-2.1-turbo":{id:"bytedance/seed-2.1-turbo",name:"Seed 2.1 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.5,output:2.5,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:262144},"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:256e3,maxTokens:8e3},"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:128e3,maxTokens:8192},"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:.25,output:.95,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:128e3},"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:.27,output:1,cacheRead:.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:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"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:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"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:.13,output:.26,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.07600000000000001,output:.153,cacheRead:.014,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4-flash-vision-exp":{id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.22,output:.66,cacheRead:.007,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"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:.66,output:1.9800000000000002,cacheRead:.022,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4-pro-0813":{id:"deepseek/deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.66,output:1.9800000000000002,cacheRead:.06599999999999999,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4.1-flash":{id:"deepseek/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.3,output:2.5,cacheRead:.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:.09999999999999999,output:.39999999999999997,cacheRead:.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:.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:.5,output:3,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"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:.25,output:1.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"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:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.15,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"google/gemini-3.7-flash":{id:"google/gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"google/gemini-3.8-flash":{id:"google/gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"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:.15,output:.6,cacheRead:.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:.14,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,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:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"inception/mercury-2.5":{id:"inception/mercury-2.5",name:"Mercury 2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.04,output:.15,cacheRead:.004,cacheWrite:0},contextWindow:26e4,maxTokens:65536},"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:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:32e3,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:.06,output:.18,cacheRead:.012,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-fin":{id:"inclusionai/ling-3.0-flash-fin",name:"Ling 3.0 Flash Fin",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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-fin-free":{id:"inclusionai/ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin (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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-sante":{id:"inclusionai/ling-3.0-flash-sante",name:"Ling 3.0 Flash Sante",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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-sante-free":{id:"inclusionai/ling-3.0-flash-sante-free",name:"Ling 3.0 Flash Sante (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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-vl":{id:"inclusionai/ling-3.0-flash-vl",name:"Ling 3.0 Flash VL",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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-vl-free":{id:"inclusionai/ling-3.0-flash-vl-free",name:"Ling 3.0 Flash VL (Free)",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:256e3,maxTokens:32e3},"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:32e3},"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:.15,output:.6,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:8e4},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.74,output:2.96,cacheRead:.15,cacheWrite:0},contextWindow:256e3,maxTokens:8e4},"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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.24,output:.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.16999999999999998,output:.66,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.35,output:1.5,cacheRead:.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:.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:.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:.09999999999999999,output:.19999999999999998,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.3":{id:"meta/muse-spark-1.3",name:"Muse Spark 1.3",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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.3-contributor":{id:"meta/muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.09999999999999999,output:.19999999999999998,cacheRead:.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:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:205e3,maxTokens:205e3},"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:.3,output:1.2,cacheRead:.03,cacheWrite:.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:.3,output:2.4,cacheRead:.03,cacheWrite:.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:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"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:.6,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"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:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"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:.6,output:2.4,cacheRead:.06,cacheWrite:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:512e3,maxTokens:512e3},"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:.3,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.19999999999999998,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"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:256e3,maxTokens:256e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:4e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.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:.47,output:2,cacheRead:.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:.6,output:3,cacheRead:.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:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"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:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:256e3,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:.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:.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:.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:.049999999999999996,output:.19999999999999998,cacheRead:.024999999999999998,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:.15,output:.65,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.6,output:2.4,cacheRead:.12,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"nvidia/nemotron-3.5-lightning":{id:"nvidia/nemotron-3.5-lightning",name:"Nemotron 3.5 Lightning 30B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.049999999999999996,output:.19999999999999998,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:131072},"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:.19999999999999998,output:.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:.06,output:.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:.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:128e3,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:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-fast":{id:"openai/gpt-4.1-fast",name:"GPT-4.1 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:3.5,output:14,cacheRead:.875,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:.39999999999999997,output:1.5999999999999999,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini-fast":{id:"openai/gpt-4.1-mini-fast",name:"GPT-4.1 mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:.7,output:2.8,cacheRead:.175,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:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano-fast":{id:"openai/gpt-4.1-nano-fast",name:"GPT-4.1 nano (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:.19999999999999998,output:.7999999999999999,cacheRead:.049999999999999996,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:128e3,maxTokens:16384},"openai/gpt-4o-fast":{id:"openai/gpt-4o-fast",name:"GPT-4o (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:4.25,output:17,cacheRead:2.125,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini-fast":{id:"openai/gpt-4o-mini-fast",name:"GPT-4o mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:.25,output:1,cacheRead:.125,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-fast":{id:"openai/gpt-5-fast",name:"GPT-5 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2.5,output:20,cacheRead:.25,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-mini-fast":{id:"openai/gpt-5-mini-fast",name:"GPT-5 mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.44999999999999996,output:3.5999999999999996,cacheRead:.045,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.049999999999999996,output:.39999999999999997,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:272e3},"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:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-thinking-fast":{id:"openai/gpt-5.1-thinking-fast",name:"GPT 5.1 Thinking (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2.5,output:20,cacheRead:.25,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-fast":{id:"openai/gpt-5.2-fast",name:"GPT 5.2 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3.5,output:28,cacheRead:.35,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.3-codex-fast":{id:"openai/gpt-5.3-codex-fast",name:"GPT 5.3 Codex (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3.5,output:28,cacheRead:.35,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.4-fast":{id:"openai/gpt-5.4-fast",name:"GPT 5.4 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-mini-fast":{id:"openai/gpt-5.4-mini-fast",name:"GPT 5.4 Mini (Fast)",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:.15,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"openai/gpt-5.5-fast":{id:"openai/gpt-5.5-fast",name:"GPT 5.5 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:12.5,output:75,cacheRead:1.25,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:128e3},"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:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.6-luna-fast":{id:"openai/gpt-5.6-luna-fast",name:"GPT 5.6 Luna (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.39999999999999997,output:2.4,cacheRead:.04,cacheWrite:.5},contextWindow:105e4,maxTokens:128e3},"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:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.6-sol-fast":{id:"openai/gpt-5.6-sol-fast",name:"GPT 5.6 Sol (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.39999999999999997,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.6-terra-fast":{id:"openai/gpt-5.6-terra-fast",name:"GPT 5.6 Terra (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:.39999999999999997,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"openai/gpt-6-astra":{id:"openai/gpt-6-astra",name:"GPT-6 Astra",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:105e4,maxTokens:128e3},"openai/gpt-6-astra-fast":{id:"openai/gpt-6-astra-fast",name:"GPT-6 Astra (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:20,output:100,cacheRead:2,cacheWrite:25},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,output:.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:.049999999999999996,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-120b":{id:"openai/gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16e3},"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:.07,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16e3},"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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-fast":{id:"openai/o3-fast",name:"o3 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3.5,output:14,cacheRead:.875,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:2e5,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:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini-fast":{id:"openai/o4-mini-fast",name:"o4-mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,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:.09999999999999999,output:.19999999999999998,cacheRead:.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:256e3,maxTokens:32768},"sakana/fugu-max":{id:"sakana/fugu-max",name:"Fugu 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:.25,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"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:.5,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"sakana/fugu-ultra-v2":{id:"sakana/fugu-ultra-v2",name:"Fugu Ultra v2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.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:.95,output:4,cacheRead:.15,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"spacexai/grok-4.1-fast-non-reasoning":{id:"spacexai/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:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"spacexai/grok-4.1-fast-reasoning":{id:"spacexai/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:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"spacexai/grok-4.20-multi-agent":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-multi-agent-beta":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-non-reasoning":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-non-reasoning-beta":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-reasoning":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-reasoning-beta":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.3":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"spacexai/grok-4.5":{id:"spacexai/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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"spacexai/grok-4.6":{id:"spacexai/grok-4.6",name:"Grok 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"spacexai/grok-build-0.1":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.09,output:.3,cacheRead:.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:.19999999999999998,output:1.15,cacheRead:.04,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.14,output:.58,cacheRead:.035,cacheWrite:0},contextWindow:262144,maxTokens:262144},"tencent/hy4-preview":{id:"tencent/hy4-preview",name:"Tencent Hy4 Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:.041999999999999996,cacheWrite:0},contextWindow:1024e3,maxTokens:64e3},"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:.16999999999999998,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.5,output:1.2,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"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:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:105e4,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:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:105e4,maxTokens:131e3},"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:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"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:.19999999999999998,output:1.1,cacheRead:.03,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"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:.6,output:1.7999999999999998,cacheRead:.11,cacheWrite:0},contextWindow:66e3,maxTokens:16e3},"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:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:2e5,maxTokens:96e3},"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:.6,output:2.2,cacheRead:.12,cacheWrite:0},contextWindow:2e5,maxTokens:12e4},"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:.07,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131e3},"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:.06,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"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:.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:.26,cacheWrite:0},contextWindow:202800,maxTokens:64e3},"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:.7999999999999999,output:2.5500000000000003,cacheRead:.16,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.21,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"zai/glm-5.3":{id:"zai/glm-5.3",name:"GLM 5.3",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:.14,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"zai/glm-5.3-fast":{id:"zai/glm-5.3-fast",name:"GLM 5.3 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:.21,cacheWrite:0},contextWindow:1048576,maxTokens:262144},"zai/glm-5.3-flash":{id:"zai/glm-5.3-flash",name:"GLM 5.3 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:131e3},"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:.24,cacheWrite:0},contextWindow:2e5,maxTokens:128e3}},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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.2,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.2,output:1.5,cacheRead:.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:2e5,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},"glm-5.3":{id:"glm-5.3",name:"GLM-5.3",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.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",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","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3-highspeed":{id:"glm-5.3-highspeed",name:"GLM-5.3 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 pD(e){return e.systemPromptTokens+e.chatHistoryTokens+e.currentMessageTokens+e.toolDefinitionsTokens+e.toolResultTokens+e.assistantResponseTokens}function R_(e){if(!e||typeof e!="object")return!1;let t=e,n=[t.systemPromptTokens,t.chatHistoryTokens,t.currentMessageTokens,t.toolDefinitionsTokens,t.toolResultTokens,t.assistantResponseTokens];return!Number.isSafeInteger(t.maxContextTokens)||t.maxContextTokens<=0||n.some(r=>!Number.isSafeInteger(r)||r<0)?!1:Number.isSafeInteger(pD(t))}function sp(e){if(e==="stop"||e==="length"||e==="toolUse")return e;throw new Error(`Unexpected stop reason for done event: ${e}`)}var lWe,BC=C(()=>{"use strict";lWe=["off","minimal","low","medium","high","xhigh"]});function UP(e){return lWe.includes(e)}function dWe(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e)if(!(typeof r!="string"||r.length===0||r.length>v_s||r.trim()!==r||r==="default"||n.has(r))&&(n.add(r),t.push(r),t.length===__s))break;return t}function x_s(e,t){return pWe.get(e)?.get(t)}function sSe(){return Array.from(pWe.keys())}function WH(e){let t=pWe.get(e);return t?Array.from(t.values()):[]}function wh(e,t){return t.cost.input=e.cost.input/1e6*t.input,t.cost.output=e.cost.output/1e6*t.output,t.cost.cacheRead=e.cost.cacheRead/1e6*t.cacheRead,t.cost.cacheWrite=e.cost.cacheWrite/1e6*t.cacheWrite,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite,t.cost}function Rw(e){return!!(e.id.includes("gpt-5.2")||e.id.includes("gpt-5.3")||e.id.includes("gpt-5.4")||e.id.includes("opus-4-6")||e.id.includes("opus-4.6"))}function zKn(e,t){return[...lWe.filter(r=>(t||r!=="off")&&(r!=="xhigh"||Rw(e)))]}function GE(e){if(!e?.reasoning)return{enabled:!1,efforts:[],source:"legacy"};if(e.api==="augment-chat-stream"){let t=dWe(e.effortLevels);if(t.length>0){let n=t.includes(e.defaultEffortLevel??"")?e.defaultEffortLevel:void 0;return{enabled:!0,efforts:t,defaultEffort:n,source:"model"}}return{enabled:!0,efforts:zKn(e,!1),source:"legacy"}}return{enabled:!0,efforts:zKn(e,!0),source:"legacy"}}function uWe(e){return e.defaultEffort??(e.efforts.includes("medium")?"medium":void 0)??e.efforts[0]??"off"}function Xa(e,t){let n=GE(e),r=e?.api==="augment-chat-stream";if(!n.enabled){let i=t===void 0||t==="default";return r?{kind:"model-default",effort:"off",usesModelDefault:!0,valid:i}:{kind:"explicit",effort:"off",usesModelDefault:!1,valid:i}}return t===void 0||t==="default"?r?{kind:"model-default",effort:uWe(n),usesModelDefault:!0,valid:!0}:{kind:"explicit",effort:uWe(n),usesModelDefault:!1,valid:!0}:n.efforts.includes(t)?{kind:"explicit",effort:t,usesModelDefault:!1,valid:!0}:r?{kind:"model-default",effort:uWe(n),usesModelDefault:!0,valid:!1}:{kind:"explicit",effort:uWe(n),usesModelDefault:!1,valid:!1}}function YH(e){let t=GE(e);if(!t.enabled)return[];let n={kind:"model-default"},r=i=>({kind:"explicit",effort:i});return t.efforts.map(i=>e?.api==="augment-chat-stream"&&i===t.defaultEffort?n:r(i))}function GP(e,t){if(t.kind==="explicit")return t.effort;let n=GE(e).defaultEffort;return n?`${n} (default)`:"Model default"}function RA(e,t){let r=["default",...GE(e).efforts].join(", ");return`Reasoning effort "${t}" is not supported by ${e.provider}/${e.id}. Supported values: ${r}. Using the model default.`}function Cu(e,t){return!e||!t?!1:e.id===t.id&&e.provider===t.provider}var __s,v_s,pWe,NC=C(()=>{"use strict";YKn();BC();__s=32,v_s=64;pWe=new Map;for(let[e,t]of Object.entries(WKn)){let n=new Map;for(let[r,i]of Object.entries(t))n.set(r,i);pWe.set(e,n)}});function n2t(){return new $u}var fV,$u,kC=C(()=>{"use strict";fV=class{constructor(t,n){this.isComplete=t;this.extractResult=n;this.finalResultPromise=new Promise(r=>{this.resolveFinalResult=r})}isComplete;extractResult;queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;push(t){if(this.done)return;this.isComplete(t)&&(this.done=!0,this.resolveFinalResult(this.extractResult(t)));let n=this.waiting.shift();n?n({value:t,done:!1}):this.queue.push(t)}end(t){for(this.done=!0,t!==void 0&&this.resolveFinalResult(t);this.waiting.length>0;)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){for(;;)if(this.queue.length>0)yield this.queue.shift();else{if(this.done)return;{let t=await new Promise(n=>this.waiting.push(n));if(t.done)return;yield t.value}}}result(){return this.finalResultPromise}},$u=class extends fV{constructor(){super(t=>t.type==="done"||t.type==="error",t=>{if(t.type==="done")return t.message;if(t.type==="error")return t.error;throw new Error("Unexpected event type for final result")})}}});function jKn(e){return{type:"text",text:e}}function B_s(e){return{type:"thinking",thinking:e}}function N_s(e,t,n={}){return{type:"toolCall",id:n.id??o2t("tool"),name:e,arguments:t}}function k_s(e){return typeof e=="string"?[jKn(e)]:Array.isArray(e)?e:[e]}function D_s(e,t={}){return{role:"assistant",content:k_s(e),api:JKn,provider:$Kn,model:KKn,usage:s2t,stopReason:t.stopReason??"stop",errorMessage:t.errorMessage,responseId:t.responseId,requestId:t.requestId,timestamp:t.timestamp??Date.now()}}function cSe(e){return Math.ceil(e.length/4)}function o2t(e){return`${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`}function qKn(e){return typeof e=="string"?e:e.map(t=>t.type==="text"?t.text:`[image:${t.mimeType}:${t.data.length}]`).join(`
|
|
5
|
+
var gbs=Object.create;var u3e=Object.defineProperty;var Abs=Object.getOwnPropertyDescriptor;var hbs=Object.getOwnPropertyNames;var Ebs=Object.getPrototypeOf,ybs=Object.prototype.hasOwnProperty;var nt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var C=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var U=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},ai=(e,t)=>{for(var n in t)u3e(e,n,{get:t[n],enumerable:!0})},HXn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of hbs(t))!ybs.call(e,i)&&i!==n&&u3e(e,i,{get:()=>t[i],enumerable:!(r=Abs(t,i))||r.enumerable});return e};var $n=(e,t,n)=>(n=e!=null?gbs(Ebs(e)):{},HXn(t||!e||!e.__esModule?u3e(n,"default",{value:e,enumerable:!0}):n,e)),Ar=e=>HXn(u3e({},"__esModule",{value:!0}),e);var cg={};ai(cg,{HasPropertyKey:()=>d3e,IsArray:()=>sg,IsAsyncIterator:()=>ONt,IsBigInt:()=>lIe,IsBoolean:()=>W2,IsDate:()=>vH,IsFunction:()=>PNt,IsIterator:()=>LNt,IsNull:()=>UNt,IsNumber:()=>dI,IsObject:()=>yu,IsRegExp:()=>uIe,IsString:()=>pd,IsSymbol:()=>GNt,IsUint8Array:()=>xP,IsUndefined:()=>ag});function d3e(e,t){return t in e}function ONt(e){return yu(e)&&!sg(e)&&!xP(e)&&Symbol.asyncIterator in e}function sg(e){return Array.isArray(e)}function lIe(e){return typeof e=="bigint"}function W2(e){return typeof e=="boolean"}function vH(e){return e instanceof globalThis.Date}function PNt(e){return typeof e=="function"}function LNt(e){return yu(e)&&!sg(e)&&!xP(e)&&Symbol.iterator in e}function UNt(e){return e===null}function dI(e){return typeof e=="number"}function yu(e){return typeof e=="object"&&e!==null}function uIe(e){return e instanceof globalThis.RegExp}function pd(e){return typeof e=="string"}function GNt(e){return typeof e=="symbol"}function xP(e){return e instanceof globalThis.Uint8Array}function ag(e){return e===void 0}var RC=C(()=>{});function bbs(e){return e.map(t=>p3e(t))}function Cbs(e){return new Date(e.getTime())}function Ibs(e){return new Uint8Array(e)}function Sbs(e){return new RegExp(e.source,e.flags)}function _bs(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=p3e(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=p3e(e[n]);return t}function p3e(e){return sg(e)?bbs(e):vH(e)?Cbs(e):xP(e)?Ibs(e):uIe(e)?Sbs(e):yu(e)?_bs(e):e}function Qd(e){return p3e(e)}var pI=C(()=>{RC()});function XXn(e){return e.map(t=>uB(t))}function uB(e,t){return t===void 0?Qd(e):Qd({...t,...e})}var m3e=C(()=>{pI()});var f3e=C(()=>{m3e();pI()});function dIe(e){return ea(e)&&globalThis.Symbol.asyncIterator in e}function pIe(e){return ea(e)&&globalThis.Symbol.iterator in e}function g3e(e){return ea(e)&&(globalThis.Object.getPrototypeOf(e)===Object.prototype||globalThis.Object.getPrototypeOf(e)===null)}function vbs(e){return ea(e)&&!qo(e)&&z2(e.constructor)&&e.constructor.name!=="Object"}function mIe(e){return e instanceof globalThis.Promise}function rb(e){return e instanceof Date&&globalThis.Number.isFinite(e.getTime())}function VNt(e){return e instanceof globalThis.Map}function WNt(e){return e instanceof globalThis.Set}function xbs(e){return e instanceof globalThis.RegExp}function C_(e){return globalThis.ArrayBuffer.isView(e)}function wbs(e){return e instanceof globalThis.Int8Array}function xH(e){return e instanceof globalThis.Uint8Array}function Rbs(e){return e instanceof globalThis.Uint8ClampedArray}function Tbs(e){return e instanceof globalThis.Int16Array}function Bbs(e){return e instanceof globalThis.Uint16Array}function Nbs(e){return e instanceof globalThis.Int32Array}function kbs(e){return e instanceof globalThis.Uint32Array}function Dbs(e){return e instanceof globalThis.Float32Array}function Mbs(e){return e instanceof globalThis.Float64Array}function Qbs(e){return e instanceof globalThis.BigInt64Array}function Fbs(e){return e instanceof globalThis.BigUint64Array}function hs(e,t){return t in e}function ea(e){return e!==null&&typeof e=="object"}function qo(e){return globalThis.Array.isArray(e)&&!globalThis.ArrayBuffer.isView(e)}function rp(e){return e===void 0}function Y2(e){return e===null}function dB(e){return typeof e=="boolean"}function Qo(e){return typeof e=="number"}function fIe(e){return globalThis.Number.isInteger(e)}function Sh(e){return typeof e=="bigint"}function Tc(e){return typeof e=="string"}function z2(e){return typeof e=="function"}function Z2(e){return typeof e=="symbol"}function mI(e){return Sh(e)||dB(e)||Y2(e)||Qo(e)||Tc(e)||Z2(e)||rp(e)}var A3e=C(()=>{});var Wg=C(()=>{A3e()});var Fd,gIe=C(()=>{Wg();(function(e){e.InstanceMode="default",e.ExactOptionalPropertyTypes=!1,e.AllowArrayObject=!1,e.AllowNaN=!1,e.AllowNullVoid=!1;function t(s,a){return e.ExactOptionalPropertyTypes?a in s:s[a]!==void 0}e.IsExactOptionalProperty=t;function n(s){let a=ea(s);return e.AllowArrayObject?a:a&&!qo(s)}e.IsObjectLike=n;function r(s){return n(s)&&!(s instanceof Date)&&!(s instanceof Uint8Array)}e.IsRecordLike=r;function i(s){return e.AllowNaN?Qo(s):Number.isFinite(s)}e.IsNumberLike=i;function o(s){let a=rp(s);return e.AllowNullVoid?a||s===null:a}e.IsVoidLike=o})(Fd||(Fd={}))});function Obs(e){return globalThis.Object.freeze(e).map(t=>AIe(t))}function Pbs(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=AIe(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=AIe(e[n]);return globalThis.Object.freeze(t)}function AIe(e){return sg(e)?Obs(e):vH(e)?e:xP(e)?e:uIe(e)?e:yu(e)?Pbs(e):e}var JXn=C(()=>{RC()});function dr(e,t){let n=t!==void 0?{...t,...e}:e;switch(Fd.InstanceMode){case"freeze":return AIe(n);case"clone":return Qd(n);default:return n}}var os=C(()=>{gIe();JXn();pI()});var wP=C(()=>{os()});var Zo,YNt=C(()=>{Zo=class extends Error{constructor(t){super(t)}}});var Ip=C(()=>{YNt()});var ip,I_,wA,ib,Kn,hIe=C(()=>{ip=Symbol.for("TypeBox.Transform"),I_=Symbol.for("TypeBox.Readonly"),wA=Symbol.for("TypeBox.Optional"),ib=Symbol.for("TypeBox.Hint"),Kn=Symbol.for("TypeBox.Kind")});var ao=C(()=>{hIe()});var ob={};ai(ob,{IsAny:()=>h3e,IsArgument:()=>E3e,IsArray:()=>ow,IsAsyncIterator:()=>Y5,IsBigInt:()=>z5,IsBoolean:()=>H2,IsComputed:()=>sw,IsConstructor:()=>aw,IsDate:()=>$Xn,IsFunction:()=>cw,IsImport:()=>Lbs,IsInteger:()=>lw,IsIntersect:()=>Xp,IsIterator:()=>Z5,IsKind:()=>TP,IsKindOf:()=>gc,IsLiteral:()=>PE,IsLiteralBoolean:()=>Wbs,IsLiteralNumber:()=>Vbs,IsLiteralString:()=>Gbs,IsLiteralValue:()=>EIe,IsMappedKey:()=>fI,IsMappedResult:()=>op,IsNever:()=>RP,IsNot:()=>KXn,IsNull:()=>Fie,IsNumber:()=>uw,IsObject:()=>sf,IsOptional:()=>TC,IsPromise:()=>H5,IsProperties:()=>Ubs,IsReadonly:()=>wH,IsRecord:()=>X5,IsRecursive:()=>Ybs,IsRef:()=>Fm,IsRegExp:()=>y3e,IsSchema:()=>Sp,IsString:()=>X2,IsSymbol:()=>Oie,IsTemplateLiteral:()=>gI,IsThis:()=>jXn,IsTransform:()=>Nl,IsTuple:()=>AI,IsUint8Array:()=>qXn,IsUndefined:()=>J2,IsUnion:()=>Jc,IsUnknown:()=>eJn,IsUnsafe:()=>tJn,IsVoid:()=>nJn});function wH(e){return yu(e)&&e[I_]==="Readonly"}function TC(e){return yu(e)&&e[wA]==="Optional"}function h3e(e){return gc(e,"Any")}function E3e(e){return gc(e,"Argument")}function ow(e){return gc(e,"Array")}function Y5(e){return gc(e,"AsyncIterator")}function z5(e){return gc(e,"BigInt")}function H2(e){return gc(e,"Boolean")}function sw(e){return gc(e,"Computed")}function aw(e){return gc(e,"Constructor")}function $Xn(e){return gc(e,"Date")}function cw(e){return gc(e,"Function")}function Lbs(e){return gc(e,"Import")}function lw(e){return gc(e,"Integer")}function Ubs(e){return yu(e)}function Xp(e){return gc(e,"Intersect")}function Z5(e){return gc(e,"Iterator")}function gc(e,t){return yu(e)&&Kn in e&&e[Kn]===t}function Gbs(e){return PE(e)&&pd(e.const)}function Vbs(e){return PE(e)&&dI(e.const)}function Wbs(e){return PE(e)&&W2(e.const)}function EIe(e){return W2(e)||dI(e)||pd(e)}function PE(e){return gc(e,"Literal")}function fI(e){return gc(e,"MappedKey")}function op(e){return gc(e,"MappedResult")}function RP(e){return gc(e,"Never")}function KXn(e){return gc(e,"Not")}function Fie(e){return gc(e,"Null")}function uw(e){return gc(e,"Number")}function sf(e){return gc(e,"Object")}function H5(e){return gc(e,"Promise")}function X5(e){return gc(e,"Record")}function Ybs(e){return yu(e)&&ib in e&&e[ib]==="Recursive"}function Fm(e){return gc(e,"Ref")}function y3e(e){return gc(e,"RegExp")}function X2(e){return gc(e,"String")}function Oie(e){return gc(e,"Symbol")}function gI(e){return gc(e,"TemplateLiteral")}function jXn(e){return gc(e,"This")}function Nl(e){return yu(e)&&ip in e}function AI(e){return gc(e,"Tuple")}function J2(e){return gc(e,"Undefined")}function Jc(e){return gc(e,"Union")}function qXn(e){return gc(e,"Uint8Array")}function eJn(e){return gc(e,"Unknown")}function tJn(e){return gc(e,"Unsafe")}function nJn(e){return gc(e,"Void")}function TP(e){return yu(e)&&Kn in e&&pd(e[Kn])}function Sp(e){return h3e(e)||E3e(e)||ow(e)||H2(e)||z5(e)||Y5(e)||sw(e)||aw(e)||$Xn(e)||cw(e)||lw(e)||Xp(e)||Z5(e)||PE(e)||fI(e)||op(e)||RP(e)||KXn(e)||Fie(e)||uw(e)||sf(e)||H5(e)||X5(e)||Fm(e)||y3e(e)||X2(e)||Oie(e)||gI(e)||jXn(e)||AI(e)||J2(e)||Jc(e)||qXn(e)||eJn(e)||tJn(e)||nJn(e)||TP(e)}var Za=C(()=>{RC();ao()});var hn={};ai(hn,{IsAny:()=>sJn,IsArgument:()=>aJn,IsArray:()=>cJn,IsAsyncIterator:()=>lJn,IsBigInt:()=>uJn,IsBoolean:()=>dJn,IsComputed:()=>pJn,IsConstructor:()=>mJn,IsDate:()=>fJn,IsFunction:()=>gJn,IsImport:()=>$bs,IsInteger:()=>AJn,IsIntersect:()=>hJn,IsIterator:()=>EJn,IsKind:()=>YJn,IsKindOf:()=>Ac,IsLiteral:()=>bIe,IsLiteralBoolean:()=>Kbs,IsLiteralNumber:()=>bJn,IsLiteralString:()=>yJn,IsLiteralValue:()=>CJn,IsMappedKey:()=>IJn,IsMappedResult:()=>SJn,IsNever:()=>_Jn,IsNot:()=>vJn,IsNull:()=>xJn,IsNumber:()=>wJn,IsObject:()=>RJn,IsOptional:()=>Jbs,IsPromise:()=>TJn,IsProperties:()=>b3e,IsReadonly:()=>Xbs,IsRecord:()=>BJn,IsRecursive:()=>jbs,IsRef:()=>NJn,IsRegExp:()=>kJn,IsSchema:()=>_p,IsString:()=>DJn,IsSymbol:()=>MJn,IsTemplateLiteral:()=>QJn,IsThis:()=>FJn,IsTransform:()=>OJn,IsTuple:()=>PJn,IsUint8Array:()=>UJn,IsUndefined:()=>LJn,IsUnion:()=>XNt,IsUnionLiteral:()=>qbs,IsUnknown:()=>GJn,IsUnsafe:()=>VJn,IsVoid:()=>WJn,TypeGuardUnknownTypeError:()=>zNt});function rJn(e){try{return new RegExp(e),!0}catch{return!1}}function ZNt(e){if(!pd(e))return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n>=7&&n<=13||n===27||n===127)return!1}return!0}function iJn(e){return HNt(e)||_p(e)}function yIe(e){return ag(e)||lIe(e)}function Od(e){return ag(e)||dI(e)}function HNt(e){return ag(e)||W2(e)}function Xu(e){return ag(e)||pd(e)}function Zbs(e){return ag(e)||pd(e)&&ZNt(e)&&rJn(e)}function Hbs(e){return ag(e)||pd(e)&&ZNt(e)}function oJn(e){return ag(e)||_p(e)}function Xbs(e){return yu(e)&&e[I_]==="Readonly"}function Jbs(e){return yu(e)&&e[wA]==="Optional"}function sJn(e){return Ac(e,"Any")&&Xu(e.$id)}function aJn(e){return Ac(e,"Argument")&&dI(e.index)}function cJn(e){return Ac(e,"Array")&&e.type==="array"&&Xu(e.$id)&&_p(e.items)&&Od(e.minItems)&&Od(e.maxItems)&&HNt(e.uniqueItems)&&oJn(e.contains)&&Od(e.minContains)&&Od(e.maxContains)}function lJn(e){return Ac(e,"AsyncIterator")&&e.type==="AsyncIterator"&&Xu(e.$id)&&_p(e.items)}function uJn(e){return Ac(e,"BigInt")&&e.type==="bigint"&&Xu(e.$id)&&yIe(e.exclusiveMaximum)&&yIe(e.exclusiveMinimum)&&yIe(e.maximum)&&yIe(e.minimum)&&yIe(e.multipleOf)}function dJn(e){return Ac(e,"Boolean")&&e.type==="boolean"&&Xu(e.$id)}function pJn(e){return Ac(e,"Computed")&&pd(e.target)&&sg(e.parameters)&&e.parameters.every(t=>_p(t))}function mJn(e){return Ac(e,"Constructor")&&e.type==="Constructor"&&Xu(e.$id)&&sg(e.parameters)&&e.parameters.every(t=>_p(t))&&_p(e.returns)}function fJn(e){return Ac(e,"Date")&&e.type==="Date"&&Xu(e.$id)&&Od(e.exclusiveMaximumTimestamp)&&Od(e.exclusiveMinimumTimestamp)&&Od(e.maximumTimestamp)&&Od(e.minimumTimestamp)&&Od(e.multipleOfTimestamp)}function gJn(e){return Ac(e,"Function")&&e.type==="Function"&&Xu(e.$id)&&sg(e.parameters)&&e.parameters.every(t=>_p(t))&&_p(e.returns)}function $bs(e){return Ac(e,"Import")&&d3e(e,"$defs")&&yu(e.$defs)&&b3e(e.$defs)&&d3e(e,"$ref")&&pd(e.$ref)&&e.$ref in e.$defs}function AJn(e){return Ac(e,"Integer")&&e.type==="integer"&&Xu(e.$id)&&Od(e.exclusiveMaximum)&&Od(e.exclusiveMinimum)&&Od(e.maximum)&&Od(e.minimum)&&Od(e.multipleOf)}function b3e(e){return yu(e)&&Object.entries(e).every(([t,n])=>ZNt(t)&&_p(n))}function hJn(e){return Ac(e,"Intersect")&&!(pd(e.type)&&e.type!=="object")&&sg(e.allOf)&&e.allOf.every(t=>_p(t)&&!OJn(t))&&Xu(e.type)&&(HNt(e.unevaluatedProperties)||oJn(e.unevaluatedProperties))&&Xu(e.$id)}function EJn(e){return Ac(e,"Iterator")&&e.type==="Iterator"&&Xu(e.$id)&&_p(e.items)}function Ac(e,t){return yu(e)&&Kn in e&&e[Kn]===t}function yJn(e){return bIe(e)&&pd(e.const)}function bJn(e){return bIe(e)&&dI(e.const)}function Kbs(e){return bIe(e)&&W2(e.const)}function bIe(e){return Ac(e,"Literal")&&Xu(e.$id)&&CJn(e.const)}function CJn(e){return W2(e)||dI(e)||pd(e)}function IJn(e){return Ac(e,"MappedKey")&&sg(e.keys)&&e.keys.every(t=>dI(t)||pd(t))}function SJn(e){return Ac(e,"MappedResult")&&b3e(e.properties)}function _Jn(e){return Ac(e,"Never")&&yu(e.not)&&Object.getOwnPropertyNames(e.not).length===0}function vJn(e){return Ac(e,"Not")&&_p(e.not)}function xJn(e){return Ac(e,"Null")&&e.type==="null"&&Xu(e.$id)}function wJn(e){return Ac(e,"Number")&&e.type==="number"&&Xu(e.$id)&&Od(e.exclusiveMaximum)&&Od(e.exclusiveMinimum)&&Od(e.maximum)&&Od(e.minimum)&&Od(e.multipleOf)}function RJn(e){return Ac(e,"Object")&&e.type==="object"&&Xu(e.$id)&&b3e(e.properties)&&iJn(e.additionalProperties)&&Od(e.minProperties)&&Od(e.maxProperties)}function TJn(e){return Ac(e,"Promise")&&e.type==="Promise"&&Xu(e.$id)&&_p(e.item)}function BJn(e){return Ac(e,"Record")&&e.type==="object"&&Xu(e.$id)&&iJn(e.additionalProperties)&&yu(e.patternProperties)&&(t=>{let n=Object.getOwnPropertyNames(t.patternProperties);return n.length===1&&rJn(n[0])&&yu(t.patternProperties)&&_p(t.patternProperties[n[0]])})(e)}function jbs(e){return yu(e)&&ib in e&&e[ib]==="Recursive"}function NJn(e){return Ac(e,"Ref")&&Xu(e.$id)&&pd(e.$ref)}function kJn(e){return Ac(e,"RegExp")&&Xu(e.$id)&&pd(e.source)&&pd(e.flags)&&Od(e.maxLength)&&Od(e.minLength)}function DJn(e){return Ac(e,"String")&&e.type==="string"&&Xu(e.$id)&&Od(e.minLength)&&Od(e.maxLength)&&Zbs(e.pattern)&&Hbs(e.format)}function MJn(e){return Ac(e,"Symbol")&&e.type==="symbol"&&Xu(e.$id)}function QJn(e){return Ac(e,"TemplateLiteral")&&e.type==="string"&&pd(e.pattern)&&e.pattern[0]==="^"&&e.pattern[e.pattern.length-1]==="$"}function FJn(e){return Ac(e,"This")&&Xu(e.$id)&&pd(e.$ref)}function OJn(e){return yu(e)&&ip in e}function PJn(e){return Ac(e,"Tuple")&&e.type==="array"&&Xu(e.$id)&&dI(e.minItems)&&dI(e.maxItems)&&e.minItems===e.maxItems&&(ag(e.items)&&ag(e.additionalItems)&&e.minItems===0||sg(e.items)&&e.items.every(t=>_p(t)))}function LJn(e){return Ac(e,"Undefined")&&e.type==="undefined"&&Xu(e.$id)}function qbs(e){return XNt(e)&&e.anyOf.every(t=>yJn(t)||bJn(t))}function XNt(e){return Ac(e,"Union")&&Xu(e.$id)&&yu(e)&&sg(e.anyOf)&&e.anyOf.every(t=>_p(t))}function UJn(e){return Ac(e,"Uint8Array")&&e.type==="Uint8Array"&&Xu(e.$id)&&Od(e.minByteLength)&&Od(e.maxByteLength)}function GJn(e){return Ac(e,"Unknown")&&Xu(e.$id)}function VJn(e){return Ac(e,"Unsafe")}function WJn(e){return Ac(e,"Void")&&e.type==="void"&&Xu(e.$id)}function YJn(e){return yu(e)&&Kn in e&&pd(e[Kn])&&!zbs.includes(e[Kn])}function _p(e){return yu(e)&&(sJn(e)||aJn(e)||cJn(e)||dJn(e)||uJn(e)||lJn(e)||pJn(e)||mJn(e)||fJn(e)||gJn(e)||AJn(e)||hJn(e)||EJn(e)||bIe(e)||IJn(e)||SJn(e)||_Jn(e)||vJn(e)||xJn(e)||wJn(e)||RJn(e)||TJn(e)||BJn(e)||NJn(e)||kJn(e)||DJn(e)||MJn(e)||QJn(e)||FJn(e)||PJn(e)||LJn(e)||XNt(e)||UJn(e)||GJn(e)||VJn(e)||WJn(e)||YJn(e))}var zNt,zbs,JNt=C(()=>{RC();ao();Ip();zNt=class extends Zo{},zbs=["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 C3e=C(()=>{Za();JNt();RC()});function zJn(e){return(parseInt(e)+1).toString()}var ZJn=C(()=>{});var $Nt=C(()=>{ZJn()});var CIe,RH,IIe,KNt,HJn,$2,K2,I3e,XJn=C(()=>{CIe="(true|false)",RH="(0|[1-9][0-9]*)",IIe="(.*)",KNt="(?!.*)",HJn=`^${CIe}$`,$2=`^${RH}$`,K2=`^${IIe}$`,I3e=`^${KNt}$`});var Pie=C(()=>{XJn()});var sb={};ai(sb,{Clear:()=>tCs,Delete:()=>nCs,Entries:()=>eCs,Get:()=>oCs,Has:()=>rCs,Set:()=>iCs});function eCs(){return new Map(Lie)}function tCs(){return Lie.clear()}function nCs(e){return Lie.delete(e)}function rCs(e){return Lie.has(e)}function iCs(e,t){Lie.set(e,t)}function oCs(e){return Lie.get(e)}var Lie,JJn=C(()=>{Lie=new Map});var Yg={};ai(Yg,{Clear:()=>aCs,Delete:()=>cCs,Entries:()=>sCs,Get:()=>dCs,Has:()=>lCs,Set:()=>uCs});function sCs(){return new Map(Uie)}function aCs(){return Uie.clear()}function cCs(e){return Uie.delete(e)}function lCs(e){return Uie.has(e)}function uCs(e,t){Uie.set(e,t)}function dCs(e){return Uie.get(e)}var Uie,$Jn=C(()=>{Uie=new Map});var J5=C(()=>{JJn();$Jn()});function SIe(e,t){return e.includes(t)}function KJn(e,t){return e.every(n=>SIe(t,n))}function S3e(e){return[...new Set(e)]}function jNt(e,t){return e.filter(n=>t.includes(n))}function jJn(e,t){return[...e,...t]}function qJn(e,t){return e.filter(n=>!t.includes(n))}function pCs(e,t){return e.reduce((n,r)=>jNt(n,r),t)}function _3e(e){return e.length===1?e[0]:e.length>1?pCs(e.slice(1),e[0]):[]}function v3e(e){let t=[];for(let n of e)t.push(...n);return t}var e$n=C(()=>{});var Gie=C(()=>{e$n()});function hI(e){return dr({[Kn]:"Any"},e)}var t$n=C(()=>{wP();ao()});var TH=C(()=>{t$n()});function S_(e,t){return dr({[Kn]:"Array",type:"array",items:e},t)}var n$n=C(()=>{os();ao()});var BH=C(()=>{n$n()});function BP(e){return dr({[Kn]:"Argument",index:e})}var r$n=C(()=>{os();ao()});var _Ie=C(()=>{r$n()});function dw(e,t){return dr({[Kn]:"AsyncIterator",type:"AsyncIterator",items:e},t)}var i$n=C(()=>{ao();os()});var NH=C(()=>{i$n()});function Pd(e,t,n){return dr({[Kn]:"Computed",target:e,parameters:t},n)}var o$n=C(()=>{wP();hIe()});var $5=C(()=>{o$n()});function mCs(e,t){let{[t]:n,...r}=e;return r}function Jp(e,t){return t.reduce((n,r)=>mCs(n,r),e)}var x3e=C(()=>{});var j2=C(()=>{x3e()});function Es(e){return dr({[Kn]:"Never",not:{}},e)}var s$n=C(()=>{os();ao()});var af=C(()=>{s$n()});function a$n(e){return dr({[Kn]:"MappedKey",keys:e})}var c$n=C(()=>{os();ao()});function $c(e){return dr({[Kn]:"MappedResult",properties:e})}var qNt=C(()=>{os();ao()});function pw(e,t,n){return dr({[Kn]:"Constructor",type:"Constructor",parameters:e,returns:t},n)}var l$n=C(()=>{os();ao()});var kH=C(()=>{l$n()});function ab(e,t,n){return dr({[Kn]:"Function",type:"Function",parameters:e,returns:t},n)}var u$n=C(()=>{os();ao()});var NP=C(()=>{u$n()});function vIe(e,t){return dr({[Kn]:"Union",anyOf:e},t)}var ekt=C(()=>{os();ao()});function fCs(e){return e.some(t=>TC(t))}function d$n(e){return e.map(t=>TC(t)?gCs(t):t)}function gCs(e){return Jp(e,[wA])}function ACs(e,t){return fCs(e)?cf(vIe(d$n(e),t)):vIe(d$n(e),t)}function mw(e,t){return e.length===1?dr(e[0],t):e.length===0?Es(t):ACs(e,t)}var p$n=C(()=>{os();ao();j2();af();pB();ekt();Za()});var m$n=C(()=>{});function Ha(e,t){return e.length===0?Es(t):e.length===1?dr(e[0],t):vIe(e,t)}var f$n=C(()=>{af();os();ekt()});var Om=C(()=>{p$n();m$n();f$n()});function hCs(e){return e.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function tkt(e,t,n){return e[t]===n&&e.charCodeAt(t-1)!==92}function kP(e,t){return tkt(e,t,"(")}function xIe(e,t){return tkt(e,t,")")}function g$n(e,t){return tkt(e,t,"|")}function ECs(e){if(!(kP(e,0)&&xIe(e,e.length-1)))return!1;let t=0;for(let n=0;n<e.length;n++)if(kP(e,n)&&(t+=1),xIe(e,n)&&(t-=1),t===0&&n!==e.length-1)return!1;return!0}function yCs(e){return e.slice(1,e.length-1)}function bCs(e){let t=0;for(let n=0;n<e.length;n++)if(kP(e,n)&&(t+=1),xIe(e,n)&&(t-=1),g$n(e,n)&&t===0)return!0;return!1}function CCs(e){for(let t=0;t<e.length;t++)if(kP(e,t))return!0;return!1}function ICs(e){let[t,n]=[0,0],r=[];for(let o=0;o<e.length;o++)if(kP(e,o)&&(t+=1),xIe(e,o)&&(t-=1),g$n(e,o)&&t===0){let s=e.slice(n,o);s.length>0&&r.push(K5(s)),n=o+1}let i=e.slice(n);return i.length>0&&r.push(K5(i)),r.length===0?{type:"const",const:""}:r.length===1?r[0]:{type:"or",expr:r}}function SCs(e){function t(i,o){if(!kP(i,o))throw new Vie("TemplateLiteralParser: Index must point to open parens");let s=0;for(let a=o;a<i.length;a++)if(kP(i,a)&&(s+=1),xIe(i,a)&&(s-=1),s===0)return[o,a];throw new Vie("TemplateLiteralParser: Unclosed group parens in expression")}function n(i,o){for(let s=o;s<i.length;s++)if(kP(i,s))return[o,s];return[o,i.length]}let r=[];for(let i=0;i<e.length;i++)if(kP(e,i)){let[o,s]=t(e,i),a=e.slice(o,s+1);r.push(K5(a)),i=s}else{let[o,s]=n(e,i),a=e.slice(o,s);a.length>0&&r.push(K5(a)),i=s-1}return r.length===0?{type:"const",const:""}:r.length===1?r[0]:{type:"and",expr:r}}function K5(e){return ECs(e)?K5(yCs(e)):bCs(e)?ICs(e):CCs(e)?SCs(e):{type:"const",const:hCs(e)}}function j5(e){return K5(e.slice(1,e.length-1))}var Vie,w3e=C(()=>{Ip();Vie=class extends Zo{}});function _Cs(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="0"&&e.expr[1].type==="const"&&e.expr[1].const==="[1-9][0-9]*"}function vCs(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="true"&&e.expr[1].type==="const"&&e.expr[1].const==="false"}function xCs(e){return e.type==="const"&&e.const===".*"}function DP(e){return _Cs(e)||xCs(e)?!1:vCs(e)?!0:e.type==="and"?e.expr.every(t=>DP(t)):e.type==="or"?e.expr.every(t=>DP(t)):e.type==="const"?!0:(()=>{throw new wIe("Unknown expression type")})()}function Wie(e){let t=j5(e.pattern);return DP(t)}var wIe,nkt=C(()=>{w3e();Ip();wIe=class extends Zo{}});function*A$n(e){if(e.length===1)return yield*e[0];for(let t of e[0])for(let n of A$n(e.slice(1)))yield`${t}${n}`}function*wCs(e){return yield*A$n(e.expr.map(t=>[...DH(t)]))}function*RCs(e){for(let t of e.expr)yield*DH(t)}function*TCs(e){return yield e.const}function*DH(e){return e.type==="and"?yield*wCs(e):e.type==="or"?yield*RCs(e):e.type==="const"?yield*TCs(e):(()=>{throw new RIe("Unknown expression")})()}function q5(e){let t=j5(e.pattern);return DP(t)?[...DH(t)]:[]}var RIe,rkt=C(()=>{nkt();w3e();Ip();RIe=class extends Zo{}});function pa(e,t){return dr({[Kn]:"Literal",const:e,type:typeof e},t)}var h$n=C(()=>{os();ao()});var LE=C(()=>{h$n()});function q2(e){return dr({[Kn]:"Boolean",type:"boolean"},e)}var E$n=C(()=>{ao();wP()});var Yie=C(()=>{E$n()});function fw(e){return dr({[Kn]:"BigInt",type:"bigint"},e)}var y$n=C(()=>{ao();wP()});var MH=C(()=>{y$n()});function _h(e){return dr({[Kn]:"Number",type:"number"},e)}var b$n=C(()=>{os();ao()});var MP=C(()=>{b$n()});function lg(e){return dr({[Kn]:"String",type:"string"},e)}var C$n=C(()=>{os();ao()});var QP=C(()=>{C$n()});function*BCs(e){let t=e.trim().replace(/"|'/g,"");return t==="boolean"?yield q2():t==="number"?yield _h():t==="bigint"?yield fw():t==="string"?yield lg():yield(()=>{let n=t.split("|").map(r=>pa(r.trim()));return n.length===0?Es():n.length===1?n[0]:mw(n)})()}function*NCs(e){if(e[1]!=="{"){let t=pa("$"),n=ikt(e.slice(1));return yield*[t,...n]}for(let t=2;t<e.length;t++)if(e[t]==="}"){let n=BCs(e.slice(2,t)),r=ikt(e.slice(t+1));return yield*[...n,...r]}yield pa(e)}function*ikt(e){for(let t=0;t<e.length;t++)if(e[t]==="$"){let n=pa(e.slice(0,t)),r=NCs(e.slice(t));return yield*[n,...r]}yield pa(e)}function R3e(e){return[...ikt(e)]}var okt=C(()=>{LE();Yie();MH();MP();QP();Om();af()});function kCs(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function I$n(e,t){return gI(e)?e.pattern.slice(1,e.pattern.length-1):Jc(e)?`(${e.anyOf.map(n=>I$n(n,t)).join("|")})`:uw(e)?`${t}${RH}`:lw(e)?`${t}${RH}`:z5(e)?`${t}${RH}`:X2(e)?`${t}${IIe}`:PE(e)?`${t}${kCs(e.const.toString())}`:H2(e)?`${t}${CIe}`:(()=>{throw new TIe(`Unexpected Kind '${e[Kn]}'`)})()}function BIe(e){return`^${e.map(t=>I$n(t,"")).join("")}$`}var TIe,skt=C(()=>{Pie();ao();Ip();Za();TIe=class extends Zo{}});function FP(e){let n=q5(e).map(r=>pa(r));return mw(n)}var S$n=C(()=>{Om();LE();rkt()});function eV(e,t){let n=pd(e)?BIe(R3e(e)):BIe(e);return dr({[Kn]:"TemplateLiteral",type:"string",pattern:n},t)}var _$n=C(()=>{os();okt();skt();RC();ao()});var gw=C(()=>{nkt();rkt();okt();w3e();skt();S$n();_$n()});function DCs(e){return q5(e).map(n=>n.toString())}function MCs(e){let t=[];for(let n of e)t.push(...cb(n));return t}function QCs(e){return[e.toString()]}function cb(e){return[...new Set(gI(e)?DCs(e):Jc(e)?MCs(e.anyOf):PE(e)?QCs(e.const):uw(e)?["[number]"]:lw(e)?["[number]"]:[])]}var T3e=C(()=>{gw();Za()});function FCs(e,t,n){let r={};for(let i of Object.getOwnPropertyNames(t))r[i]=EI(e,cb(t[i]),n);return r}function OCs(e,t,n){return FCs(e,t.properties,n)}function B3e(e,t,n){let r=OCs(e,t,n);return $c(r)}var akt=C(()=>{ug();T3e();Aw()});function x$n(e,t){return e.map(n=>N3e(n,t))}function PCs(e){return e.filter(t=>!RP(t))}function LCs(e,t){return zie(PCs(x$n(e,t)))}function UCs(e){return e.some(t=>RP(t))?[]:e}function GCs(e,t){return mw(UCs(x$n(e,t)))}function VCs(e,t){return t in e?e[t]:t==="[number]"?mw(e):Es()}function WCs(e,t){return t==="[number]"?e:Es()}function YCs(e,t){return t in e?e[t]:Es()}function N3e(e,t){return Xp(e)?LCs(e.allOf,t):Jc(e)?GCs(e.anyOf,t):AI(e)?VCs(e.items??[],t):ow(e)?WCs(e.items,t):sf(e)?YCs(e.properties,t):Es()}function QH(e,t){return t.map(n=>N3e(e,n))}function v$n(e,t){return mw(QH(e,t))}function w$n(e,t){return Pd("Index",[e,t])}function EI(e,t,n){if(Fm(e)||Fm(t)){let r="Index types using Ref parameters require both Type and Key to be of TSchema";if(!Sp(e)||!Sp(t))throw new Zo(r);return Pd("Index",[e,t])}return op(t)?B3e(e,t,n):fI(t)?D3e(e,t,n):dr(Sp(t)?v$n(e,cb(t)):v$n(e,t),n)}var k3e=C(()=>{os();Ip();$5();af();yI();Om();T3e();ckt();akt();Za()});function zCs(e,t,n){return{[t]:EI(e,[t],Qd(n))}}function ZCs(e,t,n){return t.reduce((r,i)=>({...r,...zCs(e,i,n)}),{})}function HCs(e,t,n){return ZCs(e,t.keys,n)}function D3e(e,t,n){let r=HCs(e,t,n);return $c(r)}var ckt=C(()=>{k3e();ug();pI()});var Aw=C(()=>{ckt();akt();T3e();k3e()});function hw(e,t){return dr({[Kn]:"Iterator",type:"Iterator",items:e},t)}var R$n=C(()=>{os();ao()});var FH=C(()=>{R$n()});function XCs(e){return globalThis.Object.keys(e).filter(t=>!TC(e[t]))}function JCs(e,t){let n=XCs(e),r=n.length>0?{[Kn]:"Object",type:"object",required:n,properties:e}:{[Kn]:"Object",type:"object",properties:e};return dr(r,t)}var rc,T$n=C(()=>{os();ao();Za();rc=JCs});var lb=C(()=>{T$n()});function eD(e,t){return dr({[Kn]:"Promise",type:"Promise",item:e},t)}var B$n=C(()=>{os();ao()});var Zie=C(()=>{B$n()});function $Cs(e){return dr(Jp(e,[I_]))}function KCs(e){return dr({...e,[I_]:"Readonly"})}function jCs(e,t){return t===!1?$Cs(e):KCs(e)}function zg(e,t){let n=t??!0;return op(e)?M3e(e,n):jCs(e,n)}var lkt=C(()=>{os();ao();j2();ukt();Za()});function qCs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=zg(e[r],t);return n}function e0s(e,t){return qCs(e.properties,t)}function M3e(e,t){let n=e0s(e,t);return $c(n)}var ukt=C(()=>{ug();lkt()});var OP=C(()=>{ukt();lkt()});function vh(e,t){return dr(e.length>0?{[Kn]:"Tuple",type:"array",items:e,additionalItems:!1,minItems:e.length,maxItems:e.length}:{[Kn]:"Tuple",type:"array",minItems:e.length,maxItems:e.length},t)}var N$n=C(()=>{os();ao()});var tD=C(()=>{N$n()});function k$n(e,t){return e in t?Ew(e,t[e]):$c(t)}function t0s(e){return{[e]:pa(e)}}function n0s(e){let t={};for(let n of e)t[n]=pa(n);return t}function r0s(e,t){return SIe(t,e)?t0s(e):n0s(t)}function i0s(e,t){let n=r0s(e,t);return k$n(e,n)}function NIe(e,t){return t.map(n=>Ew(e,n))}function o0s(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(t))n[r]=Ew(e,t[r]);return n}function Ew(e,t){let n={...t};return TC(t)?cf(Ew(e,Jp(t,[wA]))):wH(t)?zg(Ew(e,Jp(t,[I_]))):op(t)?k$n(e,t.properties):fI(t)?i0s(e,t.keys):aw(t)?pw(NIe(e,t.parameters),Ew(e,t.returns),n):cw(t)?ab(NIe(e,t.parameters),Ew(e,t.returns),n):Y5(t)?dw(Ew(e,t.items),n):Z5(t)?hw(Ew(e,t.items),n):Xp(t)?Pm(NIe(e,t.allOf),n):Jc(t)?Ha(NIe(e,t.anyOf),n):AI(t)?vh(NIe(e,t.items??[]),n):sf(t)?rc(o0s(e,t.properties),n):ow(t)?S_(Ew(e,t.items),n):H5(t)?eD(Ew(e,t.item),n):t}function dkt(e,t){let n={};for(let r of e)n[r]=Ew(r,t);return n}function Hie(e,t,n){let r=Sp(e)?cb(e):e,i=t({[Kn]:"MappedKey",keys:r}),o=dkt(r,i);return rc(o,n)}var D$n=C(()=>{ao();j2();BH();NH();kH();NP();Aw();yI();FH();LE();lb();pB();Zie();OP();tD();Om();Gie();qNt();Za()});var ug=C(()=>{c$n();qNt();D$n()});function s0s(e){return dr(Jp(e,[wA]))}function a0s(e){return dr({...e,[wA]:"Optional"})}function c0s(e,t){return t===!1?s0s(e):a0s(e)}function cf(e,t){let n=t??!0;return op(e)?Q3e(e,n):c0s(e,n)}var pkt=C(()=>{os();ao();j2();mkt();Za()});function l0s(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=cf(e[r],t);return n}function u0s(e,t){return l0s(e.properties,t)}function Q3e(e,t){let n=u0s(e,t);return $c(n)}var mkt=C(()=>{ug();pkt()});var pB=C(()=>{mkt();pkt()});function kIe(e,t={}){let n=e.every(i=>sf(i)),r=Sp(t.unevaluatedProperties)?{unevaluatedProperties:t.unevaluatedProperties}:{};return dr(t.unevaluatedProperties===!1||Sp(t.unevaluatedProperties)||n?{...r,[Kn]:"Intersect",type:"object",allOf:e}:{...r,[Kn]:"Intersect",allOf:e},t)}var fkt=C(()=>{os();ao();Za()});function d0s(e){return e.every(t=>TC(t))}function p0s(e){return Jp(e,[wA])}function M$n(e){return e.map(t=>TC(t)?p0s(t):t)}function m0s(e,t){return d0s(e)?cf(kIe(M$n(e),t)):kIe(M$n(e),t)}function zie(e,t={}){if(e.length===1)return dr(e[0],t);if(e.length===0)return Es(t);if(e.some(n=>Nl(n)))throw new Error("Cannot intersect transform types");return m0s(e,t)}var Q$n=C(()=>{ao();os();j2();af();pB();fkt();Za()});var F$n=C(()=>{});function Pm(e,t){if(e.length===1)return dr(e[0],t);if(e.length===0)return Es(t);if(e.some(n=>Nl(n)))throw new Error("Cannot intersect transform types");return kIe(e,t)}var O$n=C(()=>{os();af();fkt();Za()});var yI=C(()=>{Q$n();F$n();O$n()});function xh(...e){let[t,n]=typeof e[0]=="string"?[e[0],e[1]]:[e[0].$id,e[1]];if(typeof t!="string")throw new Zo("Ref: $ref must be a string");return dr({[Kn]:"Ref",$ref:t},n)}var P$n=C(()=>{Ip();os();ao()});var nD=C(()=>{P$n()});function f0s(e,t){return Pd("Awaited",[Pd(e,t)])}function g0s(e){return Pd("Awaited",[xh(e)])}function A0s(e){return Pm(L$n(e))}function h0s(e){return Ha(L$n(e))}function E0s(e){return yw(e)}function L$n(e){return e.map(t=>yw(t))}function yw(e,t){return dr(sw(e)?f0s(e.target,e.parameters):Xp(e)?A0s(e.allOf):Jc(e)?h0s(e.anyOf):H5(e)?E0s(e.item):Fm(e)?g0s(e.$ref):e,t)}var U$n=C(()=>{os();$5();yI();Om();nD();Za()});var Xie=C(()=>{U$n()});function G$n(e){let t=[];for(let n of e)t.push(ub(n));return t}function y0s(e){let t=G$n(e);return v3e(t)}function b0s(e){let t=G$n(e);return _3e(t)}function C0s(e){return e.map((t,n)=>n.toString())}function I0s(e){return["[number]"]}function S0s(e){return globalThis.Object.getOwnPropertyNames(e)}function _0s(e){return gkt?globalThis.Object.getOwnPropertyNames(e).map(n=>n[0]==="^"&&n[n.length-1]==="$"?n.slice(1,n.length-1):n):[]}function ub(e){return Xp(e)?y0s(e.allOf):Jc(e)?b0s(e.anyOf):AI(e)?C0s(e.items??[]):ow(e)?I0s(e.items):sf(e)?S0s(e.properties):X5(e)?_0s(e.patternProperties):[]}function mB(e){gkt=!0;let t=ub(e);return gkt=!1,`^(${t.map(r=>`(${r})`).join("|")})$`}var gkt,F3e=C(()=>{Gie();Za();gkt=!1});function v0s(e,t){return Pd("KeyOf",[Pd(e,t)])}function x0s(e){return Pd("KeyOf",[xh(e)])}function w0s(e,t){let n=ub(e),r=Akt(n),i=mw(r);return dr(i,t)}function Akt(e){return e.map(t=>t==="[number]"?_h():pa(t))}function bw(e,t){return sw(e)?v0s(e.target,e.parameters):Fm(e)?x0s(e.$ref):op(e)?O3e(e,t):w0s(e,t)}var hkt=C(()=>{os();LE();MP();$5();nD();F3e();Om();Ekt();Za()});function R0s(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=bw(e[r],Qd(t));return n}function T0s(e,t){return R0s(e.properties,t)}function O3e(e,t){let n=T0s(e,t);return $c(n)}var Ekt=C(()=>{ug();hkt();pI()});function Jie(e){let t=ub(e),n=QH(e,t);return t.map((r,i)=>[t[i],n[i]])}var V$n=C(()=>{k3e();F3e()});var __=C(()=>{Ekt();V$n();F3e();hkt()});function B0s(e){let t=[];for(let n of e)t.push(...ub(n));return S3e(t)}function N0s(e){return e.filter(t=>!RP(t))}function k0s(e,t){let n=[];for(let r of e)n.push(...QH(r,[t]));return N0s(n)}function D0s(e,t){let n={};for(let r of t)n[r]=zie(k0s(e,r));return n}function $ie(e,t){let n=B0s(e),r=D0s(e,n);return rc(r,t)}var W$n=C(()=>{yI();Aw();__();lb();Gie();Za()});var DIe=C(()=>{W$n()});function rD(e){return dr({[Kn]:"Date",type:"Date"},e)}var Y$n=C(()=>{ao();os()});var Kie=C(()=>{Y$n()});function iD(e){return dr({[Kn]:"Null",type:"null"},e)}var z$n=C(()=>{os();ao()});var jie=C(()=>{z$n()});function oD(e){return dr({[Kn]:"Symbol",type:"symbol"},e)}var Z$n=C(()=>{os();ao()});var qie=C(()=>{Z$n()});function sD(e){return dr({[Kn]:"Undefined",type:"undefined"},e)}var H$n=C(()=>{os();ao()});var eoe=C(()=>{H$n()});function aD(e){return dr({[Kn]:"Uint8Array",type:"Uint8Array"},e)}var X$n=C(()=>{os();ao()});var toe=C(()=>{X$n()});function UE(e){return dr({[Kn]:"Unknown"},e)}var J$n=C(()=>{os();ao()});var PP=C(()=>{J$n()});function M0s(e){return e.map(t=>ykt(t,!1))}function Q0s(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=zg(ykt(e[n],!1));return t}function P3e(e,t){return t===!0?e:zg(e)}function ykt(e,t){return ONt(e)?P3e(hI(),t):LNt(e)?P3e(hI(),t):sg(e)?zg(vh(M0s(e))):xP(e)?aD():vH(e)?rD():yu(e)?P3e(rc(Q0s(e)),t):PNt(e)?P3e(ab([],UE()),t):ag(e)?sD():UNt(e)?iD():GNt(e)?oD():lIe(e)?fw():dI(e)?pa(e):W2(e)?pa(e):pd(e)?pa(e):rc({})}function noe(e,t){return dr(ykt(e,!0),t)}var $$n=C(()=>{TH();MH();Kie();NP();LE();jie();lb();qie();tD();OP();eoe();toe();PP();wP();RC()});var MIe=C(()=>{$$n()});function tV(e,t){return aw(e)?vh(e.parameters,t):Es(t)}var K$n=C(()=>{tD();af();Za()});var QIe=C(()=>{K$n()});function roe(e,t){if(ag(e))throw new Error("Enum undefined or empty");let n=globalThis.Object.getOwnPropertyNames(e).filter(o=>isNaN(o)).map(o=>e[o]),i=[...new Set(n)].map(o=>pa(o));return Ha(i,{...t,[ib]:"Enum"})}var j$n=C(()=>{LE();ao();Om();RC()});var FIe=C(()=>{j$n()});function Cw(e){return e===pr.False?e:pr.True}function ioe(e){throw new OIe(e)}function Zg(e){return hn.IsNever(e)||hn.IsIntersect(e)||hn.IsUnion(e)||hn.IsUnknown(e)||hn.IsAny(e)}function Hg(e,t){return hn.IsNever(t)?oKn(e,t):hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)?_kt(e,t):hn.IsUnknown(t)?lKn(e,t):hn.IsAny(t)?Skt(e,t):ioe("StructuralRight")}function Skt(e,t){return pr.True}function F0s(e,t){return hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)&&t.anyOf.some(n=>hn.IsAny(n)||hn.IsUnknown(n))?pr.True:hn.IsUnion(t)?pr.Union:hn.IsUnknown(t)||hn.IsAny(t)?pr.True:pr.Union}function O0s(e,t){return hn.IsUnknown(e)?pr.False:hn.IsAny(e)?pr.Union:hn.IsNever(e)?pr.True:pr.False}function P0s(e,t){return hn.IsObject(t)&&U3e(t)?pr.True:Zg(t)?Hg(e,t):hn.IsArray(t)?Cw(Ju(e.items,t.items)):pr.False}function L0s(e,t){return Zg(t)?Hg(e,t):hn.IsAsyncIterator(t)?Cw(Ju(e.items,t.items)):pr.False}function U0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsBigInt(t)?pr.True:pr.False}function rKn(e,t){return hn.IsLiteralBoolean(e)||hn.IsBoolean(e)?pr.True:pr.False}function G0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsBoolean(t)?pr.True:pr.False}function V0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsConstructor(t)?e.parameters.length>t.parameters.length?pr.False:e.parameters.every((n,r)=>Cw(Ju(t.parameters[r],n))===pr.True)?Cw(Ju(e.returns,t.returns)):pr.False:pr.False}function W0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsDate(t)?pr.True:pr.False}function Y0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsFunction(t)?e.parameters.length>t.parameters.length?pr.False:e.parameters.every((n,r)=>Cw(Ju(t.parameters[r],n))===pr.True)?Cw(Ju(e.returns,t.returns)):pr.False:pr.False}function iKn(e,t){return hn.IsLiteral(e)&&cg.IsNumber(e.const)||hn.IsNumber(e)||hn.IsInteger(e)?pr.True:pr.False}function z0s(e,t){return hn.IsInteger(t)||hn.IsNumber(t)?pr.True:Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):pr.False}function L3e(e,t){return t.allOf.every(n=>Ju(e,n)===pr.True)?pr.True:pr.False}function Z0s(e,t){return e.allOf.some(n=>Ju(n,t)===pr.True)?pr.True:pr.False}function H0s(e,t){return Zg(t)?Hg(e,t):hn.IsIterator(t)?Cw(Ju(e.items,t.items)):pr.False}function X0s(e,t){return hn.IsLiteral(t)&&t.const===e.const?pr.True:Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsString(t)?cKn(e,t):hn.IsNumber(t)?sKn(e,t):hn.IsInteger(t)?iKn(e,t):hn.IsBoolean(t)?rKn(e,t):pr.False}function oKn(e,t){return pr.False}function J0s(e,t){return pr.True}function q$n(e){let[t,n]=[e,0];for(;hn.IsNot(t);)t=t.not,n+=1;return n%2===0?t:UE()}function $0s(e,t){return hn.IsNot(e)?Ju(q$n(e),t):hn.IsNot(t)?Ju(e,q$n(t)):ioe("Invalid fallthrough for Not")}function K0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsNull(t)?pr.True:pr.False}function sKn(e,t){return hn.IsLiteralNumber(e)||hn.IsNumber(e)||hn.IsInteger(e)?pr.True:pr.False}function j0s(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsInteger(t)||hn.IsNumber(t)?pr.True:pr.False}function bI(e,t){return Object.getOwnPropertyNames(e.properties).length===t}function eKn(e){return U3e(e)}function tKn(e){return bI(e,0)||bI(e,1)&&"description"in e.properties&&hn.IsUnion(e.properties.description)&&e.properties.description.anyOf.length===2&&(hn.IsString(e.properties.description.anyOf[0])&&hn.IsUndefined(e.properties.description.anyOf[1])||hn.IsString(e.properties.description.anyOf[1])&&hn.IsUndefined(e.properties.description.anyOf[0]))}function bkt(e){return bI(e,0)}function nKn(e){return bI(e,0)}function q0s(e){return bI(e,0)}function eIs(e){return bI(e,0)}function tIs(e){return U3e(e)}function nIs(e){let t=_h();return bI(e,0)||bI(e,1)&&"length"in e.properties&&Cw(Ju(e.properties.length,t))===pr.True}function rIs(e){return bI(e,0)}function U3e(e){let t=_h();return bI(e,0)||bI(e,1)&&"length"in e.properties&&Cw(Ju(e.properties.length,t))===pr.True}function iIs(e){let t=ab([hI()],hI());return bI(e,0)||bI(e,1)&&"then"in e.properties&&Cw(Ju(e.properties.then,t))===pr.True}function aKn(e,t){return Ju(e,t)===pr.False||hn.IsOptional(e)&&!hn.IsOptional(t)?pr.False:pr.True}function db(e,t){return hn.IsUnknown(e)?pr.False:hn.IsAny(e)?pr.Union:hn.IsNever(e)||hn.IsLiteralString(e)&&eKn(t)||hn.IsLiteralNumber(e)&&bkt(t)||hn.IsLiteralBoolean(e)&&nKn(t)||hn.IsSymbol(e)&&tKn(t)||hn.IsBigInt(e)&&q0s(t)||hn.IsString(e)&&eKn(t)||hn.IsSymbol(e)&&tKn(t)||hn.IsNumber(e)&&bkt(t)||hn.IsInteger(e)&&bkt(t)||hn.IsBoolean(e)&&nKn(t)||hn.IsUint8Array(e)&&tIs(t)||hn.IsDate(e)&&eIs(t)||hn.IsConstructor(e)&&rIs(t)||hn.IsFunction(e)&&nIs(t)?pr.True:hn.IsRecord(e)&&hn.IsString(Ckt(e))?t[ib]==="Record"?pr.True:pr.False:hn.IsRecord(e)&&hn.IsNumber(Ckt(e))&&bI(t,0)?pr.True:pr.False}function oIs(e,t){return Zg(t)?Hg(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsObject(t)?(()=>{for(let n of Object.getOwnPropertyNames(t.properties)){if(!(n in e.properties)&&!hn.IsOptional(t.properties[n]))return pr.False;if(hn.IsOptional(t.properties[n]))return pr.True;if(aKn(e.properties[n],t.properties[n])===pr.False)return pr.False}return pr.True})():pr.False}function sIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)&&iIs(t)?pr.True:hn.IsPromise(t)?Cw(Ju(e.item,t.item)):pr.False}function Ckt(e){return $2 in e.patternProperties?_h():K2 in e.patternProperties?lg():ioe("Unknown record key pattern")}function Ikt(e){return $2 in e.patternProperties?e.patternProperties[$2]:K2 in e.patternProperties?e.patternProperties[K2]:ioe("Unable to get record value schema")}function Iw(e,t){let[n,r]=[Ckt(t),Ikt(t)];return hn.IsLiteralString(e)&&hn.IsNumber(n)&&Cw(Ju(e,r))===pr.True?pr.True:hn.IsUint8Array(e)&&hn.IsNumber(n)||hn.IsString(e)&&hn.IsNumber(n)||hn.IsArray(e)&&hn.IsNumber(n)?Ju(e,r):hn.IsObject(e)?(()=>{for(let i of Object.getOwnPropertyNames(e.properties))if(aKn(r,e.properties[i])===pr.False)return pr.False;return pr.True})():pr.False}function aIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Ju(Ikt(e),Ikt(t)):pr.False}function cIs(e,t){let n=hn.IsRegExp(e)?lg():e,r=hn.IsRegExp(t)?lg():t;return Ju(n,r)}function cKn(e,t){return hn.IsLiteral(e)&&cg.IsString(e.const)||hn.IsString(e)?pr.True:pr.False}function lIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsString(t)?pr.True:pr.False}function uIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsSymbol(t)?pr.True:pr.False}function dIs(e,t){return hn.IsTemplateLiteral(e)?Ju(FP(e),t):hn.IsTemplateLiteral(t)?Ju(e,FP(t)):ioe("Invalid fallthrough for TemplateLiteral")}function pIs(e,t){return hn.IsArray(t)&&e.items!==void 0&&e.items.every(n=>Ju(n,t.items)===pr.True)}function mIs(e,t){return hn.IsNever(e)?pr.True:hn.IsUnknown(e)?pr.False:hn.IsAny(e)?pr.Union:pr.False}function fIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)&&U3e(t)||hn.IsArray(t)&&pIs(e,t)?pr.True:hn.IsTuple(t)?cg.IsUndefined(e.items)&&!cg.IsUndefined(t.items)||!cg.IsUndefined(e.items)&&cg.IsUndefined(t.items)?pr.False:cg.IsUndefined(e.items)&&!cg.IsUndefined(t.items)||e.items.every((n,r)=>Ju(n,t.items[r])===pr.True)?pr.True:pr.False:pr.False}function gIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsUint8Array(t)?pr.True:pr.False}function AIs(e,t){return Zg(t)?Hg(e,t):hn.IsObject(t)?db(e,t):hn.IsRecord(t)?Iw(e,t):hn.IsVoid(t)?yIs(e,t):hn.IsUndefined(t)?pr.True:pr.False}function _kt(e,t){return t.anyOf.some(n=>Ju(e,n)===pr.True)?pr.True:pr.False}function hIs(e,t){return e.anyOf.every(n=>Ju(n,t)===pr.True)?pr.True:pr.False}function lKn(e,t){return pr.True}function EIs(e,t){return hn.IsNever(t)?oKn(e,t):hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)?_kt(e,t):hn.IsAny(t)?Skt(e,t):hn.IsString(t)?cKn(e,t):hn.IsNumber(t)?sKn(e,t):hn.IsInteger(t)?iKn(e,t):hn.IsBoolean(t)?rKn(e,t):hn.IsArray(t)?O0s(e,t):hn.IsTuple(t)?mIs(e,t):hn.IsObject(t)?db(e,t):hn.IsUnknown(t)?pr.True:pr.False}function yIs(e,t){return hn.IsUndefined(e)||hn.IsUndefined(e)?pr.True:pr.False}function bIs(e,t){return hn.IsIntersect(t)?L3e(e,t):hn.IsUnion(t)?_kt(e,t):hn.IsUnknown(t)?lKn(e,t):hn.IsAny(t)?Skt(e,t):hn.IsObject(t)?db(e,t):hn.IsVoid(t)?pr.True:pr.False}function Ju(e,t){return hn.IsTemplateLiteral(e)||hn.IsTemplateLiteral(t)?dIs(e,t):hn.IsRegExp(e)||hn.IsRegExp(t)?cIs(e,t):hn.IsNot(e)||hn.IsNot(t)?$0s(e,t):hn.IsAny(e)?F0s(e,t):hn.IsArray(e)?P0s(e,t):hn.IsBigInt(e)?U0s(e,t):hn.IsBoolean(e)?G0s(e,t):hn.IsAsyncIterator(e)?L0s(e,t):hn.IsConstructor(e)?V0s(e,t):hn.IsDate(e)?W0s(e,t):hn.IsFunction(e)?Y0s(e,t):hn.IsInteger(e)?z0s(e,t):hn.IsIntersect(e)?Z0s(e,t):hn.IsIterator(e)?H0s(e,t):hn.IsLiteral(e)?X0s(e,t):hn.IsNever(e)?J0s(e,t):hn.IsNull(e)?K0s(e,t):hn.IsNumber(e)?j0s(e,t):hn.IsObject(e)?oIs(e,t):hn.IsRecord(e)?aIs(e,t):hn.IsString(e)?lIs(e,t):hn.IsSymbol(e)?uIs(e,t):hn.IsTuple(e)?fIs(e,t):hn.IsPromise(e)?sIs(e,t):hn.IsUint8Array(e)?gIs(e,t):hn.IsUndefined(e)?AIs(e,t):hn.IsUnion(e)?hIs(e,t):hn.IsUnknown(e)?EIs(e,t):hn.IsVoid(e)?bIs(e,t):ioe(`Unknown left type operand '${e[Kn]}'`)}function cD(e,t){return Ju(e,t)}var OIe,pr,vkt=C(()=>{TH();NP();MP();QP();PP();gw();Pie();ao();Ip();C3e();OIe=class extends Zo{};(function(e){e[e.Union=0]="Union",e[e.True=1]="True",e[e.False=2]="False"})(pr||(pr={}))});function CIs(e,t,n,r,i){let o={};for(let s of globalThis.Object.getOwnPropertyNames(e))o[s]=Sw(e[s],t,n,r,Qd(i));return o}function IIs(e,t,n,r,i){return CIs(e.properties,t,n,r,i)}function G3e(e,t,n,r,i){let o=IIs(e,t,n,r,i);return $c(o)}var xkt=C(()=>{ug();V3e();pI()});function SIs(e,t,n,r){let i=cD(e,t);return i===pr.Union?Ha([n,r]):i===pr.True?n:r}function Sw(e,t,n,r,i){return op(e)?G3e(e,t,n,r,i):fI(e)?dr(W3e(e,t,n,r,i)):dr(SIs(e,t,n,r),i)}var V3e=C(()=>{os();Om();vkt();wkt();xkt();Za()});function _Is(e,t,n,r,i){return{[e]:Sw(pa(e),t,n,r,Qd(i))}}function vIs(e,t,n,r,i){return e.reduce((o,s)=>({...o,..._Is(s,t,n,r,i)}),{})}function xIs(e,t,n,r,i){return vIs(e.keys,t,n,r,i)}function W3e(e,t,n,r,i){let o=xIs(e,t,n,r,i);return $c(o)}var wkt=C(()=>{ug();LE();V3e();pI()});function wIs(e){return e.allOf.every(t=>fB(t))}function RIs(e){return e.anyOf.some(t=>fB(t))}function TIs(e){return!fB(e.not)}function fB(e){return e[Kn]==="Intersect"?wIs(e):e[Kn]==="Union"?RIs(e):e[Kn]==="Not"?TIs(e):e[Kn]==="Undefined"}var Y3e=C(()=>{ao()});var nV=C(()=>{vkt();wkt();xkt();Y3e();V3e()});function z3e(e,t){return _w(FP(e),t)}var Rkt=C(()=>{Z3e();gw()});function BIs(e,t){let n=e.filter(r=>cD(r,t)===pr.False);return n.length===1?n[0]:Ha(n)}function _w(e,t,n={}){return gI(e)?dr(z3e(e,t),n):op(e)?dr(H3e(e,t),n):dr(Jc(e)?BIs(e.anyOf,t):cD(e,t)!==pr.False?Es():e,n)}var Z3e=C(()=>{os();Om();af();nV();Tkt();Rkt();Za()});function NIs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=_w(e[r],t);return n}function kIs(e,t){return NIs(e.properties,t)}function H3e(e,t){let n=kIs(e,t);return $c(n)}var Tkt=C(()=>{ug();Z3e()});var PIe=C(()=>{Tkt();Rkt();Z3e()});function X3e(e,t){return vw(FP(e),t)}var Bkt=C(()=>{J3e();gw()});function DIs(e,t){let n=e.filter(r=>cD(r,t)!==pr.False);return n.length===1?n[0]:Ha(n)}function vw(e,t,n){return gI(e)?dr(X3e(e,t),n):op(e)?dr($3e(e,t),n):dr(Jc(e)?DIs(e.anyOf,t):cD(e,t)!==pr.False?e:Es(),n)}var J3e=C(()=>{os();Om();af();nV();Nkt();Bkt();Za()});function MIs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=vw(e[r],t);return n}function QIs(e,t){return MIs(e.properties,t)}function $3e(e,t){let n=QIs(e,t);return $c(n)}var Nkt=C(()=>{ug();J3e()});var LIe=C(()=>{Nkt();Bkt();J3e()});function rV(e,t){return aw(e)?dr(e.returns,t):Es(t)}var uKn=C(()=>{os();af();Za()});var UIe=C(()=>{uKn()});function lD(e){return zg(cf(e))}var dKn=C(()=>{OP();pB()});var ooe=C(()=>{dKn()});function OH(e,t,n){return dr({[Kn]:"Record",type:"object",patternProperties:{[e]:t}},n)}function kkt(e,t,n){let r={};for(let i of e)r[i]=t;return rc(r,{...n,[ib]:"Record"})}function FIs(e,t,n){return Wie(e)?kkt(cb(e),t,n):OH(e.pattern,t,n)}function OIs(e,t,n){return kkt(cb(Ha(e)),t,n)}function PIs(e,t,n){return kkt([e.toString()],t,n)}function LIs(e,t,n){return OH(e.source,t,n)}function UIs(e,t,n){let r=ag(e.pattern)?K2:e.pattern;return OH(r,t,n)}function GIs(e,t,n){return OH(K2,t,n)}function VIs(e,t,n){return OH(I3e,t,n)}function WIs(e,t,n){return rc({true:t,false:t},n)}function YIs(e,t,n){return OH($2,t,n)}function zIs(e,t,n){return OH($2,t,n)}function uD(e,t,n={}){return Jc(e)?OIs(e.anyOf,t,n):gI(e)?FIs(e,t,n):PE(e)?PIs(e.const,t,n):H2(e)?WIs(e,t,n):lw(e)?YIs(e,t,n):uw(e)?zIs(e,t,n):y3e(e)?LIs(e,t,n):X2(e)?UIs(e,t,n):h3e(e)?GIs(e,t,n):RP(e)?VIs(e,t,n):Es(n)}function soe(e){return globalThis.Object.getOwnPropertyNames(e.patternProperties)[0]}function K3e(e){let t=soe(e);return t===K2?lg():t===$2?_h():lg({pattern:t})}function aoe(e){return e.patternProperties[soe(e)]}var pKn=C(()=>{os();ao();af();MP();lb();QP();Om();gw();Pie();Aw();RC();Za()});var PH=C(()=>{pKn()});function ZIs(e,t){return t.parameters=LH(e,t.parameters),t.returns=gB(e,t.returns),t}function HIs(e,t){return t.parameters=LH(e,t.parameters),t.returns=gB(e,t.returns),t}function XIs(e,t){return t.allOf=LH(e,t.allOf),t}function JIs(e,t){return t.anyOf=LH(e,t.anyOf),t}function $Is(e,t){return ag(t.items)||(t.items=LH(e,t.items)),t}function KIs(e,t){return t.items=gB(e,t.items),t}function jIs(e,t){return t.items=gB(e,t.items),t}function qIs(e,t){return t.items=gB(e,t.items),t}function eSs(e,t){return t.item=gB(e,t.item),t}function tSs(e,t){let n=oSs(e,t.properties);return{...t,...rc(n)}}function nSs(e,t){let n=gB(e,K3e(t)),r=gB(e,aoe(t)),i=uD(n,r);return{...t,...i}}function rSs(e,t){return t.index in e?e[t.index]:UE()}function iSs(e,t){let n=wH(t),r=TC(t),i=gB(e,t);return n&&r?lD(i):n&&!r?zg(i):!n&&r?cf(i):i}function oSs(e,t){return globalThis.Object.getOwnPropertyNames(t).reduce((n,r)=>({...n,[r]:iSs(e,t[r])}),{})}function LH(e,t){return t.map(n=>gB(e,n))}function gB(e,t){return aw(t)?ZIs(e,t):cw(t)?HIs(e,t):Xp(t)?XIs(e,t):Jc(t)?JIs(e,t):AI(t)?$Is(e,t):ow(t)?KIs(e,t):Y5(t)?jIs(e,t):Z5(t)?qIs(e,t):H5(t)?eSs(e,t):sf(t)?tSs(e,t):X5(t)?nSs(e,t):E3e(t)?rSs(e,t):t}function iV(e,t){return gB(t,uB(e))}var mKn=C(()=>{m3e();PP();ooe();OP();pB();lb();PH();RC();Za()});var GIe=C(()=>{mKn()});function oV(e){return dr({[Kn]:"Integer",type:"integer"},e)}var fKn=C(()=>{os();ao()});var VIe=C(()=>{fKn()});function sSs(e,t,n){return{[e]:v_(pa(e),t,Qd(n))}}function aSs(e,t,n){return e.reduce((i,o)=>({...i,...sSs(o,t,n)}),{})}function cSs(e,t,n){return aSs(e.keys,t,n)}function j3e(e,t,n){let r=cSs(e,t,n);return $c(r)}var Dkt=C(()=>{ug();UH();LE();pI()});function lSs(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toLowerCase(),n].join("")}function uSs(e){let[t,n]=[e.slice(0,1),e.slice(1)];return[t.toUpperCase(),n].join("")}function dSs(e){return e.toUpperCase()}function pSs(e){return e.toLowerCase()}function mSs(e,t,n){let r=j5(e.pattern);if(!DP(r))return{...e,pattern:gKn(e.pattern,t)};let s=[...DH(r)].map(u=>pa(u)),a=AKn(s,t),c=Ha(a);return eV([c],n)}function gKn(e,t){return typeof e=="string"?t==="Uncapitalize"?lSs(e):t==="Capitalize"?uSs(e):t==="Uppercase"?dSs(e):t==="Lowercase"?pSs(e):e:e.toString()}function AKn(e,t){return e.map(n=>v_(n,t))}function v_(e,t,n={}){return fI(e)?j3e(e,t,n):gI(e)?mSs(e,t,n):Jc(e)?Ha(AKn(e.anyOf,t),n):PE(e)?pa(gKn(e.const,t),n):dr(e,n)}var UH=C(()=>{os();gw();Dkt();LE();Om();Za()});function sV(e,t={}){return v_(e,"Capitalize",t)}var hKn=C(()=>{UH()});function aV(e,t={}){return v_(e,"Lowercase",t)}var EKn=C(()=>{UH()});function cV(e,t={}){return v_(e,"Uncapitalize",t)}var yKn=C(()=>{UH()});function lV(e,t={}){return v_(e,"Uppercase",t)}var bKn=C(()=>{UH()});var WIe=C(()=>{hKn();Dkt();UH();EKn();yKn();bKn()});function fSs(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=CI(e[i],t,Qd(n));return r}function gSs(e,t,n){return fSs(e.properties,t,n)}function q3e(e,t,n){let r=gSs(e,t,n);return $c(r)}var Mkt=C(()=>{ug();eWe();pI()});function ASs(e,t){return e.map(n=>Qkt(n,t))}function hSs(e,t){return e.map(n=>Qkt(n,t))}function ESs(e,t){let{[t]:n,...r}=e;return r}function ySs(e,t){return t.reduce((n,r)=>ESs(n,r),e)}function bSs(e,t,n){let r=Jp(e,[ip,"$id","required","properties"]),i=ySs(n,t);return rc(i,r)}function CSs(e){let t=e.reduce((n,r)=>EIe(r)?[...n,pa(r)]:n,[]);return Ha(t)}function Qkt(e,t){return Xp(e)?Pm(ASs(e.allOf,t)):Jc(e)?Ha(hSs(e.anyOf,t)):sf(e)?bSs(e,t,e.properties):rc({})}function CI(e,t,n){let r=sg(t)?CSs(t):t,i=Sp(t)?cb(t):t,o=Fm(e),s=Fm(t);return op(e)?q3e(e,i,n):fI(t)?tWe(e,t,n):o&&s?Pd("Omit",[e,r],n):!o&&s?Pd("Omit",[e,r],n):o&&!s?Pd("Omit",[e,r],n):dr({...Qkt(e,i),...n})}var eWe=C(()=>{os();x3e();hIe();$5();LE();Aw();yI();Om();lb();Fkt();Mkt();Za();RC()});function ISs(e,t,n){return{[t]:CI(e,[t],Qd(n))}}function SSs(e,t,n){return t.reduce((r,i)=>({...r,...ISs(e,i,n)}),{})}function _Ss(e,t,n){return SSs(e,t.keys,n)}function tWe(e,t,n){let r=_Ss(e,t,n);return $c(r)}var Fkt=C(()=>{ug();eWe();pI()});var coe=C(()=>{Fkt();Mkt();eWe()});function vSs(e,t,n){let r={};for(let i of globalThis.Object.getOwnPropertyNames(e))r[i]=II(e[i],t,Qd(n));return r}function xSs(e,t,n){return vSs(e.properties,t,n)}function nWe(e,t,n){let r=xSs(e,t,n);return $c(r)}var Okt=C(()=>{ug();rWe();pI()});function wSs(e,t){return e.map(n=>Pkt(n,t))}function RSs(e,t){return e.map(n=>Pkt(n,t))}function TSs(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function BSs(e,t,n){let r=Jp(e,[ip,"$id","required","properties"]),i=TSs(n,t);return rc(i,r)}function NSs(e){let t=e.reduce((n,r)=>EIe(r)?[...n,pa(r)]:n,[]);return Ha(t)}function Pkt(e,t){return Xp(e)?Pm(wSs(e.allOf,t)):Jc(e)?Ha(RSs(e.anyOf,t)):sf(e)?BSs(e,t,e.properties):rc({})}function II(e,t,n){let r=sg(t)?NSs(t):t,i=Sp(t)?cb(t):t,o=Fm(e),s=Fm(t);return op(e)?nWe(e,i,n):fI(t)?iWe(e,t,n):o&&s?Pd("Pick",[e,r],n):!o&&s?Pd("Pick",[e,r],n):o&&!s?Pd("Pick",[e,r],n):dr({...Pkt(e,i),...n})}var rWe=C(()=>{os();x3e();$5();yI();LE();lb();Om();Aw();hIe();Za();RC();Lkt();Okt()});function kSs(e,t,n){return{[t]:II(e,[t],Qd(n))}}function DSs(e,t,n){return t.reduce((r,i)=>({...r,...kSs(e,i,n)}),{})}function MSs(e,t,n){return DSs(e,t.keys,n)}function iWe(e,t,n){let r=MSs(e,t,n);return $c(r)}var Lkt=C(()=>{ug();rWe();pI()});var loe=C(()=>{Lkt();Okt();rWe()});function QSs(e,t){return Pd("Partial",[Pd(e,t)])}function FSs(e){return Pd("Partial",[xh(e)])}function OSs(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=cf(e[n]);return t}function PSs(e,t){let n=Jp(e,[ip,"$id","required","properties"]),r=OSs(t);return rc(r,n)}function CKn(e){return e.map(t=>IKn(t))}function IKn(e){return sw(e)?QSs(e.target,e.parameters):Fm(e)?FSs(e.$ref):Xp(e)?Pm(CKn(e.allOf)):Jc(e)?Ha(CKn(e.anyOf)):sf(e)?PSs(e,e.properties):z5(e)||H2(e)||lw(e)||PE(e)||Fie(e)||uw(e)||X2(e)||Oie(e)||J2(e)?e:rc({})}function xw(e,t){return op(e)?oWe(e,t):dr({...IKn(e),...t})}var Ukt=C(()=>{os();$5();pB();lb();yI();Om();nD();j2();ao();Gkt();Za()});function LSs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=xw(e[r],Qd(t));return n}function USs(e,t){return LSs(e.properties,t)}function oWe(e,t){let n=USs(e,t);return $c(n)}var Gkt=C(()=>{ug();Ukt();pI()});var uoe=C(()=>{Gkt();Ukt()});function GSs(e,t){return Pd("Required",[Pd(e,t)])}function VSs(e){return Pd("Required",[xh(e)])}function WSs(e){let t={};for(let n of globalThis.Object.getOwnPropertyNames(e))t[n]=Jp(e[n],[wA]);return t}function YSs(e,t){let n=Jp(e,[ip,"$id","required","properties"]),r=WSs(t);return rc(r,n)}function SKn(e){return e.map(t=>_Kn(t))}function _Kn(e){return sw(e)?GSs(e.target,e.parameters):Fm(e)?VSs(e.$ref):Xp(e)?Pm(SKn(e.allOf)):Jc(e)?Ha(SKn(e.anyOf)):sf(e)?YSs(e,e.properties):z5(e)||H2(e)||lw(e)||PE(e)||Fie(e)||uw(e)||X2(e)||Oie(e)||J2(e)?e:rc({})}function ww(e,t){return op(e)?sWe(e,t):dr({..._Kn(e),...t})}var Vkt=C(()=>{os();$5();lb();yI();Om();nD();ao();j2();Wkt();Za()});function zSs(e,t){let n={};for(let r of globalThis.Object.getOwnPropertyNames(e))n[r]=ww(e[r],t);return n}function ZSs(e,t){return zSs(e.properties,t)}function sWe(e,t){let n=ZSs(e,t);return $c(n)}var Wkt=C(()=>{ug();Vkt()});var doe=C(()=>{Wkt();Vkt()});function HSs(e,t){return t.map(n=>Fm(n)?Ykt(e,n.$ref):x_(e,n))}function Ykt(e,t){return t in e?Fm(e[t])?Ykt(e,e[t].$ref):x_(e,e[t]):Es()}function XSs(e){return yw(e[0])}function JSs(e){return EI(e[0],e[1])}function $Ss(e){return bw(e[0])}function KSs(e){return xw(e[0])}function jSs(e){return CI(e[0],e[1])}function qSs(e){return II(e[0],e[1])}function e_s(e){return ww(e[0])}function t_s(e,t,n){let r=HSs(e,n);return t==="Awaited"?XSs(r):t==="Index"?JSs(r):t==="KeyOf"?$Ss(r):t==="Partial"?KSs(r):t==="Omit"?jSs(r):t==="Pick"?qSs(r):t==="Required"?e_s(r):Es()}function n_s(e,t){return S_(x_(e,t))}function r_s(e,t){return dw(x_(e,t))}function i_s(e,t,n){return pw(YIe(e,t),x_(e,n))}function o_s(e,t,n){return ab(YIe(e,t),x_(e,n))}function s_s(e,t){return Pm(YIe(e,t))}function a_s(e,t){return hw(x_(e,t))}function c_s(e,t){return rc(globalThis.Object.keys(t).reduce((n,r)=>({...n,[r]:x_(e,t[r])}),{}))}function l_s(e,t){let[n,r]=[x_(e,aoe(t)),soe(t)],i=uB(t);return i.patternProperties[r]=n,i}function u_s(e,t){return Fm(t)?{...Ykt(e,t.$ref),[ip]:t[ip]}:t}function d_s(e,t){return vh(YIe(e,t))}function p_s(e,t){return Ha(YIe(e,t))}function YIe(e,t){return t.map(n=>x_(e,n))}function x_(e,t){return TC(t)?dr(x_(e,Jp(t,[wA])),t):wH(t)?dr(x_(e,Jp(t,[I_])),t):Nl(t)?dr(u_s(e,t),t):ow(t)?dr(n_s(e,t.items),t):Y5(t)?dr(r_s(e,t.items),t):sw(t)?dr(t_s(e,t.target,t.parameters)):aw(t)?dr(i_s(e,t.parameters,t.returns),t):cw(t)?dr(o_s(e,t.parameters,t.returns),t):Xp(t)?dr(s_s(e,t.allOf),t):Z5(t)?dr(a_s(e,t.items),t):sf(t)?dr(c_s(e,t.properties),t):X5(t)?dr(l_s(e,t)):AI(t)?dr(d_s(e,t.items||[]),t):Jc(t)?dr(p_s(e,t.anyOf),t):t}function m_s(e,t){return t in e?x_(e,e[t]):Es()}function vKn(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:m_s(e,n)}),{})}var xKn=C(()=>{wP();f3e();j2();BH();Xie();NH();kH();Aw();NP();yI();FH();__();lb();coe();loe();af();uoe();PH();doe();tD();Om();ao();Za()});function poe(e){return new zIe(e)}var zIe,wKn=C(()=>{wP();ao();xKn();zIe=class{constructor(t){let n=vKn(t),r=this.WithIdentifiers(n);this.$defs=r}Import(t,n){let r={...this.$defs,[t]:dr(this.$defs[t],n)};return dr({[Kn]:"Import",$defs:r,$ref:t})}WithIdentifiers(t){return globalThis.Object.getOwnPropertyNames(t).reduce((n,r)=>({...n,[r]:{...t[r],$id:r}}),{})}}});var ZIe=C(()=>{wKn()});function moe(e,t){return dr({[Kn]:"Not",not:e},t)}var RKn=C(()=>{os();ao()});var HIe=C(()=>{RKn()});function uV(e,t){return cw(e)?vh(e.parameters,t):Es()}var TKn=C(()=>{tD();af();Za()});var XIe=C(()=>{TKn()});function foe(e,t={}){ag(t.$id)&&(t.$id=`T${f_s++}`);let n=uB(e({[Kn]:"This",$ref:`${t.$id}`}));return n.$id=t.$id,dr({[ib]:"Recursive",...n},t)}var f_s,BKn=C(()=>{m3e();os();RC();ao();f_s=0});var JIe=C(()=>{BKn()});function goe(e,t){let n=pd(e)?new globalThis.RegExp(e):e;return dr({[Kn]:"RegExp",type:"RegExp",source:n.source,flags:n.flags},t)}var NKn=C(()=>{os();RC();ao()});var $Ie=C(()=>{NKn()});function g_s(e){return Xp(e)?e.allOf:Jc(e)?e.anyOf:AI(e)?e.items??[]:[]}function Aoe(e){return g_s(e)}var kKn=C(()=>{Za()});var KIe=C(()=>{kKn()});function dV(e,t){return cw(e)?dr(e.returns,t):Es(t)}var DKn=C(()=>{os();af();Za()});var jIe=C(()=>{DKn()});var MKn=C(()=>{});var QKn=C(()=>{});var zkt=C(()=>{MKn();QKn()});var FKn=C(()=>{});var Zkt=C(()=>{FKn()});function hoe(e){return new qIe(e)}var qIe,eSe,OKn=C(()=>{ao();Za();qIe=class{constructor(t){this.schema=t}Decode(t){return new eSe(this.schema,t)}},eSe=class{constructor(t,n){this.schema=t,this.decode=n}EncodeTransform(t,n){let o={Encode:s=>n[ip].Encode(t(s)),Decode:s=>this.decode(n[ip].Decode(s))};return{...n,[ip]:o}}EncodeSchema(t,n){let r={Decode:this.decode,Encode:t};return{...n,[ip]:r}}Encode(t){return Nl(this.schema)?this.EncodeTransform(t,this.schema):this.EncodeSchema(t,this.schema)}}});var tSe=C(()=>{OKn()});function pV(e={}){return dr({[Kn]:e[Kn]??"Unsafe"},e)}var PKn=C(()=>{os();ao()});var Eoe=C(()=>{PKn()});function mV(e){return dr({[Kn]:"Void",type:"void"},e)}var LKn=C(()=>{os();ao()});var nSe=C(()=>{LKn()});var GH,Hkt=C(()=>{TH();BH();Yie();DIe();MIe();FIe();PIe();nV();LIe();Aw();VIe();yI();WIe();__();LE();ug();af();HIe();jie();ZIe();MP();lb();coe();pB();uoe();loe();OP();ooe();PH();JIe();nD();doe();KIe();QP();gw();tSe();tD();Om();PP();Eoe();GH=class{ReadonlyOptional(t){return lD(t)}Readonly(t,n){return zg(t,n??!0)}Optional(t,n){return cf(t,n??!0)}Any(t){return hI(t)}Array(t,n){return S_(t,n)}Boolean(t){return q2(t)}Capitalize(t,n){return sV(t,n)}Composite(t,n){return $ie(t,n)}Const(t,n){return noe(t,n)}Enum(t,n){return roe(t,n)}Exclude(t,n,r){return _w(t,n,r)}Extends(t,n,r,i,o){return Sw(t,n,r,i,o)}Extract(t,n,r){return vw(t,n,r)}Index(t,n,r){return EI(t,n,r)}Integer(t){return oV(t)}Intersect(t,n){return Pm(t,n)}KeyOf(t,n){return bw(t,n)}Literal(t,n){return pa(t,n)}Lowercase(t,n){return aV(t,n)}Mapped(t,n,r){return Hie(t,n,r)}Module(t){return poe(t)}Never(t){return Es(t)}Not(t,n){return moe(t,n)}Null(t){return iD(t)}Number(t){return _h(t)}Object(t,n){return rc(t,n)}Omit(t,n,r){return CI(t,n,r)}Partial(t,n){return xw(t,n)}Pick(t,n,r){return II(t,n,r)}Record(t,n,r){return uD(t,n,r)}Recursive(t,n){return foe(t,n)}Ref(...t){return xh(t[0],t[1])}Required(t,n){return ww(t,n)}Rest(t){return Aoe(t)}String(t){return lg(t)}TemplateLiteral(t,n){return eV(t,n)}Transform(t){return hoe(t)}Tuple(t,n){return vh(t,n)}Uncapitalize(t,n){return cV(t,n)}Union(t,n){return Ha(t,n)}Unknown(t){return UE(t)}Unsafe(t){return pV(t)}Uppercase(t,n){return lV(t,n)}}});var Xkt={};ai(Xkt,{Any:()=>hI,Argument:()=>BP,Array:()=>S_,AsyncIterator:()=>dw,Awaited:()=>yw,BigInt:()=>fw,Boolean:()=>q2,Capitalize:()=>sV,Composite:()=>$ie,Const:()=>noe,Constructor:()=>pw,ConstructorParameters:()=>tV,Date:()=>rD,Enum:()=>roe,Exclude:()=>_w,Extends:()=>Sw,Extract:()=>vw,Function:()=>ab,Index:()=>EI,InstanceType:()=>rV,Instantiate:()=>iV,Integer:()=>oV,Intersect:()=>Pm,Iterator:()=>hw,KeyOf:()=>bw,Literal:()=>pa,Lowercase:()=>aV,Mapped:()=>Hie,Module:()=>poe,Never:()=>Es,Not:()=>moe,Null:()=>iD,Number:()=>_h,Object:()=>rc,Omit:()=>CI,Optional:()=>cf,Parameters:()=>uV,Partial:()=>xw,Pick:()=>II,Promise:()=>eD,Readonly:()=>zg,ReadonlyOptional:()=>lD,Record:()=>uD,Recursive:()=>foe,Ref:()=>xh,RegExp:()=>goe,Required:()=>ww,Rest:()=>Aoe,ReturnType:()=>dV,String:()=>lg,Symbol:()=>oD,TemplateLiteral:()=>eV,Transform:()=>hoe,Tuple:()=>vh,Uint8Array:()=>aD,Uncapitalize:()=>cV,Undefined:()=>sD,Union:()=>Ha,Unknown:()=>UE,Unsafe:()=>pV,Uppercase:()=>lV,Void:()=>mV});var UKn=C(()=>{TH();_Ie();BH();NH();Xie();MH();Yie();DIe();MIe();kH();QIe();Kie();FIe();PIe();nV();LIe();NP();Aw();UIe();GIe();VIe();yI();WIe();FH();__();LE();ug();ZIe();af();HIe();jie();MP();lb();coe();pB();XIe();uoe();loe();Zie();OP();ooe();PH();JIe();nD();$Ie();doe();KIe();jIe();QP();qie();gw();tSe();tD();toe();eoe();Om();PP();Eoe();nSe()});var rSe,GKn=C(()=>{Hkt();_Ie();NH();Xie();MH();kH();QIe();Kie();NP();UIe();GIe();FH();XIe();Zie();$Ie();jIe();qie();toe();eoe();nSe();rSe=class extends GH{Argument(t){return BP(t)}AsyncIterator(t,n){return dw(t,n)}Awaited(t,n){return yw(t,n)}BigInt(t){return fw(t)}ConstructorParameters(t,n){return tV(t,n)}Constructor(t,n,r){return pw(t,n,r)}Date(t={}){return rD(t)}Function(t,n,r){return ab(t,n,r)}InstanceType(t,n){return rV(t,n)}Instantiate(t,n){return iV(t,n)}Iterator(t,n){return hw(t,n)}Parameters(t,n){return uV(t,n)}Promise(t,n){return eD(t,n)}RegExp(t,n){return goe(t,n)}ReturnType(t,n){return dV(t,n)}Symbol(t){return oD(t)}Undefined(t){return sD(t)}Uint8Array(t){return aD(t)}Void(t){return mV(t)}}});var fe,Jkt=C(()=>{Hkt();UKn();GKn();fe=Xkt});var VH={};ai(VH,{Any:()=>hI,Argument:()=>BP,Array:()=>S_,AsyncIterator:()=>dw,Awaited:()=>yw,BigInt:()=>fw,Boolean:()=>q2,Capitalize:()=>sV,Clone:()=>Qd,CloneRest:()=>XXn,CloneType:()=>uB,Composite:()=>$ie,Const:()=>noe,Constructor:()=>pw,ConstructorParameters:()=>tV,CreateType:()=>dr,Date:()=>rD,Enum:()=>roe,Exclude:()=>_w,ExcludeFromMappedResult:()=>H3e,ExcludeFromTemplateLiteral:()=>z3e,Extends:()=>Sw,ExtendsCheck:()=>cD,ExtendsFromMappedKey:()=>W3e,ExtendsFromMappedResult:()=>G3e,ExtendsResolverError:()=>OIe,ExtendsResult:()=>pr,ExtendsUndefinedCheck:()=>fB,Extract:()=>vw,ExtractFromMappedResult:()=>$3e,ExtractFromTemplateLiteral:()=>X3e,FormatRegistry:()=>sb,FromTypes:()=>LH,Function:()=>ab,Hint:()=>ib,Increment:()=>zJn,Index:()=>EI,IndexFromComputed:()=>w$n,IndexFromMappedKey:()=>D3e,IndexFromMappedResult:()=>B3e,IndexFromPropertyKey:()=>N3e,IndexFromPropertyKeys:()=>QH,IndexPropertyKeys:()=>cb,InstanceType:()=>rV,Instantiate:()=>iV,Integer:()=>oV,Intersect:()=>Pm,IntersectEvaluated:()=>zie,Intrinsic:()=>v_,IntrinsicFromMappedKey:()=>j3e,IsTemplateLiteralExpressionFinite:()=>DP,IsTemplateLiteralFinite:()=>Wie,Iterator:()=>hw,JavaScriptTypeBuilder:()=>rSe,JsonTypeBuilder:()=>GH,KeyOf:()=>bw,KeyOfFromMappedResult:()=>O3e,KeyOfPattern:()=>mB,KeyOfPropertyEntries:()=>Jie,KeyOfPropertyKeys:()=>ub,KeyOfPropertyKeysToRest:()=>Akt,Kind:()=>Kn,KindGuard:()=>ob,Literal:()=>pa,Lowercase:()=>aV,Mapped:()=>Hie,MappedFunctionReturnType:()=>dkt,MappedKey:()=>a$n,MappedResult:()=>$c,Module:()=>poe,Never:()=>Es,Not:()=>moe,Null:()=>iD,Number:()=>_h,Object:()=>rc,Omit:()=>CI,OmitFromMappedKey:()=>tWe,OmitFromMappedResult:()=>q3e,Optional:()=>cf,OptionalFromMappedResult:()=>Q3e,OptionalKind:()=>wA,Parameters:()=>uV,Partial:()=>xw,PartialFromMappedResult:()=>oWe,PatternBoolean:()=>CIe,PatternBooleanExact:()=>HJn,PatternNever:()=>KNt,PatternNeverExact:()=>I3e,PatternNumber:()=>RH,PatternNumberExact:()=>$2,PatternString:()=>IIe,PatternStringExact:()=>K2,Pick:()=>II,PickFromMappedKey:()=>iWe,PickFromMappedResult:()=>nWe,Promise:()=>eD,Readonly:()=>zg,ReadonlyFromMappedResult:()=>M3e,ReadonlyKind:()=>I_,ReadonlyOptional:()=>lD,Record:()=>uD,RecordKey:()=>K3e,RecordPattern:()=>soe,RecordValue:()=>aoe,Recursive:()=>foe,Ref:()=>xh,RegExp:()=>goe,Required:()=>ww,RequiredFromMappedResult:()=>sWe,Rest:()=>Aoe,ReturnType:()=>dV,SetComplement:()=>qJn,SetDistinct:()=>S3e,SetIncludes:()=>SIe,SetIntersect:()=>jNt,SetIntersectMany:()=>_3e,SetIsSubset:()=>KJn,SetUnion:()=>jJn,SetUnionMany:()=>v3e,String:()=>lg,Symbol:()=>oD,TModule:()=>zIe,TemplateLiteral:()=>eV,TemplateLiteralExpressionGenerate:()=>DH,TemplateLiteralFiniteError:()=>wIe,TemplateLiteralGenerate:()=>q5,TemplateLiteralGenerateError:()=>RIe,TemplateLiteralParse:()=>K5,TemplateLiteralParseExact:()=>j5,TemplateLiteralParserError:()=>Vie,TemplateLiteralPattern:()=>BIe,TemplateLiteralPatternError:()=>TIe,TemplateLiteralSyntax:()=>R3e,TemplateLiteralToUnion:()=>FP,Transform:()=>hoe,TransformDecodeBuilder:()=>qIe,TransformEncodeBuilder:()=>eSe,TransformKind:()=>ip,Tuple:()=>vh,Type:()=>fe,TypeBoxError:()=>Zo,TypeGuard:()=>hn,TypeRegistry:()=>Yg,Uint8Array:()=>aD,Uncapitalize:()=>cV,Undefined:()=>sD,Union:()=>Ha,UnionEvaluated:()=>mw,Unknown:()=>UE,Unsafe:()=>pV,Uppercase:()=>lV,ValueGuard:()=>cg,Void:()=>mV});var Us=C(()=>{f3e();wP();Ip();C3e();$Nt();Pie();J5();Gie();ao();TH();BH();_Ie();NH();Xie();MH();Yie();DIe();MIe();kH();QIe();Kie();FIe();PIe();nV();LIe();NP();Aw();UIe();GIe();VIe();yI();FH();WIe();__();LE();ZIe();ug();af();HIe();jie();MP();lb();coe();pB();XIe();uoe();loe();Zie();OP();ooe();PH();JIe();nD();$Ie();doe();KIe();jIe();zkt();Zkt();QP();qie();gw();tSe();tD();toe();eoe();Om();PP();Eoe();nSe();Jkt()});function A_s(e,t){return(n,r,i)=>{if(n.api!==e)throw new Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function h_s(e,t){return(n,r,i)=>{if(n.api!==e)throw new Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function LP(e,t){yoe.set(e.api,{provider:{api:e.api,stream:A_s(e.api,e.stream),streamSimple:h_s(e.api,e.streamSimple)},sourceId:t})}function $kt(e){return yoe.get(e)?.provider}function E_s(){return Array.from(yoe.values(),e=>e.provider)}function Kkt(e){for(let[t,n]of yoe.entries())n.sourceId===e&&yoe.delete(t)}function jkt(){yoe.clear()}var yoe,iSe=C(()=>{"use strict";yoe=new Map});function w_(e){if(process.versions?.bun&&!(typeof process>"u")&&!(Object.keys(process.env).length>0)){if(aWe===null){aWe=new Map;try{let{readFileSync:t}=nt("node:fs"),n=t("/proc/self/environ","utf-8");for(let r of n.split("\0")){let i=r.indexOf("=");i>0&&aWe.set(r.slice(0,i),r.slice(i+1))}}catch{}}return aWe.get(e)}}function I_s(){if(oSe===null){if(!cWe||!e2t||!t2t)return typeof process<"u"&&(process.versions?.node||process.versions?.bun)||(oSe=!1),!1;let e=process.env.GOOGLE_APPLICATION_CREDENTIALS||w_("GOOGLE_APPLICATION_CREDENTIALS");e?oSe=cWe(e):oSe=cWe(t2t(e2t(),".config","gcloud","application_default_credentials.json"))}return oSe}function S_s(e){if(e==="github-copilot")return["COPILOT_GITHUB_TOKEN","GH_TOKEN","GITHUB_TOKEN"];if(e==="anthropic")return["ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"];let n={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"}[e];return n?[n]:void 0}function VKn(e){let t=S_s(e);if(!t)return;let n=t.filter(r=>!!process.env[r]||!!w_(r));return n.length>0?n:void 0}function bu(e){let t=VKn(e);if(t?.[0])return process.env[t[0]]||w_(t[0]);if(e==="google-vertex"){let n=I_s(),r=!!(process.env.GOOGLE_CLOUD_PROJECT||process.env.GCLOUD_PROJECT||w_("GOOGLE_CLOUD_PROJECT")||w_("GCLOUD_PROJECT")),i=!!(process.env.GOOGLE_CLOUD_LOCATION||w_("GOOGLE_CLOUD_LOCATION"));if(n&&r&&i)return"<authenticated>"}if(e==="amazon-bedrock"&&(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||w_("AWS_PROFILE")||w_("AWS_ACCESS_KEY_ID")&&w_("AWS_SECRET_ACCESS_KEY")||w_("AWS_BEARER_TOKEN_BEDROCK")||w_("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")||w_("AWS_CONTAINER_CREDENTIALS_FULL_URI")||w_("AWS_WEB_IDENTITY_TOKEN_FILE")))return"<authenticated>"}var cWe,e2t,t2t,qkt,y_s,b_s,C_s,aWe,oSe,dD=C(()=>{"use strict";cWe=null,e2t=null,t2t=null,qkt=e=>import(e),y_s="node:fs",b_s="node:os",C_s="node:path";typeof process<"u"&&(process.versions?.node||process.versions?.bun)&&(qkt(y_s).then(e=>{cWe=e.existsSync}),qkt(b_s).then(e=>{e2t=e.homedir}),qkt(C_s).then(e=>{t2t=e.join}));aWe=null;oSe=null});var WKn,YKn=C(()=>{"use strict";WKn={"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:.33,output:2.75,cacheRead:.0825,cacheWrite:.33},contextWindow:1e6,maxTokens:65535},"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:.06,output:.24,cacheRead:.015,cacheWrite:.06},contextWindow:3e5,maxTokens:1e4},"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:.035,output:.14,cacheRead:.00875,cacheWrite:.035},contextWindow:128e3,maxTokens:1e4},"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:.8,output:3.2,cacheRead:.2,cacheWrite:.8},contextWindow:3e5,maxTokens:1e4},"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:128e3},"anthropic.claude-fable-5-1":{id:"anthropic.claude-fable-5-1",name:"Claude Fable 5.1",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:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"apac.amazon.nova-lite-v1:0":{id:"apac.amazon.nova-lite-v1:0",name:"Nova Lite (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.063,output:.252,cacheRead:.01575,cacheWrite:.063},contextWindow:3e5,maxTokens:1e4},"apac.amazon.nova-micro-v1:0":{id:"apac.amazon.nova-micro-v1:0",name:"Nova Micro (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.037,output:.148,cacheRead:.00925,cacheWrite:.037},contextWindow:128e3,maxTokens:1e4},"apac.amazon.nova-pro-v1:0":{id:"apac.amazon.nova-pro-v1:0",name:"Nova Pro (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.84,output:3.36,cacheRead:.21,cacheWrite:.84},contextWindow:3e5,maxTokens:1e4},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"au.anthropic.claude-opus-4-7":{id:"au.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (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.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"ca.amazon.nova-lite-v1:0":{id:"ca.amazon.nova-lite-v1:0",name:"Nova Lite (CA)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.064,output:.256,cacheRead:.016,cacheWrite:.064},contextWindow:3e5,maxTokens:1e4},"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:.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:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"eu.amazon.nova-2-lite-v1:0":{id:"eu.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.374,output:3.157,cacheRead:.0935,cacheWrite:.374},contextWindow:1e6,maxTokens:65535},"eu.amazon.nova-lite-v1:0":{id:"eu.amazon.nova-lite-v1:0",name:"Nova Lite (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.069,output:.276,cacheRead:.01725,cacheWrite:.069},contextWindow:3e5,maxTokens:1e4},"eu.amazon.nova-micro-v1:0":{id:"eu.amazon.nova-micro-v1:0",name:"Nova Micro (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.04,output:.16,cacheRead:.01,cacheWrite:.04},contextWindow:128e3,maxTokens:1e4},"eu.amazon.nova-pro-v1:0":{id:"eu.amazon.nova-pro-v1:0",name:"Nova Pro (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.92,output:3.68,cacheRead:.23,cacheWrite:.92},contextWindow:3e5,maxTokens:1e4},"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:128e3},"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:.11,cacheWrite:1.375},contextWindow:2e5,maxTokens:64e3},"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:.55,cacheWrite:6.875},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3},"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:.33,cacheWrite:4.125},contextWindow:2e5,maxTokens:64e3},"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:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:64e3},"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:.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3},"eu.mistral.pixtral-large-2502-v1:0":{id:"eu.mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02) (EU)",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:128e3,maxTokens:8192},"global.amazon.nova-2-lite-v1:0":{id:"global.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (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:2.5,cacheRead:.075,cacheWrite:.3},contextWindow:1e6,maxTokens:65535},"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:128e3},"global.anthropic.claude-fable-5-1":{id:"global.anthropic.claude-fable-5-1",name:"Claude Fable 5.1 (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:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"global.openai.gpt-5.6-luna":{id:"global.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (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:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"global.openai.gpt-5.6-sol":{id:"global.openai.gpt-5.6-sol",name:"GPT-5.6 Sol (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"global.openai.gpt-5.6-terra":{id:"global.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (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:12,cacheRead:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"global.openai.gpt-6-astra":{id:"global.openai.gpt-6-astra",name:"GPT-6 Astra (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:105e4,maxTokens:128e3},"global.xai.grok-4.6":{id:"global.xai.grok-4.6",name:"Grok 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:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"google.gemma-4-26b-a4b":{id:"google.gemma-4-26b-a4b",name:"Gemma 4 26B A4B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.13,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google.gemma-4-31b":{id:"google.gemma-4-31b",name:"Gemma 4 31B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.14,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google.gemma-4-e2b":{id:"google.gemma-4-e2b",name:"Gemma 4 E2B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.04,output:.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"in.openai.gpt-5.6-luna":{id:"in.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (India)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.22,output:1.32,cacheRead:.022,cacheWrite:.275},contextWindow:105e4,maxTokens:128e3},"in.openai.gpt-5.6-terra":{id:"in.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (India)",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:.22,cacheWrite:2.75},contextWindow:105e4,maxTokens:128e3},"jp.amazon.nova-2-lite-v1:0":{id:"jp.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.396,output:3.311,cacheRead:.099,cacheWrite:.396},contextWindow:1e6,maxTokens:65535},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"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:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:8192},"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:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204608,maxTokens:128e3},"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:.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:.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:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e4},"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","image"],cost:{input:.2,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:256e3,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","image"],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:128e3,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:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:32768,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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32768,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:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16e3},"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:.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:262143,maxTokens:16384},"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:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"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:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192},"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:.06,output:.23,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"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:.15,output:.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:.275,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.55,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.22,output:1.32,cacheRead:.022,cacheWrite:.275},contextWindow:105e4,maxTokens:128e3},"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:4.4,output:22,cacheRead:.44,cacheWrite:5.5},contextWindow:105e4,maxTokens:128e3},"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:.22,cacheWrite:2.75},contextWindow:105e4,maxTokens:128e3},"openai.gpt-6-astra":{id:"openai.gpt-6-astra",name:"GPT-6 Astra",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:105e4,maxTokens:128e3},"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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:!0,input:["text"],cost:{input:.07,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B-A22B Instruct 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:32768,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:.15,output:.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:.45,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:!1,input:["text"],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"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:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262e3},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"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:.53,output:2.66,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262e3},"us-gov.openai.gpt-oss-120b-1:0":{id:"us-gov.openai.gpt-oss-120b-1:0",name:"gpt-oss-120b (GovCloud)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.18,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"us-gov.openai.gpt-oss-20b-1:0":{id:"us-gov.openai.gpt-oss-20b-1:0",name:"gpt-oss-20b (GovCloud)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.084,output:.36,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"us.amazon.nova-2-lite-v1:0":{id:"us.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.33,output:2.75,cacheRead:.0825,cacheWrite:.33},contextWindow:1e6,maxTokens:65535},"us.amazon.nova-lite-v1:0":{id:"us.amazon.nova-lite-v1:0",name:"Nova Lite (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.06,output:.24,cacheRead:.015,cacheWrite:.06},contextWindow:3e5,maxTokens:1e4},"us.amazon.nova-micro-v1:0":{id:"us.amazon.nova-micro-v1:0",name:"Nova Micro (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.035,output:.14,cacheRead:.00875,cacheWrite:.035},contextWindow:128e3,maxTokens:1e4},"us.amazon.nova-premier-v1:0":{id:"us.amazon.nova-premier-v1:0",name:"Nova Premier (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.625,cacheWrite:2.5},contextWindow:1e6,maxTokens:1e4},"us.amazon.nova-pro-v1:0":{id:"us.amazon.nova-pro-v1:0",name:"Nova Pro (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.8,output:3.2,cacheRead:.2,cacheWrite:.8},contextWindow:3e5,maxTokens:1e4},"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:128e3},"us.anthropic.claude-fable-5-1":{id:"us.anthropic.claude-fable-5-1",name:"Claude Fable 5.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:11,output:55,cacheRead:.275,cacheWrite:13.75},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"us.meta.llama3-1-70b-instruct-v1:0":{id:"us.meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"us.meta.llama3-1-8b-instruct-v1:0":{id:"us.meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"us.meta.llama3-3-70b-instruct-v1:0":{id:"us.meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"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:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"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:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:8192},"us.mistral.pixtral-large-2502-v1:0":{id:"us.mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02) (US)",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:128e3,maxTokens:8192},"us.openai.gpt-5.6-luna":{id:"us.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.22,output:1.32,cacheRead:.022,cacheWrite:.275},contextWindow:105e4,maxTokens:128e3},"us.openai.gpt-5.6-sol":{id:"us.openai.gpt-5.6-sol",name:"GPT-5.6 Sol (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.44,cacheWrite:5.5},contextWindow:105e4,maxTokens:128e3},"us.openai.gpt-5.6-terra":{id:"us.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (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.2,output:13.2,cacheRead:.22,cacheWrite:2.75},contextWindow:105e4,maxTokens:128e3},"us.openai.gpt-6-astra":{id:"us.openai.gpt-6-astra",name:"GPT-6 Astra (US)",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:105e4,maxTokens:128e3},"us.writer.palmyra-x4-v1:0":{id:"us.writer.palmyra-x4-v1:0",name:"Palmyra X4 (US)",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},"us.writer.palmyra-x5-v1:0":{id:"us.writer.palmyra-x5-v1:0",name:"Palmyra X5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,maxTokens:8192},"us.xai.grok-4.6":{id:"us.xai.grok-4.6",name:"Grok 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:2.2,output:6.6,cacheRead:.55,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"xai.grok-4.6":{id:"xai.grok-4.6",name:"Grok 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:2.2,output:6.6,cacheRead:.55,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.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:.07,output:.4,cacheRead:0,cacheWrite:0},contextWindow:2e5,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:131072}},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:128e3},"claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3}},"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:128e3,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:.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:.4,output:1.6,cacheRead:.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:.1,output:.4,cacheRead:.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:128e3,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:128e3,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:128e3,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:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:128e3,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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:272e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:1.25},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:105e4,maxTokens:128e3},"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:.4,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},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:2e5,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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:2e5,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:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5}},cerebras:{"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:.35,output:.75,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960},"qwen-3.8-27b":{id:"qwen-3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text","image"],cost:{input:.99,output:1.49,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:32768}},"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:128e3},"claude-fable-5.1":{id:"claude-fable-5.1",name:"Claude Fable 5.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:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:32e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.15,cacheWrite:0},contextWindow:2e5,maxTokens:64e3},"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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:264e3,maxTokens:64e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:5e5,maxTokens:128e3},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",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:.5,cacheWrite:0},contextWindow:5e5,maxTokens:128e3},"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:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:256e3,maxTokens:128e3},"mai-code-1.1-flash":{id:"mai-code-1.1-flash",name:"MAI-Code-1.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","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:0},contextWindow:256e3,maxTokens:128e3}},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:.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:.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:.3,output:2.5,cacheRead:.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:.1,output:.4,cacheRead:.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:.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:.5,output:3,cacheRead:.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:.25,output:1.5,cacheRead:.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:.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:.25,output:1.5,cacheRead:.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:.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:.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:.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:.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:.3,output:2.5,cacheRead:.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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,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:.75,output:3.75,cacheRead:.075,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:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.5,output:3,cacheRead:.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:.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:.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:.09,output:.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:.075,output:.3,cacheRead:.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:.0375,output:.15,cacheRead:.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:.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:.15,output:.6,cacheRead:.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:.075,output:.3,cacheRead:.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:.3,output:2.5,cacheRead:.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:.1,output:.4,cacheRead:.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:.1,output:.4,cacheRead:.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:.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:.5,output:3,cacheRead:.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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.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:.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:.05,output:.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:.59,output:.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:.15,output:.6,cacheRead:.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:.075,output:.3,cacheRead:.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:.075,output:.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:.6,output:3,cacheRead:.3,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3.8-27b":{id:"qwen/qwen3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text","image"],cost:{input:.8,output:4,cacheRead:0,cacheWrite:0},contextWindow:131042,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:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"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:.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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:524288,maxTokens:512e3},"Qwen/Qwen2.5-Coder-32B-Instruct":{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen2.5-Coder-32B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:.06,output:.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"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:.2,output:.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:.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:.3,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-30B-A3B":{id:"Qwen/Qwen3-30B-A3B",name:"Qwen3 30B A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:.12,output:.5,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"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:.29,output:.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:.07,output:.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:.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:.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:.3,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-VL-235B-A22B-Instruct":{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen3 VL 235B A22B Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.3,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"Qwen/Qwen3-VL-235B-A22B-Thinking":{id:"Qwen/Qwen3-VL-235B-A22B-Thinking",name:"Qwen3 VL 235B A22B Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.98,output:3.95,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"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:.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:.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:.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:.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:.17,output:.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:.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:.15,output:.95,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3.8-2.4T-A95B":{id:"Qwen/Qwen3.8-2.4T-A95B",name:"Qwen3.8 2.4T A95B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:2.5,output:6.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3.8-27B":{id:"Qwen/Qwen3.8-27B",name:"Qwen3.8 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.4,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"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:.1,output:.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:.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:.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:64e3,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:.4,output:1.3,cacheRead:0,cacheWrite:0},contextWindow:64e3,maxTokens:8192},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:.27,output:1.12,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"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:.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:.28,output:.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:.14,output:.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"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:.14,output:.28,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"deepseek-ai/DeepSeek-V4-Flash-Vision-Exp":{id:"deepseek-ai/DeepSeek-V4-Flash-Vision-Exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.44,output:1.32,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"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:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek-ai/DeepSeek-V4-Pro-0813":{id:"deepseek-ai/DeepSeek-V4-Pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.32,output:3.96,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-ai/DeepSeek-V4.1-Flash":{id:"deepseek-ai/DeepSeek-V4.1-Flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Gemma 3 12B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.05,output:.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.08,output:.16,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"google/gemma-3-4b-it":{id:"google/gemma-3-4b-it",name:"Gemma 3 4B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text","image"],cost:{input:.05,output:.1,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"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:.13,output:.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:.14,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Llama-3.1-8B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:.06,output:.06,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"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:.59,output:.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:.6,output:2.5,cacheRead:.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:.6,output:3,cacheRead:.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:.95,output:4,cacheRead:.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:.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:.25,output:.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:.1,output:.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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256e3},"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:.2,output:1.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:256e3},"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:.14,output:.58,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:128e3},"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:.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:.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:.13,output:.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:.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:.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.6V-Flash":{id:"zai-org/GLM-4.6V-Flash",name:"GLM-4.6V-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.3,output:.9,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"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:.6,output:2.2,cacheRead:.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:2e5,maxTokens:128e3},"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:.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:.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},"zai-org/GLM-5.3":{id:"zai-org/GLM-5.3",name:"GLM-5.3",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:1048576,maxTokens:131072},"zai-org/GLM-5.3-Flash":{id:"zai-org/GLM-5.3-Flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",compat:{supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:0,cacheWrite:0},contextWindow:1048576,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-for-coding",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: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:.3,output:1.2,cacheRead:.06,cacheWrite:.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:.6,output:2.4,cacheRead:.06,cacheWrite:.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:.3,output:1.2,cacheRead:.06,cacheWrite:.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:.6,output:2.4,cacheRead:.06,cacheWrite:.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:.3,output:.9,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:.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:.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:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:256e3,maxTokens:256e3},"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:128e3,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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.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:.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:.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:.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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.25,output:.25,cacheRead:0,cacheWrite:0},contextWindow:8e3,maxTokens:8e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:64e3,maxTokens:64e3},"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:.7,output:.7,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:32e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:128e3,maxTokens:128e3},"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:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:32e3},"zai-glm-5-2":{id:"zai-glm-5-2",name:"GLM-5.2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.14,cacheWrite:0},contextWindow:1e6,maxTokens:131072}},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:128e3,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:.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:.4,output:1.6,cacheRead:.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:.1,output:.4,cacheRead:.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:128e3,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:128e3,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:128e3,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:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:128e3,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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:272e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:1.25},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:105e4,maxTokens:128e3},"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:.4,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},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:2e5,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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:2e5,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:.275,cacheWrite:0},contextWindow:2e5,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:.125,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:128e3,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:272e3,maxTokens:128e3}},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:2e5,maxTokens:32e3},"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:128e3},"claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/zen",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.14,output:.28,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-flash-vision-exp":{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.14,output:.28,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.145,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.5,output:3,cacheRead:.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:.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:.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:.3,output:2.5,cacheRead:.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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 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:.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:.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:.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:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol (50% Off)",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:105e4,maxTokens:128e3},"gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:105e4,maxTokens:128e3},"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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.2,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.6,output:3,cacheRead:.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:.95,output:4,cacheRead:.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:.95,output:4,cacheRead:.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:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"ling-3.0-flash-fin-free":{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin 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},"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:2e5,maxTokens:32e3},"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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:512e3,maxTokens:128e3},"muse-spark-1.2":{id:"muse-spark-1.2",name:"Muse Spark 1.2",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.2-contributor-free":{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Free",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.3":{id:"muse-spark-1.3",name:"Muse Spark 1.3",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.3-contributor-free":{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Free",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"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:128e3},"nemotron-3.5-lightning-free":{id:"nemotron-3.5-lightning-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:.2,output:1.2,cacheRead:.02,cacheWrite:.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:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:262144,maxTokens:65536}},"opencode-go":{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-flash-vision-exp":{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro (New)",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.66,output:1.98,cacheRead:.022,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.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:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3":{id:"glm-5.3",name:"GLM-5.3",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:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},hy3:{id:"hy3",name:"Hy3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.14,output:.58,cacheRead:.035,cacheWrite:0},contextWindow:256e3,maxTokens:128e3},"hy4-preview":{id:"hy4-preview",name:"Hy4 preview",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:.042,cacheWrite:0},contextWindow:1024e3,maxTokens:64e3},"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:.95,output:4,cacheRead:.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:.95,output:4,cacheRead:.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:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"longcat-2.0":{id:"longcat-2.0",name:"LongCat-2.0",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1e6,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:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1048576,maxTokens:128e3},"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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"muse-spark-1.2-contributor":{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"muse-spark-1.3-contributor":{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:1e6,maxTokens:65536},"qwen3.7-max":{id:"qwen3.7-max",name:"Qwen3.7 Max",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:.5,cacheWrite:3.125},contextWindow:1e6,maxTokens:65536},"qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:.4,output:1.6,cacheRead:.04,cacheWrite:.5},contextWindow:1e6,maxTokens:65536},"qwen3.8-flash":{id:"qwen3.8-flash",name:"Qwen3.8 Flash",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.2},contextWindow:1e6,maxTokens:131072},"qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/zen/go/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:131072}},openrouter:{"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:.7999999999999999,output:1.5999999999999999,cacheRead:.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:.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:.7,output:1.4,cacheRead:.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:.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:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.625,cacheWrite:0},contextWindow:1e6,maxTokens:32e3},"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:.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,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:128e3},"anthropic/claude-fable-5.1":{id:"anthropic/claude-fable-5.1",name:"Anthropic: Claude Fable 5.1",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-fable-5.1:batch":{id:"anthropic/claude-fable-5.1:batch",name:"Anthropic: Claude Fable 5.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.125,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:.5,output:2.5,cacheRead:.049999999999999996,cacheWrite:.625},contextWindow:2e5,maxTokens:64e3},"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:2e5,maxTokens:32e3},"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:2e5,maxTokens:32e3},"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:.75,cacheWrite:9.375},contextWindow:2e5,maxTokens:32e3},"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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.25,cacheWrite:3.125},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"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:.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:128e3},"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:.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.09999999999999999,cacheWrite:1.25},contextWindow:1e6,maxTokens:128e3},"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:.25,output:.7999999999999999,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:8e4},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:2e6,maxTokens:3e4},"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:.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:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-2-1-turbo":{id:"bytedance-seed/seed-2-1-turbo",name:"ByteDance Seed: Seed 2.1 Turbo",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"bytedance-seed/seed-2.0-code":{id:"bytedance-seed/seed-2.0-code",name:"ByteDance Seed: Seed-2.0-Code",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"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:.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:.09999999999999999,output:.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:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:128e3,maxTokens:4e3},"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:256e3,maxTokens:64e3},"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:.2574,output:1.0287,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16e3},"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:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:147456},"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:.25,output:.95,cacheRead:.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:.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:64e3,maxTokens:16e3},"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:.5,output:2.1500000000000004,cacheRead:.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:.27,output:1,cacheRead:.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:.26899999999999996,output:.39999999999999997,cacheRead:.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:.27,output:.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:.0763,output:.1526,cacheRead:.01526,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"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:.06,output:.12,cacheRead:.012,cacheWrite:0},contextWindow:1310720,maxTokens:943718},"deepseek/deepseek-v4-flash-0731:batch":{id:"deepseek/deepseek-v4-flash-0731:batch",name:"DeepSeek: DeepSeek V4 Flash 0731 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.11,output:.33,cacheRead:.0035,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4-flash-vision-exp":{id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek: DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.22,output:.66,cacheRead:.007,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4-flash-vision-exp:batch":{id:"deepseek/deepseek-v4-flash-vision-exp:batch",name:"DeepSeek: DeepSeek V4 Flash Vision Exp (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.11,output:.33,cacheRead:.0035,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro 0423",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.5999999999999999,output:3.1999999999999997,cacheRead:.135,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek/deepseek-v4-pro-0813":{id:"deepseek/deepseek-v4-pro-0813",name:"DeepSeek: DeepSeek V4 Pro 0813",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.57948,output:1.73844,cacheRead:.018438,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"deepseek/deepseek-v4-pro-0813:batch":{id:"deepseek/deepseek-v4-pro-0813:batch",name:"DeepSeek: DeepSeek V4 Pro 0813 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.66,output:1.9800000000000002,cacheRead:.022,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"deepseek/deepseek-v4.1-flash":{id:"deepseek/deepseek-v4.1-flash",name:"DeepSeek: DeepSeek V4.1 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"dots-studio/dots-3-note-preview:free":{id:"dots-studio/dots-3-note-preview:free",name:"Dots Studio: Dots3-Note Preview (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:512e3,maxTokens:460800},"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:.3,output:2.5,cacheRead:.03,cacheWrite:.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:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:.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:.049999999999999996,output:.19999999999999998,cacheRead:.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:.15,output:1.25,cacheRead:.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:.125,cacheWrite:.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:.125,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"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:.625,output:5,cacheRead:.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:.5,output:3,cacheRead:.049999999999999996,cacheWrite:.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:.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:.19999999999999998,cacheWrite:.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:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.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:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.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:.125,output:.75,cacheRead:.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:.19999999999999998,cacheWrite:.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:.19999999999999998,cacheWrite:.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:.15,cacheWrite:.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:.3,output:2.5,cacheRead:.03,cacheWrite:.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:.15,output:1.25,cacheRead:.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:.75,output:4.5,cacheRead:.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:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},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:.375,output:1.875,cacheRead:.0375,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.7-flash":{id:"google/gemini-3.7-flash",name:"Google: Gemini 3.7 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.7-flash:batch":{id:"google/gemini-3.7-flash:batch",name:"Google: Gemini 3.7 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.8-flash":{id:"google/gemini-3.8-flash",name:"Google: Gemini 3.8 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},contextWindow:1048576,maxTokens:65536},"google/gemini-3.8-flash:batch":{id:"google/gemini-3.8-flash:batch",name:"Google: Gemini 3.8 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:.0416666666666667},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:.049999999999999996,output:.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:.08,output:.44999999999999996,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.09,output:.3,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.09,output:.33999999999999997,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:16384},"google/gemma-4-31b-it:batch":{id:"google/gemma-4-31b-it:batch",name:"Google: Gemma 4 31B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.39,output:.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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.2-8b":{id:"ibm-granite/granite-4.2-8b",name:"IBM: Granite 4.2 8B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.06,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:5e4},"inception/mercury-2.5":{id:"inception/mercury-2.5",name:"Inception: Mercury 2.5",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.04,output:.15,cacheRead:.004,cacheWrite:0},contextWindow:26e4,maxTokens:65536},"inclusionai/ling-3.0-flash":{id:"inclusionai/ling-3.0-flash",name:"inclusionAI: Ling 3.0 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.020999999999999998,output:.063,cacheRead:.004200000000000001,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-3.0-flash-fin":{id:"inclusionai/ling-3.0-flash-fin",name:"inclusionAI: Ling 3.0 Flash Fin",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.06,output:.18,cacheRead:.012,cacheWrite:0},contextWindow:262144,maxTokens:235929},"inclusionai/ling-3.0-flash-fin:free":{id:"inclusionai/ling-3.0-flash-fin:free",name:"inclusionAI: Ling 3.0 Flash Fin (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/ling-3.0-flash-sante:free":{id:"inclusionai/ling-3.0-flash-sante:free",name:"inclusionAI: Ling 3.0 Flash Sante (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/ling-3.0-flash-vl":{id:"inclusionai/ling-3.0-flash-vl",name:"inclusionAI: Ling 3.0 Flash VL",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.06,output:.18,cacheRead:.012,cacheWrite:0},contextWindow:131072,maxTokens:32768},"inclusionai/ling-3.0-flash-vl:free":{id:"inclusionai/ling-3.0-flash-vl:free",name:"inclusionAI: Ling 3.0 Flash 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:262144,maxTokens:32768},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:144e3},"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:.74,output:2.96,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:235929},"liquid/lfm-2.5-2.6b:free":{id:"liquid/lfm-2.5-2.6b:free",name:"LiquidAI: LFM2.5-2.6B (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:65536,maxTokens:8192},"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:.3,output:1.2,cacheRead:.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:.39999999999999997,output:.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:.049999999999999996,output:.08,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.09999999999999999,output:.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:.1875,output:.6525,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:16384},"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:.09999999999999999,output:.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:.35,output:1.5,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:117964},"meta/muse-glimmer-30b:batch":{id:"meta/muse-glimmer-30b:batch",name:"Meta: Muse Glimmer 30B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.175,output:.75,cacheRead:.02,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"meta/muse-spark-1.2-contributor":{id:"meta/muse-spark-1.2-contributor",name:"Meta: Muse Spark 1.2 Contributor",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.09999999999999999,output:.19999999999999998,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"meta/muse-spark-1.3":{id:"meta/muse-spark-1.3",name:"Meta: Muse Spark 1.3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"meta/muse-spark-1.3-contributor":{id:"meta/muse-spark-1.3-contributor",name:"Meta: Muse Spark 1.3 Contributor",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.09999999999999999,output:.19999999999999998,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"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:.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4e4},"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:.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:.3,output:1.2,cacheRead:.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:.27,output:1.08,cacheRead:.027,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"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:.3,output:1.2,cacheRead:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:1048576,maxTokens:512e3},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:524288,maxTokens:471859},"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:.3,output:.8999999999999999,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:204800},"mistralai/codestral-2508:batch":{id:"mistralai/codestral-2508:batch",name:"Mistral: Codestral 2508 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.15,output:.44999999999999996,cacheRead:.015,cacheWrite:0},contextWindow:256e3,maxTokens:204800},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.19999999999999998,output:.19999999999999998,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.09999999999999999,output:.09999999999999999,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:209715},"mistralai/ministral-8b-2512:batch":{id:"mistralai/ministral-8b-2512:batch",name:"Mistral: Ministral 3 8B 2512 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.075,output:.075,cacheRead:.0075,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.19999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:102400},"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:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:.5,output:1.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:209715},"mistralai/mistral-large-2512:batch":{id:"mistralai/mistral-large-2512:batch",name:"Mistral: Mistral Large 3 2512 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:209715},"mistralai/mistral-medium-3-5:batch":{id:"mistralai/mistral-medium-3-5:batch",name:"Mistral: Mistral Medium 3.5 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:104857},"mistralai/mistral-medium-3.1:batch":{id:"mistralai/mistral-medium-3.1:batch",name:"Mistral: Mistral Medium 3.1 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.19999999999999998,output:1,cacheRead:.02,cacheWrite:0},contextWindow:131072,maxTokens:104857},"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:.019000000000000003,output:.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:.19999999999999998,output:.6,cacheRead:.02,cacheWrite:0},contextWindow:32768,maxTokens:26214},"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:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:209715},"mistralai/mistral-small-2603:batch":{id:"mistralai/mistral-small-2603:batch",name:"Mistral: Mistral Small 4 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.075,output:.3,cacheRead:.0075,cacheWrite:0},contextWindow:262144,maxTokens:209715},"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:.075,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:256e3,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:.19999999999999998,cacheWrite:0},contextWindow:65536,maxTokens:52428},"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:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:32768,maxTokens:26214},"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:.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"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:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:98304},"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:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:98304},"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:.41,output:2.06,cacheRead:.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:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.71,output:3.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:2.6481380629999998,output:13.282724250000001,cacheRead:.30264435,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"moonshotai/kimi-k3:batch":{id:"moonshotai/kimi-k3:batch",name:"MoonshotAI: Kimi K3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"nex-agi/nex-n2.5-mini:free":{id:"nex-agi/nex-n2.5-mini:free",name:"Nex AGI: Nex-N2.5-Mini (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:235929},"nex-agi/nex-n2.5-pro:free":{id:"nex-agi/nex-n2.5-pro:free",name:"Nex AGI: Nex-N2.5-Pro (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:235929},"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:.049999999999999996,output:.19999999999999998,cacheRead:.03,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:256e3,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:.08,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:235929},"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:.6,output:2.4,cacheRead:.12,cacheWrite:0},contextWindow:262144,maxTokens:182520},"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":{id:"nvidia/nemotron-3.5-lightning",name:"NVIDIA: Nemotron 3.5 Lightning",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.08,output:.19999999999999998,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:131072},"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},"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:.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:3685},"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:.25,output:.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:128e3,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:128e3,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:.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:.39999999999999997,output:1.5999999999999999,cacheRead:.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:.19999999999999998,output:.7999999999999999,cacheRead:.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:.09999999999999999,output:.39999999999999997,cacheRead:.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:.049999999999999996,output:.19999999999999998,cacheRead:.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:.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:128e3,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:128e3,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:128e3,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:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,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:.075,output:.3,cacheRead:.0375,cacheWrite:0},contextWindow:128e3,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:.625,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,output:1,cacheRead:.012499999999999999,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.049999999999999996,output:.39999999999999997,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.024999999999999998,output:.19999999999999998,cacheRead:.0025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.625,output:5,cacheRead:.0625,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:.875,output:7,cacheRead:.0875,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.375,output:2.25,cacheRead:.0375,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.09999999999999999,output:.625,cacheRead:.01,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,output:.6,cacheRead:.01,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,output:.6,cacheRead:.01,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:105e4,maxTokens:128e3},"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:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:105e4,maxTokens:128e3},"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:2,output:12,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:2,output:12,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.625,output:5,cacheRead:.0625,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-6-astra":{id:"openai/gpt-6-astra",name:"OpenAI: GPT-6 Astra",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:105e4,maxTokens:128e3},"openai/gpt-6-astra-pro":{id:"openai/gpt-6-astra-pro",name:"OpenAI: GPT-6 Astra Pro",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:105e4,maxTokens:128e3},"openai/gpt-6-astra-pro:batch":{id:"openai/gpt-6-astra-pro:batch",name:"OpenAI: GPT-6 Astra Pro (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:105e4,maxTokens:128e3},"openai/gpt-6-astra:batch":{id:"openai/gpt-6-astra:batch",name:"OpenAI: GPT-6 Astra (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:105e4,maxTokens:128e3},"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:128e3,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:.6,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.5,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.037,output:.16999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964},"openai/gpt-oss-120b:batch":{id:"openai/gpt-oss-120b:batch",name:"OpenAI: gpt-oss-120b (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.03,output:.13,cacheRead:.03,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.075,output:.3,cacheRead:.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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:.55,output:2.2,cacheRead:.275,cacheWrite:0},contextWindow:2e5,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:2e5,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:.25,cacheWrite:0},contextWindow:2e5,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:.275,cacheWrite:0},contextWindow:2e5,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:.275,cacheWrite:0},contextWindow:2e5,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:.55,output:2.2,cacheRead:.1375,cacheWrite:0},contextWindow:2e5,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:2e6,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:2e6,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:2e5,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:.09,output:.18,cacheRead:.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:.06,output:.12,cacheRead:.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:.36,output:.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:.09999999999999999,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:29491},"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:.26,output:.78,cacheRead:.052000000000000005,cacheWrite:.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:.26,output:.78,cacheRead:0,cacheWrite:0},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:.12,output:.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:.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:.0875,output:.35,cacheRead:.0175,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.22999999999999998,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.12,output:.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:.04815,output:.19305,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32e3},"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:.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:.08,output:.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:.117,output:.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:.3,output:1,cacheRead:.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:.07,output:.28,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.195,output:.975,cacheRead:.039,cacheWrite:.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:.12,output:.7999999999999999,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.65,output:3.25,cacheRead:.13,cacheWrite:.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:.78,output:3.9,cacheRead:.156,cacheWrite:.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:.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:.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:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.21,output:1.9,cacheRead:.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:.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:.15,output:.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:.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:.10400000000000001,output:.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:.117,output:.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:.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:.26,output:2.08,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"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:.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:.3125,output:1.25,cacheRead:.15625,cacheWrite:0},contextWindow:262144,maxTokens:16384},"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:.55,output:3.5,cacheRead:.22499999999999998,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.09999999999999999,output:.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"qwen/qwen3.5-9b:batch":{id:"qwen/qwen3.5-9b:batch",name:"Qwen: Qwen3.5-9B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.16999999999999998,output:.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.065,output:.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:.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:.3,output:1.7999999999999998,cacheRead:0,cacheWrite:.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:.3,output:2,cacheRead:.03,cacheWrite:0},contextWindow:262144,maxTokens:65536},"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:.09999999999999999,output:.8999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:235929},"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:.1875,output:1.125,cacheRead:0,cacheWrite:.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:.325,output:1.95,cacheRead:0,cacheWrite:.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:.03,output:.13,cacheRead:.006,cacheWrite:.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:.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:.32,output:1.28,cacheRead:.064,cacheWrite:.39999999999999997},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-2.4t-a95b":{id:"qwen/qwen3.8-2.4t-a95b",name:"Qwen: Qwen3.8 2.4T A95B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"qwen/qwen3.8-2.4t-a95b:batch":{id:"qwen/qwen3.8-2.4t-a95b:batch",name:"Qwen: Qwen3.8 2.4T A95B (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:101e4,maxTokens:909e3},"qwen/qwen3.8-27b":{id:"qwen/qwen3.8-27b",name:"Qwen: Qwen3.8 27B",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.21400000000000002,output:2.5500000000000003,cacheRead:.15,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-flash":{id:"qwen/qwen3.8-flash",name:"Qwen: Qwen3.8 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.19999999999999998},contextWindow:1e6,maxTokens:131072},"qwen/qwen3.8-max-0902":{id:"qwen/qwen3.8-max-0902",name:"Qwen: Qwen3.8 Max (0902)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.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:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:14745},"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:256e3,maxTokens:128e3},"sakana/fugu-max":{id:"sakana/fugu-max",name:"Sakana: Fugu Max",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"sakana/fugu-ultra-v2":{id:"sakana/fugu-ultra-v2",name:"Sakana: Fugu Ultra v2",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.95,output:4,cacheRead:.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:.85,output:.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:.09999999999999999,output:.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:.19999999999999998,output:1.15,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:230400},"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:.0825,output:.33,cacheRead:.020625,cacheWrite:0},contextWindow:262144,maxTokens:128e3},"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:.18,output:.6,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:235929},"tencent/hy4-preview":{id:"tencent/hy4-preview",name:"Tencent: Hy4 preview",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:.041999999999999996,cacheWrite:0},contextWindow:1048576,maxTokens:64e3},"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:.39999999999999997,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:1024e3,maxTokens:819200},"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:1,output:4.05,cacheRead:.16999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:471859},"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:.44999999999999996,output:1.2,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1048576,maxTokens:262144},"thinkingmachines/inkling-small:batch":{id:"thinkingmachines/inkling-small:batch",name:"Thinking Machines: Inkling Small (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:1.2,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:524288,maxTokens:471859},"thinkingmachines/inkling-small:free":{id:"thinkingmachines/inkling-small:free",name:"Thinking Machines: Inkling Small (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:1048576,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:1,output:4.05,cacheRead:.16999999999999998,cacheWrite:0},contextWindow:524288,maxTokens:471859},"thinkingmachines/inkling:free":{id:"thinkingmachines/inkling:free",name:"Thinking Machines: Inkling (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:1048576,maxTokens:262144},"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:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:131072,maxTokens:117964},"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:.09,output:.36,cacheRead:.018,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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:18e5},"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:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:9e5},"x-ai/grok-4.3:batch":{id:"x-ai/grok-4.3:batch",name:"SpaceXAI: Grok 4.3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:.16,cacheWrite:0},contextWindow:1e6,maxTokens:9e5},"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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:45e4},"x-ai/grok-4.6":{id:"x-ai/grok-4.6",name:"SpaceXAI: Grok 4.6",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:45e4},"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:.19999999999999998,cacheWrite:0},contextWindow:256e3,maxTokens:230400},"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:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:105e4,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:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:105e4,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:.6,output:2.2,cacheRead:.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:.13,output:.85,cacheRead:.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:.6,output:1.7999999999999998,cacheRead:.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:.43,output:1.75,cacheRead:.08,cacheWrite:0},contextWindow:204800,maxTokens:16384},"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:.3,output:.8999999999999999,cacheRead:.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:.39999999999999997,output:1.75,cacheRead:.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:.060500000000000005,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:117964},"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:.6,output:1.9,cacheRead:.119,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"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:.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:.966,output:3.036,cacheRead:.1794,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"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:.6832,output:2.1471999999999998,cacheRead:.12688000000000002,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:.7,output:2.2,cacheRead:.07,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"z-ai/glm-5.3":{id:"z-ai/glm-5.3",name:"Z.ai: GLM 5.3",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1310720,maxTokens:943717},"z-ai/glm-5.3-flash":{id:"z-ai/glm-5.3-flash",name:"Z.ai: GLM 5.3 Flash",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1310720,maxTokens:131072},"z-ai/glm-5.3-flash:batch":{id:"z-ai/glm-5.3-flash:batch",name:"Z.ai: GLM 5.3 Flash (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.075,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"z-ai/glm-5.3:batch":{id:"z-ai/glm-5.3:batch",name:"Z.ai: GLM 5.3 (batch)",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.7,output:2.2,cacheRead:.13,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"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:.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:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"~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:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"~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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"~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:.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"~deepseek/deepseek-flash-latest":{id:"~deepseek/deepseek-flash-latest",name:"DeepSeek: DeepSeek Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"~deepseek/deepseek-pro-latest":{id:"~deepseek/deepseek-pro-latest",name:"DeepSeek: DeepSeek Pro Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.57948,output:1.73844,cacheRead:.018438,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"~deepseek/deepseek-v4-flash-latest":{id:"~deepseek/deepseek-v4-flash-latest",name:"DeepSeek: DeepSeek V4 Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.04,output:.09999999999999999,cacheRead:.01,cacheWrite:0},contextWindow:1310720,maxTokens:393216},"~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:.75,output:3.75,cacheRead:.075,cacheWrite:.0416666666666667},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:.19999999999999998,cacheWrite:.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:1.975,output:11.06,cacheRead:.2291,cacheWrite:0},contextWindow:1048576,maxTokens:943718},"~openai/gpt-astra-latest":{id:"~openai/gpt-astra-latest",name:"OpenAI: GPT Astra 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:105e4,maxTokens:128e3},"~openai/gpt-luna-latest":{id:"~openai/gpt-luna-latest",name:"OpenAI: GPT Luna Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"~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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"~openai/gpt-sol-latest":{id:"~openai/gpt-sol-latest",name:"OpenAI: GPT Sol Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"~openai/gpt-terra-latest":{id:"~openai/gpt-terra-latest",name:"OpenAI: GPT Terra Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"~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:.5,cacheWrite:0},contextWindow:5e5,maxTokens:45e4},"~z-ai/glm-flash-latest":{id:"~z-ai/glm-flash-latest",name:"Z.ai: GLM Flash Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.075,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:1310720,maxTokens:131072},"~z-ai/glm-latest":{id:"~z-ai/glm-latest",name:"Z.ai: GLM Latest",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.8999999999999999,output:3.0690000000000004,cacheRead:.18,cacheWrite:0},contextWindow:1310720,maxTokens:943718}},"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:.12,output:.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:.22,output:.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:.12,output:.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:.16,output:.64,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.26,cacheWrite:1.625},contextWindow:24e4,maxTokens:64e3},"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:.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:.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:.15,output:.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:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.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:.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:.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:.24,cacheWrite:0},contextWindow:256e3,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:.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:.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:.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:.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:.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:.09999999999999999,output:.39999999999999997,cacheRead:.001,cacheWrite:.125},contextWindow:1e6,maxTokens:64e3},"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:.39999999999999997,output:2.4,cacheRead:.04,cacheWrite:.5},contextWindow:1e6,maxTokens:64e3},"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:.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.5,output:3,cacheRead:.09999999999999999,cacheWrite:.625},contextWindow:1e6,maxTokens:64e3},"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:.03,output:.13,cacheRead:.006,cacheWrite:.038000000000000006},contextWindow:991e3,maxTokens:64e3},"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:.5,cacheWrite:3.125},contextWindow:991e3,maxTokens:64e3},"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:.39999999999999997,output:1.5999999999999999,cacheRead:.08,cacheWrite:.5},contextWindow:1e6,maxTokens:64e3},"alibaba/qwen3.8-2.4t-a95b":{id:"alibaba/qwen3.8-2.4t-a95b",name:"Qwen3.8 2.4T A95B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:128e3},"alibaba/qwen3.8-27b":{id:"alibaba/qwen3.8-27b",name:"Qwen3.8 27B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:.09999999999999999,cacheWrite:.625},contextWindow:1e6,maxTokens:131072},"alibaba/qwen3.8-flash":{id:"alibaba/qwen3.8-flash",name:"Qwen 3.8 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.16,output:.47,cacheRead:.016,cacheWrite:.19999999999999998},contextWindow:991e3,maxTokens:128e3},"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:.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"alibaba/qwen3.8-max-0902":{id:"alibaba/qwen3.8-max-0902",name:"Qwen3.8 Max 0902",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:2.5},contextWindow:991e3,maxTokens:128e3},"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:.3,output:2.5,cacheRead:.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:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:3e5,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:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,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:128e3},"anthropic/claude-fable-5.1":{id:"anthropic/claude-fable-5.1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3},"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:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"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:2e5,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:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:128e3},"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:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"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:128e3},"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:.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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"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:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"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:.19999999999999998,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3},"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:.25,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262100,maxTokens:8e4},"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:.25,output:2,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.25,output:2,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:256e3,maxTokens:64e3},"bytedance/seed-2.1-turbo":{id:"bytedance/seed-2.1-turbo",name:"Seed 2.1 Turbo",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.5,output:2.5,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:262144,maxTokens:262144},"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:256e3,maxTokens:8e3},"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:128e3,maxTokens:8192},"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:.25,output:.95,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:128e3},"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:.27,output:1,cacheRead:.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:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"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:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"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:.13,output:.26,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.07600000000000001,output:.153,cacheRead:.014,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4-flash-vision-exp":{id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.22,output:.66,cacheRead:.007,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"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:.66,output:1.9800000000000002,cacheRead:.022,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4-pro-0813":{id:"deepseek/deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.66,output:1.9800000000000002,cacheRead:.06599999999999999,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4.1-flash":{id:"deepseek/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"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:.3,output:2.5,cacheRead:.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:.09999999999999999,output:.39999999999999997,cacheRead:.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:.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:.5,output:3,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"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:.25,output:1.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"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:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.15,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"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:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"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:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"google/gemini-3.7-flash":{id:"google/gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"google/gemini-3.8-flash":{id:"google/gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"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:.15,output:.6,cacheRead:.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:.14,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,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:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"inception/mercury-2.5":{id:"inception/mercury-2.5",name:"Mercury 2.5",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.04,output:.15,cacheRead:.004,cacheWrite:0},contextWindow:26e4,maxTokens:65536},"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:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:32e3,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:.020999999999999998,output:.063,cacheRead:.004200000000000001,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-fin":{id:"inclusionai/ling-3.0-flash-fin",name:"Ling 3.0 Flash Fin",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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-fin-free":{id:"inclusionai/ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin (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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-sante":{id:"inclusionai/ling-3.0-flash-sante",name:"Ling 3.0 Flash Sante",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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-sante-free":{id:"inclusionai/ling-3.0-flash-sante-free",name:"Ling 3.0 Flash Sante (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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-vl":{id:"inclusionai/ling-3.0-flash-vl",name:"Ling 3.0 Flash VL",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:256e3,maxTokens:32e3},"inclusionai/ling-3.0-flash-vl-free":{id:"inclusionai/ling-3.0-flash-vl-free",name:"Ling 3.0 Flash VL (Free)",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:256e3,maxTokens:32e3},"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:32e3},"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:.15,output:.6,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:8e4},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.74,output:2.96,cacheRead:.15,cacheWrite:0},contextWindow:256e3,maxTokens:8e4},"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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.24,output:.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.16999999999999998,output:.66,cacheRead:0,cacheWrite:0},contextWindow:128e3,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:.35,output:1.5,cacheRead:.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:.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:.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:.09999999999999999,output:.19999999999999998,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.3":{id:"meta/muse-spark-1.3",name:"Muse Spark 1.3",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:.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576},"meta/muse-spark-1.3-contributor":{id:"meta/muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.09999999999999999,output:.19999999999999998,cacheRead:.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:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:205e3,maxTokens:205e3},"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:.3,output:1.2,cacheRead:.03,cacheWrite:.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:.3,output:2.4,cacheRead:.03,cacheWrite:.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:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"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:.6,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"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:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"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:.6,output:2.4,cacheRead:.06,cacheWrite:.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:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:512e3,maxTokens:512e3},"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:.3,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.19999999999999998,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"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:256e3,maxTokens:256e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"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:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:4e3},"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:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"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:.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:.47,output:2,cacheRead:.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:.6,output:3,cacheRead:.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:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"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:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:256e3,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:.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:.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:.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:.049999999999999996,output:.19999999999999998,cacheRead:.024999999999999998,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:.15,output:.65,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"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:.6,output:2.4,cacheRead:.12,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"nvidia/nemotron-3.5-lightning":{id:"nvidia/nemotron-3.5-lightning",name:"Nemotron 3.5 Lightning 30B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.049999999999999996,output:.19999999999999998,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:131072},"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:.19999999999999998,output:.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:.06,output:.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:.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:128e3,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:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-fast":{id:"openai/gpt-4.1-fast",name:"GPT-4.1 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:3.5,output:14,cacheRead:.875,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:.39999999999999997,output:1.5999999999999999,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini-fast":{id:"openai/gpt-4.1-mini-fast",name:"GPT-4.1 mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:.7,output:2.8,cacheRead:.175,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:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano-fast":{id:"openai/gpt-4.1-nano-fast",name:"GPT-4.1 nano (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:.19999999999999998,output:.7999999999999999,cacheRead:.049999999999999996,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:128e3,maxTokens:16384},"openai/gpt-4o-fast":{id:"openai/gpt-4o-fast",name:"GPT-4o (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:4.25,output:17,cacheRead:2.125,cacheWrite:0},contextWindow:128e3,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:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini-fast":{id:"openai/gpt-4o-mini-fast",name:"GPT-4o mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!1,input:["text","image"],cost:{input:.25,output:1,cacheRead:.125,cacheWrite:0},contextWindow:128e3,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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-fast":{id:"openai/gpt-5-fast",name:"GPT-5 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2.5,output:20,cacheRead:.25,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-mini-fast":{id:"openai/gpt-5-mini-fast",name:"GPT-5 mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.44999999999999996,output:3.5999999999999996,cacheRead:.045,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.049999999999999996,output:.39999999999999997,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:272e3},"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:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-thinking-fast":{id:"openai/gpt-5.1-thinking-fast",name:"GPT 5.1 Thinking (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2.5,output:20,cacheRead:.25,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-fast":{id:"openai/gpt-5.2-fast",name:"GPT 5.2 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3.5,output:28,cacheRead:.35,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:4e5,maxTokens:128e3},"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:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.3-codex-fast":{id:"openai/gpt-5.3-codex-fast",name:"GPT 5.3 Codex (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3.5,output:28,cacheRead:.35,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.4-fast":{id:"openai/gpt-5.4-fast",name:"GPT 5.4 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"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:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-mini-fast":{id:"openai/gpt-5.4-mini-fast",name:"GPT 5.4 Mini (Fast)",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:.15,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"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:105e4,maxTokens:128e3},"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:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"openai/gpt-5.5-fast":{id:"openai/gpt-5.5-fast",name:"GPT 5.5 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:12.5,output:75,cacheRead:1.25,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:128e3},"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:.19999999999999998,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.6-luna-fast":{id:"openai/gpt-5.6-luna-fast",name:"GPT 5.6 Luna (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.39999999999999997,output:2.4,cacheRead:.04,cacheWrite:.5},contextWindow:105e4,maxTokens:128e3},"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:2,output:10,cacheRead:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.6-sol-fast":{id:"openai/gpt-5.6-sol-fast",name:"GPT 5.6 Sol (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.39999999999999997,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"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:.19999999999999998,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.6-terra-fast":{id:"openai/gpt-5.6-terra-fast",name:"GPT 5.6 Terra (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:.39999999999999997,cacheWrite:5},contextWindow:105e4,maxTokens:128e3},"openai/gpt-6-astra":{id:"openai/gpt-6-astra",name:"GPT-6 Astra",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:105e4,maxTokens:128e3},"openai/gpt-6-astra-fast":{id:"openai/gpt-6-astra-fast",name:"GPT-6 Astra (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:20,output:100,cacheRead:2,cacheWrite:25},contextWindow:105e4,maxTokens:128e3},"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:.09999999999999999,output:.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:.049999999999999996,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-120b":{id:"openai/gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16e3},"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:.07,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16e3},"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:2e5,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:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-fast":{id:"openai/o3-fast",name:"o3 (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:3.5,output:14,cacheRead:.875,cacheWrite:0},contextWindow:2e5,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:.55,cacheWrite:0},contextWindow:2e5,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:2e5,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:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini-fast":{id:"openai/o4-mini-fast",name:"o4-mini (Fast)",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,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:.09999999999999999,output:.19999999999999998,cacheRead:.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:256e3,maxTokens:32768},"sakana/fugu-max":{id:"sakana/fugu-max",name:"Fugu 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:.25,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"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:.5,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"sakana/fugu-ultra-v2":{id:"sakana/fugu-ultra-v2",name:"Fugu Ultra v2",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.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:.95,output:4,cacheRead:.15,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"spacexai/grok-4.1-fast-non-reasoning":{id:"spacexai/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:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"spacexai/grok-4.1-fast-reasoning":{id:"spacexai/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:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"spacexai/grok-4.20-multi-agent":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-multi-agent-beta":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-non-reasoning":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-non-reasoning-beta":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-reasoning":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.20-reasoning-beta":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"spacexai/grok-4.3":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"spacexai/grok-4.5":{id:"spacexai/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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"spacexai/grok-4.6":{id:"spacexai/grok-4.6",name:"Grok 4.6",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"spacexai/grok-build-0.1":{id:"spacexai/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:.19999999999999998,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.09,output:.3,cacheRead:.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:.19999999999999998,output:1.15,cacheRead:.04,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.14,output:.58,cacheRead:.035,cacheWrite:0},contextWindow:262144,maxTokens:262144},"tencent/hy4-preview":{id:"tencent/hy4-preview",name:"Tencent Hy4 Preview",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:.041999999999999996,cacheWrite:0},contextWindow:1024e3,maxTokens:64e3},"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:.16999999999999998,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.5,output:1.2,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"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:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:105e4,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:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:105e4,maxTokens:131e3},"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:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"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:.19999999999999998,output:1.1,cacheRead:.03,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"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:.6,output:1.7999999999999998,cacheRead:.11,cacheWrite:0},contextWindow:66e3,maxTokens:16e3},"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:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:2e5,maxTokens:96e3},"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:.6,output:2.2,cacheRead:.12,cacheWrite:0},contextWindow:2e5,maxTokens:12e4},"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:.07,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131e3},"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:.06,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"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:.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:.26,cacheWrite:0},contextWindow:202800,maxTokens:64e3},"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:.7999999999999999,output:2.5500000000000003,cacheRead:.16,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"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:.21,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"zai/glm-5.3":{id:"zai/glm-5.3",name:"GLM 5.3",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:.14,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"zai/glm-5.3-fast":{id:"zai/glm-5.3-fast",name:"GLM 5.3 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:.21,cacheWrite:0},contextWindow:1048576,maxTokens:262144},"zai/glm-5.3-flash":{id:"zai/glm-5.3-flash",name:"GLM 5.3 Flash",api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:131e3},"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:.24,cacheWrite:0},contextWindow:2e5,maxTokens:128e3}},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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"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:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"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:.3,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-completions",provider:"xai",baseUrl:"https://api.x.ai/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5},"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:.2,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"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:.2,output:1.5,cacheRead:.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:2e5,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},"glm-5.3":{id:"glm-5.3",name:"GLM-5.3",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.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",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","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072},"glm-5.3-highspeed":{id:"glm-5.3-highspeed",name:"GLM-5.3 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 pD(e){return e.systemPromptTokens+e.chatHistoryTokens+e.currentMessageTokens+e.toolDefinitionsTokens+e.toolResultTokens+e.assistantResponseTokens}function R_(e){if(!e||typeof e!="object")return!1;let t=e,n=[t.systemPromptTokens,t.chatHistoryTokens,t.currentMessageTokens,t.toolDefinitionsTokens,t.toolResultTokens,t.assistantResponseTokens];return!Number.isSafeInteger(t.maxContextTokens)||t.maxContextTokens<=0||n.some(r=>!Number.isSafeInteger(r)||r<0)?!1:Number.isSafeInteger(pD(t))}function sp(e){if(e==="stop"||e==="length"||e==="toolUse")return e;throw new Error(`Unexpected stop reason for done event: ${e}`)}var lWe,BC=C(()=>{"use strict";lWe=["off","minimal","low","medium","high","xhigh"]});function UP(e){return lWe.includes(e)}function dWe(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e)if(!(typeof r!="string"||r.length===0||r.length>v_s||r.trim()!==r||r==="default"||n.has(r))&&(n.add(r),t.push(r),t.length===__s))break;return t}function x_s(e,t){return pWe.get(e)?.get(t)}function sSe(){return Array.from(pWe.keys())}function WH(e){let t=pWe.get(e);return t?Array.from(t.values()):[]}function wh(e,t){return t.cost.input=e.cost.input/1e6*t.input,t.cost.output=e.cost.output/1e6*t.output,t.cost.cacheRead=e.cost.cacheRead/1e6*t.cacheRead,t.cost.cacheWrite=e.cost.cacheWrite/1e6*t.cacheWrite,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite,t.cost}function Rw(e){return!!(e.id.includes("gpt-5.2")||e.id.includes("gpt-5.3")||e.id.includes("gpt-5.4")||e.id.includes("opus-4-6")||e.id.includes("opus-4.6"))}function zKn(e,t){return[...lWe.filter(r=>(t||r!=="off")&&(r!=="xhigh"||Rw(e)))]}function GE(e){if(!e?.reasoning)return{enabled:!1,efforts:[],source:"legacy"};if(e.api==="augment-chat-stream"){let t=dWe(e.effortLevels);if(t.length>0){let n=t.includes(e.defaultEffortLevel??"")?e.defaultEffortLevel:void 0;return{enabled:!0,efforts:t,defaultEffort:n,source:"model"}}return{enabled:!0,efforts:zKn(e,!1),source:"legacy"}}return{enabled:!0,efforts:zKn(e,!0),source:"legacy"}}function uWe(e){return e.defaultEffort??(e.efforts.includes("medium")?"medium":void 0)??e.efforts[0]??"off"}function Xa(e,t){let n=GE(e),r=e?.api==="augment-chat-stream";if(!n.enabled){let i=t===void 0||t==="default";return r?{kind:"model-default",effort:"off",usesModelDefault:!0,valid:i}:{kind:"explicit",effort:"off",usesModelDefault:!1,valid:i}}return t===void 0||t==="default"?r?{kind:"model-default",effort:uWe(n),usesModelDefault:!0,valid:!0}:{kind:"explicit",effort:uWe(n),usesModelDefault:!1,valid:!0}:n.efforts.includes(t)?{kind:"explicit",effort:t,usesModelDefault:!1,valid:!0}:r?{kind:"model-default",effort:uWe(n),usesModelDefault:!0,valid:!1}:{kind:"explicit",effort:uWe(n),usesModelDefault:!1,valid:!1}}function YH(e){let t=GE(e);if(!t.enabled)return[];let n={kind:"model-default"},r=i=>({kind:"explicit",effort:i});return t.efforts.map(i=>e?.api==="augment-chat-stream"&&i===t.defaultEffort?n:r(i))}function GP(e,t){if(t.kind==="explicit")return t.effort;let n=GE(e).defaultEffort;return n?`${n} (default)`:"Model default"}function RA(e,t){let r=["default",...GE(e).efforts].join(", ");return`Reasoning effort "${t}" is not supported by ${e.provider}/${e.id}. Supported values: ${r}. Using the model default.`}function Cu(e,t){return!e||!t?!1:e.id===t.id&&e.provider===t.provider}var __s,v_s,pWe,NC=C(()=>{"use strict";YKn();BC();__s=32,v_s=64;pWe=new Map;for(let[e,t]of Object.entries(WKn)){let n=new Map;for(let[r,i]of Object.entries(t))n.set(r,i);pWe.set(e,n)}});function n2t(){return new $u}var fV,$u,kC=C(()=>{"use strict";fV=class{constructor(t,n){this.isComplete=t;this.extractResult=n;this.finalResultPromise=new Promise(r=>{this.resolveFinalResult=r})}isComplete;extractResult;queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;push(t){if(this.done)return;this.isComplete(t)&&(this.done=!0,this.resolveFinalResult(this.extractResult(t)));let n=this.waiting.shift();n?n({value:t,done:!1}):this.queue.push(t)}end(t){for(this.done=!0,t!==void 0&&this.resolveFinalResult(t);this.waiting.length>0;)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){for(;;)if(this.queue.length>0)yield this.queue.shift();else{if(this.done)return;{let t=await new Promise(n=>this.waiting.push(n));if(t.done)return;yield t.value}}}result(){return this.finalResultPromise}},$u=class extends fV{constructor(){super(t=>t.type==="done"||t.type==="error",t=>{if(t.type==="done")return t.message;if(t.type==="error")return t.error;throw new Error("Unexpected event type for final result")})}}});function jKn(e){return{type:"text",text:e}}function B_s(e){return{type:"thinking",thinking:e}}function N_s(e,t,n={}){return{type:"toolCall",id:n.id??o2t("tool"),name:e,arguments:t}}function k_s(e){return typeof e=="string"?[jKn(e)]:Array.isArray(e)?e:[e]}function D_s(e,t={}){return{role:"assistant",content:k_s(e),api:JKn,provider:$Kn,model:KKn,usage:s2t,stopReason:t.stopReason??"stop",errorMessage:t.errorMessage,responseId:t.responseId,requestId:t.requestId,timestamp:t.timestamp??Date.now()}}function cSe(e){return Math.ceil(e.length/4)}function o2t(e){return`${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`}function qKn(e){return typeof e=="string"?e:e.map(t=>t.type==="text"?t.text:`[image:${t.mimeType}:${t.data.length}]`).join(`
|
|
6
6
|
`)}function ejn(e){return e.map(t=>t.type==="text"?t.text:t.type==="thinking"?t.thinking:`${t.name}:${JSON.stringify(t.arguments)}`).join(`
|
|
7
7
|
`)}function M_s(e){return[e.toolName,...e.content.map(t=>qKn([t]))].join(`
|
|
8
8
|
`)}function Q_s(e){return e.role==="user"?qKn(e.content):e.role==="assistant"?ejn(e.content):M_s(e)}function F_s(e){let t=[];e.systemPrompt&&t.push(`system:${e.systemPrompt}`);for(let n of e.messages)t.push(`${n.role}:${Q_s(n)}`);return e.tools?.length&&t.push(`tools:${JSON.stringify(e.tools)}`),t.join(`
|
|
@@ -519,7 +519,7 @@ User Note: ${i}`:"";return`Environment: TERM=${t}, TERM_PROGRAM=${n}, SHELL=${r}
|
|
|
519
519
|
`)return`
|
|
520
520
|
`}return e&&e.eol||`
|
|
521
521
|
`}function yBe(e,t){return`\r
|
|
522
|
-
`.indexOf(e.charAt(t))!==-1}var Osn=C(()=>{"use strict";Uit();Rgi()});function Tgi(e,t=[],n=bBe.DEFAULT){let r=null,i=[],o=[];function s(c){Array.isArray(i)?i.push(c):r!==null&&(i[r]=c)}return Vit(e,{onObjectBegin:()=>{let c={};s(c),o.push(i),i=c,r=null},onObjectProperty:c=>{r=c},onObjectEnd:()=>{i=o.pop()},onArrayBegin:()=>{let c=[];s(c),o.push(i),i=c,r=null},onArrayEnd:()=>{i=o.pop()},onLiteralValue:s,onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},n),i[0]}function Psn(e,t=[],n=bBe.DEFAULT){let r={type:"array",offset:-1,length:-1,children:[],parent:void 0};function i(c){r.type==="property"&&(r.length=c-r.offset,r=r.parent)}function o(c){return r.children.push(c),c}Vit(e,{onObjectBegin:c=>{r=o({type:"object",offset:c,length:-1,parent:r,children:[]})},onObjectProperty:(c,u,l)=>{r=o({type:"property",offset:u,length:-1,parent:r,children:[]}),r.children.push({type:"string",value:c,offset:u,length:l,parent:r})},onObjectEnd:(c,u)=>{i(c+u),r.length=c+u-r.offset,r=r.parent,i(c+u)},onArrayBegin:(c,u)=>{r=o({type:"array",offset:c,length:-1,parent:r,children:[]})},onArrayEnd:(c,u)=>{r.length=c+u-r.offset,r=r.parent,i(c+u)},onLiteralValue:(c,u,l)=>{o({type:gPa(c),offset:u,length:l,parent:r,value:c}),i(u+l)},onSeparator:(c,u,l)=>{r.type==="property"&&(c===":"?r.colonOffset=u:c===","&&i(u))},onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},n);let a=r.children[0];return a&&delete a.parent,a}function Git(e,t){if(!e)return;let n=e;for(let r of t)if(typeof r=="string"){if(n.type!=="object"||!Array.isArray(n.children))return;let i=!1;for(let o of n.children)if(Array.isArray(o.children)&&o.children[0].value===r&&o.children.length===2){n=o.children[1],i=!0;break}if(!i)return}else{let i=r;if(n.type!=="array"||i<0||!Array.isArray(n.children)||i>=n.children.length)return;n=n.children[i]}return n}function Vit(e,t,n=bBe.DEFAULT){let r=EBe(e,!1),i=[],o=0;function s(k){return k?()=>o===0&&k(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(k){return k?Y=>o===0&&k(Y,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function c(k){return k?Y=>o===0&&k(Y,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function u(k){return k?()=>{o>0?o++:k(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice())===!1&&(o=1)}:()=>!0}function l(k){return k?()=>{o>0&&o--,o===0&&k(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:()=>!0}let d=u(t.onObjectBegin),p=c(t.onObjectProperty),m=l(t.onObjectEnd),f=u(t.onArrayBegin),g=l(t.onArrayEnd),A=c(t.onLiteralValue),h=a(t.onSeparator),E=s(t.onComment),y=a(t.onError),b=n&&n.disallowComments,I=n&&n.allowTrailingComma;function _(){for(;;){let k=r.scan();switch(r.getTokenError()){case 4:v(14);break;case 5:v(15);break;case 3:v(13);break;case 1:b||v(11);break;case 2:v(12);break;case 6:v(16);break}switch(k){case 12:case 13:b?v(10):E();break;case 16:v(1);break;case 15:case 14:break;default:return k}}}function v(k,Y=[],z=[]){if(y(k),Y.length+z.length>0){let K=r.getToken();for(;K!==17;){if(Y.indexOf(K)!==-1){_();break}else if(z.indexOf(K)!==-1)break;K=_()}}}function w(k){let Y=r.getTokenValue();return k?A(Y):(p(Y),i.push(Y)),_(),!0}function R(){switch(r.getToken()){case 11:let k=r.getTokenValue(),Y=Number(k);isNaN(Y)&&(v(2),Y=0),A(Y);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return _(),!0}function N(){return r.getToken()!==10?(v(3,[],[2,5]),!1):(w(!1),r.getToken()===6?(h(":"),_(),D()||v(4,[],[2,5])):v(5,[],[2,5]),i.pop(),!0)}function Q(){d(),_();let k=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(k||v(4,[],[]),h(","),_(),r.getToken()===2&&I)break}else k&&v(6,[],[]);N()||v(4,[],[2,5]),k=!0}return m(),r.getToken()!==2?v(7,[2],[]):_(),!0}function F(){f(),_();let k=!0,Y=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(Y||v(4,[],[]),h(","),_(),r.getToken()===4&&I)break}else Y&&v(6,[],[]);k?(i.push(0),k=!1):i[i.length-1]++,D()||v(4,[],[4,5]),Y=!0}return g(),k||i.pop(),r.getToken()!==4?v(8,[4],[]):_(),!0}function D(){switch(r.getToken()){case 3:return F();case 1:return Q();case 10:return w(!0);default:return R()}}return _(),r.getToken()===17?n.allowEmptyContent?!0:(v(4,[],[]),!1):D()?(r.getToken()!==17&&v(9,[],[]),!0):(v(4,[],[]),!1)}function gPa(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(e){if(Array.isArray(e))return"array"}else return"null";return"object"}default:return"null"}}var bBe,Lsn=C(()=>{"use strict";Uit();(function(e){e.DEFAULT={allowTrailingComma:!1}})(bBe||(bBe={}))});function Bgi(e,t,n,r){let i=t.slice(),s=Psn(e,[]),a,c;for(;i.length>0&&(c=i.pop(),a=Git(s,i),a===void 0&&n!==void 0);)typeof c=="string"?n={[c]:n}:n=[n];if(a)if(a.type==="object"&&typeof c=="string"&&Array.isArray(a.children)){let u=Git(a,[c]);if(u!==void 0)if(n===void 0){if(!u.parent)throw new Error("Malformed AST");let l=a.children.indexOf(u.parent),d,p=u.parent.offset+u.parent.length;if(l>0){let m=a.children[l-1];d=m.offset+m.length}else d=a.offset+1,a.children.length>1&&(p=a.children[1].offset);return RK(e,{offset:d,length:p-d,content:""},r)}else return RK(e,{offset:u.offset,length:u.length,content:JSON.stringify(n)},r);else{if(n===void 0)return[];let l=`${JSON.stringify(c)}: ${JSON.stringify(n)}`,d=r.getInsertionIndex?r.getInsertionIndex(a.children.map(m=>m.children[0].value)):a.children.length,p;if(d>0){let m=a.children[d-1];p={offset:m.offset+m.length,length:0,content:","+l}}else a.children.length===0?p={offset:a.offset+1,length:0,content:l}:p={offset:a.offset+1,length:0,content:l+","};return RK(e,p,r)}}else if(a.type==="array"&&typeof c=="number"&&Array.isArray(a.children)){let u=c;if(u===-1){let l=`${JSON.stringify(n)}`,d;if(a.children.length===0)d={offset:a.offset+1,length:0,content:l};else{let p=a.children[a.children.length-1];d={offset:p.offset+p.length,length:0,content:","+l}}return RK(e,d,r)}else if(n===void 0&&a.children.length>=0){let l=c,d=a.children[l],p;if(a.children.length===1)p={offset:a.offset+1,length:a.length-2,content:""};else if(a.children.length-1===l){let m=a.children[l-1],f=m.offset+m.length,g=a.offset+a.length;p={offset:f,length:g-2-f,content:""}}else p={offset:d.offset,length:a.children[l+1].offset-d.offset,content:""};return RK(e,p,r)}else if(n!==void 0){let l,d=`${JSON.stringify(n)}`;if(!r.isArrayInsertion&&a.children.length>c){let p=a.children[c];l={offset:p.offset,length:p.length,content:d}}else if(a.children.length===0||c===0)l={offset:a.offset+1,length:0,content:a.children.length===0?d:d+","};else{let p=c>a.children.length?a.children.length:c,m=a.children[p-1];l={offset:m.offset+m.length,length:0,content:","+d}}return RK(e,l,r)}else throw new Error(`Can not ${n===void 0?"remove":r.isArrayInsertion?"insert":"modify"} Array index ${u} as length is not sufficient`)}else throw new Error(`Can not add ${typeof c!="number"?"index":"property"} to parent of type ${a.type}`);else{if(n===void 0)throw new Error("Can not delete in empty document");return RK(e,{offset:s?s.offset:0,length:s?s.length:0,content:JSON.stringify(n)},r)}}function RK(e,t,n){if(!n.formattingOptions)return[t];let r=Wit(e,t),i=t.offset,o=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;i>0&&!yBe(r,i-1);)i--;for(;o<r.length&&!yBe(r,o);)o++}let s=Fsn(r,{offset:i,length:o-i},{...n.formattingOptions,keepLines:!1});for(let c=s.length-1;c>=0;c--){let u=s[c];r=Wit(r,u),i=Math.min(i,u.offset),o=Math.max(o,u.offset+u.length),o+=u.content.length-u.length}let a=e.length-(r.length-o)-i;return[{offset:i,length:a,content:r.substring(i,o)}]}function Wit(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var Ngi=C(()=>{"use strict";Osn();Lsn()});function Ogi(e){switch(e){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 Pgi(e,t,n,r){return Bgi(e,t,n,r)}function Lgi(e,t){let n=t.slice(0).sort((i,o)=>{let s=i.offset-o.offset;return s===0?i.length-o.length:s}),r=e.length;for(let i=n.length-1;i>=0;i--){let o=n[i];if(o.offset+o.length<=r)e=Wit(e,o);else throw new Error("Overlapping edit");r=o.offset}return e}var kgi,Dgi,Qgi,Fgi,Mgi,Ugi=C(()=>{"use strict";Osn();Ngi();Uit();Lsn();(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(kgi||(kgi={}));(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(Dgi||(Dgi={}));Qgi=Tgi,Fgi=Vit;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(Mgi||(Mgi={}))});var py=C(()=>{Txe();Txe()});var Ggi,EPa,yPa,bPa,CPa,IPa,SPa,_Pa,Vgi,Wgi=C(()=>{"use strict";py();Ggi=e=>e===null?"null":Array.isArray(e)?"an array":`a ${typeof e}`,EPa=e=>{try{return new RegExp(e),!0}catch{return!1}},yPa=an.discriminatedUnion("type",[an.object({type:an.enum(["allow","deny","ask-user"])}),an.object({type:an.literal("webhook-policy"),webhookUrl:an.url({error:'"permission.webhookUrl" must be a valid URL for a "webhook-policy".'})}),an.object({type:an.literal("script-policy"),script:an.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".'}),bPa=an.object({toolName:an.string({error:'"toolName" must be a non-empty string.'}).min(1,{error:'"toolName" must be a non-empty string.'}),permission:yPa,eventType:an.enum(["tool-call","tool-response"],{error:'"eventType" must be "tool-call" or "tool-response" when present.'}).optional(),shellInputRegex:an.string({error:'"shellInputRegex" must be a string when present.'}).refine(EPa,{error:'"shellInputRegex" must be a valid regular expression when present.'}).optional()},{error:e=>`rule must be an object, got ${Ggi(e.input)}.`}),CPa=e=>{let t=e.issues[0];if(t===void 0)return"invalid rule.";let n=t.message.endsWith(".")?t.message:`${t.message}.`;return t.path.length===0||n.startsWith('"')?n:`"${t.path.join(".")}": ${n}`},IPa='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 }.',SPa=e=>{let t=e.toolPermissions;if(t===void 0)return[];if(!Array.isArray(t))return e.toolPermissions=void 0,[`Ignoring "toolPermissions": expected an array of rules, got ${Ggi(t)}.`];let n=[],r=[];for(let i=0;i<t.length;i++){let o=bPa.safeParse(t[i]);o.success?r.push(t[i]):n.push(`Dropping invalid "toolPermissions" rule at index ${i}: ${CPa(o.error)} ${IPa}`)}return n.length>0&&(e.toolPermissions=r),n},_Pa=e=>{if("queueMode"in e&&!("steeringMode"in e)&&(e.steeringMode=e.queueMode,e.queueMode=void 0),!("transport"in e)&&typeof e.websockets=="boolean"&&(e.transport=e.websockets?"websocket":"sse",e.websockets=void 0),"skills"in e&&typeof e.skills=="object"&&e.skills!==null&&!Array.isArray(e.skills)){let t=e.skills;t.enableSkillCommands!==void 0&&e.enableSkillCommands===void 0&&(e.enableSkillCommands=t.enableSkillCommands),Array.isArray(t.customDirectories)&&t.customDirectories.length>0?e.skills=t.customDirectories:e.skills=void 0}return e},Vgi=e=>{let t=_Pa(e),n=SPa(t);return{settings:t,warnings:n}}});var zgi,vPa,Yit,xPa,L4,Zgi,Ygi,wPa,TK,Dme=C(()=>{"use strict";Ugi();Wgi();zgi=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),vPa=e=>{Fgi(e,{onObjectProperty:t=>{if(L4.has(t))throw new Error(`Settings document contains reserved key "${t}".`)}})},Yit=e=>{vPa(e);let t=[],n=Qgi(e,t,{allowTrailingComma:!0});if(t.length>0){let r=t.map(i=>Ogi(i.error)).join(", ");throw new Error(`Failed to parse settings JSON: ${r}`)}if(n===void 0)return{};if(!zgi(n))throw new Error("Settings document is not a valid object. Expected a JSON object but found a different type (e.g., array).");return n},xPa={tabSize:2,insertSpaces:!0},L4=new Set(["__proto__","constructor","prototype"]),Zgi=e=>{let t=typeof e=="string"?e.split("."):[...e],n=typeof e=="string"?e:e.join(".");for(let r of t){if(r==="")throw new Error(`Invalid settings path "${n}": empty segment.`);if(L4.has(r))throw new Error(`Invalid settings path "${n}": "${r}" is a reserved key.`)}return t},Ygi=(e,t,n)=>{let r=Pgi(e,Zgi(t),n,{formattingOptions:xPa});return Lgi(e,r)},wPa=(e,t)=>{let n=e;for(let r of t){if(!zgi(n)||!Object.hasOwn(n,r))return!1;n=n[r]}return!0},TK=class{constructor(t){this.settings={};this.warnings=[];this.store=t}drainWarnings(){let t=this.warnings;return this.warnings=[],t}getSettings(){return structuredClone(this.settings)}publish(t){let n=Yit(t),{settings:r,warnings:i}=Vgi(n);this.warnings.push(...i),this.settings=r}reload(){let t=this.store.read();if(t===void 0||t.trim()===""){this.settings={};return}this.publish(t)}remove(t){let n={persisted:!1,effectiveChange:!1};return this.store.modify(r=>{if(r===void 0||r.trim()==="")return;let i=Yit(r),o=r;for(let s of t.paths){let a=Zgi(s);wPa(i,a)&&(o=Ygi(o,a,void 0),i=Yit(o))}if(o!==r)return this.publish(o),n={persisted:!0,effectiveChange:!0},o}),n}update(t){return this.updateAll([t])}updateAll(t){let n={persisted:!1,effectiveChange:!1};return this.store.modify(r=>{let i=r===void 0||r.trim()===""?"{}":r;Yit(i);let o=t.reduce((s,a)=>Ygi(s,a.path,a.value),i);if(o!==i)return this.publish(o),n={persisted:!0,effectiveChange:!0},o}),n}}});var Usn,CBe,Hgi,RPa,TPa,BPa,NPa,BK,zit=C(()=>{"use strict";sr();Dme();Usn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),CBe=e=>Array.isArray(e)?e.map(CBe):Usn(e)?Object.fromEntries(Object.entries(e).filter(([t])=>!L4.has(t)).map(([t,n])=>[t,CBe(n)])):structuredClone(e),Hgi=(e,t,n=!1)=>{for(let[r,i]of Object.entries(t)){if(L4.has(r)||i===void 0)continue;let o=e[r];n&&r==="toolPermissions"&&Array.isArray(i)?e[r]=[...CBe(i),...Array.isArray(o)?o:[]]:Usn(o)&&Usn(i)?e[r]={...o,...CBe(i)}:e[r]=CBe(i)}},RPa="managed",TPa="global",BPa="project",NPa="local",BK=class{constructor(t,n={},r={}){this.errors=[];this.locals=t,this.overrides=n,this.vfs=r}drainErrors(){let t=this.errors;return this.errors=[],t}getSettings(){return this.mergeLayers([TPa,BPa,NPa,RPa])}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(t){let n={},r=t.map(i=>this.locals[i].getSettings());for(let i of r)Hgi(n,i,!0);return Hgi(n,this.overrides),n}reload(){let t=[...Object.entries(this.locals),...Object.entries(this.vfs)];for(let[n,r]of t)if(r){try{r.reload()}catch(i){let o=i instanceof Error?i:new Error(String(i));Gt.error("settings reload failed",{scope:n,error:o}),this.errors.push({scope:n,error:o})}for(let i of r.drainWarnings())this.errors.push({scope:n,error:new Error(i)})}}remove(t,n){return this.routeWrite(t,r=>r.remove(n))}update(t,n){return this.routeWrite(t,r=>r.update(n))}updateAll(t,n){return this.routeWrite(t,r=>r.updateAll(n))}routeWrite(t,n){if(t==="managed")throw new Error('Refusing to write read-only settings scope "managed"');let r=this.getSettings(),i=n(this.locals[t]);for(let a of this.locals[t].drainWarnings())this.errors.push({scope:t,error:new Error(a)});if(!i.persisted)return i;let o=this.getSettings(),s=JSON.stringify(r)!==JSON.stringify(o);return{persisted:i.persisted,effectiveChange:s}}}});var Gsn,Vsn=C(()=>{"use strict";vgi();zit();Dme();Gsn=(e,t)=>{let n=i=>new TK(new Lit(i)),r=new BK({managed:n(e.managedPath),global:n(e.globalPath),project:n(e.projectPath),local:n(e.localPath)},t,{vfsUser:e.vfsUserPath?n(e.vfsUserPath):void 0,vfsSpace:e.vfsSpacePath?n(e.vfsSpacePath):void 0,vfsOrg:e.vfsOrgPath?n(e.vfsOrgPath):void 0});return r.reload(),r}});var Wsn,Ysn,Xgi,NK,Zit=C(()=>{"use strict";Dme();Wsn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ysn=e=>{if(Array.isArray(e))return e.map(Ysn);if(!Wsn(e))return structuredClone(e);let t={};for(let[n,r]of Object.entries(e))L4.has(n)||(t[n]=Ysn(r));return t},Xgi=(e,t)=>{let n=structuredClone(e);for(let r of Object.keys(t)){let i=t[r];if(i===void 0||L4.has(r))continue;let o=n[r],s=Ysn(i);Wsn(o)&&Wsn(s)?n[r]={...o,...s}:n[r]=s}return n},NK=class{constructor(t){this.errors=[];this.manager=t}get settings(){let t=this.manager.getSettings();return this.dynamicOverrides?Xgi(t,this.dynamicOverrides):t}update(t,n,r){if(this.dynamicOverrides=void 0,typeof n=="object"&&"path"in n)return this.manager.update(t,n);try{this.manager.update(t,{path:n,value:r})}catch(i){let o=i instanceof Error?i:new Error(String(i));this.errors.push({scope:t,error:o})}}updateAll(t,n){return this.dynamicOverrides=void 0,this.manager.updateAll(t,n)}remove(t,n){return this.dynamicOverrides=void 0,this.manager.remove(t,n)}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(t){this.dynamicOverrides=Xgi(this.dynamicOverrides??{},t)}flush(){}drainErrors(){let t=[...this.manager.drainErrors(),...this.errors];return this.errors=[],t}getLastChangelogVersion(){return this.settings.lastChangelogVersion}setLastChangelogVersion(t){this.update("global","lastChangelogVersion",t)}getSessionDir(){return this.settings.sessionDir}getWorktreeDir(){return this.settings.worktreeDir}getDefaultProvider(){return this.settings.defaultProvider}getDefaultModel(){return this.settings.defaultModel}setDefaultProvider(t){this.update("global","defaultProvider",t)}setDefaultModel(t){this.update("global","defaultModel",t)}setDefaultModelAndProvider(t,n){this.dynamicOverrides=void 0;try{this.manager.updateAll("global",[{path:"defaultProvider",value:t},{path:"defaultModel",value:n}])}catch(r){let i=r instanceof Error?r:new Error(String(r));this.errors.push({scope:"global",error:i})}}getSteeringMode(){return this.settings.steeringMode||"one-at-a-time"}setSteeringMode(t){this.update("global","steeringMode",t)}getFollowUpMode(){return this.settings.followUpMode||"one-at-a-time"}setFollowUpMode(t){this.update("global","followUpMode",t)}getTheme(){return this.settings.theme}setTheme(t){this.update("global","theme",t)}getDefaultThinkingLevel(){return this.settings.defaultThinkingLevel}setDefaultThinkingLevel(t){this.update("global","defaultThinkingLevel",t)}getTransport(){return this.settings.transport??"sse"}setTransport(t){this.update("global","transport",t)}getCompactionEnabled(){return this.settings.compaction?.enabled??!0}setCompactionEnabled(t){this.update("global","compaction.enabled",t)}getCompactionReserveTokens(){return this.settings.compaction?.reserveTokens??16384}getCompactionProtectedHeadTokens(){return this.settings.compaction?.protectedHeadTokens??2e4}getCompactionKeepRecentTokens(){return this.settings.compaction?.keepRecentTokens??2e4}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(t){this.update("global","retry.enabled",t)}getRetrySettings(){return{enabled:this.getRetryEnabled(),maxRetries:this.settings.retry?.maxRetries??3,baseDelayMs:this.settings.retry?.baseDelayMs??2e3,maxDelayMs:this.settings.retry?.maxDelayMs??6e4}}getHideThinkingBlock(){return this.settings.hideThinkingBlock??!1}setHideThinkingBlock(t){this.update("global","hideThinkingBlock",t)}getCollapsePromptCommands(){return this.settings.collapsePromptCommands??!1}setCollapsePromptCommands(t){this.update("global","collapsePromptCommands",t)}getShellPath(){return this.settings.shellPath}setShellPath(t){this.update("global","shellPath",t)}getQuietStartup(){return this.settings.quietStartup??!1}setQuietStartup(t){this.update("global","quietStartup",t)}getShellCommandPrefix(){return this.settings.shellCommandPrefix}setShellCommandPrefix(t){this.update("global","shellCommandPrefix",t)}getNpmCommand(){return this.settings.npmCommand?[...this.settings.npmCommand]:void 0}setNpmCommand(t){this.update("global","npmCommand",t?[...t]:void 0)}getCollapseChangelog(){return this.settings.collapseChangelog??!1}setCollapseChangelog(t){this.update("global","collapseChangelog",t)}getPackages(){return[...this.settings.packages??[]]}setPackages(t){this.update("global","packages",t)}setProjectPackages(t){this.update("project","packages",t)}setLocalPackages(t){this.update("local","packages",t)}getExtensionPaths(){return[...this.settings.extensions??[]]}setExtensionPaths(t){this.update("global","extensions",t)}setProjectExtensionPaths(t){this.update("project","extensions",t)}setLocalExtensionPaths(t){this.update("local","extensions",t)}getSkillPaths(){return[...this.settings.skills??[]]}setSkillPaths(t){this.update("global","skills",t)}setProjectSkillPaths(t){this.update("project","skills",t)}setLocalSkillPaths(t){this.update("local","skills",t)}getPromptTemplatePaths(){return[...this.settings.prompts??[]]}setPromptTemplatePaths(t){this.update("global","prompts",t)}setProjectPromptTemplatePaths(t){this.update("project","prompts",t)}setLocalPromptTemplatePaths(t){this.update("local","prompts",t)}getThemePaths(){return[...this.settings.themes??[]]}setThemePaths(t){this.update("global","themes",t)}setProjectThemePaths(t){this.update("project","themes",t)}setLocalThemePaths(t){this.update("local","themes",t)}getEnableSkillCommands(){return this.settings.enableSkillCommands??!0}setEnableSkillCommands(t){this.update("global","enableSkillCommands",t)}getEnableHashline(){return this.settings.enableHashline??!1}setEnableHashline(t){this.update("global","enableHashline",t)}getEnabledPlugins(){let t={};for(let[n,r]of Object.entries(this.settings.enabledPlugins??{}))typeof r=="boolean"&&(t[n]=r);return t}getToolPermissions(){let t=this.settings.toolPermissions;return Array.isArray(t)?structuredClone(t):[]}getToolPermissionScopeRuleSets(){let t=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],n=[];for(let r of t){let i=r.toolPermissions;Array.isArray(i)&&i.length>0&&n.push(structuredClone(i))}return n}setPluginEnabled(t,n){this.update("global",["enabledPlugins",t],n)}getEnableToolSearch(){return this.settings.enableToolSearch??!1}getThinkingBudgets(){return this.settings.thinkingBudgets}getShowImages(){return this.settings.terminal?.showImages??!0}setShowImages(t){this.update("global","terminal.showImages",t)}getClearOnShrink(){return this.settings.terminal?.clearOnShrink!==void 0?this.settings.terminal.clearOnShrink:process.env.PI_CLEAR_ON_SHRINK==="1"}setClearOnShrink(t){this.update("global","terminal.clearOnShrink",t)}getImageAutoResize(){return this.settings.images?.autoResize??!0}setImageAutoResize(t){this.update("global","images.autoResize",t)}getBlockImages(){return this.settings.images?.blockImages??!1}setBlockImages(t){this.update("global","images.blockImages",t)}getEnabledModels(){return this.settings.enabledModels?[...this.settings.enabledModels]:void 0}setEnabledModels(t){this.update("global","enabledModels",t)}getDoubleEscapeAction(){return this.settings.doubleEscapeAction??"tree"}setDoubleEscapeAction(t){this.update("global","doubleEscapeAction",t)}getTreeFilterMode(){let t=this.settings.treeFilterMode;return t&&["default","no-tools","user-only","labeled-only","all"].includes(t)?t:"default"}setTreeFilterMode(t){this.update("global","treeFilterMode",t)}getShowHardwareCursor(){return this.settings.showHardwareCursor??process.env.PI_HARDWARE_CURSOR==="1"}setShowHardwareCursor(t){this.update("global","showHardwareCursor",t)}getEditorPaddingX(){return this.settings.editorPaddingX??0}setEditorPaddingX(t){this.update("global","editorPaddingX",Math.max(0,Math.min(3,Math.floor(t))))}getAutocompleteMaxVisible(){return this.settings.autocompleteMaxVisible??5}setAutocompleteMaxVisible(t){this.update("global","autocompleteMaxVisible",Math.max(3,Math.min(20,Math.floor(t))))}getCodeBlockIndent(){return this.settings.markdown?.codeBlockIndent??" "}getHooks(){return this.settings.hooks}getTelemetrySettings(){return this.settings.telemetry}getEnvInjection(){let t=this.settings.env;if(!t||typeof t!="object")return{};let n={};for(let[r,i]of Object.entries(t))typeof i=="string"&&(n[r]=i);return n}getFeatureFlagOverrides(){return this.settings.featureFlagOverrides}getIndexingDirsUnion(){let t=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],n=r=>{let i=new Set,o=[];for(let s of t){let a=s[r];if(Array.isArray(a))for(let c of a)typeof c!="string"||i.has(c)||(i.add(c),o.push(c))}return o};return{allowDirs:n("indexingAllowDirs"),denyDirs:n("indexingDenyDirs")}}}});var zsn,Zsn=C(()=>{"use strict";Vsn();Zit();zsn=(e,t)=>new NK(Gsn(e,t))});var IBe,Hsn=C(()=>{"use strict";IBe=class{constructor(t){this.content=t}read(){return this.content}modify(t){let n=t(this.content);n!==void 0&&(this.content=n)}}});import{homedir as Jgi}from"node:os";import{join as kK}from"node:path";var kPa,DPa,Xsn,Ms,$gi=C(()=>{"use strict";Hsn();zit();Dme();Zsn();Zit();kPa="AUGGIE_CODING_AGENT_DIR",DPa=()=>{let e=process.env[`${kPa}_MANAGED`];if(e)return e==="~"?kK(Jgi(),"settings.json"):e.startsWith("~/")?Jgi()+e.slice(1):e;if(process.platform==="win32"){let t=process.env.ProgramData||"C:\\ProgramData";return kK(t,"augment","settings.json")}return kK("/etc","augment","settings.json")},Xsn=e=>e?kK(e,".augment","settings.json"):void 0,Ms={create(e,t,n){return zsn({globalPath:kK(t,"settings.json"),projectPath:kK(e,".augment","settings.json"),localPath:kK(e,".augment","settings.local.json"),managedPath:DPa(),vfsUserPath:Xsn(n?.user),vfsSpacePath:Xsn(n?.space),vfsOrgPath:Xsn(n?.org)})},inMemory(e={}){let t=r=>new TK(new IBe(r===void 0?void 0:JSON.stringify(r))),n=new BK({managed:t(),local:t(),project:t(),global:t(e)});return n.reload(),new NK(n)}}});var WA=C(()=>{"use strict";Zsn();Zit();$gi();Vsn();Hsn();zit();Dme()});var U4,Jsn=C(()=>{U4={name:"@augmentcode/auggie-v2",version:"1.2.0",description:"Auggie CLI Client by Augment Code",type:"module",piConfig:{name:"auggie",configDir:".augment"},bin:{auggie:"dist/cli.js","auggie-v2":"dist/cli.js",pi:"dist/cli.js"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{source:"./src/index.ts",types:"./dist/index.d.ts",import:"./dist/index.js"},"./hooks":{types:"./dist/core/hooks/index.d.ts",import:"./dist/core/hooks/index.js"}},files:["dist","docs","examples","CHANGELOG.md"],scripts:{"check-types":"pnpm run bake:export-html && tsgo -p tsconfig.build.json",clean:"shx rm -rf dist","cli:source":"tsx --conditions=source src/cli.ts",dev:"pnpm run bake:export-html && pnpm run cli:source","dev:debug":"pnpm run bake:export-html && node --conditions=source --inspect-wait=ws://localhost:6499/57uz7t2uyri --import tsx src/cli.ts","bake:export-html":"node scripts/bake-export-html.mjs",build:"pnpm run bake:export-html && tsgo -p tsconfig.build.json --noCheck && shx chmod +x dist/cli.js && shx cp src/runtime/register-extensions.js dist/runtime/register-extensions.js && shx cp src/runtime/cloud-bridge.js dist/runtime/cloud-bridge.js && shx cp src/runtime/cloud-tracer-bridge.js dist/runtime/cloud-tracer-bridge.js && shx cp src/runtime/cloud-error-bridge.js dist/runtime/cloud-error-bridge.js && shx cp src/runtime/mcp-error-bridge.js dist/runtime/mcp-error-bridge.js && pnpm run copy-assets","build:npm:release":"node scripts/build-npm-release.mjs","build:migration-engine":"node scripts/build-migration-engine.mjs","build:release:sea":"node scripts/build-sea-release.mjs","build:release:sea:from-onison":"node scripts/build-sea-from-onison.mjs","build:release-js":"pnpm run bake:export-html && tsgo -p tsconfig.release.json --noCheck && shx chmod +x dist/cli.js && shx cp src/runtime/register-extensions.js dist/runtime/register-extensions.js && shx cp src/runtime/cloud-bridge.js dist/runtime/cloud-bridge.js && shx cp src/runtime/cloud-tracer-bridge.js dist/runtime/cloud-tracer-bridge.js && shx cp src/runtime/cloud-error-bridge.js dist/runtime/cloud-error-bridge.js && shx cp src/runtime/mcp-error-bridge.js dist/runtime/mcp-error-bridge.js && pnpm run copy-assets","build:npm":"pnpm run build:npm:release","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":"tsx scripts/assemble-changelog.ts",test:"pnpm run bake:export-html && vitest --run","test:acp:e2e":"pnpm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/acp/","test:e2e:sanity":"pnpm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/tui/sanity.test.ts","test:e2e:tui":"pnpm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/tui/","test:e2e:cli":"pnpm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/cli/",prepublishOnly:"pnpm run clean && pnpm run build"},dependencies:{"@agentclientprotocol/sdk":"1.3.0","@augmentcode/api-client":"workspace:*","@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/augment-legacy-tools":"workspace:*","@hermes/cloud":"workspace:*","@hermes/context-usage":"workspace:*","@hermes/cosmos":"workspace:*","@hermes/daemon":"workspace:*","@hermes/git-credentials":"workspace:*","@hermes/hashline-edit":"workspace:*","@hermes/hooks":"workspace:*","@hermes/logger":"workspace:*","@hermes/lsp":"workspace:*","@hermes/mcp":"workspace:*","@hermes/migration":"workspace:*","@hermes/open-browser":"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",jimp:"^1.6.1","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 QPa}from"node:fs";import{homedir as SBe}from"node:os";import{dirname as $sn,join as tR,resolve as jgi}from"node:path";import{fileURLToPath as FPa}from"node:url";function qgi(){let e=process.env.PI_PACKAGE_DIR;if(e)return e==="~"?SBe():e.startsWith("~/")?SBe()+e.slice(1):e;let t=Kgi;for(;t!==$sn(t);){if(QPa(tR(t,"package.json")))return t;t=$sn(t)}return Kgi}function Hit(){return jgi(tR(qgi(),"docs"))}function Xit(){return jgi(tR(qgi(),"CHANGELOG.md"))}function rAi(e){return`${process.env.PI_SHARE_VIEWER_URL||LPa}#${e}`}function iAi(e){return e==="~"?SBe():e.startsWith("~/")?SBe()+e.slice(1):e}function IQ(){let e=process.env.AUGMENT_CACHE_DIR;return e?iAi(e):tR(SBe(),".augment")}function mo(){let e=process.env[Ksn];return e?iAi(e):IQ()}function xBe(){return tR(mo(),"themes")}function oAi(){return tR(mo(),"models.json")}function sAi(){return tR(mo(),"auth.json")}function aAi(){return tR(mo(),"settings.json")}function G4(){return IQ()}function Mme(){return tR(mo(),"bin")}function cAi(){return tR(mo(),"prompts")}function lAi(){return tR(mo(),_Be)}function uAi(){return tR(mo(),`${es}-debug.log`)}var OPa,Kgi,es,xa,_Be,vBe,eAi,PPa,Kl,tAi,nAi,Ksn,LPa,al=C(()=>{"use strict";Jsn();OPa=FPa(import.meta.url),Kgi=$sn(OPa);es=U4.piConfig?.name||"auggie",xa=U4.piConfig?.configDir||".augment",_Be="sessions-v2",vBe=es,eAi="Auggie Coding Agent",PPa="1.2.0-prerelease.202609141353",Kl=PPa??U4.version,tAi="d22486d67a1c419c749a44619686fda70a65b95a",nAi="2026-09-14T20:53:10Z",Ksn=`${es.toUpperCase()}_CODING_AGENT_DIR`,LPa="https://pi.dev/session/"});function jsn(...e){return new globalThis.Function(...e)}var dAi=C(()=>{});var Jit,$it,qsn,pAi=C(()=>{J5();Eoe();ao();Ip();Jit=class extends Zo{constructor(t){super(`Duplicate type kind '${t}' detected`)}},$it=class extends Zo{constructor(t){super(`Duplicate string format '${t}' detected`)}};(function(e){function t(r,i){if(Yg.Has(r))throw new Jit(r);return Yg.Set(r,i),(o={})=>pV({...o,[Kn]:r})}e.Type=t;function n(r,i){if(sb.Has(r))throw new $it(r);return sb.Set(r,i),r}e.Format=n})(qsn||(qsn={}))});var DK={};ai(DK,{Evaluate:()=>jsn,TypeSystem:()=>qsn,TypeSystemDuplicateFormat:()=>$it,TypeSystemDuplicateTypeKind:()=>Jit,TypeSystemPolicy:()=>Fd});var Qme=C(()=>{dAi();gIe();pAi()});function mAi(e){switch(e.errorType){case jn.ArrayContains:return"Expected array to contain at least one matching value";case jn.ArrayMaxContains:return`Expected array to contain no more than ${e.schema.maxContains} matching values`;case jn.ArrayMinContains:return`Expected array to contain at least ${e.schema.minContains} matching values`;case jn.ArrayMaxItems:return`Expected array length to be less or equal to ${e.schema.maxItems}`;case jn.ArrayMinItems:return`Expected array length to be greater or equal to ${e.schema.minItems}`;case jn.ArrayUniqueItems:return"Expected array elements to be unique";case jn.Array:return"Expected array";case jn.AsyncIterator:return"Expected AsyncIterator";case jn.BigIntExclusiveMaximum:return`Expected bigint to be less than ${e.schema.exclusiveMaximum}`;case jn.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${e.schema.exclusiveMinimum}`;case jn.BigIntMaximum:return`Expected bigint to be less or equal to ${e.schema.maximum}`;case jn.BigIntMinimum:return`Expected bigint to be greater or equal to ${e.schema.minimum}`;case jn.BigIntMultipleOf:return`Expected bigint to be a multiple of ${e.schema.multipleOf}`;case jn.BigInt:return"Expected bigint";case jn.Boolean:return"Expected boolean";case jn.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${e.schema.exclusiveMinimumTimestamp}`;case jn.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${e.schema.exclusiveMaximumTimestamp}`;case jn.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${e.schema.minimumTimestamp}`;case jn.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${e.schema.maximumTimestamp}`;case jn.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${e.schema.multipleOfTimestamp}`;case jn.Date:return"Expected Date";case jn.Function:return"Expected function";case jn.IntegerExclusiveMaximum:return`Expected integer to be less than ${e.schema.exclusiveMaximum}`;case jn.IntegerExclusiveMinimum:return`Expected integer to be greater than ${e.schema.exclusiveMinimum}`;case jn.IntegerMaximum:return`Expected integer to be less or equal to ${e.schema.maximum}`;case jn.IntegerMinimum:return`Expected integer to be greater or equal to ${e.schema.minimum}`;case jn.IntegerMultipleOf:return`Expected integer to be a multiple of ${e.schema.multipleOf}`;case jn.Integer:return"Expected integer";case jn.IntersectUnevaluatedProperties:return"Unexpected property";case jn.Intersect:return"Expected all values to match";case jn.Iterator:return"Expected Iterator";case jn.Literal:return`Expected ${typeof e.schema.const=="string"?`'${e.schema.const}'`:e.schema.const}`;case jn.Never:return"Never";case jn.Not:return"Value should not match";case jn.Null:return"Expected null";case jn.NumberExclusiveMaximum:return`Expected number to be less than ${e.schema.exclusiveMaximum}`;case jn.NumberExclusiveMinimum:return`Expected number to be greater than ${e.schema.exclusiveMinimum}`;case jn.NumberMaximum:return`Expected number to be less or equal to ${e.schema.maximum}`;case jn.NumberMinimum:return`Expected number to be greater or equal to ${e.schema.minimum}`;case jn.NumberMultipleOf:return`Expected number to be a multiple of ${e.schema.multipleOf}`;case jn.Number:return"Expected number";case jn.Object:return"Expected object";case jn.ObjectAdditionalProperties:return"Unexpected property";case jn.ObjectMaxProperties:return`Expected object to have no more than ${e.schema.maxProperties} properties`;case jn.ObjectMinProperties:return`Expected object to have at least ${e.schema.minProperties} properties`;case jn.ObjectRequiredProperty:return"Expected required property";case jn.Promise:return"Expected Promise";case jn.RegExp:return"Expected string to match regular expression";case jn.StringFormatUnknown:return`Unknown format '${e.schema.format}'`;case jn.StringFormat:return`Expected string to match '${e.schema.format}' format`;case jn.StringMaxLength:return`Expected string length less or equal to ${e.schema.maxLength}`;case jn.StringMinLength:return`Expected string length greater or equal to ${e.schema.minLength}`;case jn.StringPattern:return`Expected string to match '${e.schema.pattern}'`;case jn.String:return"Expected string";case jn.Symbol:return"Expected symbol";case jn.TupleLength:return`Expected tuple to have ${e.schema.maxItems||0} elements`;case jn.Tuple:return"Expected tuple";case jn.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${e.schema.maxByteLength}`;case jn.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${e.schema.minByteLength}`;case jn.Uint8Array:return"Expected Uint8Array";case jn.Undefined:return"Expected undefined";case jn.Union:return"Expected union value";case jn.Void:return"Expected void";case jn.Kind:return`Expected kind '${e.schema[Kn]}'`;default:return"Unknown error type"}}function UPa(e){fAi=e}function ean(){return fAi}var fAi,tan=C(()=>{ao();nan();fAi=mAi});function GPa(e,t){let n=t.find(r=>r.$id===e.$ref);if(n===void 0)throw new ran(e);return yl(n,t)}function qh(e,t){return!Tc(e.$id)||t.some(n=>n.$id===e.$id)||t.push(e),t}function yl(e,t){return e[Kn]==="This"||e[Kn]==="Ref"?GPa(e,t):e}var ran,gAi=C(()=>{Ip();ao();A3e();ran=class extends Zo{constructor(t){super(`Unable to dereference schema with $id '${t.$ref}'`),this.schema=t}}});var nR=C(()=>{gAi()});function*zPa(e){let t=e===0?1:Math.ceil(Math.floor(Math.log2(e)+1)/8);for(let n=0;n<t;n++)yield e>>8*(t-1-n)&255}function ZPa(e){Qb(gv.Array);for(let t of e)Ome(t)}function HPa(e){Qb(gv.Boolean),Qb(e?1:0)}function XPa(e){Qb(gv.BigInt),hAi.setBigInt64(0,e);for(let t of EAi)Qb(t)}function JPa(e){Qb(gv.Date),Ome(e.getTime())}function $Pa(e){Qb(gv.Null)}function KPa(e){Qb(gv.Number),hAi.setFloat64(0,e);for(let t of EAi)Qb(t)}function jPa(e){Qb(gv.Object);for(let t of globalThis.Object.getOwnPropertyNames(e).sort())Ome(t),Ome(e[t])}function qPa(e){Qb(gv.String);for(let t=0;t<e.length;t++)for(let n of zPa(e.charCodeAt(t)))Qb(n)}function eLa(e){Qb(gv.Symbol),Ome(e.description)}function tLa(e){Qb(gv.Uint8Array);for(let t=0;t<e.length;t++)Qb(e[t])}function nLa(e){return Qb(gv.Undefined)}function Ome(e){if(qo(e))return ZPa(e);if(dB(e))return HPa(e);if(Sh(e))return XPa(e);if(rb(e))return JPa(e);if(Y2(e))return $Pa(e);if(Qo(e))return KPa(e);if(ea(e))return jPa(e);if(Tc(e))return qPa(e);if(Z2(e))return eLa(e);if(xH(e))return tLa(e);if(rp(e))return nLa(e);throw new Kit(e)}function Qb(e){Fme=Fme^YPa[e],Fme=Fme*VPa%WPa}function IU(e){return Fme=BigInt("14695981039346656037"),Ome(e),Fme}var Kit,gv,Fme,VPa,WPa,YPa,AAi,hAi,EAi,yAi=C(()=>{Wg();Ip();Kit=class extends Zo{constructor(t){super("Unable to hash value"),this.value=t}};(function(e){e[e.Undefined=0]="Undefined",e[e.Null=1]="Null",e[e.Boolean=2]="Boolean",e[e.Number=3]="Number",e[e.String=4]="String",e[e.Object=5]="Object",e[e.Array=6]="Array",e[e.Date=7]="Date",e[e.Uint8Array=8]="Uint8Array",e[e.Symbol=9]="Symbol",e[e.BigInt=10]="BigInt"})(gv||(gv={}));Fme=BigInt("14695981039346656037"),[VPa,WPa]=[BigInt("1099511628211"),BigInt("18446744073709551616")],YPa=Array.from({length:256}).map((e,t)=>BigInt(t)),AAi=new Float64Array(1),hAi=new DataView(AAi.buffer),EAi=new Uint8Array(AAi.buffer)});var Pme=C(()=>{yAi()});function rLa(e){return e[Kn]==="Any"||e[Kn]==="Unknown"}function Mc(e){return e!==void 0}function iLa(e,t,n){return!0}function oLa(e,t,n){return!0}function sLa(e,t,n){if(!qo(n)||Mc(e.minItems)&&!(n.length>=e.minItems)||Mc(e.maxItems)&&!(n.length<=e.maxItems))return!1;for(let o of n)if(!eE(e.items,t,o))return!1;if(e.uniqueItems===!0&&!(function(){let o=new Set;for(let s of n){let a=IU(s);if(o.has(a))return!1;o.add(a)}return!0})())return!1;if(!(Mc(e.contains)||Qo(e.minContains)||Qo(e.maxContains)))return!0;let r=Mc(e.contains)?e.contains:Es(),i=n.reduce((o,s)=>eE(r,t,s)?o+1:o,0);return!(i===0||Qo(e.minContains)&&i<e.minContains||Qo(e.maxContains)&&i>e.maxContains)}function aLa(e,t,n){return dIe(n)}function cLa(e,t,n){return!(!Sh(n)||Mc(e.exclusiveMaximum)&&!(n<e.exclusiveMaximum)||Mc(e.exclusiveMinimum)&&!(n>e.exclusiveMinimum)||Mc(e.maximum)&&!(n<=e.maximum)||Mc(e.minimum)&&!(n>=e.minimum)||Mc(e.multipleOf)&&n%e.multipleOf!==BigInt(0))}function lLa(e,t,n){return dB(n)}function uLa(e,t,n){return eE(e.returns,t,n.prototype)}function dLa(e,t,n){return!(!rb(n)||Mc(e.exclusiveMaximumTimestamp)&&!(n.getTime()<e.exclusiveMaximumTimestamp)||Mc(e.exclusiveMinimumTimestamp)&&!(n.getTime()>e.exclusiveMinimumTimestamp)||Mc(e.maximumTimestamp)&&!(n.getTime()<=e.maximumTimestamp)||Mc(e.minimumTimestamp)&&!(n.getTime()>=e.minimumTimestamp)||Mc(e.multipleOfTimestamp)&&n.getTime()%e.multipleOfTimestamp!==0)}function pLa(e,t,n){return z2(n)}function mLa(e,t,n){let r=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref];return eE(i,[...t,...r],n)}function fLa(e,t,n){return!(!fIe(n)||Mc(e.exclusiveMaximum)&&!(n<e.exclusiveMaximum)||Mc(e.exclusiveMinimum)&&!(n>e.exclusiveMinimum)||Mc(e.maximum)&&!(n<=e.maximum)||Mc(e.minimum)&&!(n>=e.minimum)||Mc(e.multipleOf)&&n%e.multipleOf!==0)}function gLa(e,t,n){let r=e.allOf.every(i=>eE(i,t,n));if(e.unevaluatedProperties===!1){let i=new RegExp(mB(e)),o=Object.getOwnPropertyNames(n).every(s=>i.test(s));return r&&o}else if(Sp(e.unevaluatedProperties)){let i=new RegExp(mB(e)),o=Object.getOwnPropertyNames(n).every(s=>i.test(s)||eE(e.unevaluatedProperties,t,n[s]));return r&&o}else return r}function ALa(e,t,n){return pIe(n)}function hLa(e,t,n){return n===e.const}function ELa(e,t,n){return!1}function yLa(e,t,n){return!eE(e.not,t,n)}function bLa(e,t,n){return Y2(n)}function CLa(e,t,n){return!(!Fd.IsNumberLike(n)||Mc(e.exclusiveMaximum)&&!(n<e.exclusiveMaximum)||Mc(e.exclusiveMinimum)&&!(n>e.exclusiveMinimum)||Mc(e.minimum)&&!(n>=e.minimum)||Mc(e.maximum)&&!(n<=e.maximum)||Mc(e.multipleOf)&&n%e.multipleOf!==0)}function ILa(e,t,n){if(!Fd.IsObjectLike(n)||Mc(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)||Mc(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties))return!1;let r=Object.getOwnPropertyNames(e.properties);for(let i of r){let o=e.properties[i];if(e.required&&e.required.includes(i)){if(!eE(o,t,n[i])||(fB(o)||rLa(o))&&!(i in n))return!1}else if(Fd.IsExactOptionalProperty(n,i)&&!eE(o,t,n[i]))return!1}if(e.additionalProperties===!1){let i=Object.getOwnPropertyNames(n);return e.required&&e.required.length===r.length&&i.length===r.length?!0:i.every(o=>r.includes(o))}else return typeof e.additionalProperties=="object"?Object.getOwnPropertyNames(n).every(o=>r.includes(o)||eE(e.additionalProperties,t,n[o])):!0}function SLa(e,t,n){return mIe(n)}function _La(e,t,n){if(!Fd.IsRecordLike(n)||Mc(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)||Mc(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties))return!1;let[r,i]=Object.entries(e.patternProperties)[0],o=new RegExp(r),s=Object.entries(n).every(([u,l])=>o.test(u)?eE(i,t,l):!0),a=typeof e.additionalProperties=="object"?Object.entries(n).every(([u,l])=>o.test(u)?!0:eE(e.additionalProperties,t,l)):!0,c=e.additionalProperties===!1?Object.getOwnPropertyNames(n).every(u=>o.test(u)):!0;return s&&a&&c}function vLa(e,t,n){return eE(yl(e,t),t,n)}function xLa(e,t,n){let r=new RegExp(e.source,e.flags);return Mc(e.minLength)&&!(n.length>=e.minLength)||Mc(e.maxLength)&&!(n.length<=e.maxLength)?!1:r.test(n)}function wLa(e,t,n){return!Tc(n)||Mc(e.minLength)&&!(n.length>=e.minLength)||Mc(e.maxLength)&&!(n.length<=e.maxLength)||Mc(e.pattern)&&!new RegExp(e.pattern).test(n)?!1:Mc(e.format)?sb.Has(e.format)?sb.Get(e.format)(n):!1:!0}function RLa(e,t,n){return Z2(n)}function TLa(e,t,n){return Tc(n)&&new RegExp(e.pattern).test(n)}function BLa(e,t,n){return eE(yl(e,t),t,n)}function NLa(e,t,n){if(!qo(n)||e.items===void 0&&n.length!==0||n.length!==e.maxItems)return!1;if(!e.items)return!0;for(let r=0;r<e.items.length;r++)if(!eE(e.items[r],t,n[r]))return!1;return!0}function kLa(e,t,n){return rp(n)}function DLa(e,t,n){return e.anyOf.some(r=>eE(r,t,n))}function MLa(e,t,n){return!(!xH(n)||Mc(e.maxByteLength)&&!(n.length<=e.maxByteLength)||Mc(e.minByteLength)&&!(n.length>=e.minByteLength))}function QLa(e,t,n){return!0}function FLa(e,t,n){return Fd.IsVoidLike(n)}function OLa(e,t,n){return Yg.Has(e[Kn])?Yg.Get(e[Kn])(e,n):!1}function eE(e,t,n){let r=Mc(e.$id)?qh(e,t):t,i=e;switch(i[Kn]){case"Any":return iLa(i,r,n);case"Argument":return oLa(i,r,n);case"Array":return sLa(i,r,n);case"AsyncIterator":return aLa(i,r,n);case"BigInt":return cLa(i,r,n);case"Boolean":return lLa(i,r,n);case"Constructor":return uLa(i,r,n);case"Date":return dLa(i,r,n);case"Function":return pLa(i,r,n);case"Import":return mLa(i,r,n);case"Integer":return fLa(i,r,n);case"Intersect":return gLa(i,r,n);case"Iterator":return ALa(i,r,n);case"Literal":return hLa(i,r,n);case"Never":return ELa(i,r,n);case"Not":return yLa(i,r,n);case"Null":return bLa(i,r,n);case"Number":return CLa(i,r,n);case"Object":return ILa(i,r,n);case"Promise":return SLa(i,r,n);case"Record":return _La(i,r,n);case"Ref":return vLa(i,r,n);case"RegExp":return xLa(i,r,n);case"String":return wLa(i,r,n);case"Symbol":return RLa(i,r,n);case"TemplateLiteral":return TLa(i,r,n);case"This":return BLa(i,r,n);case"Tuple":return NLa(i,r,n);case"Undefined":return kLa(i,r,n);case"Union":return DLa(i,r,n);case"Uint8Array":return MLa(i,r,n);case"Unknown":return QLa(i,r,n);case"Void":return FLa(i,r,n);default:if(!Yg.Has(i[Kn]))throw new jit(i);return OLa(i,r,n)}}function Fa(...e){return e.length===3?eE(e[0],e[1],e[2]):eE(e[0],[],e[1])}var jit,ian=C(()=>{Qme();nR();Pme();ao();__();nV();J5();Ip();af();Wg();Za();jit=class extends Zo{constructor(t){super("Unknown type"),this.schema=t}}});var Av=C(()=>{ian()});function SU(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Qc(e){return e!==void 0}function Qi(e,t,n,r,i=[]){return{type:e,schema:t,path:n,value:r,message:ean()({errorType:e,path:n,schema:t,value:r,errors:i}),errors:i}}function*PLa(e,t,n,r){}function*LLa(e,t,n,r){}function*ULa(e,t,n,r){if(!qo(r))return yield Qi(jn.Array,e,n,r);Qc(e.minItems)&&!(r.length>=e.minItems)&&(yield Qi(jn.ArrayMinItems,e,n,r)),Qc(e.maxItems)&&!(r.length<=e.maxItems)&&(yield Qi(jn.ArrayMaxItems,e,n,r));for(let s=0;s<r.length;s++)yield*tE(e.items,t,`${n}/${s}`,r[s]);if(e.uniqueItems===!0&&!(function(){let s=new Set;for(let a of r){let c=IU(a);if(s.has(c))return!1;s.add(c)}return!0})()&&(yield Qi(jn.ArrayUniqueItems,e,n,r)),!(Qc(e.contains)||Qc(e.minContains)||Qc(e.maxContains)))return;let i=Qc(e.contains)?e.contains:Es(),o=r.reduce((s,a,c)=>tE(i,t,`${n}${c}`,a).next().done===!0?s+1:s,0);o===0&&(yield Qi(jn.ArrayContains,e,n,r)),Qo(e.minContains)&&o<e.minContains&&(yield Qi(jn.ArrayMinContains,e,n,r)),Qo(e.maxContains)&&o>e.maxContains&&(yield Qi(jn.ArrayMaxContains,e,n,r))}function*GLa(e,t,n,r){dIe(r)||(yield Qi(jn.AsyncIterator,e,n,r))}function*VLa(e,t,n,r){if(!Sh(r))return yield Qi(jn.BigInt,e,n,r);Qc(e.exclusiveMaximum)&&!(r<e.exclusiveMaximum)&&(yield Qi(jn.BigIntExclusiveMaximum,e,n,r)),Qc(e.exclusiveMinimum)&&!(r>e.exclusiveMinimum)&&(yield Qi(jn.BigIntExclusiveMinimum,e,n,r)),Qc(e.maximum)&&!(r<=e.maximum)&&(yield Qi(jn.BigIntMaximum,e,n,r)),Qc(e.minimum)&&!(r>=e.minimum)&&(yield Qi(jn.BigIntMinimum,e,n,r)),Qc(e.multipleOf)&&r%e.multipleOf!==BigInt(0)&&(yield Qi(jn.BigIntMultipleOf,e,n,r))}function*WLa(e,t,n,r){dB(r)||(yield Qi(jn.Boolean,e,n,r))}function*YLa(e,t,n,r){yield*tE(e.returns,t,n,r.prototype)}function*zLa(e,t,n,r){if(!rb(r))return yield Qi(jn.Date,e,n,r);Qc(e.exclusiveMaximumTimestamp)&&!(r.getTime()<e.exclusiveMaximumTimestamp)&&(yield Qi(jn.DateExclusiveMaximumTimestamp,e,n,r)),Qc(e.exclusiveMinimumTimestamp)&&!(r.getTime()>e.exclusiveMinimumTimestamp)&&(yield Qi(jn.DateExclusiveMinimumTimestamp,e,n,r)),Qc(e.maximumTimestamp)&&!(r.getTime()<=e.maximumTimestamp)&&(yield Qi(jn.DateMaximumTimestamp,e,n,r)),Qc(e.minimumTimestamp)&&!(r.getTime()>=e.minimumTimestamp)&&(yield Qi(jn.DateMinimumTimestamp,e,n,r)),Qc(e.multipleOfTimestamp)&&r.getTime()%e.multipleOfTimestamp!==0&&(yield Qi(jn.DateMultipleOfTimestamp,e,n,r))}function*ZLa(e,t,n,r){z2(r)||(yield Qi(jn.Function,e,n,r))}function*HLa(e,t,n,r){let i=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];yield*tE(o,[...t,...i],n,r)}function*XLa(e,t,n,r){if(!fIe(r))return yield Qi(jn.Integer,e,n,r);Qc(e.exclusiveMaximum)&&!(r<e.exclusiveMaximum)&&(yield Qi(jn.IntegerExclusiveMaximum,e,n,r)),Qc(e.exclusiveMinimum)&&!(r>e.exclusiveMinimum)&&(yield Qi(jn.IntegerExclusiveMinimum,e,n,r)),Qc(e.maximum)&&!(r<=e.maximum)&&(yield Qi(jn.IntegerMaximum,e,n,r)),Qc(e.minimum)&&!(r>=e.minimum)&&(yield Qi(jn.IntegerMinimum,e,n,r)),Qc(e.multipleOf)&&r%e.multipleOf!==0&&(yield Qi(jn.IntegerMultipleOf,e,n,r))}function*JLa(e,t,n,r){let i=!1;for(let o of e.allOf)for(let s of tE(o,t,n,r))i=!0,yield s;if(i)return yield Qi(jn.Intersect,e,n,r);if(e.unevaluatedProperties===!1){let o=new RegExp(mB(e));for(let s of Object.getOwnPropertyNames(r))o.test(s)||(yield Qi(jn.IntersectUnevaluatedProperties,e,`${n}/${s}`,r))}if(typeof e.unevaluatedProperties=="object"){let o=new RegExp(mB(e));for(let s of Object.getOwnPropertyNames(r))if(!o.test(s)){let a=tE(e.unevaluatedProperties,t,`${n}/${s}`,r[s]).next();a.done||(yield a.value)}}}function*$La(e,t,n,r){pIe(r)||(yield Qi(jn.Iterator,e,n,r))}function*KLa(e,t,n,r){r!==e.const&&(yield Qi(jn.Literal,e,n,r))}function*jLa(e,t,n,r){yield Qi(jn.Never,e,n,r)}function*qLa(e,t,n,r){tE(e.not,t,n,r).next().done===!0&&(yield Qi(jn.Not,e,n,r))}function*eUa(e,t,n,r){Y2(r)||(yield Qi(jn.Null,e,n,r))}function*tUa(e,t,n,r){if(!Fd.IsNumberLike(r))return yield Qi(jn.Number,e,n,r);Qc(e.exclusiveMaximum)&&!(r<e.exclusiveMaximum)&&(yield Qi(jn.NumberExclusiveMaximum,e,n,r)),Qc(e.exclusiveMinimum)&&!(r>e.exclusiveMinimum)&&(yield Qi(jn.NumberExclusiveMinimum,e,n,r)),Qc(e.maximum)&&!(r<=e.maximum)&&(yield Qi(jn.NumberMaximum,e,n,r)),Qc(e.minimum)&&!(r>=e.minimum)&&(yield Qi(jn.NumberMinimum,e,n,r)),Qc(e.multipleOf)&&r%e.multipleOf!==0&&(yield Qi(jn.NumberMultipleOf,e,n,r))}function*nUa(e,t,n,r){if(!Fd.IsObjectLike(r))return yield Qi(jn.Object,e,n,r);Qc(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)&&(yield Qi(jn.ObjectMinProperties,e,n,r)),Qc(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties)&&(yield Qi(jn.ObjectMaxProperties,e,n,r));let i=Array.isArray(e.required)?e.required:[],o=Object.getOwnPropertyNames(e.properties),s=Object.getOwnPropertyNames(r);for(let a of i)s.includes(a)||(yield Qi(jn.ObjectRequiredProperty,e.properties[a],`${n}/${SU(a)}`,void 0));if(e.additionalProperties===!1)for(let a of s)o.includes(a)||(yield Qi(jn.ObjectAdditionalProperties,e,`${n}/${SU(a)}`,r[a]));if(typeof e.additionalProperties=="object")for(let a of s)o.includes(a)||(yield*tE(e.additionalProperties,t,`${n}/${SU(a)}`,r[a]));for(let a of o){let c=e.properties[a];e.required&&e.required.includes(a)?(yield*tE(c,t,`${n}/${SU(a)}`,r[a]),fB(e)&&!(a in r)&&(yield Qi(jn.ObjectRequiredProperty,c,`${n}/${SU(a)}`,void 0))):Fd.IsExactOptionalProperty(r,a)&&(yield*tE(c,t,`${n}/${SU(a)}`,r[a]))}}function*rUa(e,t,n,r){mIe(r)||(yield Qi(jn.Promise,e,n,r))}function*iUa(e,t,n,r){if(!Fd.IsRecordLike(r))return yield Qi(jn.Object,e,n,r);Qc(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)&&(yield Qi(jn.ObjectMinProperties,e,n,r)),Qc(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties)&&(yield Qi(jn.ObjectMaxProperties,e,n,r));let[i,o]=Object.entries(e.patternProperties)[0],s=new RegExp(i);for(let[a,c]of Object.entries(r))s.test(a)&&(yield*tE(o,t,`${n}/${SU(a)}`,c));if(typeof e.additionalProperties=="object")for(let[a,c]of Object.entries(r))s.test(a)||(yield*tE(e.additionalProperties,t,`${n}/${SU(a)}`,c));if(e.additionalProperties===!1){for(let[a,c]of Object.entries(r))if(!s.test(a))return yield Qi(jn.ObjectAdditionalProperties,e,`${n}/${SU(a)}`,c)}}function*oUa(e,t,n,r){yield*tE(yl(e,t),t,n,r)}function*sUa(e,t,n,r){if(!Tc(r))return yield Qi(jn.String,e,n,r);if(Qc(e.minLength)&&!(r.length>=e.minLength)&&(yield Qi(jn.StringMinLength,e,n,r)),Qc(e.maxLength)&&!(r.length<=e.maxLength)&&(yield Qi(jn.StringMaxLength,e,n,r)),!new RegExp(e.source,e.flags).test(r))return yield Qi(jn.RegExp,e,n,r)}function*aUa(e,t,n,r){if(!Tc(r))return yield Qi(jn.String,e,n,r);Qc(e.minLength)&&!(r.length>=e.minLength)&&(yield Qi(jn.StringMinLength,e,n,r)),Qc(e.maxLength)&&!(r.length<=e.maxLength)&&(yield Qi(jn.StringMaxLength,e,n,r)),Tc(e.pattern)&&(new RegExp(e.pattern).test(r)||(yield Qi(jn.StringPattern,e,n,r))),Tc(e.format)&&(sb.Has(e.format)?sb.Get(e.format)(r)||(yield Qi(jn.StringFormat,e,n,r)):yield Qi(jn.StringFormatUnknown,e,n,r))}function*cUa(e,t,n,r){Z2(r)||(yield Qi(jn.Symbol,e,n,r))}function*lUa(e,t,n,r){if(!Tc(r))return yield Qi(jn.String,e,n,r);new RegExp(e.pattern).test(r)||(yield Qi(jn.StringPattern,e,n,r))}function*uUa(e,t,n,r){yield*tE(yl(e,t),t,n,r)}function*dUa(e,t,n,r){if(!qo(r))return yield Qi(jn.Tuple,e,n,r);if(e.items===void 0&&r.length!==0)return yield Qi(jn.TupleLength,e,n,r);if(r.length!==e.maxItems)return yield Qi(jn.TupleLength,e,n,r);if(e.items)for(let i=0;i<e.items.length;i++)yield*tE(e.items[i],t,`${n}/${i}`,r[i])}function*pUa(e,t,n,r){rp(r)||(yield Qi(jn.Undefined,e,n,r))}function*mUa(e,t,n,r){if(Fa(e,t,r))return;let i=e.anyOf.map(o=>new hv(tE(o,t,n,r)));yield Qi(jn.Union,e,n,r,i)}function*fUa(e,t,n,r){if(!xH(r))return yield Qi(jn.Uint8Array,e,n,r);Qc(e.maxByteLength)&&!(r.length<=e.maxByteLength)&&(yield Qi(jn.Uint8ArrayMaxByteLength,e,n,r)),Qc(e.minByteLength)&&!(r.length>=e.minByteLength)&&(yield Qi(jn.Uint8ArrayMinByteLength,e,n,r))}function*gUa(e,t,n,r){}function*AUa(e,t,n,r){Fd.IsVoidLike(r)||(yield Qi(jn.Void,e,n,r))}function*hUa(e,t,n,r){Yg.Get(e[Kn])(e,r)||(yield Qi(jn.Kind,e,n,r))}function*tE(e,t,n,r){let i=Qc(e.$id)?[...t,e]:t,o=e;switch(o[Kn]){case"Any":return yield*PLa(o,i,n,r);case"Argument":return yield*LLa(o,i,n,r);case"Array":return yield*ULa(o,i,n,r);case"AsyncIterator":return yield*GLa(o,i,n,r);case"BigInt":return yield*VLa(o,i,n,r);case"Boolean":return yield*WLa(o,i,n,r);case"Constructor":return yield*YLa(o,i,n,r);case"Date":return yield*zLa(o,i,n,r);case"Function":return yield*ZLa(o,i,n,r);case"Import":return yield*HLa(o,i,n,r);case"Integer":return yield*XLa(o,i,n,r);case"Intersect":return yield*JLa(o,i,n,r);case"Iterator":return yield*$La(o,i,n,r);case"Literal":return yield*KLa(o,i,n,r);case"Never":return yield*jLa(o,i,n,r);case"Not":return yield*qLa(o,i,n,r);case"Null":return yield*eUa(o,i,n,r);case"Number":return yield*tUa(o,i,n,r);case"Object":return yield*nUa(o,i,n,r);case"Promise":return yield*rUa(o,i,n,r);case"Record":return yield*iUa(o,i,n,r);case"Ref":return yield*oUa(o,i,n,r);case"RegExp":return yield*sUa(o,i,n,r);case"String":return yield*aUa(o,i,n,r);case"Symbol":return yield*cUa(o,i,n,r);case"TemplateLiteral":return yield*lUa(o,i,n,r);case"This":return yield*uUa(o,i,n,r);case"Tuple":return yield*dUa(o,i,n,r);case"Undefined":return yield*pUa(o,i,n,r);case"Union":return yield*mUa(o,i,n,r);case"Uint8Array":return yield*fUa(o,i,n,r);case"Unknown":return yield*gUa(o,i,n,r);case"Void":return yield*AUa(o,i,n,r);default:if(!Yg.Has(o[Kn]))throw new qit(e);return yield*hUa(o,i,n,r)}}function YN(...e){let t=e.length===3?tE(e[0],e[1],"",e[2]):tE(e[0],[],"",e[1]);return new hv(t)}var jn,qit,hv,nan=C(()=>{Qme();__();J5();Y3e();tan();Ip();nR();Pme();Av();ao();af();Wg();(function(e){e[e.ArrayContains=0]="ArrayContains",e[e.ArrayMaxContains=1]="ArrayMaxContains",e[e.ArrayMaxItems=2]="ArrayMaxItems",e[e.ArrayMinContains=3]="ArrayMinContains",e[e.ArrayMinItems=4]="ArrayMinItems",e[e.ArrayUniqueItems=5]="ArrayUniqueItems",e[e.Array=6]="Array",e[e.AsyncIterator=7]="AsyncIterator",e[e.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",e[e.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",e[e.BigIntMaximum=10]="BigIntMaximum",e[e.BigIntMinimum=11]="BigIntMinimum",e[e.BigIntMultipleOf=12]="BigIntMultipleOf",e[e.BigInt=13]="BigInt",e[e.Boolean=14]="Boolean",e[e.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",e[e.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",e[e.DateMaximumTimestamp=17]="DateMaximumTimestamp",e[e.DateMinimumTimestamp=18]="DateMinimumTimestamp",e[e.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",e[e.Date=20]="Date",e[e.Function=21]="Function",e[e.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",e[e.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",e[e.IntegerMaximum=24]="IntegerMaximum",e[e.IntegerMinimum=25]="IntegerMinimum",e[e.IntegerMultipleOf=26]="IntegerMultipleOf",e[e.Integer=27]="Integer",e[e.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",e[e.Intersect=29]="Intersect",e[e.Iterator=30]="Iterator",e[e.Kind=31]="Kind",e[e.Literal=32]="Literal",e[e.Never=33]="Never",e[e.Not=34]="Not",e[e.Null=35]="Null",e[e.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",e[e.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",e[e.NumberMaximum=38]="NumberMaximum",e[e.NumberMinimum=39]="NumberMinimum",e[e.NumberMultipleOf=40]="NumberMultipleOf",e[e.Number=41]="Number",e[e.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",e[e.ObjectMaxProperties=43]="ObjectMaxProperties",e[e.ObjectMinProperties=44]="ObjectMinProperties",e[e.ObjectRequiredProperty=45]="ObjectRequiredProperty",e[e.Object=46]="Object",e[e.Promise=47]="Promise",e[e.RegExp=48]="RegExp",e[e.StringFormatUnknown=49]="StringFormatUnknown",e[e.StringFormat=50]="StringFormat",e[e.StringMaxLength=51]="StringMaxLength",e[e.StringMinLength=52]="StringMinLength",e[e.StringPattern=53]="StringPattern",e[e.String=54]="String",e[e.Symbol=55]="Symbol",e[e.TupleLength=56]="TupleLength",e[e.Tuple=57]="Tuple",e[e.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",e[e.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",e[e.Uint8Array=60]="Uint8Array",e[e.Undefined=61]="Undefined",e[e.Union=62]="Union",e[e.Void=63]="Void"})(jn||(jn={}));qit=class extends Zo{constructor(t){super("Unknown type"),this.schema=t}};hv=class{constructor(t){this.iterator=t}[Symbol.iterator](){return this.iterator}First(){let t=this.iterator.next();return t.done?void 0:t.value}}});var MK={};ai(MK,{DefaultErrorFunction:()=>mAi,Errors:()=>YN,GetErrorFunction:()=>ean,SetErrorFunction:()=>UPa,ValueErrorIterator:()=>hv,ValueErrorType:()=>jn,ValueErrorsUnknownTypeError:()=>qit});var SQ=C(()=>{nan();tan()});function fm(e,t,n){try{return Nl(e)?e[ip].Decode(n):n}catch(r){throw new eot(e,t,n,r)}}function EUa(e,t,n,r){return qo(r)?fm(e,n,r.map((i,o)=>zN(e.items,t,`${n}/${o}`,i))):fm(e,n,r)}function yUa(e,t,n,r){if(!ea(r)||mI(r))return fm(e,n,r);let i=Jie(e),o=i.map(l=>l[0]),s={...r};for(let[l,d]of i)l in s&&(s[l]=zN(d,t,`${n}/${l}`,s[l]));if(!Nl(e.unevaluatedProperties))return fm(e,n,s);let a=Object.getOwnPropertyNames(s),c=e.unevaluatedProperties,u={...s};for(let l of a)o.includes(l)||(u[l]=fm(c,`${n}/${l}`,u[l]));return fm(e,n,u)}function bUa(e,t,n,r){let i=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref],s=zN(o,[...t,...i],n,r);return fm(e,n,s)}function CUa(e,t,n,r){return fm(e,n,zN(e.not,t,n,r))}function IUa(e,t,n,r){if(!ea(r))return fm(e,n,r);let i=ub(e),o={...r};for(let u of i)hs(o,u)&&(rp(o[u])&&(!J2(e.properties[u])||Fd.IsExactOptionalProperty(o,u))||(o[u]=zN(e.properties[u],t,`${n}/${u}`,o[u])));if(!Sp(e.additionalProperties))return fm(e,n,o);let s=Object.getOwnPropertyNames(o),a=e.additionalProperties,c={...o};for(let u of s)i.includes(u)||(c[u]=fm(a,`${n}/${u}`,c[u]));return fm(e,n,c)}function SUa(e,t,n,r){if(!ea(r))return fm(e,n,r);let i=Object.getOwnPropertyNames(e.patternProperties)[0],o=new RegExp(i),s={...r};for(let l of Object.getOwnPropertyNames(r))o.test(l)&&(s[l]=zN(e.patternProperties[i],t,`${n}/${l}`,s[l]));if(!Sp(e.additionalProperties))return fm(e,n,s);let a=Object.getOwnPropertyNames(s),c=e.additionalProperties,u={...s};for(let l of a)o.test(l)||(u[l]=fm(c,`${n}/${l}`,u[l]));return fm(e,n,u)}function _Ua(e,t,n,r){let i=yl(e,t);return fm(e,n,zN(i,t,n,r))}function vUa(e,t,n,r){let i=yl(e,t);return fm(e,n,zN(i,t,n,r))}function xUa(e,t,n,r){return qo(r)&&qo(e.items)?fm(e,n,e.items.map((i,o)=>zN(i,t,`${n}/${o}`,r[o]))):fm(e,n,r)}function wUa(e,t,n,r){for(let i of e.anyOf){if(!Fa(i,t,r))continue;let o=zN(i,t,n,r);return fm(e,n,o)}return fm(e,n,r)}function zN(e,t,n,r){let i=qh(e,t),o=e;switch(e[Kn]){case"Array":return EUa(o,i,n,r);case"Import":return bUa(o,i,n,r);case"Intersect":return yUa(o,i,n,r);case"Not":return CUa(o,i,n,r);case"Object":return IUa(o,i,n,r);case"Record":return SUa(o,i,n,r);case"Ref":return _Ua(o,i,n,r);case"Symbol":return fm(o,n,r);case"This":return vUa(o,i,n,r);case"Tuple":return xUa(o,i,n,r);case"Union":return wUa(o,i,n,r);default:return fm(o,n,r)}}function FK(e,t,n){return zN(e,t,"",n)}var QK,eot,bAi=C(()=>{gIe();ao();Ip();__();nR();Av();Wg();Za();QK=class extends Zo{constructor(t,n,r){super("Unable to decode value as it does not match the expected schema"),this.schema=t,this.value=n,this.error=r}},eot=class extends Zo{constructor(t,n,r,i){super(i instanceof Error?i.message:"Unknown error"),this.schema=t,this.path=n,this.value=r,this.error=i}}});function my(e,t,n){try{return Nl(e)?e[ip].Encode(n):n}catch(r){throw new tot(e,t,n,r)}}function RUa(e,t,n,r){let i=my(e,n,r);return qo(i)?i.map((o,s)=>ZN(e.items,t,`${n}/${s}`,o)):i}function TUa(e,t,n,r){let i=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref],s=my(e,n,r);return ZN(o,[...t,...i],n,s)}function BUa(e,t,n,r){let i=my(e,n,r);if(!ea(r)||mI(r))return i;let o=Jie(e),s=o.map(d=>d[0]),a={...i};for(let[d,p]of o)d in a&&(a[d]=ZN(p,t,`${n}/${d}`,a[d]));if(!Nl(e.unevaluatedProperties))return a;let c=Object.getOwnPropertyNames(a),u=e.unevaluatedProperties,l={...a};for(let d of c)s.includes(d)||(l[d]=my(u,`${n}/${d}`,l[d]));return l}function NUa(e,t,n,r){return my(e.not,n,my(e,n,r))}function kUa(e,t,n,r){let i=my(e,n,r);if(!ea(i))return i;let o=ub(e),s={...i};for(let l of o)hs(s,l)&&(rp(s[l])&&(!J2(e.properties[l])||Fd.IsExactOptionalProperty(s,l))||(s[l]=ZN(e.properties[l],t,`${n}/${l}`,s[l])));if(!Sp(e.additionalProperties))return s;let a=Object.getOwnPropertyNames(s),c=e.additionalProperties,u={...s};for(let l of a)o.includes(l)||(u[l]=my(c,`${n}/${l}`,u[l]));return u}function DUa(e,t,n,r){let i=my(e,n,r);if(!ea(r))return i;let o=Object.getOwnPropertyNames(e.patternProperties)[0],s=new RegExp(o),a={...i};for(let d of Object.getOwnPropertyNames(r))s.test(d)&&(a[d]=ZN(e.patternProperties[o],t,`${n}/${d}`,a[d]));if(!Sp(e.additionalProperties))return a;let c=Object.getOwnPropertyNames(a),u=e.additionalProperties,l={...a};for(let d of c)s.test(d)||(l[d]=my(u,`${n}/${d}`,l[d]));return l}function MUa(e,t,n,r){let i=yl(e,t),o=ZN(i,t,n,r);return my(e,n,o)}function QUa(e,t,n,r){let i=yl(e,t),o=ZN(i,t,n,r);return my(e,n,o)}function FUa(e,t,n,r){let i=my(e,n,r);return qo(e.items)?e.items.map((o,s)=>ZN(o,t,`${n}/${s}`,i[s])):[]}function OUa(e,t,n,r){for(let i of e.anyOf){if(!Fa(i,t,r))continue;let o=ZN(i,t,n,r);return my(e,n,o)}for(let i of e.anyOf){let o=ZN(i,t,n,r);if(Fa(e,t,o))return my(e,n,o)}return my(e,n,r)}function ZN(e,t,n,r){let i=qh(e,t),o=e;switch(e[Kn]){case"Array":return RUa(o,i,n,r);case"Import":return TUa(o,i,n,r);case"Intersect":return BUa(o,i,n,r);case"Not":return NUa(o,i,n,r);case"Object":return kUa(o,i,n,r);case"Record":return DUa(o,i,n,r);case"Ref":return MUa(o,i,n,r);case"This":return QUa(o,i,n,r);case"Tuple":return FUa(o,i,n,r);case"Union":return OUa(o,i,n,r);default:return my(o,n,r)}}function PK(e,t,n){return ZN(e,t,"",n)}var OK,tot,CAi=C(()=>{gIe();ao();Ip();__();nR();Av();Wg();Za();OK=class extends Zo{constructor(t,n,r){super("The encoded value does not match the expected schema"),this.schema=t,this.value=n,this.error=r}},tot=class extends Zo{constructor(t,n,r,i){super(`${i instanceof Error?i.message:"Unknown error"}`),this.schema=t,this.path=n,this.value=r,this.error=i}}});function PUa(e,t){return Nl(e)||YA(e.items,t)}function LUa(e,t){return Nl(e)||YA(e.items,t)}function UUa(e,t){return Nl(e)||YA(e.returns,t)||e.parameters.some(n=>YA(n,t))}function GUa(e,t){return Nl(e)||YA(e.returns,t)||e.parameters.some(n=>YA(n,t))}function VUa(e,t){return Nl(e)||Nl(e.unevaluatedProperties)||e.allOf.some(n=>YA(n,t))}function WUa(e,t){let n=globalThis.Object.getOwnPropertyNames(e.$defs).reduce((i,o)=>[...i,e.$defs[o]],[]),r=e.$defs[e.$ref];return Nl(e)||YA(r,[...n,...t])}function YUa(e,t){return Nl(e)||YA(e.items,t)}function zUa(e,t){return Nl(e)||YA(e.not,t)}function ZUa(e,t){return Nl(e)||Object.values(e.properties).some(n=>YA(n,t))||Sp(e.additionalProperties)&&YA(e.additionalProperties,t)}function HUa(e,t){return Nl(e)||YA(e.item,t)}function XUa(e,t){let n=Object.getOwnPropertyNames(e.patternProperties)[0],r=e.patternProperties[n];return Nl(e)||YA(r,t)||Sp(e.additionalProperties)&&Nl(e.additionalProperties)}function JUa(e,t){return Nl(e)?!0:YA(yl(e,t),t)}function $Ua(e,t){return Nl(e)?!0:YA(yl(e,t),t)}function KUa(e,t){return Nl(e)||!rp(e.items)&&e.items.some(n=>YA(n,t))}function jUa(e,t){return Nl(e)||e.anyOf.some(n=>YA(n,t))}function YA(e,t){let n=qh(e,t),r=e;if(e.$id&&oan.has(e.$id))return!1;switch(e.$id&&oan.add(e.$id),e[Kn]){case"Array":return PUa(r,n);case"AsyncIterator":return LUa(r,n);case"Constructor":return UUa(r,n);case"Function":return GUa(r,n);case"Import":return WUa(r,n);case"Intersect":return VUa(r,n);case"Iterator":return YUa(r,n);case"Not":return zUa(r,n);case"Object":return ZUa(r,n);case"Promise":return HUa(r,n);case"Record":return XUa(r,n);case"Ref":return JUa(r,n);case"This":return $Ua(r,n);case"Tuple":return KUa(r,n);case"Union":return jUa(r,n);default:return Nl(e)}}function _Q(e,t){return oan.clear(),YA(e,t)}var oan,IAi=C(()=>{nR();ao();Za();Wg();oan=new Set});var Lme=C(()=>{bAi();CAi();IAi()});function V4(e){if(!Tc(e))throw Error("ConstantString: Not a String");return`'${JSON.stringify(e).slice(1,-1).replace(/'/g,"\\'")}'`}function SAi(e,t){return`${e}[${V4(t)}]`}var not,rot,san,iot,wBe,W4,LK,_Ai=C(()=>{Lme();SQ();Qme();Ip();nR();Pme();ao();J5();__();Y3e();af();nD();Wg();JNt();not=class{constructor(t,n,r,i){this.schema=t,this.references=n,this.checkFunc=r,this.code=i,this.hasTransform=_Q(t,n)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(t){return YN(this.schema,this.references,t)}Check(t){return this.checkFunc(t)}Decode(t){if(!this.checkFunc(t))throw new QK(this.schema,t,this.Errors(t).First());return this.hasTransform?FK(this.schema,this.references,t):t}Encode(t){let n=this.hasTransform?PK(this.schema,this.references,t):t;if(!this.checkFunc(n))throw new OK(this.schema,t,this.Errors(t).First());return n}};(function(e){function t(o){return o===36}e.DollarSign=t;function n(o){return o===95}e.IsUnderscore=n;function r(o){return o>=65&&o<=90||o>=97&&o<=122}e.IsAlpha=r;function i(o){return o>=48&&o<=57}e.IsNumeric=i})(rot||(rot={}));(function(e){function t(n){let r=[];for(let i=0;i<n.length;i++){let o=n.charCodeAt(i);rot.IsNumeric(o)||rot.IsAlpha(o)?r.push(n.charAt(i)):r.push(`_${o}_`)}return r.join("").replace(/__/g,"_")}e.Encode=t})(san||(san={}));iot=class extends Zo{constructor(t){super("Unknown type"),this.schema=t}},wBe=class extends Zo{constructor(t){super("Preflight validation check failed to guard for the given schema"),this.schema=t}};(function(e){function t(s,a,c){return Fd.ExactOptionalPropertyTypes?`(${V4(a)} in ${s} ? ${c} : true)`:`(${SAi(s,a)} !== undefined ? ${c} : true)`}e.IsExactOptionalProperty=t;function n(s){return Fd.AllowArrayObject?`(typeof ${s} === 'object' && ${s} !== null)`:`(typeof ${s} === 'object' && ${s} !== null && !Array.isArray(${s}))`}e.IsObjectLike=n;function r(s){return Fd.AllowArrayObject?`(typeof ${s} === 'object' && ${s} !== null && !(${s} instanceof Date) && !(${s} instanceof Uint8Array))`:`(typeof ${s} === 'object' && ${s} !== null && !Array.isArray(${s}) && !(${s} instanceof Date) && !(${s} instanceof Uint8Array))`}e.IsRecordLike=r;function i(s){return Fd.AllowNaN?`typeof ${s} === 'number'`:`Number.isFinite(${s})`}e.IsNumberLike=i;function o(s){return Fd.AllowNullVoid?`(${s} === undefined || ${s} === null)`:`${s} === undefined`}e.IsVoidLike=o})(W4||(W4={}));(function(e){function t(te){return te[Kn]==="Any"||te[Kn]==="Unknown"}function*n(te,J,G){yield"true"}function*r(te,J,G){yield"true"}function*i(te,J,G){yield`Array.isArray(${G})`;let[ue,de]=[le("value","any"),le("acc","number")];Qo(te.maxItems)&&(yield`${G}.length <= ${te.maxItems}`),Qo(te.minItems)&&(yield`${G}.length >= ${te.minItems}`);let we=Me(te.items,J,"value");if(yield`((array) => { for(const ${ue} of array) if(!(${we})) { return false }; return true; })(${G})`,_p(te.contains)||Qo(te.minContains)||Qo(te.maxContains)){let De=_p(te.contains)?te.contains:Es(),Ie=Me(De,J,"value"),ie=Qo(te.minContains)?[`(count >= ${te.minContains})`]:[],Ye=Qo(te.maxContains)?[`(count <= ${te.maxContains})`]:[],st=`const count = value.reduce((${de}, ${ue}) => ${Ie} ? acc + 1 : acc, 0)`,it=["(count > 0)",...ie,...Ye].join(" && ");yield`((${ue}) => { ${st}; return ${it}})(${G})`}te.uniqueItems===!0&&(yield`((${ue}) => { 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 } )(${G})`)}function*o(te,J,G){yield`(typeof value === 'object' && Symbol.asyncIterator in ${G})`}function*s(te,J,G){yield`(typeof ${G} === 'bigint')`,Sh(te.exclusiveMaximum)&&(yield`${G} < BigInt(${te.exclusiveMaximum})`),Sh(te.exclusiveMinimum)&&(yield`${G} > BigInt(${te.exclusiveMinimum})`),Sh(te.maximum)&&(yield`${G} <= BigInt(${te.maximum})`),Sh(te.minimum)&&(yield`${G} >= BigInt(${te.minimum})`),Sh(te.multipleOf)&&(yield`(${G} % BigInt(${te.multipleOf})) === 0`)}function*a(te,J,G){yield`(typeof ${G} === 'boolean')`}function*c(te,J,G){yield*me(te.returns,J,`${G}.prototype`)}function*u(te,J,G){yield`(${G} instanceof Date) && Number.isFinite(${G}.getTime())`,Qo(te.exclusiveMaximumTimestamp)&&(yield`${G}.getTime() < ${te.exclusiveMaximumTimestamp}`),Qo(te.exclusiveMinimumTimestamp)&&(yield`${G}.getTime() > ${te.exclusiveMinimumTimestamp}`),Qo(te.maximumTimestamp)&&(yield`${G}.getTime() <= ${te.maximumTimestamp}`),Qo(te.minimumTimestamp)&&(yield`${G}.getTime() >= ${te.minimumTimestamp}`),Qo(te.multipleOfTimestamp)&&(yield`(${G}.getTime() % ${te.multipleOfTimestamp}) === 0`)}function*l(te,J,G){yield`(typeof ${G} === 'function')`}function*d(te,J,G){let ue=globalThis.Object.getOwnPropertyNames(te.$defs).reduce((de,we)=>[...de,te.$defs[we]],[]);yield*me(xh(te.$ref),[...J,...ue],G)}function*p(te,J,G){yield`Number.isInteger(${G})`,Qo(te.exclusiveMaximum)&&(yield`${G} < ${te.exclusiveMaximum}`),Qo(te.exclusiveMinimum)&&(yield`${G} > ${te.exclusiveMinimum}`),Qo(te.maximum)&&(yield`${G} <= ${te.maximum}`),Qo(te.minimum)&&(yield`${G} >= ${te.minimum}`),Qo(te.multipleOf)&&(yield`(${G} % ${te.multipleOf}) === 0`)}function*m(te,J,G){let ue=te.allOf.map(de=>Me(de,J,G)).join(" && ");if(te.unevaluatedProperties===!1){let de=$(`${new RegExp(mB(te))};`),we=`Object.getOwnPropertyNames(${G}).every(key => ${de}.test(key))`;yield`(${ue} && ${we})`}else if(_p(te.unevaluatedProperties)){let de=$(`${new RegExp(mB(te))};`),we=`Object.getOwnPropertyNames(${G}).every(key => ${de}.test(key) || ${Me(te.unevaluatedProperties,J,`${G}[key]`)})`;yield`(${ue} && ${we})`}else yield`(${ue})`}function*f(te,J,G){yield`(typeof value === 'object' && Symbol.iterator in ${G})`}function*g(te,J,G){if(typeof te.const=="number"||typeof te.const=="boolean")yield`(${G} === ${te.const})`;else if(typeof te.const=="string")yield`(${G} === ${V4(te.const)})`;else throw Error("Invalid Literal Value")}function*A(te,J,G){yield"false"}function*h(te,J,G){yield`(!${Me(te.not,J,G)})`}function*E(te,J,G){yield`(${G} === null)`}function*y(te,J,G){yield W4.IsNumberLike(G),Qo(te.exclusiveMaximum)&&(yield`${G} < ${te.exclusiveMaximum}`),Qo(te.exclusiveMinimum)&&(yield`${G} > ${te.exclusiveMinimum}`),Qo(te.maximum)&&(yield`${G} <= ${te.maximum}`),Qo(te.minimum)&&(yield`${G} >= ${te.minimum}`),Qo(te.multipleOf)&&(yield`(${G} % ${te.multipleOf}) === 0`)}function*b(te,J,G){yield W4.IsObjectLike(G),Qo(te.minProperties)&&(yield`Object.getOwnPropertyNames(${G}).length >= ${te.minProperties}`),Qo(te.maxProperties)&&(yield`Object.getOwnPropertyNames(${G}).length <= ${te.maxProperties}`);let ue=Object.getOwnPropertyNames(te.properties);for(let de of ue){let we=SAi(G,de),De=te.properties[de];if(te.required&&te.required.includes(de))yield*me(De,J,we),(fB(De)||t(De))&&(yield`(${V4(de)} in ${G})`);else{let Ie=Me(De,J,we);yield W4.IsExactOptionalProperty(G,de,Ie)}}if(te.additionalProperties===!1)if(te.required&&te.required.length===ue.length)yield`Object.getOwnPropertyNames(${G}).length === ${ue.length}`;else{let de=`[${ue.map(we=>`${V4(we)}`).join(", ")}]`;yield`Object.getOwnPropertyNames(${G}).every(key => ${de}.includes(key))`}if(typeof te.additionalProperties=="object"){let de=Me(te.additionalProperties,J,`${G}[key]`),we=`[${ue.map(De=>`${V4(De)}`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${G}).every(key => ${we}.includes(key) || ${de}))`}}function*I(te,J,G){yield`${G} instanceof Promise`}function*_(te,J,G){yield W4.IsRecordLike(G),Qo(te.minProperties)&&(yield`Object.getOwnPropertyNames(${G}).length >= ${te.minProperties}`),Qo(te.maxProperties)&&(yield`Object.getOwnPropertyNames(${G}).length <= ${te.maxProperties}`);let[ue,de]=Object.entries(te.patternProperties)[0],we=$(`${new RegExp(ue)}`),De=Me(de,J,"value"),Ie=_p(te.additionalProperties)?Me(te.additionalProperties,J,G):te.additionalProperties===!1?"false":"true",ie=`(${we}.test(key) ? ${De} : ${Ie})`;yield`(Object.entries(${G}).every(([key, value]) => ${ie}))`}function*v(te,J,G){let ue=yl(te,J);if(Ae.functions.has(te.$ref))return yield`${ye(te.$ref)}(${G})`;yield*me(ue,J,G)}function*w(te,J,G){let ue=$(`${new RegExp(te.source,te.flags)};`);yield`(typeof ${G} === 'string')`,Qo(te.maxLength)&&(yield`${G}.length <= ${te.maxLength}`),Qo(te.minLength)&&(yield`${G}.length >= ${te.minLength}`),yield`${ue}.test(${G})`}function*R(te,J,G){yield`(typeof ${G} === 'string')`,Qo(te.maxLength)&&(yield`${G}.length <= ${te.maxLength}`),Qo(te.minLength)&&(yield`${G}.length >= ${te.minLength}`),te.pattern!==void 0&&(yield`${$(`${new RegExp(te.pattern)};`)}.test(${G})`),te.format!==void 0&&(yield`format(${V4(te.format)}, ${G})`)}function*N(te,J,G){yield`(typeof ${G} === 'symbol')`}function*Q(te,J,G){yield`(typeof ${G} === 'string')`,yield`${$(`${new RegExp(te.pattern)};`)}.test(${G})`}function*F(te,J,G){yield`${ye(te.$ref)}(${G})`}function*D(te,J,G){if(yield`Array.isArray(${G})`,te.items===void 0)return yield`${G}.length === 0`;yield`(${G}.length === ${te.maxItems})`;for(let ue=0;ue<te.items.length;ue++)yield`${Me(te.items[ue],J,`${G}[${ue}]`)}`}function*k(te,J,G){yield`${G} === undefined`}function*Y(te,J,G){yield`(${te.anyOf.map(de=>Me(de,J,G)).join(" || ")})`}function*z(te,J,G){yield`${G} instanceof Uint8Array`,Qo(te.maxByteLength)&&(yield`(${G}.length <= ${te.maxByteLength})`),Qo(te.minByteLength)&&(yield`(${G}.length >= ${te.minByteLength})`)}function*K(te,J,G){yield"true"}function*W(te,J,G){yield W4.IsVoidLike(G)}function*q(te,J,G){let ue=Ae.instances.size;Ae.instances.set(ue,te),yield`kind(${V4(te[Kn])}, ${ue}, ${G})`}function*me(te,J,G,ue=!0){let de=Tc(te.$id)?[...J,te]:J,we=te;if(ue&&Tc(te.$id)){let De=ye(te.$id);if(Ae.functions.has(De))return yield`${De}(${G})`;{Ae.functions.set(De,"<deferred>");let Ie=ne(De,te,J,"value",!1);return Ae.functions.set(De,Ie),yield`${De}(${G})`}}switch(we[Kn]){case"Any":return yield*n(we,de,G);case"Argument":return yield*r(we,de,G);case"Array":return yield*i(we,de,G);case"AsyncIterator":return yield*o(we,de,G);case"BigInt":return yield*s(we,de,G);case"Boolean":return yield*a(we,de,G);case"Constructor":return yield*c(we,de,G);case"Date":return yield*u(we,de,G);case"Function":return yield*l(we,de,G);case"Import":return yield*d(we,de,G);case"Integer":return yield*p(we,de,G);case"Intersect":return yield*m(we,de,G);case"Iterator":return yield*f(we,de,G);case"Literal":return yield*g(we,de,G);case"Never":return yield*A(we,de,G);case"Not":return yield*h(we,de,G);case"Null":return yield*E(we,de,G);case"Number":return yield*y(we,de,G);case"Object":return yield*b(we,de,G);case"Promise":return yield*I(we,de,G);case"Record":return yield*_(we,de,G);case"Ref":return yield*v(we,de,G);case"RegExp":return yield*w(we,de,G);case"String":return yield*R(we,de,G);case"Symbol":return yield*N(we,de,G);case"TemplateLiteral":return yield*Q(we,de,G);case"This":return yield*F(we,de,G);case"Tuple":return yield*D(we,de,G);case"Undefined":return yield*k(we,de,G);case"Union":return yield*Y(we,de,G);case"Uint8Array":return yield*z(we,de,G);case"Unknown":return yield*K(we,de,G);case"Void":return yield*W(we,de,G);default:if(!Yg.Has(we[Kn]))throw new iot(te);return yield*q(we,de,G)}}let Ae={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function Me(te,J,G,ue=!0){return`(${[...me(te,J,G,ue)].join(" && ")})`}function ye(te){return`check_${san.Encode(te)}`}function $(te){let J=`local_${Ae.variables.size}`;return Ae.variables.set(J,`const ${J} = ${te}`),J}function ne(te,J,G,ue,de=!0){let[we,De]=[`
|
|
522
|
+
`.indexOf(e.charAt(t))!==-1}var Osn=C(()=>{"use strict";Uit();Rgi()});function Tgi(e,t=[],n=bBe.DEFAULT){let r=null,i=[],o=[];function s(c){Array.isArray(i)?i.push(c):r!==null&&(i[r]=c)}return Vit(e,{onObjectBegin:()=>{let c={};s(c),o.push(i),i=c,r=null},onObjectProperty:c=>{r=c},onObjectEnd:()=>{i=o.pop()},onArrayBegin:()=>{let c=[];s(c),o.push(i),i=c,r=null},onArrayEnd:()=>{i=o.pop()},onLiteralValue:s,onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},n),i[0]}function Psn(e,t=[],n=bBe.DEFAULT){let r={type:"array",offset:-1,length:-1,children:[],parent:void 0};function i(c){r.type==="property"&&(r.length=c-r.offset,r=r.parent)}function o(c){return r.children.push(c),c}Vit(e,{onObjectBegin:c=>{r=o({type:"object",offset:c,length:-1,parent:r,children:[]})},onObjectProperty:(c,u,l)=>{r=o({type:"property",offset:u,length:-1,parent:r,children:[]}),r.children.push({type:"string",value:c,offset:u,length:l,parent:r})},onObjectEnd:(c,u)=>{i(c+u),r.length=c+u-r.offset,r=r.parent,i(c+u)},onArrayBegin:(c,u)=>{r=o({type:"array",offset:c,length:-1,parent:r,children:[]})},onArrayEnd:(c,u)=>{r.length=c+u-r.offset,r=r.parent,i(c+u)},onLiteralValue:(c,u,l)=>{o({type:gPa(c),offset:u,length:l,parent:r,value:c}),i(u+l)},onSeparator:(c,u,l)=>{r.type==="property"&&(c===":"?r.colonOffset=u:c===","&&i(u))},onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},n);let a=r.children[0];return a&&delete a.parent,a}function Git(e,t){if(!e)return;let n=e;for(let r of t)if(typeof r=="string"){if(n.type!=="object"||!Array.isArray(n.children))return;let i=!1;for(let o of n.children)if(Array.isArray(o.children)&&o.children[0].value===r&&o.children.length===2){n=o.children[1],i=!0;break}if(!i)return}else{let i=r;if(n.type!=="array"||i<0||!Array.isArray(n.children)||i>=n.children.length)return;n=n.children[i]}return n}function Vit(e,t,n=bBe.DEFAULT){let r=EBe(e,!1),i=[],o=0;function s(k){return k?()=>o===0&&k(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(k){return k?Y=>o===0&&k(Y,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function c(k){return k?Y=>o===0&&k(Y,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function u(k){return k?()=>{o>0?o++:k(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice())===!1&&(o=1)}:()=>!0}function l(k){return k?()=>{o>0&&o--,o===0&&k(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:()=>!0}let d=u(t.onObjectBegin),p=c(t.onObjectProperty),m=l(t.onObjectEnd),f=u(t.onArrayBegin),g=l(t.onArrayEnd),A=c(t.onLiteralValue),h=a(t.onSeparator),E=s(t.onComment),y=a(t.onError),b=n&&n.disallowComments,I=n&&n.allowTrailingComma;function _(){for(;;){let k=r.scan();switch(r.getTokenError()){case 4:v(14);break;case 5:v(15);break;case 3:v(13);break;case 1:b||v(11);break;case 2:v(12);break;case 6:v(16);break}switch(k){case 12:case 13:b?v(10):E();break;case 16:v(1);break;case 15:case 14:break;default:return k}}}function v(k,Y=[],z=[]){if(y(k),Y.length+z.length>0){let K=r.getToken();for(;K!==17;){if(Y.indexOf(K)!==-1){_();break}else if(z.indexOf(K)!==-1)break;K=_()}}}function w(k){let Y=r.getTokenValue();return k?A(Y):(p(Y),i.push(Y)),_(),!0}function R(){switch(r.getToken()){case 11:let k=r.getTokenValue(),Y=Number(k);isNaN(Y)&&(v(2),Y=0),A(Y);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return _(),!0}function N(){return r.getToken()!==10?(v(3,[],[2,5]),!1):(w(!1),r.getToken()===6?(h(":"),_(),D()||v(4,[],[2,5])):v(5,[],[2,5]),i.pop(),!0)}function Q(){d(),_();let k=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(k||v(4,[],[]),h(","),_(),r.getToken()===2&&I)break}else k&&v(6,[],[]);N()||v(4,[],[2,5]),k=!0}return m(),r.getToken()!==2?v(7,[2],[]):_(),!0}function F(){f(),_();let k=!0,Y=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(Y||v(4,[],[]),h(","),_(),r.getToken()===4&&I)break}else Y&&v(6,[],[]);k?(i.push(0),k=!1):i[i.length-1]++,D()||v(4,[],[4,5]),Y=!0}return g(),k||i.pop(),r.getToken()!==4?v(8,[4],[]):_(),!0}function D(){switch(r.getToken()){case 3:return F();case 1:return Q();case 10:return w(!0);default:return R()}}return _(),r.getToken()===17?n.allowEmptyContent?!0:(v(4,[],[]),!1):D()?(r.getToken()!==17&&v(9,[],[]),!0):(v(4,[],[]),!1)}function gPa(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(e){if(Array.isArray(e))return"array"}else return"null";return"object"}default:return"null"}}var bBe,Lsn=C(()=>{"use strict";Uit();(function(e){e.DEFAULT={allowTrailingComma:!1}})(bBe||(bBe={}))});function Bgi(e,t,n,r){let i=t.slice(),s=Psn(e,[]),a,c;for(;i.length>0&&(c=i.pop(),a=Git(s,i),a===void 0&&n!==void 0);)typeof c=="string"?n={[c]:n}:n=[n];if(a)if(a.type==="object"&&typeof c=="string"&&Array.isArray(a.children)){let u=Git(a,[c]);if(u!==void 0)if(n===void 0){if(!u.parent)throw new Error("Malformed AST");let l=a.children.indexOf(u.parent),d,p=u.parent.offset+u.parent.length;if(l>0){let m=a.children[l-1];d=m.offset+m.length}else d=a.offset+1,a.children.length>1&&(p=a.children[1].offset);return RK(e,{offset:d,length:p-d,content:""},r)}else return RK(e,{offset:u.offset,length:u.length,content:JSON.stringify(n)},r);else{if(n===void 0)return[];let l=`${JSON.stringify(c)}: ${JSON.stringify(n)}`,d=r.getInsertionIndex?r.getInsertionIndex(a.children.map(m=>m.children[0].value)):a.children.length,p;if(d>0){let m=a.children[d-1];p={offset:m.offset+m.length,length:0,content:","+l}}else a.children.length===0?p={offset:a.offset+1,length:0,content:l}:p={offset:a.offset+1,length:0,content:l+","};return RK(e,p,r)}}else if(a.type==="array"&&typeof c=="number"&&Array.isArray(a.children)){let u=c;if(u===-1){let l=`${JSON.stringify(n)}`,d;if(a.children.length===0)d={offset:a.offset+1,length:0,content:l};else{let p=a.children[a.children.length-1];d={offset:p.offset+p.length,length:0,content:","+l}}return RK(e,d,r)}else if(n===void 0&&a.children.length>=0){let l=c,d=a.children[l],p;if(a.children.length===1)p={offset:a.offset+1,length:a.length-2,content:""};else if(a.children.length-1===l){let m=a.children[l-1],f=m.offset+m.length,g=a.offset+a.length;p={offset:f,length:g-2-f,content:""}}else p={offset:d.offset,length:a.children[l+1].offset-d.offset,content:""};return RK(e,p,r)}else if(n!==void 0){let l,d=`${JSON.stringify(n)}`;if(!r.isArrayInsertion&&a.children.length>c){let p=a.children[c];l={offset:p.offset,length:p.length,content:d}}else if(a.children.length===0||c===0)l={offset:a.offset+1,length:0,content:a.children.length===0?d:d+","};else{let p=c>a.children.length?a.children.length:c,m=a.children[p-1];l={offset:m.offset+m.length,length:0,content:","+d}}return RK(e,l,r)}else throw new Error(`Can not ${n===void 0?"remove":r.isArrayInsertion?"insert":"modify"} Array index ${u} as length is not sufficient`)}else throw new Error(`Can not add ${typeof c!="number"?"index":"property"} to parent of type ${a.type}`);else{if(n===void 0)throw new Error("Can not delete in empty document");return RK(e,{offset:s?s.offset:0,length:s?s.length:0,content:JSON.stringify(n)},r)}}function RK(e,t,n){if(!n.formattingOptions)return[t];let r=Wit(e,t),i=t.offset,o=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;i>0&&!yBe(r,i-1);)i--;for(;o<r.length&&!yBe(r,o);)o++}let s=Fsn(r,{offset:i,length:o-i},{...n.formattingOptions,keepLines:!1});for(let c=s.length-1;c>=0;c--){let u=s[c];r=Wit(r,u),i=Math.min(i,u.offset),o=Math.max(o,u.offset+u.length),o+=u.content.length-u.length}let a=e.length-(r.length-o)-i;return[{offset:i,length:a,content:r.substring(i,o)}]}function Wit(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var Ngi=C(()=>{"use strict";Osn();Lsn()});function Ogi(e){switch(e){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 Pgi(e,t,n,r){return Bgi(e,t,n,r)}function Lgi(e,t){let n=t.slice(0).sort((i,o)=>{let s=i.offset-o.offset;return s===0?i.length-o.length:s}),r=e.length;for(let i=n.length-1;i>=0;i--){let o=n[i];if(o.offset+o.length<=r)e=Wit(e,o);else throw new Error("Overlapping edit");r=o.offset}return e}var kgi,Dgi,Qgi,Fgi,Mgi,Ugi=C(()=>{"use strict";Osn();Ngi();Uit();Lsn();(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(kgi||(kgi={}));(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(Dgi||(Dgi={}));Qgi=Tgi,Fgi=Vit;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(Mgi||(Mgi={}))});var py=C(()=>{Txe();Txe()});var Ggi,EPa,yPa,bPa,CPa,IPa,SPa,_Pa,Vgi,Wgi=C(()=>{"use strict";py();Ggi=e=>e===null?"null":Array.isArray(e)?"an array":`a ${typeof e}`,EPa=e=>{try{return new RegExp(e),!0}catch{return!1}},yPa=an.discriminatedUnion("type",[an.object({type:an.enum(["allow","deny","ask-user"])}),an.object({type:an.literal("webhook-policy"),webhookUrl:an.url({error:'"permission.webhookUrl" must be a valid URL for a "webhook-policy".'})}),an.object({type:an.literal("script-policy"),script:an.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".'}),bPa=an.object({toolName:an.string({error:'"toolName" must be a non-empty string.'}).min(1,{error:'"toolName" must be a non-empty string.'}),permission:yPa,eventType:an.enum(["tool-call","tool-response"],{error:'"eventType" must be "tool-call" or "tool-response" when present.'}).optional(),shellInputRegex:an.string({error:'"shellInputRegex" must be a string when present.'}).refine(EPa,{error:'"shellInputRegex" must be a valid regular expression when present.'}).optional()},{error:e=>`rule must be an object, got ${Ggi(e.input)}.`}),CPa=e=>{let t=e.issues[0];if(t===void 0)return"invalid rule.";let n=t.message.endsWith(".")?t.message:`${t.message}.`;return t.path.length===0||n.startsWith('"')?n:`"${t.path.join(".")}": ${n}`},IPa='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 }.',SPa=e=>{let t=e.toolPermissions;if(t===void 0)return[];if(!Array.isArray(t))return e.toolPermissions=void 0,[`Ignoring "toolPermissions": expected an array of rules, got ${Ggi(t)}.`];let n=[],r=[];for(let i=0;i<t.length;i++){let o=bPa.safeParse(t[i]);o.success?r.push(t[i]):n.push(`Dropping invalid "toolPermissions" rule at index ${i}: ${CPa(o.error)} ${IPa}`)}return n.length>0&&(e.toolPermissions=r),n},_Pa=e=>{if("queueMode"in e&&!("steeringMode"in e)&&(e.steeringMode=e.queueMode,e.queueMode=void 0),!("transport"in e)&&typeof e.websockets=="boolean"&&(e.transport=e.websockets?"websocket":"sse",e.websockets=void 0),"skills"in e&&typeof e.skills=="object"&&e.skills!==null&&!Array.isArray(e.skills)){let t=e.skills;t.enableSkillCommands!==void 0&&e.enableSkillCommands===void 0&&(e.enableSkillCommands=t.enableSkillCommands),Array.isArray(t.customDirectories)&&t.customDirectories.length>0?e.skills=t.customDirectories:e.skills=void 0}return e},Vgi=e=>{let t=_Pa(e),n=SPa(t);return{settings:t,warnings:n}}});var zgi,vPa,Yit,xPa,L4,Zgi,Ygi,wPa,TK,Dme=C(()=>{"use strict";Ugi();Wgi();zgi=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),vPa=e=>{Fgi(e,{onObjectProperty:t=>{if(L4.has(t))throw new Error(`Settings document contains reserved key "${t}".`)}})},Yit=e=>{vPa(e);let t=[],n=Qgi(e,t,{allowTrailingComma:!0});if(t.length>0){let r=t.map(i=>Ogi(i.error)).join(", ");throw new Error(`Failed to parse settings JSON: ${r}`)}if(n===void 0)return{};if(!zgi(n))throw new Error("Settings document is not a valid object. Expected a JSON object but found a different type (e.g., array).");return n},xPa={tabSize:2,insertSpaces:!0},L4=new Set(["__proto__","constructor","prototype"]),Zgi=e=>{let t=typeof e=="string"?e.split("."):[...e],n=typeof e=="string"?e:e.join(".");for(let r of t){if(r==="")throw new Error(`Invalid settings path "${n}": empty segment.`);if(L4.has(r))throw new Error(`Invalid settings path "${n}": "${r}" is a reserved key.`)}return t},Ygi=(e,t,n)=>{let r=Pgi(e,Zgi(t),n,{formattingOptions:xPa});return Lgi(e,r)},wPa=(e,t)=>{let n=e;for(let r of t){if(!zgi(n)||!Object.hasOwn(n,r))return!1;n=n[r]}return!0},TK=class{constructor(t){this.settings={};this.warnings=[];this.store=t}drainWarnings(){let t=this.warnings;return this.warnings=[],t}getSettings(){return structuredClone(this.settings)}publish(t){let n=Yit(t),{settings:r,warnings:i}=Vgi(n);this.warnings.push(...i),this.settings=r}reload(){let t=this.store.read();if(t===void 0||t.trim()===""){this.settings={};return}this.publish(t)}remove(t){let n={persisted:!1,effectiveChange:!1};return this.store.modify(r=>{if(r===void 0||r.trim()==="")return;let i=Yit(r),o=r;for(let s of t.paths){let a=Zgi(s);wPa(i,a)&&(o=Ygi(o,a,void 0),i=Yit(o))}if(o!==r)return this.publish(o),n={persisted:!0,effectiveChange:!0},o}),n}update(t){return this.updateAll([t])}updateAll(t){let n={persisted:!1,effectiveChange:!1};return this.store.modify(r=>{let i=r===void 0||r.trim()===""?"{}":r;Yit(i);let o=t.reduce((s,a)=>Ygi(s,a.path,a.value),i);if(o!==i)return this.publish(o),n={persisted:!0,effectiveChange:!0},o}),n}}});var Usn,CBe,Hgi,RPa,TPa,BPa,NPa,BK,zit=C(()=>{"use strict";sr();Dme();Usn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),CBe=e=>Array.isArray(e)?e.map(CBe):Usn(e)?Object.fromEntries(Object.entries(e).filter(([t])=>!L4.has(t)).map(([t,n])=>[t,CBe(n)])):structuredClone(e),Hgi=(e,t,n=!1)=>{for(let[r,i]of Object.entries(t)){if(L4.has(r)||i===void 0)continue;let o=e[r];n&&r==="toolPermissions"&&Array.isArray(i)?e[r]=[...CBe(i),...Array.isArray(o)?o:[]]:Usn(o)&&Usn(i)?e[r]={...o,...CBe(i)}:e[r]=CBe(i)}},RPa="managed",TPa="global",BPa="project",NPa="local",BK=class{constructor(t,n={},r={}){this.errors=[];this.locals=t,this.overrides=n,this.vfs=r}drainErrors(){let t=this.errors;return this.errors=[],t}getSettings(){return this.mergeLayers([TPa,BPa,NPa,RPa])}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(t){let n={},r=t.map(i=>this.locals[i].getSettings());for(let i of r)Hgi(n,i,!0);return Hgi(n,this.overrides),n}reload(){let t=[...Object.entries(this.locals),...Object.entries(this.vfs)];for(let[n,r]of t)if(r){try{r.reload()}catch(i){let o=i instanceof Error?i:new Error(String(i));Gt.error("settings reload failed",{scope:n,error:o}),this.errors.push({scope:n,error:o})}for(let i of r.drainWarnings())this.errors.push({scope:n,error:new Error(i)})}}remove(t,n){return this.routeWrite(t,r=>r.remove(n))}update(t,n){return this.routeWrite(t,r=>r.update(n))}updateAll(t,n){return this.routeWrite(t,r=>r.updateAll(n))}routeWrite(t,n){if(t==="managed")throw new Error('Refusing to write read-only settings scope "managed"');let r=this.getSettings(),i=n(this.locals[t]);for(let a of this.locals[t].drainWarnings())this.errors.push({scope:t,error:new Error(a)});if(!i.persisted)return i;let o=this.getSettings(),s=JSON.stringify(r)!==JSON.stringify(o);return{persisted:i.persisted,effectiveChange:s}}}});var Gsn,Vsn=C(()=>{"use strict";vgi();zit();Dme();Gsn=(e,t)=>{let n=i=>new TK(new Lit(i)),r=new BK({managed:n(e.managedPath),global:n(e.globalPath),project:n(e.projectPath),local:n(e.localPath)},t,{vfsUser:e.vfsUserPath?n(e.vfsUserPath):void 0,vfsSpace:e.vfsSpacePath?n(e.vfsSpacePath):void 0,vfsOrg:e.vfsOrgPath?n(e.vfsOrgPath):void 0});return r.reload(),r}});var Wsn,Ysn,Xgi,NK,Zit=C(()=>{"use strict";Dme();Wsn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ysn=e=>{if(Array.isArray(e))return e.map(Ysn);if(!Wsn(e))return structuredClone(e);let t={};for(let[n,r]of Object.entries(e))L4.has(n)||(t[n]=Ysn(r));return t},Xgi=(e,t)=>{let n=structuredClone(e);for(let r of Object.keys(t)){let i=t[r];if(i===void 0||L4.has(r))continue;let o=n[r],s=Ysn(i);Wsn(o)&&Wsn(s)?n[r]={...o,...s}:n[r]=s}return n},NK=class{constructor(t){this.errors=[];this.manager=t}get settings(){let t=this.manager.getSettings();return this.dynamicOverrides?Xgi(t,this.dynamicOverrides):t}update(t,n,r){if(this.dynamicOverrides=void 0,typeof n=="object"&&"path"in n)return this.manager.update(t,n);try{this.manager.update(t,{path:n,value:r})}catch(i){let o=i instanceof Error?i:new Error(String(i));this.errors.push({scope:t,error:o})}}updateAll(t,n){return this.dynamicOverrides=void 0,this.manager.updateAll(t,n)}remove(t,n){return this.dynamicOverrides=void 0,this.manager.remove(t,n)}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(t){this.dynamicOverrides=Xgi(this.dynamicOverrides??{},t)}flush(){}drainErrors(){let t=[...this.manager.drainErrors(),...this.errors];return this.errors=[],t}getLastChangelogVersion(){return this.settings.lastChangelogVersion}setLastChangelogVersion(t){this.update("global","lastChangelogVersion",t)}getSessionDir(){return this.settings.sessionDir}getWorktreeDir(){return this.settings.worktreeDir}getDefaultProvider(){return this.settings.defaultProvider}getDefaultModel(){return this.settings.defaultModel}setDefaultProvider(t){this.update("global","defaultProvider",t)}setDefaultModel(t){this.update("global","defaultModel",t)}setDefaultModelAndProvider(t,n){this.dynamicOverrides=void 0;try{this.manager.updateAll("global",[{path:"defaultProvider",value:t},{path:"defaultModel",value:n}])}catch(r){let i=r instanceof Error?r:new Error(String(r));this.errors.push({scope:"global",error:i})}}getSteeringMode(){return this.settings.steeringMode||"one-at-a-time"}setSteeringMode(t){this.update("global","steeringMode",t)}getFollowUpMode(){return this.settings.followUpMode||"one-at-a-time"}setFollowUpMode(t){this.update("global","followUpMode",t)}getTheme(){return this.settings.theme}setTheme(t){this.update("global","theme",t)}getDefaultThinkingLevel(){return this.settings.defaultThinkingLevel}setDefaultThinkingLevel(t){this.update("global","defaultThinkingLevel",t)}getTransport(){return this.settings.transport??"sse"}setTransport(t){this.update("global","transport",t)}getCompactionEnabled(){return this.settings.compaction?.enabled??!0}setCompactionEnabled(t){this.update("global","compaction.enabled",t)}getCompactionReserveTokens(){return this.settings.compaction?.reserveTokens??16384}getCompactionProtectedHeadTokens(){return this.settings.compaction?.protectedHeadTokens??2e4}getCompactionKeepRecentTokens(){return this.settings.compaction?.keepRecentTokens??2e4}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(t){this.update("global","retry.enabled",t)}getRetrySettings(){return{enabled:this.getRetryEnabled(),maxRetries:this.settings.retry?.maxRetries??3,baseDelayMs:this.settings.retry?.baseDelayMs??2e3,maxDelayMs:this.settings.retry?.maxDelayMs??6e4}}getHideThinkingBlock(){return this.settings.hideThinkingBlock??!1}setHideThinkingBlock(t){this.update("global","hideThinkingBlock",t)}getCollapsePromptCommands(){return this.settings.collapsePromptCommands??!1}setCollapsePromptCommands(t){this.update("global","collapsePromptCommands",t)}getShellPath(){return this.settings.shellPath}setShellPath(t){this.update("global","shellPath",t)}getQuietStartup(){return this.settings.quietStartup??!1}setQuietStartup(t){this.update("global","quietStartup",t)}getShellCommandPrefix(){return this.settings.shellCommandPrefix}setShellCommandPrefix(t){this.update("global","shellCommandPrefix",t)}getNpmCommand(){return this.settings.npmCommand?[...this.settings.npmCommand]:void 0}setNpmCommand(t){this.update("global","npmCommand",t?[...t]:void 0)}getCollapseChangelog(){return this.settings.collapseChangelog??!1}setCollapseChangelog(t){this.update("global","collapseChangelog",t)}getPackages(){return[...this.settings.packages??[]]}setPackages(t){this.update("global","packages",t)}setProjectPackages(t){this.update("project","packages",t)}setLocalPackages(t){this.update("local","packages",t)}getExtensionPaths(){return[...this.settings.extensions??[]]}setExtensionPaths(t){this.update("global","extensions",t)}setProjectExtensionPaths(t){this.update("project","extensions",t)}setLocalExtensionPaths(t){this.update("local","extensions",t)}getSkillPaths(){return[...this.settings.skills??[]]}setSkillPaths(t){this.update("global","skills",t)}setProjectSkillPaths(t){this.update("project","skills",t)}setLocalSkillPaths(t){this.update("local","skills",t)}getPromptTemplatePaths(){return[...this.settings.prompts??[]]}setPromptTemplatePaths(t){this.update("global","prompts",t)}setProjectPromptTemplatePaths(t){this.update("project","prompts",t)}setLocalPromptTemplatePaths(t){this.update("local","prompts",t)}getThemePaths(){return[...this.settings.themes??[]]}setThemePaths(t){this.update("global","themes",t)}setProjectThemePaths(t){this.update("project","themes",t)}setLocalThemePaths(t){this.update("local","themes",t)}getEnableSkillCommands(){return this.settings.enableSkillCommands??!0}setEnableSkillCommands(t){this.update("global","enableSkillCommands",t)}getEnableHashline(){return this.settings.enableHashline??!1}setEnableHashline(t){this.update("global","enableHashline",t)}getEnabledPlugins(){let t={};for(let[n,r]of Object.entries(this.settings.enabledPlugins??{}))typeof r=="boolean"&&(t[n]=r);return t}getToolPermissions(){let t=this.settings.toolPermissions;return Array.isArray(t)?structuredClone(t):[]}getToolPermissionScopeRuleSets(){let t=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],n=[];for(let r of t){let i=r.toolPermissions;Array.isArray(i)&&i.length>0&&n.push(structuredClone(i))}return n}setPluginEnabled(t,n){this.update("global",["enabledPlugins",t],n)}getEnableToolSearch(){return this.settings.enableToolSearch??!1}getThinkingBudgets(){return this.settings.thinkingBudgets}getShowImages(){return this.settings.terminal?.showImages??!0}setShowImages(t){this.update("global","terminal.showImages",t)}getClearOnShrink(){return this.settings.terminal?.clearOnShrink!==void 0?this.settings.terminal.clearOnShrink:process.env.PI_CLEAR_ON_SHRINK==="1"}setClearOnShrink(t){this.update("global","terminal.clearOnShrink",t)}getImageAutoResize(){return this.settings.images?.autoResize??!0}setImageAutoResize(t){this.update("global","images.autoResize",t)}getBlockImages(){return this.settings.images?.blockImages??!1}setBlockImages(t){this.update("global","images.blockImages",t)}getEnabledModels(){return this.settings.enabledModels?[...this.settings.enabledModels]:void 0}setEnabledModels(t){this.update("global","enabledModels",t)}getDoubleEscapeAction(){return this.settings.doubleEscapeAction??"tree"}setDoubleEscapeAction(t){this.update("global","doubleEscapeAction",t)}getTreeFilterMode(){let t=this.settings.treeFilterMode;return t&&["default","no-tools","user-only","labeled-only","all"].includes(t)?t:"default"}setTreeFilterMode(t){this.update("global","treeFilterMode",t)}getShowHardwareCursor(){return this.settings.showHardwareCursor??process.env.PI_HARDWARE_CURSOR==="1"}setShowHardwareCursor(t){this.update("global","showHardwareCursor",t)}getEditorPaddingX(){return this.settings.editorPaddingX??0}setEditorPaddingX(t){this.update("global","editorPaddingX",Math.max(0,Math.min(3,Math.floor(t))))}getAutocompleteMaxVisible(){return this.settings.autocompleteMaxVisible??5}setAutocompleteMaxVisible(t){this.update("global","autocompleteMaxVisible",Math.max(3,Math.min(20,Math.floor(t))))}getCodeBlockIndent(){return this.settings.markdown?.codeBlockIndent??" "}getHooks(){return this.settings.hooks}getTelemetrySettings(){return this.settings.telemetry}getEnvInjection(){let t=this.settings.env;if(!t||typeof t!="object")return{};let n={};for(let[r,i]of Object.entries(t))typeof i=="string"&&(n[r]=i);return n}getFeatureFlagOverrides(){return this.settings.featureFlagOverrides}getIndexingDirsUnion(){let t=[this.getManagedSettings(),this.getLocalSettings(),this.getProjectSettings(),this.getGlobalSettings()],n=r=>{let i=new Set,o=[];for(let s of t){let a=s[r];if(Array.isArray(a))for(let c of a)typeof c!="string"||i.has(c)||(i.add(c),o.push(c))}return o};return{allowDirs:n("indexingAllowDirs"),denyDirs:n("indexingDenyDirs")}}}});var zsn,Zsn=C(()=>{"use strict";Vsn();Zit();zsn=(e,t)=>new NK(Gsn(e,t))});var IBe,Hsn=C(()=>{"use strict";IBe=class{constructor(t){this.content=t}read(){return this.content}modify(t){let n=t(this.content);n!==void 0&&(this.content=n)}}});import{homedir as Jgi}from"node:os";import{join as kK}from"node:path";var kPa,DPa,Xsn,Ms,$gi=C(()=>{"use strict";Hsn();zit();Dme();Zsn();Zit();kPa="AUGGIE_CODING_AGENT_DIR",DPa=()=>{let e=process.env[`${kPa}_MANAGED`];if(e)return e==="~"?kK(Jgi(),"settings.json"):e.startsWith("~/")?Jgi()+e.slice(1):e;if(process.platform==="win32"){let t=process.env.ProgramData||"C:\\ProgramData";return kK(t,"augment","settings.json")}return kK("/etc","augment","settings.json")},Xsn=e=>e?kK(e,".augment","settings.json"):void 0,Ms={create(e,t,n){return zsn({globalPath:kK(t,"settings.json"),projectPath:kK(e,".augment","settings.json"),localPath:kK(e,".augment","settings.local.json"),managedPath:DPa(),vfsUserPath:Xsn(n?.user),vfsSpacePath:Xsn(n?.space),vfsOrgPath:Xsn(n?.org)})},inMemory(e={}){let t=r=>new TK(new IBe(r===void 0?void 0:JSON.stringify(r))),n=new BK({managed:t(),local:t(),project:t(),global:t(e)});return n.reload(),new NK(n)}}});var WA=C(()=>{"use strict";Zsn();Zit();$gi();Vsn();Hsn();zit();Dme()});var U4,Jsn=C(()=>{U4={name:"@augmentcode/auggie-v2",version:"1.2.0",description:"Auggie CLI Client by Augment Code",type:"module",piConfig:{name:"auggie",configDir:".augment"},bin:{auggie:"dist/cli.js","auggie-v2":"dist/cli.js",pi:"dist/cli.js"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{source:"./src/index.ts",types:"./dist/index.d.ts",import:"./dist/index.js"},"./hooks":{types:"./dist/core/hooks/index.d.ts",import:"./dist/core/hooks/index.js"}},files:["dist","docs","examples","CHANGELOG.md"],scripts:{"check-types":"pnpm run bake:export-html && tsgo -p tsconfig.build.json",clean:"shx rm -rf dist","cli:source":"tsx --conditions=source src/cli.ts",dev:"pnpm run bake:export-html && pnpm run cli:source","dev:debug":"pnpm run bake:export-html && node --conditions=source --inspect-wait=ws://localhost:6499/57uz7t2uyri --import tsx src/cli.ts","bake:export-html":"node scripts/bake-export-html.mjs",build:"pnpm run bake:export-html && tsgo -p tsconfig.build.json --noCheck && shx chmod +x dist/cli.js && shx cp src/runtime/register-extensions.js dist/runtime/register-extensions.js && shx cp src/runtime/cloud-bridge.js dist/runtime/cloud-bridge.js && shx cp src/runtime/cloud-tracer-bridge.js dist/runtime/cloud-tracer-bridge.js && shx cp src/runtime/cloud-error-bridge.js dist/runtime/cloud-error-bridge.js && shx cp src/runtime/mcp-error-bridge.js dist/runtime/mcp-error-bridge.js && pnpm run copy-assets","build:npm:release":"node scripts/build-npm-release.mjs","build:migration-engine":"node scripts/build-migration-engine.mjs","build:release:sea":"node scripts/build-sea-release.mjs","build:release:sea:from-onison":"node scripts/build-sea-from-onison.mjs","build:release-js":"pnpm run bake:export-html && tsgo -p tsconfig.release.json --noCheck && shx chmod +x dist/cli.js && shx cp src/runtime/register-extensions.js dist/runtime/register-extensions.js && shx cp src/runtime/cloud-bridge.js dist/runtime/cloud-bridge.js && shx cp src/runtime/cloud-tracer-bridge.js dist/runtime/cloud-tracer-bridge.js && shx cp src/runtime/cloud-error-bridge.js dist/runtime/cloud-error-bridge.js && shx cp src/runtime/mcp-error-bridge.js dist/runtime/mcp-error-bridge.js && pnpm run copy-assets","build:npm":"pnpm run build:npm:release","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":"tsx scripts/assemble-changelog.ts",test:"pnpm run bake:export-html && vitest --run","test:acp:e2e":"pnpm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/acp/","test:e2e:sanity":"pnpm run bake:export-html && vitest --run --config vitest.e2e.config.ts e2e-test/tui/sanity.test.ts","test:e2e:tui":"pnpm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/tui/","test:e2e:cli":"pnpm run bake:export-html && vitest --run --no-file-parallelism --config vitest.e2e.config.ts e2e-test/cli/",prepublishOnly:"pnpm run clean && pnpm run build"},dependencies:{"@agentclientprotocol/sdk":"1.3.0","@augmentcode/api-client":"workspace:*","@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/augment-legacy-tools":"workspace:*","@hermes/cloud":"workspace:*","@hermes/context-usage":"workspace:*","@hermes/cosmos":"workspace:*","@hermes/daemon":"workspace:*","@hermes/git-credentials":"workspace:*","@hermes/hashline-edit":"workspace:*","@hermes/hooks":"workspace:*","@hermes/logger":"workspace:*","@hermes/lsp":"workspace:*","@hermes/mcp":"workspace:*","@hermes/migration":"workspace:*","@hermes/open-browser":"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",jimp:"^1.6.1","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 QPa}from"node:fs";import{homedir as SBe}from"node:os";import{dirname as $sn,join as tR,resolve as jgi}from"node:path";import{fileURLToPath as FPa}from"node:url";function qgi(){let e=process.env.PI_PACKAGE_DIR;if(e)return e==="~"?SBe():e.startsWith("~/")?SBe()+e.slice(1):e;let t=Kgi;for(;t!==$sn(t);){if(QPa(tR(t,"package.json")))return t;t=$sn(t)}return Kgi}function Hit(){return jgi(tR(qgi(),"docs"))}function Xit(){return jgi(tR(qgi(),"CHANGELOG.md"))}function rAi(e){return`${process.env.PI_SHARE_VIEWER_URL||LPa}#${e}`}function iAi(e){return e==="~"?SBe():e.startsWith("~/")?SBe()+e.slice(1):e}function IQ(){let e=process.env.AUGMENT_CACHE_DIR;return e?iAi(e):tR(SBe(),".augment")}function mo(){let e=process.env[Ksn];return e?iAi(e):IQ()}function xBe(){return tR(mo(),"themes")}function oAi(){return tR(mo(),"models.json")}function sAi(){return tR(mo(),"auth.json")}function aAi(){return tR(mo(),"settings.json")}function G4(){return IQ()}function Mme(){return tR(mo(),"bin")}function cAi(){return tR(mo(),"prompts")}function lAi(){return tR(mo(),_Be)}function uAi(){return tR(mo(),`${es}-debug.log`)}var OPa,Kgi,es,xa,_Be,vBe,eAi,PPa,Kl,tAi,nAi,Ksn,LPa,al=C(()=>{"use strict";Jsn();OPa=FPa(import.meta.url),Kgi=$sn(OPa);es=U4.piConfig?.name||"auggie",xa=U4.piConfig?.configDir||".augment",_Be="sessions-v2",vBe=es,eAi="Auggie Coding Agent",PPa="1.2.0-prerelease.202609141517",Kl=PPa??U4.version,tAi="2cc2a3629ad8ab562e32c418a5e6088c7a5b7dad",nAi="2026-09-14T22:17:43Z",Ksn=`${es.toUpperCase()}_CODING_AGENT_DIR`,LPa="https://pi.dev/session/"});function jsn(...e){return new globalThis.Function(...e)}var dAi=C(()=>{});var Jit,$it,qsn,pAi=C(()=>{J5();Eoe();ao();Ip();Jit=class extends Zo{constructor(t){super(`Duplicate type kind '${t}' detected`)}},$it=class extends Zo{constructor(t){super(`Duplicate string format '${t}' detected`)}};(function(e){function t(r,i){if(Yg.Has(r))throw new Jit(r);return Yg.Set(r,i),(o={})=>pV({...o,[Kn]:r})}e.Type=t;function n(r,i){if(sb.Has(r))throw new $it(r);return sb.Set(r,i),r}e.Format=n})(qsn||(qsn={}))});var DK={};ai(DK,{Evaluate:()=>jsn,TypeSystem:()=>qsn,TypeSystemDuplicateFormat:()=>$it,TypeSystemDuplicateTypeKind:()=>Jit,TypeSystemPolicy:()=>Fd});var Qme=C(()=>{dAi();gIe();pAi()});function mAi(e){switch(e.errorType){case jn.ArrayContains:return"Expected array to contain at least one matching value";case jn.ArrayMaxContains:return`Expected array to contain no more than ${e.schema.maxContains} matching values`;case jn.ArrayMinContains:return`Expected array to contain at least ${e.schema.minContains} matching values`;case jn.ArrayMaxItems:return`Expected array length to be less or equal to ${e.schema.maxItems}`;case jn.ArrayMinItems:return`Expected array length to be greater or equal to ${e.schema.minItems}`;case jn.ArrayUniqueItems:return"Expected array elements to be unique";case jn.Array:return"Expected array";case jn.AsyncIterator:return"Expected AsyncIterator";case jn.BigIntExclusiveMaximum:return`Expected bigint to be less than ${e.schema.exclusiveMaximum}`;case jn.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${e.schema.exclusiveMinimum}`;case jn.BigIntMaximum:return`Expected bigint to be less or equal to ${e.schema.maximum}`;case jn.BigIntMinimum:return`Expected bigint to be greater or equal to ${e.schema.minimum}`;case jn.BigIntMultipleOf:return`Expected bigint to be a multiple of ${e.schema.multipleOf}`;case jn.BigInt:return"Expected bigint";case jn.Boolean:return"Expected boolean";case jn.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${e.schema.exclusiveMinimumTimestamp}`;case jn.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${e.schema.exclusiveMaximumTimestamp}`;case jn.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${e.schema.minimumTimestamp}`;case jn.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${e.schema.maximumTimestamp}`;case jn.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${e.schema.multipleOfTimestamp}`;case jn.Date:return"Expected Date";case jn.Function:return"Expected function";case jn.IntegerExclusiveMaximum:return`Expected integer to be less than ${e.schema.exclusiveMaximum}`;case jn.IntegerExclusiveMinimum:return`Expected integer to be greater than ${e.schema.exclusiveMinimum}`;case jn.IntegerMaximum:return`Expected integer to be less or equal to ${e.schema.maximum}`;case jn.IntegerMinimum:return`Expected integer to be greater or equal to ${e.schema.minimum}`;case jn.IntegerMultipleOf:return`Expected integer to be a multiple of ${e.schema.multipleOf}`;case jn.Integer:return"Expected integer";case jn.IntersectUnevaluatedProperties:return"Unexpected property";case jn.Intersect:return"Expected all values to match";case jn.Iterator:return"Expected Iterator";case jn.Literal:return`Expected ${typeof e.schema.const=="string"?`'${e.schema.const}'`:e.schema.const}`;case jn.Never:return"Never";case jn.Not:return"Value should not match";case jn.Null:return"Expected null";case jn.NumberExclusiveMaximum:return`Expected number to be less than ${e.schema.exclusiveMaximum}`;case jn.NumberExclusiveMinimum:return`Expected number to be greater than ${e.schema.exclusiveMinimum}`;case jn.NumberMaximum:return`Expected number to be less or equal to ${e.schema.maximum}`;case jn.NumberMinimum:return`Expected number to be greater or equal to ${e.schema.minimum}`;case jn.NumberMultipleOf:return`Expected number to be a multiple of ${e.schema.multipleOf}`;case jn.Number:return"Expected number";case jn.Object:return"Expected object";case jn.ObjectAdditionalProperties:return"Unexpected property";case jn.ObjectMaxProperties:return`Expected object to have no more than ${e.schema.maxProperties} properties`;case jn.ObjectMinProperties:return`Expected object to have at least ${e.schema.minProperties} properties`;case jn.ObjectRequiredProperty:return"Expected required property";case jn.Promise:return"Expected Promise";case jn.RegExp:return"Expected string to match regular expression";case jn.StringFormatUnknown:return`Unknown format '${e.schema.format}'`;case jn.StringFormat:return`Expected string to match '${e.schema.format}' format`;case jn.StringMaxLength:return`Expected string length less or equal to ${e.schema.maxLength}`;case jn.StringMinLength:return`Expected string length greater or equal to ${e.schema.minLength}`;case jn.StringPattern:return`Expected string to match '${e.schema.pattern}'`;case jn.String:return"Expected string";case jn.Symbol:return"Expected symbol";case jn.TupleLength:return`Expected tuple to have ${e.schema.maxItems||0} elements`;case jn.Tuple:return"Expected tuple";case jn.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${e.schema.maxByteLength}`;case jn.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${e.schema.minByteLength}`;case jn.Uint8Array:return"Expected Uint8Array";case jn.Undefined:return"Expected undefined";case jn.Union:return"Expected union value";case jn.Void:return"Expected void";case jn.Kind:return`Expected kind '${e.schema[Kn]}'`;default:return"Unknown error type"}}function UPa(e){fAi=e}function ean(){return fAi}var fAi,tan=C(()=>{ao();nan();fAi=mAi});function GPa(e,t){let n=t.find(r=>r.$id===e.$ref);if(n===void 0)throw new ran(e);return yl(n,t)}function qh(e,t){return!Tc(e.$id)||t.some(n=>n.$id===e.$id)||t.push(e),t}function yl(e,t){return e[Kn]==="This"||e[Kn]==="Ref"?GPa(e,t):e}var ran,gAi=C(()=>{Ip();ao();A3e();ran=class extends Zo{constructor(t){super(`Unable to dereference schema with $id '${t.$ref}'`),this.schema=t}}});var nR=C(()=>{gAi()});function*zPa(e){let t=e===0?1:Math.ceil(Math.floor(Math.log2(e)+1)/8);for(let n=0;n<t;n++)yield e>>8*(t-1-n)&255}function ZPa(e){Qb(gv.Array);for(let t of e)Ome(t)}function HPa(e){Qb(gv.Boolean),Qb(e?1:0)}function XPa(e){Qb(gv.BigInt),hAi.setBigInt64(0,e);for(let t of EAi)Qb(t)}function JPa(e){Qb(gv.Date),Ome(e.getTime())}function $Pa(e){Qb(gv.Null)}function KPa(e){Qb(gv.Number),hAi.setFloat64(0,e);for(let t of EAi)Qb(t)}function jPa(e){Qb(gv.Object);for(let t of globalThis.Object.getOwnPropertyNames(e).sort())Ome(t),Ome(e[t])}function qPa(e){Qb(gv.String);for(let t=0;t<e.length;t++)for(let n of zPa(e.charCodeAt(t)))Qb(n)}function eLa(e){Qb(gv.Symbol),Ome(e.description)}function tLa(e){Qb(gv.Uint8Array);for(let t=0;t<e.length;t++)Qb(e[t])}function nLa(e){return Qb(gv.Undefined)}function Ome(e){if(qo(e))return ZPa(e);if(dB(e))return HPa(e);if(Sh(e))return XPa(e);if(rb(e))return JPa(e);if(Y2(e))return $Pa(e);if(Qo(e))return KPa(e);if(ea(e))return jPa(e);if(Tc(e))return qPa(e);if(Z2(e))return eLa(e);if(xH(e))return tLa(e);if(rp(e))return nLa(e);throw new Kit(e)}function Qb(e){Fme=Fme^YPa[e],Fme=Fme*VPa%WPa}function IU(e){return Fme=BigInt("14695981039346656037"),Ome(e),Fme}var Kit,gv,Fme,VPa,WPa,YPa,AAi,hAi,EAi,yAi=C(()=>{Wg();Ip();Kit=class extends Zo{constructor(t){super("Unable to hash value"),this.value=t}};(function(e){e[e.Undefined=0]="Undefined",e[e.Null=1]="Null",e[e.Boolean=2]="Boolean",e[e.Number=3]="Number",e[e.String=4]="String",e[e.Object=5]="Object",e[e.Array=6]="Array",e[e.Date=7]="Date",e[e.Uint8Array=8]="Uint8Array",e[e.Symbol=9]="Symbol",e[e.BigInt=10]="BigInt"})(gv||(gv={}));Fme=BigInt("14695981039346656037"),[VPa,WPa]=[BigInt("1099511628211"),BigInt("18446744073709551616")],YPa=Array.from({length:256}).map((e,t)=>BigInt(t)),AAi=new Float64Array(1),hAi=new DataView(AAi.buffer),EAi=new Uint8Array(AAi.buffer)});var Pme=C(()=>{yAi()});function rLa(e){return e[Kn]==="Any"||e[Kn]==="Unknown"}function Mc(e){return e!==void 0}function iLa(e,t,n){return!0}function oLa(e,t,n){return!0}function sLa(e,t,n){if(!qo(n)||Mc(e.minItems)&&!(n.length>=e.minItems)||Mc(e.maxItems)&&!(n.length<=e.maxItems))return!1;for(let o of n)if(!eE(e.items,t,o))return!1;if(e.uniqueItems===!0&&!(function(){let o=new Set;for(let s of n){let a=IU(s);if(o.has(a))return!1;o.add(a)}return!0})())return!1;if(!(Mc(e.contains)||Qo(e.minContains)||Qo(e.maxContains)))return!0;let r=Mc(e.contains)?e.contains:Es(),i=n.reduce((o,s)=>eE(r,t,s)?o+1:o,0);return!(i===0||Qo(e.minContains)&&i<e.minContains||Qo(e.maxContains)&&i>e.maxContains)}function aLa(e,t,n){return dIe(n)}function cLa(e,t,n){return!(!Sh(n)||Mc(e.exclusiveMaximum)&&!(n<e.exclusiveMaximum)||Mc(e.exclusiveMinimum)&&!(n>e.exclusiveMinimum)||Mc(e.maximum)&&!(n<=e.maximum)||Mc(e.minimum)&&!(n>=e.minimum)||Mc(e.multipleOf)&&n%e.multipleOf!==BigInt(0))}function lLa(e,t,n){return dB(n)}function uLa(e,t,n){return eE(e.returns,t,n.prototype)}function dLa(e,t,n){return!(!rb(n)||Mc(e.exclusiveMaximumTimestamp)&&!(n.getTime()<e.exclusiveMaximumTimestamp)||Mc(e.exclusiveMinimumTimestamp)&&!(n.getTime()>e.exclusiveMinimumTimestamp)||Mc(e.maximumTimestamp)&&!(n.getTime()<=e.maximumTimestamp)||Mc(e.minimumTimestamp)&&!(n.getTime()>=e.minimumTimestamp)||Mc(e.multipleOfTimestamp)&&n.getTime()%e.multipleOfTimestamp!==0)}function pLa(e,t,n){return z2(n)}function mLa(e,t,n){let r=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref];return eE(i,[...t,...r],n)}function fLa(e,t,n){return!(!fIe(n)||Mc(e.exclusiveMaximum)&&!(n<e.exclusiveMaximum)||Mc(e.exclusiveMinimum)&&!(n>e.exclusiveMinimum)||Mc(e.maximum)&&!(n<=e.maximum)||Mc(e.minimum)&&!(n>=e.minimum)||Mc(e.multipleOf)&&n%e.multipleOf!==0)}function gLa(e,t,n){let r=e.allOf.every(i=>eE(i,t,n));if(e.unevaluatedProperties===!1){let i=new RegExp(mB(e)),o=Object.getOwnPropertyNames(n).every(s=>i.test(s));return r&&o}else if(Sp(e.unevaluatedProperties)){let i=new RegExp(mB(e)),o=Object.getOwnPropertyNames(n).every(s=>i.test(s)||eE(e.unevaluatedProperties,t,n[s]));return r&&o}else return r}function ALa(e,t,n){return pIe(n)}function hLa(e,t,n){return n===e.const}function ELa(e,t,n){return!1}function yLa(e,t,n){return!eE(e.not,t,n)}function bLa(e,t,n){return Y2(n)}function CLa(e,t,n){return!(!Fd.IsNumberLike(n)||Mc(e.exclusiveMaximum)&&!(n<e.exclusiveMaximum)||Mc(e.exclusiveMinimum)&&!(n>e.exclusiveMinimum)||Mc(e.minimum)&&!(n>=e.minimum)||Mc(e.maximum)&&!(n<=e.maximum)||Mc(e.multipleOf)&&n%e.multipleOf!==0)}function ILa(e,t,n){if(!Fd.IsObjectLike(n)||Mc(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)||Mc(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties))return!1;let r=Object.getOwnPropertyNames(e.properties);for(let i of r){let o=e.properties[i];if(e.required&&e.required.includes(i)){if(!eE(o,t,n[i])||(fB(o)||rLa(o))&&!(i in n))return!1}else if(Fd.IsExactOptionalProperty(n,i)&&!eE(o,t,n[i]))return!1}if(e.additionalProperties===!1){let i=Object.getOwnPropertyNames(n);return e.required&&e.required.length===r.length&&i.length===r.length?!0:i.every(o=>r.includes(o))}else return typeof e.additionalProperties=="object"?Object.getOwnPropertyNames(n).every(o=>r.includes(o)||eE(e.additionalProperties,t,n[o])):!0}function SLa(e,t,n){return mIe(n)}function _La(e,t,n){if(!Fd.IsRecordLike(n)||Mc(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)||Mc(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties))return!1;let[r,i]=Object.entries(e.patternProperties)[0],o=new RegExp(r),s=Object.entries(n).every(([u,l])=>o.test(u)?eE(i,t,l):!0),a=typeof e.additionalProperties=="object"?Object.entries(n).every(([u,l])=>o.test(u)?!0:eE(e.additionalProperties,t,l)):!0,c=e.additionalProperties===!1?Object.getOwnPropertyNames(n).every(u=>o.test(u)):!0;return s&&a&&c}function vLa(e,t,n){return eE(yl(e,t),t,n)}function xLa(e,t,n){let r=new RegExp(e.source,e.flags);return Mc(e.minLength)&&!(n.length>=e.minLength)||Mc(e.maxLength)&&!(n.length<=e.maxLength)?!1:r.test(n)}function wLa(e,t,n){return!Tc(n)||Mc(e.minLength)&&!(n.length>=e.minLength)||Mc(e.maxLength)&&!(n.length<=e.maxLength)||Mc(e.pattern)&&!new RegExp(e.pattern).test(n)?!1:Mc(e.format)?sb.Has(e.format)?sb.Get(e.format)(n):!1:!0}function RLa(e,t,n){return Z2(n)}function TLa(e,t,n){return Tc(n)&&new RegExp(e.pattern).test(n)}function BLa(e,t,n){return eE(yl(e,t),t,n)}function NLa(e,t,n){if(!qo(n)||e.items===void 0&&n.length!==0||n.length!==e.maxItems)return!1;if(!e.items)return!0;for(let r=0;r<e.items.length;r++)if(!eE(e.items[r],t,n[r]))return!1;return!0}function kLa(e,t,n){return rp(n)}function DLa(e,t,n){return e.anyOf.some(r=>eE(r,t,n))}function MLa(e,t,n){return!(!xH(n)||Mc(e.maxByteLength)&&!(n.length<=e.maxByteLength)||Mc(e.minByteLength)&&!(n.length>=e.minByteLength))}function QLa(e,t,n){return!0}function FLa(e,t,n){return Fd.IsVoidLike(n)}function OLa(e,t,n){return Yg.Has(e[Kn])?Yg.Get(e[Kn])(e,n):!1}function eE(e,t,n){let r=Mc(e.$id)?qh(e,t):t,i=e;switch(i[Kn]){case"Any":return iLa(i,r,n);case"Argument":return oLa(i,r,n);case"Array":return sLa(i,r,n);case"AsyncIterator":return aLa(i,r,n);case"BigInt":return cLa(i,r,n);case"Boolean":return lLa(i,r,n);case"Constructor":return uLa(i,r,n);case"Date":return dLa(i,r,n);case"Function":return pLa(i,r,n);case"Import":return mLa(i,r,n);case"Integer":return fLa(i,r,n);case"Intersect":return gLa(i,r,n);case"Iterator":return ALa(i,r,n);case"Literal":return hLa(i,r,n);case"Never":return ELa(i,r,n);case"Not":return yLa(i,r,n);case"Null":return bLa(i,r,n);case"Number":return CLa(i,r,n);case"Object":return ILa(i,r,n);case"Promise":return SLa(i,r,n);case"Record":return _La(i,r,n);case"Ref":return vLa(i,r,n);case"RegExp":return xLa(i,r,n);case"String":return wLa(i,r,n);case"Symbol":return RLa(i,r,n);case"TemplateLiteral":return TLa(i,r,n);case"This":return BLa(i,r,n);case"Tuple":return NLa(i,r,n);case"Undefined":return kLa(i,r,n);case"Union":return DLa(i,r,n);case"Uint8Array":return MLa(i,r,n);case"Unknown":return QLa(i,r,n);case"Void":return FLa(i,r,n);default:if(!Yg.Has(i[Kn]))throw new jit(i);return OLa(i,r,n)}}function Fa(...e){return e.length===3?eE(e[0],e[1],e[2]):eE(e[0],[],e[1])}var jit,ian=C(()=>{Qme();nR();Pme();ao();__();nV();J5();Ip();af();Wg();Za();jit=class extends Zo{constructor(t){super("Unknown type"),this.schema=t}}});var Av=C(()=>{ian()});function SU(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Qc(e){return e!==void 0}function Qi(e,t,n,r,i=[]){return{type:e,schema:t,path:n,value:r,message:ean()({errorType:e,path:n,schema:t,value:r,errors:i}),errors:i}}function*PLa(e,t,n,r){}function*LLa(e,t,n,r){}function*ULa(e,t,n,r){if(!qo(r))return yield Qi(jn.Array,e,n,r);Qc(e.minItems)&&!(r.length>=e.minItems)&&(yield Qi(jn.ArrayMinItems,e,n,r)),Qc(e.maxItems)&&!(r.length<=e.maxItems)&&(yield Qi(jn.ArrayMaxItems,e,n,r));for(let s=0;s<r.length;s++)yield*tE(e.items,t,`${n}/${s}`,r[s]);if(e.uniqueItems===!0&&!(function(){let s=new Set;for(let a of r){let c=IU(a);if(s.has(c))return!1;s.add(c)}return!0})()&&(yield Qi(jn.ArrayUniqueItems,e,n,r)),!(Qc(e.contains)||Qc(e.minContains)||Qc(e.maxContains)))return;let i=Qc(e.contains)?e.contains:Es(),o=r.reduce((s,a,c)=>tE(i,t,`${n}${c}`,a).next().done===!0?s+1:s,0);o===0&&(yield Qi(jn.ArrayContains,e,n,r)),Qo(e.minContains)&&o<e.minContains&&(yield Qi(jn.ArrayMinContains,e,n,r)),Qo(e.maxContains)&&o>e.maxContains&&(yield Qi(jn.ArrayMaxContains,e,n,r))}function*GLa(e,t,n,r){dIe(r)||(yield Qi(jn.AsyncIterator,e,n,r))}function*VLa(e,t,n,r){if(!Sh(r))return yield Qi(jn.BigInt,e,n,r);Qc(e.exclusiveMaximum)&&!(r<e.exclusiveMaximum)&&(yield Qi(jn.BigIntExclusiveMaximum,e,n,r)),Qc(e.exclusiveMinimum)&&!(r>e.exclusiveMinimum)&&(yield Qi(jn.BigIntExclusiveMinimum,e,n,r)),Qc(e.maximum)&&!(r<=e.maximum)&&(yield Qi(jn.BigIntMaximum,e,n,r)),Qc(e.minimum)&&!(r>=e.minimum)&&(yield Qi(jn.BigIntMinimum,e,n,r)),Qc(e.multipleOf)&&r%e.multipleOf!==BigInt(0)&&(yield Qi(jn.BigIntMultipleOf,e,n,r))}function*WLa(e,t,n,r){dB(r)||(yield Qi(jn.Boolean,e,n,r))}function*YLa(e,t,n,r){yield*tE(e.returns,t,n,r.prototype)}function*zLa(e,t,n,r){if(!rb(r))return yield Qi(jn.Date,e,n,r);Qc(e.exclusiveMaximumTimestamp)&&!(r.getTime()<e.exclusiveMaximumTimestamp)&&(yield Qi(jn.DateExclusiveMaximumTimestamp,e,n,r)),Qc(e.exclusiveMinimumTimestamp)&&!(r.getTime()>e.exclusiveMinimumTimestamp)&&(yield Qi(jn.DateExclusiveMinimumTimestamp,e,n,r)),Qc(e.maximumTimestamp)&&!(r.getTime()<=e.maximumTimestamp)&&(yield Qi(jn.DateMaximumTimestamp,e,n,r)),Qc(e.minimumTimestamp)&&!(r.getTime()>=e.minimumTimestamp)&&(yield Qi(jn.DateMinimumTimestamp,e,n,r)),Qc(e.multipleOfTimestamp)&&r.getTime()%e.multipleOfTimestamp!==0&&(yield Qi(jn.DateMultipleOfTimestamp,e,n,r))}function*ZLa(e,t,n,r){z2(r)||(yield Qi(jn.Function,e,n,r))}function*HLa(e,t,n,r){let i=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];yield*tE(o,[...t,...i],n,r)}function*XLa(e,t,n,r){if(!fIe(r))return yield Qi(jn.Integer,e,n,r);Qc(e.exclusiveMaximum)&&!(r<e.exclusiveMaximum)&&(yield Qi(jn.IntegerExclusiveMaximum,e,n,r)),Qc(e.exclusiveMinimum)&&!(r>e.exclusiveMinimum)&&(yield Qi(jn.IntegerExclusiveMinimum,e,n,r)),Qc(e.maximum)&&!(r<=e.maximum)&&(yield Qi(jn.IntegerMaximum,e,n,r)),Qc(e.minimum)&&!(r>=e.minimum)&&(yield Qi(jn.IntegerMinimum,e,n,r)),Qc(e.multipleOf)&&r%e.multipleOf!==0&&(yield Qi(jn.IntegerMultipleOf,e,n,r))}function*JLa(e,t,n,r){let i=!1;for(let o of e.allOf)for(let s of tE(o,t,n,r))i=!0,yield s;if(i)return yield Qi(jn.Intersect,e,n,r);if(e.unevaluatedProperties===!1){let o=new RegExp(mB(e));for(let s of Object.getOwnPropertyNames(r))o.test(s)||(yield Qi(jn.IntersectUnevaluatedProperties,e,`${n}/${s}`,r))}if(typeof e.unevaluatedProperties=="object"){let o=new RegExp(mB(e));for(let s of Object.getOwnPropertyNames(r))if(!o.test(s)){let a=tE(e.unevaluatedProperties,t,`${n}/${s}`,r[s]).next();a.done||(yield a.value)}}}function*$La(e,t,n,r){pIe(r)||(yield Qi(jn.Iterator,e,n,r))}function*KLa(e,t,n,r){r!==e.const&&(yield Qi(jn.Literal,e,n,r))}function*jLa(e,t,n,r){yield Qi(jn.Never,e,n,r)}function*qLa(e,t,n,r){tE(e.not,t,n,r).next().done===!0&&(yield Qi(jn.Not,e,n,r))}function*eUa(e,t,n,r){Y2(r)||(yield Qi(jn.Null,e,n,r))}function*tUa(e,t,n,r){if(!Fd.IsNumberLike(r))return yield Qi(jn.Number,e,n,r);Qc(e.exclusiveMaximum)&&!(r<e.exclusiveMaximum)&&(yield Qi(jn.NumberExclusiveMaximum,e,n,r)),Qc(e.exclusiveMinimum)&&!(r>e.exclusiveMinimum)&&(yield Qi(jn.NumberExclusiveMinimum,e,n,r)),Qc(e.maximum)&&!(r<=e.maximum)&&(yield Qi(jn.NumberMaximum,e,n,r)),Qc(e.minimum)&&!(r>=e.minimum)&&(yield Qi(jn.NumberMinimum,e,n,r)),Qc(e.multipleOf)&&r%e.multipleOf!==0&&(yield Qi(jn.NumberMultipleOf,e,n,r))}function*nUa(e,t,n,r){if(!Fd.IsObjectLike(r))return yield Qi(jn.Object,e,n,r);Qc(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)&&(yield Qi(jn.ObjectMinProperties,e,n,r)),Qc(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties)&&(yield Qi(jn.ObjectMaxProperties,e,n,r));let i=Array.isArray(e.required)?e.required:[],o=Object.getOwnPropertyNames(e.properties),s=Object.getOwnPropertyNames(r);for(let a of i)s.includes(a)||(yield Qi(jn.ObjectRequiredProperty,e.properties[a],`${n}/${SU(a)}`,void 0));if(e.additionalProperties===!1)for(let a of s)o.includes(a)||(yield Qi(jn.ObjectAdditionalProperties,e,`${n}/${SU(a)}`,r[a]));if(typeof e.additionalProperties=="object")for(let a of s)o.includes(a)||(yield*tE(e.additionalProperties,t,`${n}/${SU(a)}`,r[a]));for(let a of o){let c=e.properties[a];e.required&&e.required.includes(a)?(yield*tE(c,t,`${n}/${SU(a)}`,r[a]),fB(e)&&!(a in r)&&(yield Qi(jn.ObjectRequiredProperty,c,`${n}/${SU(a)}`,void 0))):Fd.IsExactOptionalProperty(r,a)&&(yield*tE(c,t,`${n}/${SU(a)}`,r[a]))}}function*rUa(e,t,n,r){mIe(r)||(yield Qi(jn.Promise,e,n,r))}function*iUa(e,t,n,r){if(!Fd.IsRecordLike(r))return yield Qi(jn.Object,e,n,r);Qc(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)&&(yield Qi(jn.ObjectMinProperties,e,n,r)),Qc(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties)&&(yield Qi(jn.ObjectMaxProperties,e,n,r));let[i,o]=Object.entries(e.patternProperties)[0],s=new RegExp(i);for(let[a,c]of Object.entries(r))s.test(a)&&(yield*tE(o,t,`${n}/${SU(a)}`,c));if(typeof e.additionalProperties=="object")for(let[a,c]of Object.entries(r))s.test(a)||(yield*tE(e.additionalProperties,t,`${n}/${SU(a)}`,c));if(e.additionalProperties===!1){for(let[a,c]of Object.entries(r))if(!s.test(a))return yield Qi(jn.ObjectAdditionalProperties,e,`${n}/${SU(a)}`,c)}}function*oUa(e,t,n,r){yield*tE(yl(e,t),t,n,r)}function*sUa(e,t,n,r){if(!Tc(r))return yield Qi(jn.String,e,n,r);if(Qc(e.minLength)&&!(r.length>=e.minLength)&&(yield Qi(jn.StringMinLength,e,n,r)),Qc(e.maxLength)&&!(r.length<=e.maxLength)&&(yield Qi(jn.StringMaxLength,e,n,r)),!new RegExp(e.source,e.flags).test(r))return yield Qi(jn.RegExp,e,n,r)}function*aUa(e,t,n,r){if(!Tc(r))return yield Qi(jn.String,e,n,r);Qc(e.minLength)&&!(r.length>=e.minLength)&&(yield Qi(jn.StringMinLength,e,n,r)),Qc(e.maxLength)&&!(r.length<=e.maxLength)&&(yield Qi(jn.StringMaxLength,e,n,r)),Tc(e.pattern)&&(new RegExp(e.pattern).test(r)||(yield Qi(jn.StringPattern,e,n,r))),Tc(e.format)&&(sb.Has(e.format)?sb.Get(e.format)(r)||(yield Qi(jn.StringFormat,e,n,r)):yield Qi(jn.StringFormatUnknown,e,n,r))}function*cUa(e,t,n,r){Z2(r)||(yield Qi(jn.Symbol,e,n,r))}function*lUa(e,t,n,r){if(!Tc(r))return yield Qi(jn.String,e,n,r);new RegExp(e.pattern).test(r)||(yield Qi(jn.StringPattern,e,n,r))}function*uUa(e,t,n,r){yield*tE(yl(e,t),t,n,r)}function*dUa(e,t,n,r){if(!qo(r))return yield Qi(jn.Tuple,e,n,r);if(e.items===void 0&&r.length!==0)return yield Qi(jn.TupleLength,e,n,r);if(r.length!==e.maxItems)return yield Qi(jn.TupleLength,e,n,r);if(e.items)for(let i=0;i<e.items.length;i++)yield*tE(e.items[i],t,`${n}/${i}`,r[i])}function*pUa(e,t,n,r){rp(r)||(yield Qi(jn.Undefined,e,n,r))}function*mUa(e,t,n,r){if(Fa(e,t,r))return;let i=e.anyOf.map(o=>new hv(tE(o,t,n,r)));yield Qi(jn.Union,e,n,r,i)}function*fUa(e,t,n,r){if(!xH(r))return yield Qi(jn.Uint8Array,e,n,r);Qc(e.maxByteLength)&&!(r.length<=e.maxByteLength)&&(yield Qi(jn.Uint8ArrayMaxByteLength,e,n,r)),Qc(e.minByteLength)&&!(r.length>=e.minByteLength)&&(yield Qi(jn.Uint8ArrayMinByteLength,e,n,r))}function*gUa(e,t,n,r){}function*AUa(e,t,n,r){Fd.IsVoidLike(r)||(yield Qi(jn.Void,e,n,r))}function*hUa(e,t,n,r){Yg.Get(e[Kn])(e,r)||(yield Qi(jn.Kind,e,n,r))}function*tE(e,t,n,r){let i=Qc(e.$id)?[...t,e]:t,o=e;switch(o[Kn]){case"Any":return yield*PLa(o,i,n,r);case"Argument":return yield*LLa(o,i,n,r);case"Array":return yield*ULa(o,i,n,r);case"AsyncIterator":return yield*GLa(o,i,n,r);case"BigInt":return yield*VLa(o,i,n,r);case"Boolean":return yield*WLa(o,i,n,r);case"Constructor":return yield*YLa(o,i,n,r);case"Date":return yield*zLa(o,i,n,r);case"Function":return yield*ZLa(o,i,n,r);case"Import":return yield*HLa(o,i,n,r);case"Integer":return yield*XLa(o,i,n,r);case"Intersect":return yield*JLa(o,i,n,r);case"Iterator":return yield*$La(o,i,n,r);case"Literal":return yield*KLa(o,i,n,r);case"Never":return yield*jLa(o,i,n,r);case"Not":return yield*qLa(o,i,n,r);case"Null":return yield*eUa(o,i,n,r);case"Number":return yield*tUa(o,i,n,r);case"Object":return yield*nUa(o,i,n,r);case"Promise":return yield*rUa(o,i,n,r);case"Record":return yield*iUa(o,i,n,r);case"Ref":return yield*oUa(o,i,n,r);case"RegExp":return yield*sUa(o,i,n,r);case"String":return yield*aUa(o,i,n,r);case"Symbol":return yield*cUa(o,i,n,r);case"TemplateLiteral":return yield*lUa(o,i,n,r);case"This":return yield*uUa(o,i,n,r);case"Tuple":return yield*dUa(o,i,n,r);case"Undefined":return yield*pUa(o,i,n,r);case"Union":return yield*mUa(o,i,n,r);case"Uint8Array":return yield*fUa(o,i,n,r);case"Unknown":return yield*gUa(o,i,n,r);case"Void":return yield*AUa(o,i,n,r);default:if(!Yg.Has(o[Kn]))throw new qit(e);return yield*hUa(o,i,n,r)}}function YN(...e){let t=e.length===3?tE(e[0],e[1],"",e[2]):tE(e[0],[],"",e[1]);return new hv(t)}var jn,qit,hv,nan=C(()=>{Qme();__();J5();Y3e();tan();Ip();nR();Pme();Av();ao();af();Wg();(function(e){e[e.ArrayContains=0]="ArrayContains",e[e.ArrayMaxContains=1]="ArrayMaxContains",e[e.ArrayMaxItems=2]="ArrayMaxItems",e[e.ArrayMinContains=3]="ArrayMinContains",e[e.ArrayMinItems=4]="ArrayMinItems",e[e.ArrayUniqueItems=5]="ArrayUniqueItems",e[e.Array=6]="Array",e[e.AsyncIterator=7]="AsyncIterator",e[e.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",e[e.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",e[e.BigIntMaximum=10]="BigIntMaximum",e[e.BigIntMinimum=11]="BigIntMinimum",e[e.BigIntMultipleOf=12]="BigIntMultipleOf",e[e.BigInt=13]="BigInt",e[e.Boolean=14]="Boolean",e[e.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",e[e.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",e[e.DateMaximumTimestamp=17]="DateMaximumTimestamp",e[e.DateMinimumTimestamp=18]="DateMinimumTimestamp",e[e.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",e[e.Date=20]="Date",e[e.Function=21]="Function",e[e.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",e[e.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",e[e.IntegerMaximum=24]="IntegerMaximum",e[e.IntegerMinimum=25]="IntegerMinimum",e[e.IntegerMultipleOf=26]="IntegerMultipleOf",e[e.Integer=27]="Integer",e[e.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",e[e.Intersect=29]="Intersect",e[e.Iterator=30]="Iterator",e[e.Kind=31]="Kind",e[e.Literal=32]="Literal",e[e.Never=33]="Never",e[e.Not=34]="Not",e[e.Null=35]="Null",e[e.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",e[e.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",e[e.NumberMaximum=38]="NumberMaximum",e[e.NumberMinimum=39]="NumberMinimum",e[e.NumberMultipleOf=40]="NumberMultipleOf",e[e.Number=41]="Number",e[e.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",e[e.ObjectMaxProperties=43]="ObjectMaxProperties",e[e.ObjectMinProperties=44]="ObjectMinProperties",e[e.ObjectRequiredProperty=45]="ObjectRequiredProperty",e[e.Object=46]="Object",e[e.Promise=47]="Promise",e[e.RegExp=48]="RegExp",e[e.StringFormatUnknown=49]="StringFormatUnknown",e[e.StringFormat=50]="StringFormat",e[e.StringMaxLength=51]="StringMaxLength",e[e.StringMinLength=52]="StringMinLength",e[e.StringPattern=53]="StringPattern",e[e.String=54]="String",e[e.Symbol=55]="Symbol",e[e.TupleLength=56]="TupleLength",e[e.Tuple=57]="Tuple",e[e.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",e[e.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",e[e.Uint8Array=60]="Uint8Array",e[e.Undefined=61]="Undefined",e[e.Union=62]="Union",e[e.Void=63]="Void"})(jn||(jn={}));qit=class extends Zo{constructor(t){super("Unknown type"),this.schema=t}};hv=class{constructor(t){this.iterator=t}[Symbol.iterator](){return this.iterator}First(){let t=this.iterator.next();return t.done?void 0:t.value}}});var MK={};ai(MK,{DefaultErrorFunction:()=>mAi,Errors:()=>YN,GetErrorFunction:()=>ean,SetErrorFunction:()=>UPa,ValueErrorIterator:()=>hv,ValueErrorType:()=>jn,ValueErrorsUnknownTypeError:()=>qit});var SQ=C(()=>{nan();tan()});function fm(e,t,n){try{return Nl(e)?e[ip].Decode(n):n}catch(r){throw new eot(e,t,n,r)}}function EUa(e,t,n,r){return qo(r)?fm(e,n,r.map((i,o)=>zN(e.items,t,`${n}/${o}`,i))):fm(e,n,r)}function yUa(e,t,n,r){if(!ea(r)||mI(r))return fm(e,n,r);let i=Jie(e),o=i.map(l=>l[0]),s={...r};for(let[l,d]of i)l in s&&(s[l]=zN(d,t,`${n}/${l}`,s[l]));if(!Nl(e.unevaluatedProperties))return fm(e,n,s);let a=Object.getOwnPropertyNames(s),c=e.unevaluatedProperties,u={...s};for(let l of a)o.includes(l)||(u[l]=fm(c,`${n}/${l}`,u[l]));return fm(e,n,u)}function bUa(e,t,n,r){let i=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref],s=zN(o,[...t,...i],n,r);return fm(e,n,s)}function CUa(e,t,n,r){return fm(e,n,zN(e.not,t,n,r))}function IUa(e,t,n,r){if(!ea(r))return fm(e,n,r);let i=ub(e),o={...r};for(let u of i)hs(o,u)&&(rp(o[u])&&(!J2(e.properties[u])||Fd.IsExactOptionalProperty(o,u))||(o[u]=zN(e.properties[u],t,`${n}/${u}`,o[u])));if(!Sp(e.additionalProperties))return fm(e,n,o);let s=Object.getOwnPropertyNames(o),a=e.additionalProperties,c={...o};for(let u of s)i.includes(u)||(c[u]=fm(a,`${n}/${u}`,c[u]));return fm(e,n,c)}function SUa(e,t,n,r){if(!ea(r))return fm(e,n,r);let i=Object.getOwnPropertyNames(e.patternProperties)[0],o=new RegExp(i),s={...r};for(let l of Object.getOwnPropertyNames(r))o.test(l)&&(s[l]=zN(e.patternProperties[i],t,`${n}/${l}`,s[l]));if(!Sp(e.additionalProperties))return fm(e,n,s);let a=Object.getOwnPropertyNames(s),c=e.additionalProperties,u={...s};for(let l of a)o.test(l)||(u[l]=fm(c,`${n}/${l}`,u[l]));return fm(e,n,u)}function _Ua(e,t,n,r){let i=yl(e,t);return fm(e,n,zN(i,t,n,r))}function vUa(e,t,n,r){let i=yl(e,t);return fm(e,n,zN(i,t,n,r))}function xUa(e,t,n,r){return qo(r)&&qo(e.items)?fm(e,n,e.items.map((i,o)=>zN(i,t,`${n}/${o}`,r[o]))):fm(e,n,r)}function wUa(e,t,n,r){for(let i of e.anyOf){if(!Fa(i,t,r))continue;let o=zN(i,t,n,r);return fm(e,n,o)}return fm(e,n,r)}function zN(e,t,n,r){let i=qh(e,t),o=e;switch(e[Kn]){case"Array":return EUa(o,i,n,r);case"Import":return bUa(o,i,n,r);case"Intersect":return yUa(o,i,n,r);case"Not":return CUa(o,i,n,r);case"Object":return IUa(o,i,n,r);case"Record":return SUa(o,i,n,r);case"Ref":return _Ua(o,i,n,r);case"Symbol":return fm(o,n,r);case"This":return vUa(o,i,n,r);case"Tuple":return xUa(o,i,n,r);case"Union":return wUa(o,i,n,r);default:return fm(o,n,r)}}function FK(e,t,n){return zN(e,t,"",n)}var QK,eot,bAi=C(()=>{gIe();ao();Ip();__();nR();Av();Wg();Za();QK=class extends Zo{constructor(t,n,r){super("Unable to decode value as it does not match the expected schema"),this.schema=t,this.value=n,this.error=r}},eot=class extends Zo{constructor(t,n,r,i){super(i instanceof Error?i.message:"Unknown error"),this.schema=t,this.path=n,this.value=r,this.error=i}}});function my(e,t,n){try{return Nl(e)?e[ip].Encode(n):n}catch(r){throw new tot(e,t,n,r)}}function RUa(e,t,n,r){let i=my(e,n,r);return qo(i)?i.map((o,s)=>ZN(e.items,t,`${n}/${s}`,o)):i}function TUa(e,t,n,r){let i=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref],s=my(e,n,r);return ZN(o,[...t,...i],n,s)}function BUa(e,t,n,r){let i=my(e,n,r);if(!ea(r)||mI(r))return i;let o=Jie(e),s=o.map(d=>d[0]),a={...i};for(let[d,p]of o)d in a&&(a[d]=ZN(p,t,`${n}/${d}`,a[d]));if(!Nl(e.unevaluatedProperties))return a;let c=Object.getOwnPropertyNames(a),u=e.unevaluatedProperties,l={...a};for(let d of c)s.includes(d)||(l[d]=my(u,`${n}/${d}`,l[d]));return l}function NUa(e,t,n,r){return my(e.not,n,my(e,n,r))}function kUa(e,t,n,r){let i=my(e,n,r);if(!ea(i))return i;let o=ub(e),s={...i};for(let l of o)hs(s,l)&&(rp(s[l])&&(!J2(e.properties[l])||Fd.IsExactOptionalProperty(s,l))||(s[l]=ZN(e.properties[l],t,`${n}/${l}`,s[l])));if(!Sp(e.additionalProperties))return s;let a=Object.getOwnPropertyNames(s),c=e.additionalProperties,u={...s};for(let l of a)o.includes(l)||(u[l]=my(c,`${n}/${l}`,u[l]));return u}function DUa(e,t,n,r){let i=my(e,n,r);if(!ea(r))return i;let o=Object.getOwnPropertyNames(e.patternProperties)[0],s=new RegExp(o),a={...i};for(let d of Object.getOwnPropertyNames(r))s.test(d)&&(a[d]=ZN(e.patternProperties[o],t,`${n}/${d}`,a[d]));if(!Sp(e.additionalProperties))return a;let c=Object.getOwnPropertyNames(a),u=e.additionalProperties,l={...a};for(let d of c)s.test(d)||(l[d]=my(u,`${n}/${d}`,l[d]));return l}function MUa(e,t,n,r){let i=yl(e,t),o=ZN(i,t,n,r);return my(e,n,o)}function QUa(e,t,n,r){let i=yl(e,t),o=ZN(i,t,n,r);return my(e,n,o)}function FUa(e,t,n,r){let i=my(e,n,r);return qo(e.items)?e.items.map((o,s)=>ZN(o,t,`${n}/${s}`,i[s])):[]}function OUa(e,t,n,r){for(let i of e.anyOf){if(!Fa(i,t,r))continue;let o=ZN(i,t,n,r);return my(e,n,o)}for(let i of e.anyOf){let o=ZN(i,t,n,r);if(Fa(e,t,o))return my(e,n,o)}return my(e,n,r)}function ZN(e,t,n,r){let i=qh(e,t),o=e;switch(e[Kn]){case"Array":return RUa(o,i,n,r);case"Import":return TUa(o,i,n,r);case"Intersect":return BUa(o,i,n,r);case"Not":return NUa(o,i,n,r);case"Object":return kUa(o,i,n,r);case"Record":return DUa(o,i,n,r);case"Ref":return MUa(o,i,n,r);case"This":return QUa(o,i,n,r);case"Tuple":return FUa(o,i,n,r);case"Union":return OUa(o,i,n,r);default:return my(o,n,r)}}function PK(e,t,n){return ZN(e,t,"",n)}var OK,tot,CAi=C(()=>{gIe();ao();Ip();__();nR();Av();Wg();Za();OK=class extends Zo{constructor(t,n,r){super("The encoded value does not match the expected schema"),this.schema=t,this.value=n,this.error=r}},tot=class extends Zo{constructor(t,n,r,i){super(`${i instanceof Error?i.message:"Unknown error"}`),this.schema=t,this.path=n,this.value=r,this.error=i}}});function PUa(e,t){return Nl(e)||YA(e.items,t)}function LUa(e,t){return Nl(e)||YA(e.items,t)}function UUa(e,t){return Nl(e)||YA(e.returns,t)||e.parameters.some(n=>YA(n,t))}function GUa(e,t){return Nl(e)||YA(e.returns,t)||e.parameters.some(n=>YA(n,t))}function VUa(e,t){return Nl(e)||Nl(e.unevaluatedProperties)||e.allOf.some(n=>YA(n,t))}function WUa(e,t){let n=globalThis.Object.getOwnPropertyNames(e.$defs).reduce((i,o)=>[...i,e.$defs[o]],[]),r=e.$defs[e.$ref];return Nl(e)||YA(r,[...n,...t])}function YUa(e,t){return Nl(e)||YA(e.items,t)}function zUa(e,t){return Nl(e)||YA(e.not,t)}function ZUa(e,t){return Nl(e)||Object.values(e.properties).some(n=>YA(n,t))||Sp(e.additionalProperties)&&YA(e.additionalProperties,t)}function HUa(e,t){return Nl(e)||YA(e.item,t)}function XUa(e,t){let n=Object.getOwnPropertyNames(e.patternProperties)[0],r=e.patternProperties[n];return Nl(e)||YA(r,t)||Sp(e.additionalProperties)&&Nl(e.additionalProperties)}function JUa(e,t){return Nl(e)?!0:YA(yl(e,t),t)}function $Ua(e,t){return Nl(e)?!0:YA(yl(e,t),t)}function KUa(e,t){return Nl(e)||!rp(e.items)&&e.items.some(n=>YA(n,t))}function jUa(e,t){return Nl(e)||e.anyOf.some(n=>YA(n,t))}function YA(e,t){let n=qh(e,t),r=e;if(e.$id&&oan.has(e.$id))return!1;switch(e.$id&&oan.add(e.$id),e[Kn]){case"Array":return PUa(r,n);case"AsyncIterator":return LUa(r,n);case"Constructor":return UUa(r,n);case"Function":return GUa(r,n);case"Import":return WUa(r,n);case"Intersect":return VUa(r,n);case"Iterator":return YUa(r,n);case"Not":return zUa(r,n);case"Object":return ZUa(r,n);case"Promise":return HUa(r,n);case"Record":return XUa(r,n);case"Ref":return JUa(r,n);case"This":return $Ua(r,n);case"Tuple":return KUa(r,n);case"Union":return jUa(r,n);default:return Nl(e)}}function _Q(e,t){return oan.clear(),YA(e,t)}var oan,IAi=C(()=>{nR();ao();Za();Wg();oan=new Set});var Lme=C(()=>{bAi();CAi();IAi()});function V4(e){if(!Tc(e))throw Error("ConstantString: Not a String");return`'${JSON.stringify(e).slice(1,-1).replace(/'/g,"\\'")}'`}function SAi(e,t){return`${e}[${V4(t)}]`}var not,rot,san,iot,wBe,W4,LK,_Ai=C(()=>{Lme();SQ();Qme();Ip();nR();Pme();ao();J5();__();Y3e();af();nD();Wg();JNt();not=class{constructor(t,n,r,i){this.schema=t,this.references=n,this.checkFunc=r,this.code=i,this.hasTransform=_Q(t,n)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(t){return YN(this.schema,this.references,t)}Check(t){return this.checkFunc(t)}Decode(t){if(!this.checkFunc(t))throw new QK(this.schema,t,this.Errors(t).First());return this.hasTransform?FK(this.schema,this.references,t):t}Encode(t){let n=this.hasTransform?PK(this.schema,this.references,t):t;if(!this.checkFunc(n))throw new OK(this.schema,t,this.Errors(t).First());return n}};(function(e){function t(o){return o===36}e.DollarSign=t;function n(o){return o===95}e.IsUnderscore=n;function r(o){return o>=65&&o<=90||o>=97&&o<=122}e.IsAlpha=r;function i(o){return o>=48&&o<=57}e.IsNumeric=i})(rot||(rot={}));(function(e){function t(n){let r=[];for(let i=0;i<n.length;i++){let o=n.charCodeAt(i);rot.IsNumeric(o)||rot.IsAlpha(o)?r.push(n.charAt(i)):r.push(`_${o}_`)}return r.join("").replace(/__/g,"_")}e.Encode=t})(san||(san={}));iot=class extends Zo{constructor(t){super("Unknown type"),this.schema=t}},wBe=class extends Zo{constructor(t){super("Preflight validation check failed to guard for the given schema"),this.schema=t}};(function(e){function t(s,a,c){return Fd.ExactOptionalPropertyTypes?`(${V4(a)} in ${s} ? ${c} : true)`:`(${SAi(s,a)} !== undefined ? ${c} : true)`}e.IsExactOptionalProperty=t;function n(s){return Fd.AllowArrayObject?`(typeof ${s} === 'object' && ${s} !== null)`:`(typeof ${s} === 'object' && ${s} !== null && !Array.isArray(${s}))`}e.IsObjectLike=n;function r(s){return Fd.AllowArrayObject?`(typeof ${s} === 'object' && ${s} !== null && !(${s} instanceof Date) && !(${s} instanceof Uint8Array))`:`(typeof ${s} === 'object' && ${s} !== null && !Array.isArray(${s}) && !(${s} instanceof Date) && !(${s} instanceof Uint8Array))`}e.IsRecordLike=r;function i(s){return Fd.AllowNaN?`typeof ${s} === 'number'`:`Number.isFinite(${s})`}e.IsNumberLike=i;function o(s){return Fd.AllowNullVoid?`(${s} === undefined || ${s} === null)`:`${s} === undefined`}e.IsVoidLike=o})(W4||(W4={}));(function(e){function t(te){return te[Kn]==="Any"||te[Kn]==="Unknown"}function*n(te,J,G){yield"true"}function*r(te,J,G){yield"true"}function*i(te,J,G){yield`Array.isArray(${G})`;let[ue,de]=[le("value","any"),le("acc","number")];Qo(te.maxItems)&&(yield`${G}.length <= ${te.maxItems}`),Qo(te.minItems)&&(yield`${G}.length >= ${te.minItems}`);let we=Me(te.items,J,"value");if(yield`((array) => { for(const ${ue} of array) if(!(${we})) { return false }; return true; })(${G})`,_p(te.contains)||Qo(te.minContains)||Qo(te.maxContains)){let De=_p(te.contains)?te.contains:Es(),Ie=Me(De,J,"value"),ie=Qo(te.minContains)?[`(count >= ${te.minContains})`]:[],Ye=Qo(te.maxContains)?[`(count <= ${te.maxContains})`]:[],st=`const count = value.reduce((${de}, ${ue}) => ${Ie} ? acc + 1 : acc, 0)`,it=["(count > 0)",...ie,...Ye].join(" && ");yield`((${ue}) => { ${st}; return ${it}})(${G})`}te.uniqueItems===!0&&(yield`((${ue}) => { 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 } )(${G})`)}function*o(te,J,G){yield`(typeof value === 'object' && Symbol.asyncIterator in ${G})`}function*s(te,J,G){yield`(typeof ${G} === 'bigint')`,Sh(te.exclusiveMaximum)&&(yield`${G} < BigInt(${te.exclusiveMaximum})`),Sh(te.exclusiveMinimum)&&(yield`${G} > BigInt(${te.exclusiveMinimum})`),Sh(te.maximum)&&(yield`${G} <= BigInt(${te.maximum})`),Sh(te.minimum)&&(yield`${G} >= BigInt(${te.minimum})`),Sh(te.multipleOf)&&(yield`(${G} % BigInt(${te.multipleOf})) === 0`)}function*a(te,J,G){yield`(typeof ${G} === 'boolean')`}function*c(te,J,G){yield*me(te.returns,J,`${G}.prototype`)}function*u(te,J,G){yield`(${G} instanceof Date) && Number.isFinite(${G}.getTime())`,Qo(te.exclusiveMaximumTimestamp)&&(yield`${G}.getTime() < ${te.exclusiveMaximumTimestamp}`),Qo(te.exclusiveMinimumTimestamp)&&(yield`${G}.getTime() > ${te.exclusiveMinimumTimestamp}`),Qo(te.maximumTimestamp)&&(yield`${G}.getTime() <= ${te.maximumTimestamp}`),Qo(te.minimumTimestamp)&&(yield`${G}.getTime() >= ${te.minimumTimestamp}`),Qo(te.multipleOfTimestamp)&&(yield`(${G}.getTime() % ${te.multipleOfTimestamp}) === 0`)}function*l(te,J,G){yield`(typeof ${G} === 'function')`}function*d(te,J,G){let ue=globalThis.Object.getOwnPropertyNames(te.$defs).reduce((de,we)=>[...de,te.$defs[we]],[]);yield*me(xh(te.$ref),[...J,...ue],G)}function*p(te,J,G){yield`Number.isInteger(${G})`,Qo(te.exclusiveMaximum)&&(yield`${G} < ${te.exclusiveMaximum}`),Qo(te.exclusiveMinimum)&&(yield`${G} > ${te.exclusiveMinimum}`),Qo(te.maximum)&&(yield`${G} <= ${te.maximum}`),Qo(te.minimum)&&(yield`${G} >= ${te.minimum}`),Qo(te.multipleOf)&&(yield`(${G} % ${te.multipleOf}) === 0`)}function*m(te,J,G){let ue=te.allOf.map(de=>Me(de,J,G)).join(" && ");if(te.unevaluatedProperties===!1){let de=$(`${new RegExp(mB(te))};`),we=`Object.getOwnPropertyNames(${G}).every(key => ${de}.test(key))`;yield`(${ue} && ${we})`}else if(_p(te.unevaluatedProperties)){let de=$(`${new RegExp(mB(te))};`),we=`Object.getOwnPropertyNames(${G}).every(key => ${de}.test(key) || ${Me(te.unevaluatedProperties,J,`${G}[key]`)})`;yield`(${ue} && ${we})`}else yield`(${ue})`}function*f(te,J,G){yield`(typeof value === 'object' && Symbol.iterator in ${G})`}function*g(te,J,G){if(typeof te.const=="number"||typeof te.const=="boolean")yield`(${G} === ${te.const})`;else if(typeof te.const=="string")yield`(${G} === ${V4(te.const)})`;else throw Error("Invalid Literal Value")}function*A(te,J,G){yield"false"}function*h(te,J,G){yield`(!${Me(te.not,J,G)})`}function*E(te,J,G){yield`(${G} === null)`}function*y(te,J,G){yield W4.IsNumberLike(G),Qo(te.exclusiveMaximum)&&(yield`${G} < ${te.exclusiveMaximum}`),Qo(te.exclusiveMinimum)&&(yield`${G} > ${te.exclusiveMinimum}`),Qo(te.maximum)&&(yield`${G} <= ${te.maximum}`),Qo(te.minimum)&&(yield`${G} >= ${te.minimum}`),Qo(te.multipleOf)&&(yield`(${G} % ${te.multipleOf}) === 0`)}function*b(te,J,G){yield W4.IsObjectLike(G),Qo(te.minProperties)&&(yield`Object.getOwnPropertyNames(${G}).length >= ${te.minProperties}`),Qo(te.maxProperties)&&(yield`Object.getOwnPropertyNames(${G}).length <= ${te.maxProperties}`);let ue=Object.getOwnPropertyNames(te.properties);for(let de of ue){let we=SAi(G,de),De=te.properties[de];if(te.required&&te.required.includes(de))yield*me(De,J,we),(fB(De)||t(De))&&(yield`(${V4(de)} in ${G})`);else{let Ie=Me(De,J,we);yield W4.IsExactOptionalProperty(G,de,Ie)}}if(te.additionalProperties===!1)if(te.required&&te.required.length===ue.length)yield`Object.getOwnPropertyNames(${G}).length === ${ue.length}`;else{let de=`[${ue.map(we=>`${V4(we)}`).join(", ")}]`;yield`Object.getOwnPropertyNames(${G}).every(key => ${de}.includes(key))`}if(typeof te.additionalProperties=="object"){let de=Me(te.additionalProperties,J,`${G}[key]`),we=`[${ue.map(De=>`${V4(De)}`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${G}).every(key => ${we}.includes(key) || ${de}))`}}function*I(te,J,G){yield`${G} instanceof Promise`}function*_(te,J,G){yield W4.IsRecordLike(G),Qo(te.minProperties)&&(yield`Object.getOwnPropertyNames(${G}).length >= ${te.minProperties}`),Qo(te.maxProperties)&&(yield`Object.getOwnPropertyNames(${G}).length <= ${te.maxProperties}`);let[ue,de]=Object.entries(te.patternProperties)[0],we=$(`${new RegExp(ue)}`),De=Me(de,J,"value"),Ie=_p(te.additionalProperties)?Me(te.additionalProperties,J,G):te.additionalProperties===!1?"false":"true",ie=`(${we}.test(key) ? ${De} : ${Ie})`;yield`(Object.entries(${G}).every(([key, value]) => ${ie}))`}function*v(te,J,G){let ue=yl(te,J);if(Ae.functions.has(te.$ref))return yield`${ye(te.$ref)}(${G})`;yield*me(ue,J,G)}function*w(te,J,G){let ue=$(`${new RegExp(te.source,te.flags)};`);yield`(typeof ${G} === 'string')`,Qo(te.maxLength)&&(yield`${G}.length <= ${te.maxLength}`),Qo(te.minLength)&&(yield`${G}.length >= ${te.minLength}`),yield`${ue}.test(${G})`}function*R(te,J,G){yield`(typeof ${G} === 'string')`,Qo(te.maxLength)&&(yield`${G}.length <= ${te.maxLength}`),Qo(te.minLength)&&(yield`${G}.length >= ${te.minLength}`),te.pattern!==void 0&&(yield`${$(`${new RegExp(te.pattern)};`)}.test(${G})`),te.format!==void 0&&(yield`format(${V4(te.format)}, ${G})`)}function*N(te,J,G){yield`(typeof ${G} === 'symbol')`}function*Q(te,J,G){yield`(typeof ${G} === 'string')`,yield`${$(`${new RegExp(te.pattern)};`)}.test(${G})`}function*F(te,J,G){yield`${ye(te.$ref)}(${G})`}function*D(te,J,G){if(yield`Array.isArray(${G})`,te.items===void 0)return yield`${G}.length === 0`;yield`(${G}.length === ${te.maxItems})`;for(let ue=0;ue<te.items.length;ue++)yield`${Me(te.items[ue],J,`${G}[${ue}]`)}`}function*k(te,J,G){yield`${G} === undefined`}function*Y(te,J,G){yield`(${te.anyOf.map(de=>Me(de,J,G)).join(" || ")})`}function*z(te,J,G){yield`${G} instanceof Uint8Array`,Qo(te.maxByteLength)&&(yield`(${G}.length <= ${te.maxByteLength})`),Qo(te.minByteLength)&&(yield`(${G}.length >= ${te.minByteLength})`)}function*K(te,J,G){yield"true"}function*W(te,J,G){yield W4.IsVoidLike(G)}function*q(te,J,G){let ue=Ae.instances.size;Ae.instances.set(ue,te),yield`kind(${V4(te[Kn])}, ${ue}, ${G})`}function*me(te,J,G,ue=!0){let de=Tc(te.$id)?[...J,te]:J,we=te;if(ue&&Tc(te.$id)){let De=ye(te.$id);if(Ae.functions.has(De))return yield`${De}(${G})`;{Ae.functions.set(De,"<deferred>");let Ie=ne(De,te,J,"value",!1);return Ae.functions.set(De,Ie),yield`${De}(${G})`}}switch(we[Kn]){case"Any":return yield*n(we,de,G);case"Argument":return yield*r(we,de,G);case"Array":return yield*i(we,de,G);case"AsyncIterator":return yield*o(we,de,G);case"BigInt":return yield*s(we,de,G);case"Boolean":return yield*a(we,de,G);case"Constructor":return yield*c(we,de,G);case"Date":return yield*u(we,de,G);case"Function":return yield*l(we,de,G);case"Import":return yield*d(we,de,G);case"Integer":return yield*p(we,de,G);case"Intersect":return yield*m(we,de,G);case"Iterator":return yield*f(we,de,G);case"Literal":return yield*g(we,de,G);case"Never":return yield*A(we,de,G);case"Not":return yield*h(we,de,G);case"Null":return yield*E(we,de,G);case"Number":return yield*y(we,de,G);case"Object":return yield*b(we,de,G);case"Promise":return yield*I(we,de,G);case"Record":return yield*_(we,de,G);case"Ref":return yield*v(we,de,G);case"RegExp":return yield*w(we,de,G);case"String":return yield*R(we,de,G);case"Symbol":return yield*N(we,de,G);case"TemplateLiteral":return yield*Q(we,de,G);case"This":return yield*F(we,de,G);case"Tuple":return yield*D(we,de,G);case"Undefined":return yield*k(we,de,G);case"Union":return yield*Y(we,de,G);case"Uint8Array":return yield*z(we,de,G);case"Unknown":return yield*K(we,de,G);case"Void":return yield*W(we,de,G);default:if(!Yg.Has(we[Kn]))throw new iot(te);return yield*q(we,de,G)}}let Ae={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function Me(te,J,G,ue=!0){return`(${[...me(te,J,G,ue)].join(" && ")})`}function ye(te){return`check_${san.Encode(te)}`}function $(te){let J=`local_${Ae.variables.size}`;return Ae.variables.set(J,`const ${J} = ${te}`),J}function ne(te,J,G,ue,de=!0){let[we,De]=[`
|
|
523
523
|
`,st=>"".padStart(st," ")],Ie=le("value","any"),ie=re("boolean"),Ye=[...me(J,G,ue,de)].map(st=>`${De(4)}${st}`).join(` &&${we}`);return`function ${te}(${Ie})${ie} {${we}${De(2)}return (${we}${Ye}${we}${De(2)})
|
|
524
524
|
}`}function le(te,J){let G=Ae.language==="typescript"?`: ${J}`:"";return`${te}${G}`}function re(te){return Ae.language==="typescript"?`: ${te}`:""}function se(te,J,G){let ue=ne("check",te,J,"value"),de=le("value","any"),we=re("boolean"),De=[...Ae.functions.values()],Ie=[...Ae.variables.values()],ie=Tc(te.$id)?`return function check(${de})${we} {
|
|
525
525
|
return ${ye(te.$id)}(value)
|
|
@@ -6414,7 +6414,14 @@ ${r}
|
|
|
6414
6414
|
|
|
6415
6415
|
`;return t.trimEnd()}function Ado(e){let t=Array.from(e,i=>{let o=i.codePointAt(0)??0;return o<=31||o===127?" ":i}).join("").replace(/\s+/gu," ").trim(),n=t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1).trim():t,r=Array.from(n);return r.length<=mdo?n:`${r.slice(0,mdo-1).join("")}\u2026`}function v6c(e){let t=Ado(e);if(t)return t[0]?.toUpperCase()+t.slice(1)}function Oht(e){return JSON.stringify([e.provider,e.id])}function zvn(e){let n=e.getSettings()[gdo];return!n||typeof n!="object"||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(r=>typeof r[1]=="string"))}function Rhe(e,t,n){let r=[gdo,Oht(t)];if(n===void 0){e.remove("global",{paths:[r]});return}e.update("global",{path:r,value:n})}var A6c,h6c,E6c,S6c,_6c,pdo,gdo,mdo,Y7,fdo,x6c,The,Pht=C(()=>{"use strict";as();sr();al();Cs();jzi();jge();VXi();$Xi();KXi();jXi();ayn();wJi();pyn();HJi();hft();Uq();xR();Ift();aCn();iMe();eMe();Rto();Ov();xY();Bto();kto();H2e();s6();Kb();Llo();uuo();Muo();Uuo();juo();ldo();c6();sAt();A6c=2e5,h6c=64e3,E6c="Tool result processing failed before it could be returned safely.";S6c=1e3,_6c=3600*1e3,pdo="subagent-usage",gdo="reasoningEffortPreferences",mdo=80;Y7="augment",fdo="gemini-3-1-flash-lite-silent-override-1m-v1-c4-p2-agent",x6c=1e6,The=class{get recoveryDiagnosticState(){return{pendingEvents:this._diagnosticPendingEvents,pendingContinuations:this._diagnosticPendingContinuations,activeContinuations:this._diagnosticActiveContinuations,isCompacting:this.isCompacting,isRetrying:this.isRetrying,isStreaming:this.isStreaming,disposed:this._diagnosticDisposed,messageCount:this.agent.state.messages.length}}constructor(t){this._warnedInvalidReasoningPreferences=new Set,this._eventListeners=[],this._agentEventQueue=Promise.resolve(),this._recoveryDiagnosticsEnabled=sCn(),this._diagnosticPendingEvents=0,this._diagnosticPendingContinuations=0,this._diagnosticActiveContinuations=0,this._diagnosticDisposed=!1,this._steeringMessages=[],this._followUpMessages=[],this._queueItems=[],this._executingQueueItemIds=[],this._pendingNextTurnMessages=[],this._compactionAbortController=void 0,this._autoCompactionAbortController=void 0,this._abortGeneration=0,this._reactiveContinuationFailed=!1,this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1,this._summarizeAndRetryAttempted=!1,this._branchSummaryAbortController=void 0,this._retryAbortController=void 0,this._retryAttempt=0,this._retryPromise=void 0,this._retryResolve=void 0,this._rateLimitAttempt=0,this._rateLimitDeadline=void 0,this._bashAbortController=void 0,this._pendingBashMessages=[],this._extensionRunner=void 0,this._turnIndex=0,this._nextProviderRequestId=void 0,this._nextProviderModel=void 0,this._activeTurnModelOverride=void 0,this._currentRequestId=void 0,this._turnStartSeen=!1,this._baseToolDefinitions=new Map,this._extensionMode="interactive",this._extensionRole="parent",this._toolRegistry=new Map,this._toolDefinitions=new Map,this._toolPromptSnippets=new Map,this._toolPromptGuidelines=new Map,this._toolResultPostProcessor=Rlo({compressors:[Zlo(),Hlo(),Plo(),rdo(),fuo(),guo(),$uo(),Luo()],rawStoragePolicy:vlo([Xlo,Olo,ido,Auo,Kuo,Puo])}),this._baseSystemPrompt="",this._lastAssistantMessage=void 0,this._handleAgentEvent=r=>{this._createRetryPromiseForAgentEnd(r),this._createReactiveRecoveryForAgentEnd(r);let i=this._createAgentEndObservation(r),o=this._createProactiveCompactionReadinessForAgentEnd(r),s=()=>this._processAgentEvent(r,i).catch(l=>{throw this._resolveRetry(),this._rejectReactiveRecovery(l instanceof Error?l:new Error(String(l))),l}).finally(()=>{i?.resolve(),this._resolveProactiveCompactionReadiness(o)});if(this._agentEventQueue=this._agentEventQueue.then(s,s),!this._recoveryDiagnosticsEnabled){this._agentEventQueue.catch(()=>{});return}this._diagnosticPendingEvents++;let a={agentEnd:r.type==="agent_end",messageEnd:r.type==="message_end",turnEnd:r.type==="turn_end"},c=a.agentEnd||a.messageEnd||a.turnEnd;c&&Wa("event_queued",{...this.recoveryDiagnosticState,...a});let u=l=>{this._diagnosticPendingEvents--,(c||l)&&Wa(l?"event_processing_failed":"event_processed",{...this.recoveryDiagnosticState,...a})};this._agentEventQueue.then(()=>u(!1),()=>u(!0))},this.agent=t.agent,this.sessionManager=t.sessionManager,this.settingsManager=t.settingsManager,this._scopedModels=t.scopedModels??[],this._resourceLoader=t.resourceLoader,this._customTools=t.customTools??[],this._cwd=t.cwd,this._agentDir=t.agentDir??mo(),this._pluginDirs=t.pluginDirs,this._mcpConfigOverride=t.mcpConfigOverride,this._permissionOverride=t.permissionOverride,this._modelRegistry=t.modelRegistry,this._featureFlags=t.featureFlags,this._extensionRunnerRef=t.extensionRunnerRef,this._initialActiveToolNames=t.initialActiveToolNames,this._baseToolsOverride=t.baseToolsOverride,this._toolsOptions=t.toolsOptions,this._sessionStartEvent=t.sessionStartEvent??{type:"session_start",reason:"startup"},this._errorReporter=t.errorReporter??{reportSummarizationError:Kzi,reportAgentStop:$zi},this._scheduler=t.scheduler??((r,i)=>{setTimeout(i,r)}),t.role!==void 0&&(this._extensionRole=t.role),this._unsubscribeAgent=this.agent.subscribe(this._handleAgentEvent),this._installAgentToolHooks(),this._installCallerRequestIdInjector(),this._buildRuntime({activeToolNames:this._initialActiveToolNames,includeAllExtensionTools:!0});let n=this._resourceLoader.getEventBus?.();n&&(this._unsubscribeResourceChanges=n.on(NAe,()=>this._refreshSystemPromptFromResources())),this._subscribeToSubagentUsage()}_subscribeToSubagentUsage(){let t=this._resourceLoader.getEventBus?.();if(!t)return;let n=o=>this._recordSubagentUsage(o),r=t.on("subagents:completed",n),i=t.on("subagents:failed",n);this._unsubscribeSubagentUsage=()=>{r(),i()}}_recordSubagentUsage(t){let n=t?.tokens,r=n?.total??0;if(r<=0)return;let i={input:n?.input??0,output:n?.output??0,total:r};this.sessionManager.appendCustomEntry(pdo,i)}get modelRegistry(){return this._modelRegistry}async _getRequiredRequestAuth(t){let n=await this._modelRegistry.getApiKeyAndHeaders(t);if(!n.ok)throw new Error(n.error);if(n.apiKey)return{apiKey:n.apiKey,headers:n.headers};throw this._modelRegistry.isUsingOAuth(t)?new Error(`Authentication failed for "${t.provider}". Credentials may have expired or network is unavailable. Run '/login ${t.provider}' to re-authenticate.`):new Error(`No API key found for ${t.provider}.
|
|
6416
6416
|
|
|
6417
|
-
Use /login or set an API key environment variable. See ${Vvn(Hit(),"providers.md")}`)}async _tryResolveSummarizationModel(){let t=this._resolveSummaryModelSelection({warn:!0});if(!t)return;let n=await this._modelRegistry.getApiKeyAndHeaders(t);if(!n.ok||!n.apiKey){Gt.warn(`Summarization model "${t.provider}/${t.id}" has no usable auth; using main model.`);return}return{model:t,apiKey:n.apiKey,headers:n.headers}}_resolveUserSummarizationModel({warn:t}){let n=this.settingsManager.getCompactionSettings().summarizationModel;if(!n)return;let r=n.indexOf("/");if(r<=0||r===n.length-1){t&&Gt.warn(`Ignoring malformed compaction.summarizationModel "${n}" (expected "provider/model-id"); trying the configured fallback model.`);return}let i=n.slice(0,r),o=n.slice(r+1),s=this._modelRegistry.find(i,o);return!s&&t&&Gt.warn(`Ignoring compaction.summarizationModel "${n}" because it was not found in the registry; trying the configured fallback model.`),s}_resolveSummaryModelSelection({warn:t}={warn:!1}){let n=this._resolveUserSummarizationModel({warn:t});if(n)return n;let r=this.model,i=tCn(this._featureFlags,r?[r.id,`${r.provider}/${r.id}`]:[]);if(i){if(this._isValidFlagSummarizationModelId(i)){let o=this._buildSummarizationModelById(i);if(o)return o}t&&Gt.warn(`Summarization model "${i}" is invalid or could not be created from the registered Augment provider; trying the default summarization model.`)}return this._buildSummarizationModelById(fdo)}_isValidFlagSummarizationModelId(t){let n=t.split("/");return n.length===1&&n[0].length>0||n.length===2&&n[0]===Y7&&n[1].length>0}_buildSummarizationModelById(t){let n=this._modelRegistry.getAll().find(s=>s.provider===Y7);if(!n)return;let r=t.startsWith(`${Y7}/`)?t.slice(Y7.length+1):t,i=this.model,o=yft(this._featureFlags,i?[i.id,`${i.provider}/${i.id}`]:[]);return{...n,id:r,name:r,contextWindow:o.maxTokens??(r===fdo?x6c:n.contextWindow)}}_resolveCompactionSettings(t){let n=this.settingsManager.getCompactionSettings(),r=this.model,i=r?[r.id,`${r.provider}/${r.id}`]:[],o=yft(this._featureFlags,i),s=this._resolveUserSummarizationModel({warn:!1})?void 0:tCn(this._featureFlags,i),a=s?.startsWith(`${Y7}/`)?s.slice(Y7.length+1):s,c=t.provider===Y7&&t.id===a;return{...n,reserveTokens:o.reserveTokens??n.reserveTokens,keepRecentTokens:o.keepRecentTokens??n.keepRecentTokens,inputBudgetTriggerRatio:n.inputBudgetTriggerRatio??o.inputBudgetTriggerRatio,fallbackInputBudgetRatio:n.fallbackInputBudgetRatio??o.fallbackInputBudgetRatio,maxMessageTokens:n.maxMessageTokens??(c?o.maxMessageTokens:void 0),summaryContextWindow:c?o.maxTokens:void 0}}_resolveSummaryTriggerModel(){return this._resolveSummaryModelSelection()??this.model}_resolveTriggerSizing(){let t=this._resolveSummaryModelSelection();if(!t)return{...ddo(this._resolveActiveTurnModel()),settings:this.settingsManager.getCompactionSettings()};let n=this._resolveCompactionSettings(t),r=Math.max(0,n.protectedHeadTokens??lmt);return{window:n.summaryContextWindow??t.contextWindow,triggerHeadroomTokens:r+n.keepRecentTokens,settings:n}}_installAgentToolHooks(){this.agent.beforeToolCall=async({toolCall:t,args:n})=>{let r=this._extensionRunner,i=r?.hasHandlers("tool_call")??!1,o=r?.hasHandlers("tool_decision")??!1;if(!r||!i&&!o)return;await this._agentEventQueue;let s=async c=>{o&&await r.emit(Nto({toolName:t.name,toolCallId:t.id,result:c}))},a;if(i)try{a=await r.emitToolCall({type:"tool_call",toolName:t.name,toolCallId:t.id,input:n})}catch(c){let u=c instanceof Error?c.message:`Extension error: ${c}`;throw await s({block:!0,reason:u,decisionSource:"hook"}),c instanceof Error?c:new Error(`Extension failed, blocking execution: ${String(c)}`)}return await s(a),a},this.agent.afterToolCall=async({toolCall:t,args:n,result:r,isError:i})=>{try{let o=zAe(r),s=i,a=this._extensionRunner;if(a?.hasHandlers("tool_result")){let l=await a.emitToolResult({type:"tool_result",toolName:t.name,toolCallId:t.id,input:n,content:o.content,details:s?void 0:o.details,isError:s});l&&!s&&(o={content:l.content??o.content,details:l.details??o.details,terminate:o.terminate},s=l.isError??s)}let c=s?void 0:this._buildNestedContextTailForTool(t.name,n),u=await this._toolResultPostProcessor.process({toolCall:t,args:n,result:o,isError:s,sessionDir:this.sessionManager.getSessionDir(),sessionId:this.sessionManager.getSessionId()});return this._finalizeAfterToolCall({originalResult:r,originalIsError:i,currentResult:o,currentIsError:s,processedResult:u,nestedContextTail:c})}catch{return Gt.error("Tool result processing failed",{toolName:t.name}),{content:[{type:"text",text:E6c}],details:{},isError:!0}}}}_finalizeAfterToolCall(t){let{originalResult:n,originalIsError:r,currentResult:i,currentIsError:o,processedResult:s,nestedContextTail:a}=t;if(!(s||a))return b6c(n,r,i,o);let c=s??i;return{content:a?[...c.content,{type:"text",text:a}]:c.content,details:c.details,isError:o,terminate:c.terminate}}_buildNestedContextTailForTool(t,n){if(t!=="read"&&t!=="edit"&&t!=="write"||!n||typeof n!="object"||!("path"in n))return;let r=n.path;if(typeof r!="string"||r.length===0)return;let i=this._resourceLoader.loadContextFilesForPath?.(r);if(!(!i||i.length===0))return I6c(i)}_emit(t){t.type==="compaction_start"?Wa("compaction_start",{...this.recoveryDiagnosticState,overflow:t.reason==="overflow",threshold:t.reason==="threshold",summarizeAndRetry:t.reason==="summarize_and_retry"}):t.type==="compaction_end"&&Wa(t.result?"compaction_success":"compaction_failure",{...this.recoveryDiagnosticState,aborted:t.aborted,willRetry:t.willRetry,tokensBefore:t.result?.tokensBefore,tokensAfter:t.tokensAfter,durationMs:t.durationMs});for(let n of this._eventListeners)n(t)}_emitQueueUpdate(){this._persistQueue(),this._emit({type:"queue_update",steering:[...this._steeringMessages],followUp:[...this._followUpMessages]})}_persistQueue(){this.sessionManager.persistQueueState(this._queueItems)}_markQueueItemExecuting(t,n){let r=this._queueItems.find(i=>i.delivery===t&&i.status==="pending"&&i.text===n);r&&(r.status="executing",this._executingQueueItemIds.push(r.id))}_takeExecutingQueueItemId(){return this._executingQueueItemIds.shift()}_finalizeQueueHandoff(t){if(!t)return;let n=this._queueItems.length;this._queueItems=this._queueItems.filter(r=>r.id!==t),this._queueItems.length!==n&&this._persistQueue()}restoreQueue(t){for(let n of t){let{expandedText:r,invocation:i,ruleReference:o}=this._expandInput(n.text,void 0);this._queueFollowUp(r,void 0,i,o)}return Promise.resolve()}_createRetryPromiseForAgentEnd(t){if(t.type!=="agent_end"||this._retryPromise)return;if(!this.settingsManager.getRetrySettings().enabled){Wa("retry_gate",{...this.recoveryDiagnosticState,enabled:!1});return}let r=this._findLastAssistantInMessages(t.messages),i=!!r&&this._isRetryableError(r);Wa("retry_gate",{...this.recoveryDiagnosticState,enabled:!0,hasAssistant:!!r,retryable:i}),i&&(this._retryPromise=new Promise(o=>{this._retryResolve=o}),Wa("retry_promise_created",this.recoveryDiagnosticState))}_createReactiveRecoveryForAgentEnd(t){if(t.type!=="agent_end"||this._reactiveRecovery)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||!this._willRetryAfterAgentEnd(n))return;let r,i,o=new Promise((s,a)=>{r=s,i=a});o.catch(()=>{}),this._reactiveRecovery={promise:o,resolve:r,reject:i},this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1}_createAgentEndObservation(t){if(t.type!=="agent_end")return;let n,i={promise:new Promise(o=>{n=o}),resolve:n,recovery:this._reactiveRecovery?.promise,abortGeneration:this._abortGeneration};return this._latestAgentEndObservation=i,i}_createProactiveCompactionReadinessForAgentEnd(t){if(t.type!=="agent_end"||this._proactiveCompactionReadiness||!this.settingsManager.getCompactionSettings().enabled)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||n.stopReason==="error"||n.stopReason==="aborted"||n.stopReason==="summarize_and_retry")return;let r,o={promise:new Promise(s=>{r=s}),resolve:r};return this._proactiveCompactionReadiness=o,o}_resolveProactiveCompactionReadiness(t){!t||this._proactiveCompactionReadiness!==t||(this._proactiveCompactionReadiness=void 0,t.resolve())}_findLastAssistantInMessages(t){for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _processAgentEvent(t,n){if(this._recoveryDiagnosticsEnabled&&(t.type==="agent_end"||t.type==="message_end"||t.type==="turn_end")&&Wa("event_processing",{...this.recoveryDiagnosticState,agentEnd:t.type==="agent_end",messageEnd:t.type==="message_end",turnEnd:t.type==="turn_end"}),t.type==="turn_start"){if(this._turnStartSeen&&this.model?.provider==="augment"){let i=Gvn();this._nextProviderRequestId=i,this._currentRequestId=i}this._turnStartSeen=!0}if(t.type==="message_start"&&vR(t.message.role)){this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1,this._summarizeAndRetryAttempted=!1;let i="";if(t.message.role==="promptCommandInvocation"?i=By(t.message):t.message.role==="ruleReference"?i=gk(t.message):t.message.role==="user"&&(i=this._getUserMessageText(t.message)),i){let o=this._steeringMessages.indexOf(i);if(o===-1){let s=this._followUpMessages.indexOf(i);s!==-1&&(this._followUpMessages.splice(s,1),this._markQueueItemExecuting("followUp",i),this._emitQueueUpdate())}else this._steeringMessages.splice(o,1),this._markQueueItemExecuting("steering",i),this._emitQueueUpdate()}}let r=C6c(t);if(await this._emitExtensionEvent(r),this._emit(r),t.type==="message_end"){let i=t.message.role==="toolResult"?Yvn(t.message):t.message;if(i.role==="custom")this.sessionManager.appendCustomMessageEntry(i.customType,i.content,i.display,i.details);else if(i.role==="user"||i.role==="assistant"||i.role==="toolResult"){let o=i.role==="user"?this._takeExecutingQueueItemId():void 0;this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="promptCommandInvocation"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="ruleReference"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}if(t.message.role==="assistant"){this._lastAssistantMessage=t.message;let o=t.message;o.stopReason!=="error"&&(this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1),o.stopReason!=="error"&&o.stopReason!=="summarize_and_retry"&&(this._activeTurnModelOverride=void 0,this._summarizeAndRetryAttempted=!1),o.stopReason!=="error"&&this._retryAttempt>0&&(this._logPublicRetry("Automatic retry completed",{attempt:this._retryAttempt,outcome:"completed"}),this._emit({type:"auto_retry_end",success:!0,attempt:this._retryAttempt}),this._retryAttempt=0),o.stopReason!=="error"&&(this._rateLimitAttempt>0&&this._logPublicRetry("Automatic retry completed",{attempt:this._rateLimitAttempt,outcome:"completed"}),this._rateLimitAttempt=0,this._rateLimitDeadline=void 0)}}if(t.type==="agent_end"){let i=this._findLastAssistantInMessages(t.messages)??this._lastAssistantMessage;if(this._lastAssistantMessage=void 0,!i||n&&n.abortGeneration!==this._abortGeneration){this._resolveRetry(),this._resolveReactiveRecovery();return}i.stopReason==="error"&&i.errorMessage&&Gt.error(`LLM error [${i.provider}/${i.model}]: ${i.errorMessage}`);let o=this._willAttemptAutomaticRetryAfterAgentEnd(i),s=!1;if(this._isRetryableError(i)){let u=await this._handleRetryableError(i);if(o&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:u==="retrying",...u==="aborted"?{retryAborted:!0}:{}}),u==="retrying")return;s=u==="aborted"}this._resolveRetry(),i.stopReason==="error"&&!s&&(this._emit({type:"message_send_error",errorMessage:i.errorMessage}),this._willRecoverViaOverflowCompaction(i)||this._errorReporter.reportAgentStop({reason:this._isRetryableError(i)?"retry_exhausted":"error",errorMessage:i.errorMessage,provider:i.provider,model:i.model,stopReason:i.stopReason,transportError:AB(i.diagnostics)})),i.stopReason==="empty_completion"&&this._errorReporter.reportAgentStop({reason:"empty_completion",provider:i.provider,model:i.model,stopReason:i.stopReason}),n?.resolve(),this._reactiveRecovery&&i.stopReason!=="error"&&i.stopReason!=="aborted"&&i.stopReason!=="summarize_and_retry"&&this._resolveReactiveRecovery();let a=this._willRetryAfterAgentEnd(i),c=!1;try{c=await this._checkCompaction(i)}catch(u){throw this._rejectReactiveRecovery(u instanceof Error?u:new Error(String(u))),u}finally{Wa("agent_end_recovery",{...this.recoveryDiagnosticState,retryScheduled:c}),a&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:c,continuationFailed:!c&&this._reactiveContinuationFailed})}!c&&this._reactiveRecovery&&(this._reactiveRecoveryFailure?this._rejectReactiveRecovery(this._reactiveRecoveryFailure):this._resolveReactiveRecovery())}}_willAttemptAutomaticRetryAfterAgentEnd(t){return this.settingsManager.getRetrySettings().enabled&&this._isRetryableError(t)}_willRetryAfterAgentEnd(t){return t.stopReason==="summarize_and_retry"?!this._summarizeAndRetryAttempted&&this.settingsManager.getCompactionSettings().enabled&&!this._isAssistantFromBeforeLatestCompaction(t):this._willRecoverViaOverflowCompaction(t)?!this._overflowRecoveryAttempted||!this._overflowEvictionAttempted:!1}_resolveReactiveRecovery(){let t=this._reactiveRecovery;t&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,t.resolve())}_rejectReactiveRecovery(t){let n=this._reactiveRecovery;n&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,n.reject(t))}_recordReactiveRecoveryFailure(t){this._reactiveRecovery&&!this._reactiveRecoveryFailure&&(this._reactiveRecoveryFailure=new Error(t))}_resolveRetry(){this._retryResolve&&(this._retryResolve(),this._retryResolve=void 0,this._retryPromise=void 0,Wa("retry_resolved",this.recoveryDiagnosticState))}_getUserMessageText(t){if(t.role!=="user")return"";let n=t.content;return typeof n=="string"?n:n.filter(i=>i.type==="text").map(i=>i.text).join("")}_findLastAssistantMessage(){let t=this.agent.state.messages;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _emitExtensionEvent(t){if(this._extensionRunner){if(t.type==="agent_start")this._turnIndex=0,await this._extensionRunner.emit({type:"agent_start"});else if(t.type==="agent_end"){let n=this._lastAssistantMessage;await this._extensionRunner.emit({type:"agent_end",messages:t.messages,willRetry:n!==void 0&&(this._willAttemptAutomaticRetryAfterAgentEnd(n)||this._willRetryAfterAgentEnd(n))})}else if(t.type==="turn_start"){let n={type:"turn_start",turnIndex:this._turnIndex,timestamp:Date.now()};await this._extensionRunner.emit(n)}else if(t.type==="turn_end"){let n={type:"turn_end",turnIndex:this._turnIndex,message:t.message,toolResults:t.toolResults};await this._extensionRunner.emit(n),this._turnIndex++}else if(t.type==="message_start"){let n={type:"message_start",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="message_update"){let n={type:"message_update",message:t.message,assistantMessageEvent:t.assistantMessageEvent};await this._extensionRunner.emit(n)}else if(t.type==="message_end"){let n={type:"message_end",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_start"){let n={type:"tool_execution_start",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_update"){let n={type:"tool_execution_update",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args,partialResult:t.partialResult};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_end"){let n={type:"tool_execution_end",toolCallId:t.toolCallId,toolName:t.toolName,result:t.result,isError:t.isError};await this._extensionRunner.emit(n)}}}subscribe(t){return this._eventListeners.push(t),()=>{let n=this._eventListeners.indexOf(t);n!==-1&&this._eventListeners.splice(n,1)}}_disconnectFromAgent(){this._unsubscribeAgent&&(this._unsubscribeAgent(),this._unsubscribeAgent=void 0)}_reconnectToAgent(){this._unsubscribeAgent||(this._unsubscribeAgent=this.agent.subscribe(this._handleAgentEvent))}async dispose(){try{(this._proactiveCompactionReadiness||this._reactiveRecovery)&&await this.waitForAutomaticCompaction()}catch{}finally{this._diagnosticDisposed=!0,Wa("session_dispose",this.recoveryDiagnosticState),this._disconnectFromAgent(),this._unsubscribeResourceChanges?.(),this._unsubscribeResourceChanges=void 0,this._unsubscribeSubagentUsage?.(),this._unsubscribeSubagentUsage=void 0,this._eventListeners=[]}}async waitForAutomaticCompaction(){for(;this._proactiveCompactionReadiness||this._reactiveRecovery;)await Promise.all([this._proactiveCompactionReadiness?.promise,this._reactiveRecovery?.promise])}_getSubagentTokens(){let t=0;for(let n of this.sessionManager.getBranch())if(n.type==="custom"&&n.customType===pdo){let r=n.data;t+=r?.total??0}return t}async generateSessionName(t){let n=v6c(t),r=this.model;if(!(n&&r))return n;try{let i=await this._getRequiredRequestAuth(r),o=`Please provide a clear and concise title for this message. The title must be less than 6 words long. It should capture the key intent. Do not include quotation marks or additional formatting.
|
|
6417
|
+
Use /login or set an API key environment variable. See ${Vvn(Hit(),"providers.md")}`)}async _tryResolveSummarizationModel(){let t=this._resolveSummaryModelSelection({warn:!0});if(!t)return;let n=await this._modelRegistry.getApiKeyAndHeaders(t);if(!n.ok||!n.apiKey){Gt.warn(`Summarization model "${t.provider}/${t.id}" has no usable auth; using main model.`);return}return{model:t,apiKey:n.apiKey,headers:n.headers}}_resolveUserSummarizationModel({warn:t}){let n=this.settingsManager.getCompactionSettings().summarizationModel;if(!n)return;let r=n.indexOf("/");if(r<=0||r===n.length-1){t&&Gt.warn(`Ignoring malformed compaction.summarizationModel "${n}" (expected "provider/model-id"); trying the configured fallback model.`);return}let i=n.slice(0,r),o=n.slice(r+1),s=this._modelRegistry.find(i,o);return!s&&t&&Gt.warn(`Ignoring compaction.summarizationModel "${n}" because it was not found in the registry; trying the configured fallback model.`),s}_resolveSummaryModelSelection({warn:t}={warn:!1}){let n=this._resolveUserSummarizationModel({warn:t});if(n)return n;let r=this.model,i=tCn(this._featureFlags,r?[r.id,`${r.provider}/${r.id}`]:[]);if(i){if(this._isValidFlagSummarizationModelId(i)){let o=this._buildSummarizationModelById(i);if(o)return o}t&&Gt.warn(`Summarization model "${i}" is invalid or could not be created from the registered Augment provider; trying the default summarization model.`)}return this._buildSummarizationModelById(fdo)}_isValidFlagSummarizationModelId(t){let n=t.split("/");return n.length===1&&n[0].length>0||n.length===2&&n[0]===Y7&&n[1].length>0}_buildSummarizationModelById(t){let n=this._modelRegistry.getAll().find(s=>s.provider===Y7);if(!n)return;let r=t.startsWith(`${Y7}/`)?t.slice(Y7.length+1):t,i=this.model,o=yft(this._featureFlags,i?[i.id,`${i.provider}/${i.id}`]:[]);return{...n,id:r,name:r,contextWindow:o.maxTokens??(r===fdo?x6c:n.contextWindow)}}_resolveCompactionSettings(t){let n=this.settingsManager.getCompactionSettings(),r=this.model,i=r?[r.id,`${r.provider}/${r.id}`]:[],o=yft(this._featureFlags,i),s=this._resolveUserSummarizationModel({warn:!1})?void 0:tCn(this._featureFlags,i),a=s?.startsWith(`${Y7}/`)?s.slice(Y7.length+1):s,c=t.provider===Y7&&t.id===a;return{...n,reserveTokens:o.reserveTokens??n.reserveTokens,keepRecentTokens:o.keepRecentTokens??n.keepRecentTokens,inputBudgetTriggerRatio:n.inputBudgetTriggerRatio??o.inputBudgetTriggerRatio,fallbackInputBudgetRatio:n.fallbackInputBudgetRatio??o.fallbackInputBudgetRatio,maxMessageTokens:n.maxMessageTokens??(c?o.maxMessageTokens:void 0),summaryContextWindow:c?o.maxTokens:void 0}}_resolveSummaryTriggerModel(){return this._resolveSummaryModelSelection()??this.model}_resolveTriggerSizing(){let t=this._resolveSummaryModelSelection();if(!t)return{...ddo(this._resolveActiveTurnModel()),settings:this.settingsManager.getCompactionSettings()};let n=this._resolveCompactionSettings(t),r=Math.max(0,n.protectedHeadTokens??lmt);return{window:n.summaryContextWindow??t.contextWindow,triggerHeadroomTokens:r+n.keepRecentTokens,settings:n}}_installAgentToolHooks(){this.agent.beforeToolCall=async({toolCall:t,args:n})=>{let r=this._extensionRunner,i=r?.hasHandlers("tool_call")??!1,o=r?.hasHandlers("tool_decision")??!1;if(!r||!i&&!o)return;await this._agentEventQueue;let s=async c=>{o&&await r.emit(Nto({toolName:t.name,toolCallId:t.id,result:c}))},a;if(i)try{a=await r.emitToolCall({type:"tool_call",toolName:t.name,toolCallId:t.id,input:n})}catch(c){let u=c instanceof Error?c.message:`Extension error: ${c}`;throw await s({block:!0,reason:u,decisionSource:"hook"}),c instanceof Error?c:new Error(`Extension failed, blocking execution: ${String(c)}`)}return await s(a),a},this.agent.afterToolCall=async({toolCall:t,args:n,result:r,isError:i})=>{try{let o=zAe(r),s=i,a=this._extensionRunner;if(a?.hasHandlers("tool_result")){let l=await a.emitToolResult({type:"tool_result",toolName:t.name,toolCallId:t.id,input:n,content:o.content,details:s?void 0:o.details,isError:s});l&&!s&&(o={content:l.content??o.content,details:l.details??o.details,terminate:o.terminate},s=l.isError??s)}let c=s?void 0:this._buildNestedContextTailForTool(t.name,n),u=await this._toolResultPostProcessor.process({toolCall:t,args:n,result:o,isError:s,sessionDir:this.sessionManager.getSessionDir(),sessionId:this.sessionManager.getSessionId()});return this._finalizeAfterToolCall({originalResult:r,originalIsError:i,currentResult:o,currentIsError:s,processedResult:u,nestedContextTail:c})}catch{return Gt.error("Tool result processing failed",{toolName:t.name}),{content:[{type:"text",text:E6c}],details:{},isError:!0}}}}_finalizeAfterToolCall(t){let{originalResult:n,originalIsError:r,currentResult:i,currentIsError:o,processedResult:s,nestedContextTail:a}=t;if(!(s||a))return b6c(n,r,i,o);let c=s??i;return{content:a?[...c.content,{type:"text",text:a}]:c.content,details:c.details,isError:o,terminate:c.terminate}}_buildNestedContextTailForTool(t,n){if(t!=="read"&&t!=="edit"&&t!=="write"||!n||typeof n!="object"||!("path"in n))return;let r=n.path;if(typeof r!="string"||r.length===0)return;let i=this._resourceLoader.loadContextFilesForPath?.(r);if(!(!i||i.length===0))return I6c(i)}_emit(t){t.type==="compaction_start"?Wa("compaction_start",{...this.recoveryDiagnosticState,overflow:t.reason==="overflow",threshold:t.reason==="threshold",summarizeAndRetry:t.reason==="summarize_and_retry"}):t.type==="compaction_end"&&Wa(t.result?"compaction_success":"compaction_failure",{...this.recoveryDiagnosticState,aborted:t.aborted,willRetry:t.willRetry,tokensBefore:t.result?.tokensBefore,tokensAfter:t.tokensAfter,durationMs:t.durationMs});for(let n of this._eventListeners)n(t)}_emitQueueUpdate(){this._persistQueue(),this._emit({type:"queue_update",steering:[...this._steeringMessages],followUp:[...this._followUpMessages]})}_persistQueue(){this.sessionManager.persistQueueState(this._queueItems)}_markQueueItemExecuting(t,n){let r=this._queueItems.find(i=>i.delivery===t&&i.status==="pending"&&i.text===n);r&&(r.status="executing",this._executingQueueItemIds.push(r.id))}_takeExecutingQueueItemId(){return this._executingQueueItemIds.shift()}_finalizeQueueHandoff(t){if(!t)return;let n=this._queueItems.length;this._queueItems=this._queueItems.filter(r=>r.id!==t),this._queueItems.length!==n&&this._persistQueue()}restoreQueue(t){for(let n of t){let{expandedText:r,invocation:i,ruleReference:o}=this._expandInput(n.text,void 0);this._queueFollowUp(r,void 0,i,o)}return Promise.resolve()}_createRetryPromiseForAgentEnd(t){if(t.type!=="agent_end"||this._retryPromise)return;if(!this.settingsManager.getRetrySettings().enabled){Wa("retry_gate",{...this.recoveryDiagnosticState,enabled:!1});return}let r=this._findLastAssistantInMessages(t.messages),i=!!r&&this._isRetryableError(r);Wa("retry_gate",{...this.recoveryDiagnosticState,enabled:!0,hasAssistant:!!r,retryable:i}),i&&(this._retryPromise=new Promise(o=>{this._retryResolve=o}),Wa("retry_promise_created",this.recoveryDiagnosticState))}_createReactiveRecoveryForAgentEnd(t){if(t.type!=="agent_end"||this._reactiveRecovery)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||!this._willRetryAfterAgentEnd(n))return;let r,i,o=new Promise((s,a)=>{r=s,i=a});o.catch(()=>{}),this._reactiveRecovery={promise:o,resolve:r,reject:i},this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1}_createAgentEndObservation(t){if(t.type!=="agent_end")return;let n,i={promise:new Promise(o=>{n=o}),resolve:n,recovery:this._reactiveRecovery?.promise,abortGeneration:this._abortGeneration};return this._latestAgentEndObservation=i,i}_createProactiveCompactionReadinessForAgentEnd(t){if(t.type!=="agent_end"||this._proactiveCompactionReadiness||!this.settingsManager.getCompactionSettings().enabled)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||n.stopReason==="error"||n.stopReason==="aborted"||n.stopReason==="summarize_and_retry")return;let r,o={promise:new Promise(s=>{r=s}),resolve:r};return this._proactiveCompactionReadiness=o,o}_resolveProactiveCompactionReadiness(t){!t||this._proactiveCompactionReadiness!==t||(this._proactiveCompactionReadiness=void 0,t.resolve())}_findLastAssistantInMessages(t){for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _processAgentEvent(t,n){if(this._recoveryDiagnosticsEnabled&&(t.type==="agent_end"||t.type==="message_end"||t.type==="turn_end")&&Wa("event_processing",{...this.recoveryDiagnosticState,agentEnd:t.type==="agent_end",messageEnd:t.type==="message_end",turnEnd:t.type==="turn_end"}),t.type==="turn_start"){if(this._turnStartSeen&&this.model?.provider==="augment"){let i=Gvn();this._nextProviderRequestId=i,this._currentRequestId=i}this._turnStartSeen=!0}if(t.type==="message_start"&&vR(t.message.role)){this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1,this._summarizeAndRetryAttempted=!1;let i="";if(t.message.role==="promptCommandInvocation"?i=By(t.message):t.message.role==="ruleReference"?i=gk(t.message):t.message.role==="user"&&(i=this._getUserMessageText(t.message)),i){let o=this._steeringMessages.indexOf(i);if(o===-1){let s=this._followUpMessages.indexOf(i);s!==-1&&(this._followUpMessages.splice(s,1),this._markQueueItemExecuting("followUp",i),this._emitQueueUpdate())}else this._steeringMessages.splice(o,1),this._markQueueItemExecuting("steering",i),this._emitQueueUpdate()}}let r=C6c(t);if(await this._emitExtensionEvent(r),this._emit(r),t.type==="message_end"){let i=t.message.role==="toolResult"?Yvn(t.message):t.message;if(i.role==="custom")this.sessionManager.appendCustomMessageEntry(i.customType,i.content,i.display,i.details);else if(i.role==="user"||i.role==="assistant"||i.role==="toolResult"){let o=i.role==="user"?this._takeExecutingQueueItemId():void 0;this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="promptCommandInvocation"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="ruleReference"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}if(t.message.role==="assistant"){this._lastAssistantMessage=t.message;let o=t.message;o.stopReason!=="error"&&(this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1),o.stopReason!=="error"&&o.stopReason!=="summarize_and_retry"&&(this._activeTurnModelOverride=void 0,this._summarizeAndRetryAttempted=!1),o.stopReason!=="error"&&this._retryAttempt>0&&(this._logPublicRetry("Automatic retry completed",{attempt:this._retryAttempt,outcome:"completed"}),this._emit({type:"auto_retry_end",success:!0,attempt:this._retryAttempt}),this._retryAttempt=0),o.stopReason!=="error"&&(this._rateLimitAttempt>0&&this._logPublicRetry("Automatic retry completed",{attempt:this._rateLimitAttempt,outcome:"completed"}),this._rateLimitAttempt=0,this._rateLimitDeadline=void 0)}}if(t.type==="agent_end"){let i=this._findLastAssistantInMessages(t.messages)??this._lastAssistantMessage;if(this._lastAssistantMessage=void 0,!i||n&&n.abortGeneration!==this._abortGeneration){this._resolveRetry(),this._resolveReactiveRecovery();return}i.stopReason==="error"&&i.errorMessage&&Gt.error(`LLM error [${i.provider}/${i.model}]: ${i.errorMessage}`);let o=this._willAttemptAutomaticRetryAfterAgentEnd(i),s=!1;if(this._isRetryableError(i)){let u=await this._handleRetryableError(i);if(o&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:u==="retrying",...u==="aborted"?{retryAborted:!0}:{}}),u==="retrying")return;s=u==="aborted"}this._resolveRetry(),i.stopReason==="error"&&!s&&(this._emit({type:"message_send_error",errorMessage:i.errorMessage}),this._willRecoverViaOverflowCompaction(i)||this._errorReporter.reportAgentStop({reason:this._isRetryableError(i)?"retry_exhausted":"error",errorMessage:i.errorMessage,provider:i.provider,model:i.model,stopReason:i.stopReason,transportError:AB(i.diagnostics)})),i.stopReason==="empty_completion"&&this._errorReporter.reportAgentStop({reason:"empty_completion",provider:i.provider,model:i.model,stopReason:i.stopReason}),n?.resolve(),this._reactiveRecovery&&i.stopReason!=="error"&&i.stopReason!=="aborted"&&i.stopReason!=="summarize_and_retry"&&this._resolveReactiveRecovery();let a=this._willRetryAfterAgentEnd(i),c=!1;try{c=await this._checkCompaction(i)}catch(u){throw this._rejectReactiveRecovery(u instanceof Error?u:new Error(String(u))),u}finally{Wa("agent_end_recovery",{...this.recoveryDiagnosticState,retryScheduled:c}),a&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:c,continuationFailed:!c&&this._reactiveContinuationFailed})}!c&&this._reactiveRecovery&&(this._reactiveRecoveryFailure?this._rejectReactiveRecovery(this._reactiveRecoveryFailure):this._resolveReactiveRecovery())}}_willAttemptAutomaticRetryAfterAgentEnd(t){return this.settingsManager.getRetrySettings().enabled&&this._isRetryableError(t)}_willRetryAfterAgentEnd(t){return t.stopReason==="summarize_and_retry"?!this._summarizeAndRetryAttempted&&this.settingsManager.getCompactionSettings().enabled&&!this._isAssistantFromBeforeLatestCompaction(t):this._willRecoverViaOverflowCompaction(t)?!this._overflowRecoveryAttempted||!this._overflowEvictionAttempted:!1}_resolveReactiveRecovery(){let t=this._reactiveRecovery;t&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,t.resolve())}_rejectReactiveRecovery(t){let n=this._reactiveRecovery;n&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,n.reject(t))}_recordReactiveRecoveryFailure(t){this._reactiveRecovery&&!this._reactiveRecoveryFailure&&(this._reactiveRecoveryFailure=new Error(t))}_resolveRetry(){this._retryResolve&&(this._retryResolve(),this._retryResolve=void 0,this._retryPromise=void 0,Wa("retry_resolved",this.recoveryDiagnosticState))}_getUserMessageText(t){if(t.role!=="user")return"";let n=t.content;return typeof n=="string"?n:n.filter(i=>i.type==="text").map(i=>i.text).join("")}_findLastAssistantMessage(){let t=this.agent.state.messages;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _emitExtensionEvent(t){if(this._extensionRunner){if(t.type==="agent_start")this._turnIndex=0,await this._extensionRunner.emit({type:"agent_start"});else if(t.type==="agent_end"){let n=this._lastAssistantMessage;await this._extensionRunner.emit({type:"agent_end",messages:t.messages,willRetry:n!==void 0&&(this._willAttemptAutomaticRetryAfterAgentEnd(n)||this._willRetryAfterAgentEnd(n))})}else if(t.type==="turn_start"){let n={type:"turn_start",turnIndex:this._turnIndex,timestamp:Date.now()};await this._extensionRunner.emit(n)}else if(t.type==="turn_end"){let n={type:"turn_end",turnIndex:this._turnIndex,message:t.message,toolResults:t.toolResults};await this._extensionRunner.emit(n),this._turnIndex++}else if(t.type==="message_start"){let n={type:"message_start",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="message_update"){let n={type:"message_update",message:t.message,assistantMessageEvent:t.assistantMessageEvent};await this._extensionRunner.emit(n)}else if(t.type==="message_end"){let n={type:"message_end",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_start"){let n={type:"tool_execution_start",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_update"){let n={type:"tool_execution_update",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args,partialResult:t.partialResult};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_end"){let n={type:"tool_execution_end",toolCallId:t.toolCallId,toolName:t.toolName,result:t.result,isError:t.isError};await this._extensionRunner.emit(n)}}}subscribe(t){return this._eventListeners.push(t),()=>{let n=this._eventListeners.indexOf(t);n!==-1&&this._eventListeners.splice(n,1)}}_disconnectFromAgent(){this._unsubscribeAgent&&(this._unsubscribeAgent(),this._unsubscribeAgent=void 0)}_reconnectToAgent(){this._unsubscribeAgent||(this._unsubscribeAgent=this.agent.subscribe(this._handleAgentEvent))}async dispose(){try{(this._proactiveCompactionReadiness||this._reactiveRecovery)&&await this.waitForAutomaticCompaction()}catch{}finally{this._diagnosticDisposed=!0,Wa("session_dispose",this.recoveryDiagnosticState),this._disconnectFromAgent(),this._unsubscribeResourceChanges?.(),this._unsubscribeResourceChanges=void 0,this._unsubscribeSubagentUsage?.(),this._unsubscribeSubagentUsage=void 0,this._eventListeners=[]}}async waitForAutomaticCompaction(){for(;this._proactiveCompactionReadiness||this._reactiveRecovery;)await Promise.all([this._proactiveCompactionReadiness?.promise,this._reactiveRecovery?.promise])}_getSubagentTokens(){let t=0;for(let n of this.sessionManager.getBranch())if(n.type==="custom"&&n.customType===pdo){let r=n.data;t+=r?.total??0}return t}async generateSessionName(t){let n=v6c(t),r=this.model;if(!(n&&r))return n;try{let i=await this._getRequiredRequestAuth(r),o=`Write a concise session title for the user message below.
|
|
6418
|
+
Use a topic-first noun phrase in Title Case, without action verbs like Investigate, Fix, or Validate. Use at most 6 words, excluding any ticket prefix.
|
|
6419
|
+
Name the underlying topic or problem so the title stays relevant through investigation, fixing, and validation.
|
|
6420
|
+
If the user's input mentions a ticket key (including in a URL), copy it exactly as a prefix: <ticket key> - <topic>. Otherwise omit the prefix; never invent a key.
|
|
6421
|
+
Return only the title text, without quotes, markdown, explanation, or a Title: label.
|
|
6422
|
+
Examples (message -> title):
|
|
6423
|
+
investigate error 123 in the invoice module -> Invoice Module - Error 123
|
|
6424
|
+
fix TKT-12345 login timeout -> TKT-12345 - Login Timeout
|
|
6418
6425
|
|
|
6419
6426
|
Message: ${t}`,s=await ZC(r,{systemPrompt:this.agent.state.systemPrompt,messages:[...this.agent.state.messages.filter(c=>c.role==="user"||c.role==="assistant"||c.role==="toolResult"),{role:"user",content:[{type:"text",text:o}],timestamp:Date.now()}],tools:this.agent.state.tools.map(({name:c,description:u,parameters:l})=>({name:c,description:u,parameters:l})),rules:this.agent.state.rules,skills:this.agent.state.skills,userGuidelines:this.agent.state.userGuidelines,workspaceGuidelines:this.agent.state.workspaceGuidelines,systemPromptAppend:this.agent.state.systemPromptAppend},{...i,reasoningEffort:this.agent.state.reasoningEffortOverride,silent:!0});if(s.stopReason==="error"||s.stopReason==="aborted")throw new Error(s.errorMessage||s.stopReason);return Ado(s.content.filter(c=>c.type==="text").map(c=>c.text).join(""))||n}catch(i){return Gt.warn("Session title generation failed; using prompt fallback",{error:i instanceof Error?i.message:String(i)}),n}}get state(){return this.agent.state}get model(){return this.agent.state.model}get thinkingLevel(){let t=Xa(this.model,this.agent.state.reasoningEffortOverride);return this.agent.state.reasoningEffortOverride===void 0?this.agent.state.thinkingLevel:t.effort}get usesModelDefaultThinking(){return this.reasoningSelection.kind==="model-default"}get reasoningSelection(){let t=this.agent.state.reasoningEffortOverride;if(t===void 0)return this._localReasoningSelection();let n=Xa(this.model,t);return n.usesModelDefault?{kind:"model-default"}:{kind:"explicit",effort:n.effort}}get reasoningSelectionDisplay(){return GP(this.model,this.reasoningSelection)}get defaultThinkingEffort(){return GE(this.model).defaultEffort}get isStreaming(){return this.agent.state.isStreaming}get systemPrompt(){return this.agent.state.systemPrompt}get retryAttempt(){return this._retryAttempt}get currentRequestId(){return this._currentRequestId}getActiveToolNames(){return this.agent.state.tools.map(t=>t.name)}getAllTools(){return Array.from(this._toolDefinitions.values()).map(({definition:t,sourceInfo:n})=>({name:t.name,description:t.description,parameters:t.parameters,sourceInfo:n}))}getToolDefinition(t){return this._toolDefinitions.get(t)?.definition}setActiveToolsByName(t){let n=[],r=[];for(let i of t){let o=this._toolRegistry.get(i);o&&(n.push(o),r.push(i))}this.agent.state.tools=n,this._baseSystemPrompt=this._rebuildSystemPrompt(r),this.agent.state.systemPrompt=this._baseSystemPrompt,this._syncStructuredResourcesToState()}get isCompacting(){return this._autoCompactionAbortController!==void 0||this._compactionAbortController!==void 0||this._branchSummaryAbortController!==void 0}get messages(){return this.agent.state.messages}get steeringMode(){return this.agent.steeringMode}get followUpMode(){return this.agent.followUpMode}get sessionFile(){return this.sessionManager.getSessionFile()}get sessionId(){return this.sessionManager.getSessionId()}get sessionName(){return this.sessionManager.getSessionName()}get scopedModels(){return this._scopedModels}setScopedModels(t){this._scopedModels=t}get promptTemplates(){return this._resourceLoader.getPrompts().prompts}_normalizePromptSnippet(t){if(!t)return;let n=t.replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim();return n.length>0?n:void 0}_normalizePromptGuidelines(t){if(!t||t.length===0)return[];let n=new Set;for(let r of t){let i=r.trim();i.length>0&&n.add(i)}return Array.from(n)}composeInheritedSystemPrompt(t){return this._rebuildSystemPrompt(this.getActiveToolNames(),{rules:t.disableRules,workspaceGuidelines:t.disableWorkspaceGuidelines})}_rebuildSystemPrompt(t,n){let r=t.filter(p=>this._toolRegistry.has(p)),i={},o=[];for(let p of r){let m=this._toolPromptSnippets.get(p);m&&(i[p]=m);let f=this._toolPromptGuidelines.get(p);f&&o.push(...f)}let s=this._resourceLoader.getSystemPrompt(),a=this._resourceLoader.getAppendSystemPrompt(),c=a.length>0?a.join(`
|
|
6420
6427
|
|
|
@@ -6699,7 +6706,7 @@ not revoke server-side tokens; use \`auggie token revoke\` for revocation.
|
|
|
6699
6706
|
|
|
6700
6707
|
Interactive /login and /logout manage the platform session in session.json.`,_yo=`Usage: auggie auth status
|
|
6701
6708
|
|
|
6702
|
-
Show whether the CLI has an active Augment authentication session.`,$sl="Note: Injected credentials remain active and may override the saved session.",Ksl="Note: Injected credentials remain active.",jsl="AUGGIE_V2_SEGMENT_WRITE_KEY"});import{readFile as yal}from"node:fs/promises";import{resolve as bal}from"node:path";function Sal(e){let t=[],n;for(let r=0;r<e.length;r+=1){let i=e[r];if(i==="--"){t.push(...e.slice(r));break}if(i===oBn){let o=e[r+1];if(o===void 0||o.startsWith("-")||!o.trim())return{type:"fatal"};n=o,r+=1;continue}if(i.startsWith(`${oBn}=`)){let o=i.slice(oBn.length+1);if(!o.trim())return{type:"fatal"};n=o;continue}t.push(i)}return{type:"success",args:t,candidate:n}}async function Byo(e,t=Ial){let n=Sal(e);if(n.type==="fatal")return{type:"fatal",message:Cal};if(n.candidate===void 0)return{type:"success",args:n.args};let r=n.candidate.trim(),i;if(r.startsWith("{"))i=r;else try{i=await t.readPath(bal(process.cwd(),r))}catch{return{type:"fatal",message:sBn}}let o;try{o=JSON.parse(i)}catch{return{type:"fatal",message:sBn}}let s=BQe(o);return s?{type:"success",args:n.args,credentials:s}:{type:"fatal",message:sBn}}var oBn,Cal,sBn,Ial,Nyo=C(()=>{"use strict";Uht();oBn="--augment-session-json",Cal="--augment-session-json requires a value",sBn="--augment-session-json value is unusable",Ial={readPath:e=>yal(e,"utf8")}});import{execFile as _al}from"node:child_process";import{existsSync as val,rmSync as xal}from"node:fs";import{promisify as wal}from"node:util";function aBn(e){let t=e.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(t){let[,r,i]=t;return{sshUrl:e.endsWith(".git")?e:`${e}.git`,httpsUrl:`https://${r}/${i}.git`}}let n=e.match(/^https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(n){let[,r,i]=n;return{sshUrl:`git@${r}:${i}.git`,httpsUrl:e.endsWith(".git")?e:`${e}.git`}}return{sshUrl:e,httpsUrl:e}}function Qyo(e){return e instanceof Error?e.message:String(e)}async function cBn({sshUrl:e,httpsUrl:t,targetDir:n,extraArgs:r=[]}){let i;for(let o of[{url:e,env:Ral},{url:t,env:Myo}])try{return await Dyo("git",["clone","--depth","1",...r,o.url,n],{env:o.env}),{success:!0}}catch(s){i=s,val(n)&&xal(n,{recursive:!0,force:!0})}return{success:!1,error:Qyo(i)}}function kyo(e,t){return Dyo("git",e,{cwd:t,env:Myo})}async function Fyo(e,t){try{return await kyo(["fetch","--depth","1","origin",t],e),await kyo(["checkout","FETCH_HEAD"],e),{success:!0}}catch(n){return{success:!1,error:Qyo(n)}}}var Dyo,Ral,Myo,Oyo=C(()=>{"use strict";Dyo=wal(_al),Ral={...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes"},Myo={...process.env,GIT_TERMINAL_PROMPT:"0"}});import{existsSync as Tal,readFileSync as Bal}from"node:fs";import{join as vEe}from"node:path";function Uyo(e){for(let t of Lyo)if(Tal(vEe(e,t)))return!0;return!1}function D6(e){let t=Nal(e,Pyo);return t.manifest||t.diagnostics.length>0?t:{diagnostics:[`no marketplace manifest found (looked for ${Pyo.join(", ")})`]}}function Nal(e,t){let n=[];for(let r of t){let i=vEe(e,r),o;try{o=Bal(i,"utf-8")}catch{continue}try{let s=JSON.parse(o);if(s&&typeof s=="object"&&!Array.isArray(s))return{manifest:s,manifestPath:i,diagnostics:n};n.push(`manifest at ${r} is not a JSON object; ignoring`)}catch(s){n.push(`failed to parse manifest at ${r}: ${s.message}`)}}return{diagnostics:n}}var Lyo,Pyo,Gyo,wbt=C(()=>{"use strict";Lyo=[vEe(".augment-plugin","plugin.json"),vEe(".claude-plugin","plugin.json")],Pyo=[vEe(".augment-plugin","marketplace.json"),vEe(".claude-plugin","marketplace.json")];Gyo=`no plugin manifest found (looked for ${Lyo.join(", ")})`});import{execFile as kal}from"node:child_process";import{existsSync as eG,mkdirSync as Wyo,readdirSync as Dal,renameSync as Mal,rmSync as Qal,statSync as Fal}from"node:fs";import{dirname as Oal,isAbsolute as Yyo,join as tG,relative as zyo,resolve as lBn}from"node:path";import{promisify as Pal}from"node:util";function Hyo(e){let t=e.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();return!t||!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(t)?null:t}function Vyo(e){let t=e.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();return!t||!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(t)?null:t}function Ual(e){let t=e.match(/^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(?:@(.+))?$/);if(t?.[1]&&t[2])return{owner:t[1],repo:t[2].replace(/\.git$/,""),...t[3]?{ref:t[3]}:{}};let n=e.match(/^https?:\/\/github\.com\/([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);if(n?.[1]&&n[2])return{owner:n[1],repo:n[2],...n[4]?{ref:n[4]}:{}};let r=e.match(/^git@github\.com:([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);return r?.[1]&&r[2]?{owner:r[1],repo:r[2],...r[4]?{ref:r[4]}:{}}:null}function nO(e){return typeof e=="string"&&e.length>0?e:void 0}function Gal(e,t){let n=nO(e.repo);return n?{kind:"github",url:`https://github.com/${n.replace(/\.git$/,"")}.git`,...t?{ref:t}:{},...nO(e.path)?{subdir:nO(e.path)}:{}}:null}function Val(e,t){let n=nO(e.url);return n?{kind:"url",url:n,...t?{ref:t}:{},...nO(e.path)?{subdir:nO(e.path)}:{}}:null}function Wal(e,t){let n=nO(e.url),r=nO(e.path);return n&&r?{kind:"git-subdir",url:n,subdir:r,...t?{ref:t}:{}}:null}function uBn(e){if(!e||typeof e!="object")return null;let t=e,n=nO(t.sha)??nO(t.ref);switch(t.source){case"github":return Gal(t,n);case"url":return Val(t,n);case"git-subdir":return Wal(t,n);default:return null}}function Xyo(e,t,n){let r=Hyo(t);if(!r)return;let i=tG(e,Zyo,r);if(!eG(tG(i,".git")))return;if(!n)return i;let o=lBn(i,n),s=zyo(i,o);if(!(s.startsWith("..")||Yyo(s)))return eG(o)?o:void 0}async function Yal(e,t){let n=typeof t.name=="string"?t.name:"",r=uBn(t.source);if(!r)return;let i=Hyo(n);if(!i)return{name:n,status:"failed",error:"invalid plugin cache name"};let o=tG(e,Zyo,i);if(eG(tG(o,".git")))return{name:n,status:"skipped"};let s=Oal(o);eG(s)||Wyo(s,{recursive:!0});let{sshUrl:a,httpsUrl:c}=aBn(r.url),u=r.kind==="git-subdir",l=await cBn({sshUrl:a,httpsUrl:c,targetDir:o,extraArgs:u?["--filter=blob:none","--sparse"]:[]});if(!l.success)return{name:n,status:"failed",error:l.error};if(r.ref){let d=await Fyo(o,r.ref);if(!d.success)return{name:n,status:"failed",error:d.error}}if(u&&r.kind==="git-subdir")try{await Lal("git",["sparse-checkout","set",r.subdir],{cwd:o,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}catch(d){return{name:n,status:"failed",error:d instanceof Error?d.message:String(d)}}return{name:n,status:"cloned"}}async function Jyo(e){let{manifest:t}=D6(e),n=t?.plugins;if(!n||n.length===0)return[];let r=[];for(let i of n){let o=await Yal(e,i);o&&r.push(o)}return r}function zal(e){try{return Fal(e).isDirectory()}catch{return!1}}function Zal(e,t){let n=zyo(lBn(e),lBn(t));return n!==""&&!n.startsWith("..")&&!Yyo(n)}async function zFe(e,t){let n=Ual(t);if(!n)return{success:!1,error:`Invalid GitHub repository: ${t}. Expected owner/repo or a github.com URL.`};let{owner:r,repo:i,ref:o}=n;eG(e)||Wyo(e,{recursive:!0});let s=Vyo(i);if(!s)return{success:!1,error:`Invalid repository name for marketplace directory: "${i}".`};let a=tG(e,s);if(eG(a))return{success:!1,alreadyInstalled:!0,marketplaceId:s,error:`Marketplace '${s}' is already installed.`};let{sshUrl:c,httpsUrl:u}=aBn(`https://github.com/${r}/${i}`),l=await cBn({sshUrl:c,httpsUrl:u,targetDir:a,extraArgs:o?["--branch",o]:[]});if(!l.success)return{success:!1,error:`Failed to clone '${r}/${i}' (SSH and HTTPS both failed): ${l.error}`};let{manifest:d}=D6(a),p=s,m=typeof d?.name=="string"?Vyo(d.name):null;if(m&&m!==s){let f=tG(e,m);if(!eG(f))try{Mal(a,f),p=m}catch{}}return await Jyo(tG(e,p)),{success:!0,marketplaceId:p}}function ZFe(e,t){let n=tG(e,t);if(!Zal(e,n))return{success:!1,error:`Refusing to remove '${t}': path is outside the marketplaces directory.`};if(!eG(n))return{success:!1,error:`Marketplace '${t}' not found.`};try{return Qal(n,{recursive:!0,force:!0}),{success:!0}}catch(r){return{success:!1,error:`Failed to remove '${t}': ${r instanceof Error?r.message:String(r)}`}}}async function $yo(e){let t=!1;for(let n of e){if(!eG(n))continue;let r;try{r=Dal(n)}catch{continue}for(let i of r){let o=tG(n,i);if(!zal(o))continue;(await Jyo(o)).some(a=>a.status==="cloned")&&(t=!0)}}return t}var Lal,Zyo,Rbt=C(()=>{"use strict";Oyo();wbt();Lal=Pal(kal),Zyo=".plugin-cache"});import{readFileSync as Hal}from"node:fs";import{join as Xal}from"node:path";function Kyo(e){let t=Xal(e,"hooks","hooks.json"),n;try{n=Hal(t,"utf-8")}catch{return{diagnostics:[]}}let r;try{r=JSON.parse(n)}catch(o){return{diagnostics:[`failed to parse hooks/hooks.json: ${o.message}`]}}return!r||typeof r!="object"||Array.isArray(r)?{diagnostics:["hooks/hooks.json must be a JSON object"]}:{config:WDe(r),diagnostics:[]}}var jyo=C(()=>{"use strict";Yq()});import{existsSync as Jal,lstatSync as $al,readdirSync as nbo,statSync as Kal}from"node:fs";import{basename as qyo,isAbsolute as ebo,join as HFe,relative as jal,resolve as rbo}from"node:path";function dBn(e,t){let n=[],r=[],i=[],o=new Map;for(let s of e)for(let a of qal(s,t,r)){let c=o.get(a.id);if(c!==void 0){i.push({id:a.id,shadowedRoot:s,winnerRoot:c});continue}o.set(a.id,s),n.push(a)}for(let[s,a]of Object.entries(t))a&&!o.has(s)&&r.push(`enabledPlugins["${s}"] = true but no plugin with that id was found in any marketplace root`);return{plugins:n,globalDiagnostics:r,shadowedPlugins:i}}function qal(e,t,n){let r=[];if(!Jal(e))return r;let i=D6(e);if(!i.manifest)for(let s of i.diagnostics)s.startsWith("no marketplace manifest found")||n.push(`[${qyo(e)}] ${s}`);if(i.manifest)return tbo(e,qyo(e),t,r,n),r;let o;try{o=nbo(e)}catch(s){return n.push(`failed to read marketplaces directory ${e}: ${s.message}`),r}for(let s of o){let a=HFe(e,s);XFe(a)&&tbo(a,s,t,r,n)}return r}function tbo(e,t,n,r,i){let o=D6(e);if(!o.manifest){for(let u of o.diagnostics)i.push(`[${t}] ${u}`);return}let s=scl(o.manifest.name,t),a=ocl(e,o.manifest.metadata?.pluginRoot),c=Array.isArray(o.manifest.plugins)?o.manifest.plugins:[];c.length===0&&i.push(`[${s}] marketplace.json has no plugins[] entries`);for(let u of c){let l=ecl(u,e,a,s,n);l&&r.push(l)}for(let u of o.diagnostics)i.push(`[${s}] ${u}`)}function ecl(e,t,n,r,i){let o=typeof e.name=="string"?xEe(e.name):void 0;if(!o)return;let s=`${o}@${r}`,a=i[s]===!0,c=[],u=icl(e.source,o,t,n,c);return u?ncl(s,r,o,u,a,c):{id:s,marketplace:r,name:o,root:t,enabled:a,commandsDir:void 0,skillsDir:void 0,hooksConfig:void 0,agentsDirPresent:!1,diagnostics:c}}function tcl(e,t){let n=[],r;try{r=nbo(e).sort()}catch(o){return t.push(`failed to read agents directory: ${o.message}`),n}let i=[];for(let o of r){if(!o.endsWith(".md"))continue;let s=HFe(e,o);try{if(!$al(s).isFile()){i.push(o);continue}}catch(a){t.push(`failed to stat agent file ${o}: ${a.message}`);continue}n.push(s)}return i.length>0&&t.push(`ignoring non-regular agent file(s) under agents/ (symlinks / dirs / devices are not followed): ${i.join(", ")}`),n}function ncl(e,t,n,r,i,o){Uyo(r)||o.push(Gyo);let s=HFe(r,"commands"),a=HFe(r,"skills"),c=HFe(r,"agents"),u=XFe(s)?s:void 0,l=XFe(a)?a:void 0,d=XFe(c),p=d&&i?tcl(c,o):void 0,m=Kyo(r);for(let f of m.diagnostics)o.push(f);return{id:e,marketplace:t,name:n,root:r,enabled:i,commandsDir:u,skillsDir:l,hooksConfig:m.config,agentsDirPresent:d,agentFiles:p,diagnostics:o}}function rcl(e,t,n,r){let i=uBn(e);if(!i){let s=e.source;r.push(`source kind "${typeof s=="string"?s:"object"}" is not supported; install the plugin manually as a relative directory`);return}let o=Xyo(n,t,i.subdir);if(o)return o;r.push(`source kind "${i.kind}" not fetched yet; run /plugins to clone it (or marketplace update)`)}function icl(e,t,n,r,i){if(typeof e!="string"){if(e&&typeof e=="object")return rcl(e,t,n,i);i.push("plugin entry has no source field; skipping");return}if(ebo(e)){i.push(`absolute source "${e}" is not allowed; skipping`);return}let o=e.startsWith("./")?n:r,s=rbo(o,e),a=jal(n,s);if(a.startsWith("..")||ebo(a)){i.push(`source "${e}" resolves outside the marketplace root; skipping`);return}if(!XFe(s)){i.push(`source "${e}" does not point to an existing directory (looked at ${s})`);return}return s}function ocl(e,t){return typeof t!="string"||t.length===0?e:rbo(e,t)}function scl(e,t){if(typeof e=="string"&&e.length>0){let n=xEe(e);if(n.length>0)return n}return t}function xEe(e){let t="";for(let n of e){let r=n.codePointAt(0);if(r===void 0)continue;let i=r<=31,o=r>=127&&r<=159;i||o||(t+=n)}return t}function XFe(e){try{return Kal(e).isDirectory()}catch{return!1}}var Tbt=C(()=>{"use strict";Rbt();jyo();wbt()});import{readFileSync as acl}from"node:fs";import{basename as ccl}from"node:path";function Bbt(e){return typeof e=="string"?e:void 0}function ucl(e){if(typeof e=="string")return obo.includes(e)?e:void 0}function dcl(e){return typeof e=="number"&&e>=0?e:void 0}function abo(e){if(e==null)return;let t=String(e).trim();if(!t||t==="none")return;let n=t.split(",").map(r=>r.trim()).filter(Boolean);return n.length>0?n:void 0}function cbo(e,t){return e==null?[...t]:abo(e)??[]}function pcl(e){return abo(e)}function mcl(e){if(e==="user"||e==="project"||e==="local")return e}function ibo(e){if(e==null||e===!0)return!0;if(e===!1||e==="none")return!1;let t=cbo(e,[]);return t.length>0?t:!1}function fcl(e,t){let n=xEe(ccl(e,".md")),r;try{r=acl(e,"utf-8")}catch(l){let d=l instanceof Error?l.message:String(l);return{ok:!1,diagnostic:`failed to read agent file ${e}: ${d}`}}let i,o;try{let l=fk(r);i=l.frontmatter??{},o=l.body}catch(l){let d=l instanceof Error?l.message:String(l);return{ok:!1,diagnostic:`invalid frontmatter in agent file ${e}: ${d}`}}let s=Bbt(i.thinking),a=ucl(i.thinking),c=[];s!==void 0&&a===void 0&&c.push(`agent file ${e} declares thinking: "${s}", which is not a recognised level (expected one of: ${obo.join(", ")}); falling back to the model's default`);let u={name:n,displayName:Bbt(i.display_name),description:Bbt(i.description)??n,builtinToolNames:cbo(i.tools,lcl),disallowedTools:pcl(i.disallowed_tools),extensions:ibo(i.extensions??i.inherit_extensions),skills:ibo(i.skills??i.inherit_skills),model:Bbt(i.model),thinking:a,maxTurns:dcl(i.max_turns),systemPrompt:o.trim(),promptMode:i.prompt_mode==="append"?"append":"replace",inheritContext:i.inherit_context==null?void 0:i.inherit_context===!0,runInBackground:i.run_in_background==null?void 0:i.run_in_background===!0,isolated:i.isolated==null?void 0:i.isolated===!0,memory:mcl(i.memory),isolation:i.isolation==="worktree"?"worktree":void 0,enabled:i.enabled!==!1,source:"plugin",pluginId:t};return c.length>0?{ok:!0,config:u,warnings:c}:{ok:!0,config:u}}function lbo(e){let t=new Map,n=[];if(!e.agentFiles||e.agentFiles.length===0)return{agents:t,diagnostics:n};let r=new Map;for(let i of e.agentFiles){let o=fcl(i,e.id);if(!o.ok){n.push(o.diagnostic);continue}if(o.warnings)for(let c of o.warnings)n.push(c);let{config:s}=o,a=s.name.toLowerCase();if(r.has(a)){let c=r.get(a)??s.name,u=c===s.name?`"${s.name}"`:`"${s.name}" (case-insensitive collision with "${c}")`;n.push(`duplicate agent name ${u} in plugin ${e.id}; ignoring ${i}`);continue}t.set(s.name,s),r.set(a,s.name)}return{agents:t,diagnostics:n}}var lcl,obo,sbo,ubo=C(()=>{"use strict";Il();Tbt();lcl=["read","bash","edit","write","grep","find","ls"],obo=["off","minimal","low","medium","high","xhigh"],sbo=["general-purpose","explore","plan"]});import{lstatSync as gcl,readFileSync as Acl,realpathSync as dbo}from"node:fs";import{isAbsolute as hcl,join as Ecl,relative as ycl}from"node:path";function wEe(e,t){let n=e;for(let r of bcl){let i=`\${${r}}`;n.includes(i)&&(n=n.split(i).join(t))}return n}function pBn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function pbo(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!=null&&(t[n]=String(r));return Object.keys(t).length>0?t:void 0}function Ccl(e){if(e.type==="stdio"||e.type==="http"||e.type==="sse")return e.type;if(e.url)return"http";if(e.command)return"stdio"}function Icl(e,t){let n=Ccl(t);if(!n)throw new Error(`MCP server "${e}" must declare a 'command' (stdio) or 'url' (http/sse) property`);if(n==="http"||n==="sse"){if(!t.url)throw new Error(`MCP server "${e}" has type "${n}" but no 'url' property`);return{type:n,name:e,disabled:t.disabled,url:t.url,headers:pbo(t.headers),auth:t.auth==="oauth"?"oauth":void 0,cwd:t.cwd,timeoutMs:t.timeoutMs}}let r=t.command;if(!r)throw new Error(`MCP server "${e}" has type "stdio" but no 'command' property`);let i=Array.isArray(t.args)?t.args.map(a=>String(a)):[],o=t.useShellInterpolation??!0,s=o&&i.length>0?`${r} ${i.join(" ")}`:r;return{type:"stdio",name:e,disabled:t.disabled,command:s,args:o?[]:i,env:pbo(t.env),cwd:t.cwd,timeoutMs:t.timeoutMs,useShellInterpolation:o}}function mbo(e,t){if(!e)return;let n={};for(let[r,i]of Object.entries(e))n[r]=wEe(i,t);return n}function Scl(e,t){return e.type==="stdio"?{...e,command:wEe(e.command,t),args:e.args.map(n=>wEe(n,t)),env:mbo(e.env,t),cwd:e.cwd?wEe(e.cwd,t):void 0}:{...e,url:wEe(e.url,t),headers:mbo(e.headers,t),cwd:e.cwd?wEe(e.cwd,t):void 0}}function _cl(e,t){let n=Ecl(e,".mcp.json"),r;try{r=gcl(n)}catch(i){if(i?.code==="ENOENT")return;t.push(`failed to stat .mcp.json: ${i.message}`);return}if(r.isSymbolicLink()){t.push(".mcp.json is a symlink; refusing to follow it out of the plugin root");return}if(!r.isFile()){t.push(".mcp.json is not a regular file; skipping");return}try{let i=dbo(e),o=dbo(n),s=ycl(i,o);if(s.startsWith("..")||hcl(s)){t.push(".mcp.json resolves outside the plugin root; skipping");return}}catch(i){t.push(`failed to resolve .mcp.json real path: ${i.message}`);return}try{return Acl(n,"utf-8")}catch(i){t.push(`failed to read .mcp.json: ${i.message}`);return}}function fbo(e){let t=[],n=_cl(e.root,t);if(n===void 0)return{servers:[],diagnostics:t};let r;try{r=JSON.parse(n)}catch(s){return t.push(`failed to parse .mcp.json: ${s.message}`),{servers:[],diagnostics:t}}if(!pBn(r))return t.push(".mcp.json must be a JSON object"),{servers:[],diagnostics:t};let i=r.mcpServers;if(!pBn(i))return t.push('.mcp.json must contain an "mcpServers" object'),{servers:[],diagnostics:t};let o=[];for(let[s,a]of Object.entries(i)){let c=`${e.id}/${xEe(s)}`;if(!pBn(a)){t.push(`MCP server "${c}" must be a JSON object`);continue}try{let u=Icl(c,a);o.push(Scl(u,e.root))}catch(u){t.push(u instanceof Error?u.message:String(u))}}return{servers:o,diagnostics:t}}var bcl,gbo,Abo=C(()=>{"use strict";Tbt();bcl=["CLAUDE_PLUGIN_ROOT","AUGMENT_PLUGIN_ROOT","AUGGIE_PLUGIN_ROOT"];gbo="hermes:mcp:register-server-source"});function hbo(e,t,n){let r=Ms.create(e,t,n),i={};for(let s of[r.getVfsOrgSettings(),r.getVfsSpaceSettings(),r.getVfsUserSettings(),r.getSettings()])for(let[a,c]of Object.entries(s.enabledPlugins??{}))typeof c=="boolean"&&(i[a]=c);let o=r.drainErrors().map(({scope:s,error:a})=>`failed to load ${s} settings: ${a.message}; enabledPlugins entries from this scope will be ignored`);return{enabled:i,diagnostics:o}}var Ebo=C(()=>{"use strict";Il()});var ybo,bbo=C(()=>{"use strict";ybo="hermes:subagents:register-agent-source"});import{join as Cee,resolve as vcl}from"node:path";import{existsSync as xcl,readdirSync as wcl,statSync as Rcl}from"node:fs";function Bcl(){return globalThis[Cbo]??{}}function Ncl(e){globalThis[Cbo]=e}function gBn(e){Zk=[],fBn=[],Nbt=[],mBn=[],JFe=[];let t=!1,n,r=new Map,i,o,s=new Map,a;e.events.on(Pft,w=>{n=w.register}),e.events.on(ybo,w=>{i=w.register}),e.events.on(gbo,w=>{a=w.registerServerSource}),e.events.on(Tcl,w=>{Ncl(w?.scopes??{})});function c(w,R,N=[]){let Q=Bcl(),{enabled:F,diagnostics:D}=hbo(w,R,Q),k=[...new Set(N.map(Ae=>vcl(w,Ae)))],Y=dBn(k,{}),z={...F};for(let Ae of Y.plugins)z[Ae.id]=!0;let K=Cee(G4(),"plugins","marketplaces"),W=Cee(R,"plugins","marketplaces"),q=[Q.user,Q.space,Q.org].flatMap(Ae=>Ae?[Cee(Ae,".augment","plugins","marketplaces")]:[]),me=dBn([...k,K,W,...q],z);for(let Ae of me.shadowedPlugins)nx.debug(`plugin "${Ae.id}" from ${Ae.shadowedRoot} is shadowed by the higher-precedence root ${Ae.winnerRoot}`);return me.globalDiagnostics=[...D,...me.globalDiagnostics],Zk=me.plugins,fBn=me.globalDiagnostics,t=!0,me}function u(w,R,N=[]){t||c(w,R,N)}function l(){let w=new Map,R=new Map;Nbt=[];let N=[...Zk.filter(Q=>Q.enabled)].sort((Q,F)=>Q.id.localeCompare(F.id));for(let Q of N){let{agents:F,diagnostics:D}=lbo(Q);for(let k of D)nx.warn(`[${Q.id}] ${k}`),Nbt.push({type:"warning",message:`[${Q.id}] ${k}`,path:Q.root});for(let[k,Y]of F)d(Q.id,k,Y,w,R)}s=w}function d(w,R,N,Q,F){let D=R.toLowerCase(),k=F.get(D);if(k){let Y=k.name===R?`"${R}"`:`"${R}" (case-insensitive collision with "${k.name}")`;nx.warn(`[${w}] plugin-contributed agent ${Y} shadowed by earlier plugin ${k.pluginId}; ignoring`);return}sbo.includes(D)&&nx.warn(`[${w}] plugin-contributed agent "${R}" 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`),Q.set(R,N),F.set(D,{pluginId:w,name:R})}function p(){if(!i)return;o?.(),o=i({getAgents:()=>s,getDiagnostics:()=>Nbt})}function m(){let w=[];JFe=[];let R=[...Zk.filter(N=>N.enabled)].sort((N,Q)=>N.id.localeCompare(Q.id));for(let N of R){let{servers:Q,diagnostics:F}=fbo(N);for(let D of F)nx.warn(`[${N.id}] ${D}`),JFe.push({type:"warning",message:`[${N.id}] ${D}`,path:N.root});for(let D of Q)w.push(D)}mBn=w}function f(){if(!a)return;a({source:"plugin",getServers:()=>mBn,getDiagnostics:()=>JFe})}function g(){if(n){for(let w of r.values())w();r.clear();for(let w of Zk){if(!w.enabled)continue;let R=kcl(w);r.set(w.id,n(R))}}}function A(){for(let w of r.values())w();r.clear()}function h(){let w=[],R=[];for(let N of Zk){if(!N.enabled){for(let Q of N.diagnostics)nx.debug(`[${N.id}] ${Q}`);continue}N.commandsDir&&R.push(N.commandsDir),N.skillsDir&&w.push(N.skillsDir);for(let Q of N.diagnostics)nx.warn(`[${N.id}] ${Q}`)}return{skillPaths:w,promptPaths:R}}e.on("resources_discover",(w,R)=>{t=!1;let N=c(w.cwd,w.agentDir,R.pluginDirs),{skillPaths:Q,promptPaths:F}=h();for(let k of N.globalDiagnostics)nx.warn(k);let D=Zk.filter(k=>k.enabled).length;return Zk.length>0&&nx.info(`Discovered ${Zk.length} plugin(s); ${D} enabled`),g(),l(),p(),_(),m(),f(),v(),{skillPaths:Q,promptPaths:F}}),e.on("session_start",(w,R)=>{u(R.cwd,R.agentDir,R.pluginDirs),g(),l(),p(),I(),m(),f();let N=Cee(G4(),"plugins","marketplaces"),Q=Cee(R.agentDir,"plugins","marketplaces");$yo([N,Q]).then(F=>{F&&(t=!1,c(R.cwd,R.agentDir,R.pluginDirs),g(),l(),p(),m(),f())}).catch(F=>{nx.debug(`background plugin source fetch failed: ${F instanceof Error?F.message:String(F)}`)})}),e.on("session_shutdown",()=>{A(),o?.(),o=void 0,s=new Map});let E=!1,y=!1,b=!1;function I(){!n&&!E&&(E=!0,nx.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 _(){!i&&!y&&(y=!0,nx.debug("@hermes/subagents did not register an agent source; plugin-contributed subagents will not be available (expected when --disable-subagents is set)."))}function v(){!a&&!b&&(b=!0,nx.debug("@hermes/mcp did not register a server source; plugin-contributed MCP servers will not be loaded."))}}function kcl(e){return{source:e.id,isEnabled:()=>e.enabled,getConfig:()=>e.hooksConfig,env:Dcl(e.root),postToolUsePrefix:`Plugin ${e.id} hook`,backgroundLabel:t=>`[${e.id}] ${t} hook`,blockedFallbackReason:"Blocked by plugin hook"}}function Dcl(e){return{PLUGIN_ROOT:e,CLAUDE_PLUGIN_ROOT:e}}function M6(){return Zk}function $Fe(e){return Cee(e,"plugins","marketplaces")}function kbt(e){let t=$Fe(e);if(!xcl(t))return[];let n;try{n=wcl(t)}catch{return[]}let r=[];for(let i of n){let o=Cee(t,i);try{if(!Rcl(o).isDirectory())continue}catch{continue}let{manifest:s}=D6(o);if(!s)continue;let a=typeof s.name=="string"&&s.name.length>0?s.name:i;r.push({dir:i,name:a,path:o})}return r}function rO(){let e=[];for(let t of Zk)for(let n of t.diagnostics)e.push({type:"warning",message:`[${t.id}] ${n}`,path:t.root});for(let t of fBn)e.push({type:"warning",message:t});for(let t of JFe)e.push(t);return e}var nx,Tcl,Cbo,Zk,fBn,Nbt,mBn,JFe,REe=C(()=>{"use strict";Il();Yq();sr();ubo();Tbt();Rbt();wbt();Abo();Ebo();bbo();Rbt();nx=Gt.child({prefix:"pi-plugins"}),Tcl="augment:vfs-scopes",Cbo=Symbol.for("__pi_plugins_vfs_scopes__");Zk=[],fBn=[],Nbt=[],mBn=[],JFe=[]});function ABn(){let e=globalThis;return e[Ibo]??=new Map,e[Ibo]}function Sbo(){return[...ABn().values()]}function _bo(e){return ABn().get(e)}function vbo(e){let t=ABn();t.clear();for(let n of e)t.set(n.name,n)}var Ibo,hBn=C(()=>{"use strict";Ibo=Symbol.for("__hermes_cloud_tool_registry__")});function Mcl(e){return{...e,execute:(t,n,r,i,o)=>{let s=_bo(e.name);if(!s)throw new Error(`Cloud tool "${e.name}" is unavailable`);return s.execute(t,n,r,i,o)}}}function EBn(e){for(let t of Sbo())e.registerTool(Mcl(t))}var xbo=C(()=>{"use strict";hBn()});function Dbt(){let e=globalThis;return e[wbo]??=new Map,e[wbo]}function Tbo(){return[...Dbt().values()]}function Bbo(e){return Dbt().get(e)}function Q6(e){Dbt().set(e.name,e)}function Nbo(e,t){let n=Dbt();(t===void 0||n.get(e)===t)&&n.delete(e)}function kbo(e){Reflect.set(e,Rbo,!0)}function Mbt(e){return Reflect.get(e,Rbo)===!0}var wbo,Rbo,Iee=C(()=>{"use strict";wbo=Symbol.for("__hermes_mcp_tool_registry__"),Rbo=Symbol.for("__hermes_mcp_extension_factory__")});function Qcl(e){return{...e,execute:(t,n,r,i,o)=>{let s=Bbo(e.name);if(!s)throw new Error(`MCP tool "${e.name}" is unavailable`);return s.execute(t,n,r,i,o)}}}function Qbt(e){for(let t of Tbo())e.registerTool(Qcl(t))}var Dbo=C(()=>{"use strict";Iee()});import{existsSync as Fcl}from"node:fs";import{homedir as KFe}from"node:os";import{dirname as yBn,join as rT,resolve as Qbo}from"node:path";import{fileURLToPath as Ocl}from"node:url";function Fbo(){let e=process.env.PI_PACKAGE_DIR;if(e)return e==="~"?KFe():e.startsWith("~/")?KFe()+e.slice(1):e;let t=Mbo;for(;t!==yBn(t);){if(Fcl(rT(t,"package.json")))return t;t=yBn(t)}return Mbo}function Fbt(){return Qbo(rT(Fbo(),"docs"))}function Obt(){return Qbo(rT(Fbo(),"CHANGELOG.md"))}function Ubo(e){return`${process.env.PI_SHARE_VIEWER_URL||Ucl}#${e}`}function Gbo(e){return e==="~"?KFe():e.startsWith("~/")?KFe()+e.slice(1):e}function iO(){let e=process.env.AUGMENT_CACHE_DIR;return e?Gbo(e):rT(KFe(),".augment")}function gi(){let e=process.env[bBn];return e?Gbo(e):iO()}function eOe(){return rT(gi(),"themes")}function Vbo(){return rT(gi(),"models.json")}function Wbo(){return rT(gi(),"auth.json")}function Ybo(){return rT(gi(),"settings.json")}function tOe(){return iO()}function TEe(){return rT(gi(),"bin")}function zbo(){return rT(gi(),"prompts")}function Zbo(){return rT(gi(),jFe)}function Hbo(){return rT(gi(),`${is}-debug.log`)}var Pcl,Mbo,is,Ba,jFe,qFe,Obo,Lcl,Ru,Pbo,Lbo,bBn,Ucl,dl=C(()=>{"use strict";Jsn();Pcl=Ocl(import.meta.url),Mbo=yBn(Pcl);is=U4.piConfig?.name||"auggie",Ba=U4.piConfig?.configDir||".augment",jFe="sessions-v2",qFe=is,Obo="Auggie Coding Agent",Lcl="1.2.0-prerelease.202609141353",Ru=Lcl??U4.version,Pbo="d22486d67a1c419c749a44619686fda70a65b95a",Lbo="2026-09-14T20:53:10Z",bBn=`${is.toUpperCase()}_CODING_AGENT_DIR`,Ucl="https://pi.dev/session/"});var Jbo,Xbo=C(()=>{Jbo={$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 Kbo,$bo=C(()=>{Kbo={$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 M0 from"node:fs";import*as Lbt from"node:path";function Ycl(){let e=process.env.COLORTERM;if(e==="truecolor"||e==="24bit"||process.env.WT_SESSION)return"truecolor";let t=process.env.TERM||"";return t==="dumb"||t===""||t==="linux"||process.env.TERM_PROGRAM==="Apple_Terminal"||t==="screen"||t.startsWith("screen-")||t.startsWith("screen.")?"256color":"truecolor"}function _Bn(e){let t=e.replace("#","");if(t.length!==6)throw new Error(`Invalid hex color: ${e}`);let n=Number.parseInt(t.slice(0,2),16),r=Number.parseInt(t.slice(2,4),16),i=Number.parseInt(t.slice(4,6),16);if(Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i))throw new Error(`Invalid hex color: ${e}`);return{r:n,g:r,b:i}}function CBn(e){let t=Number.POSITIVE_INFINITY,n=0;for(let[r,i]of Pbt.entries()){let o=Math.abs(e-i);o<t&&(t=o,n=r)}return n}function zcl(e){let t=Number.POSITIVE_INFINITY,n=0;for(let[r,i]of tCo.entries()){let o=Math.abs(e-i);o<t&&(t=o,n=r)}return n}function qbo(e,t,n,r,i,o){let s=e-r,a=t-i,c=n-o;return s*s*.299+a*a*.587+c*c*.114}function Zcl(e,t,n){let r=CBn(e),i=CBn(t),o=CBn(n),s=Pbt[r]??0,a=Pbt[i]??0,c=Pbt[o]??0,u=16+36*r+6*i+o,l=qbo(e,t,n,s,a,c),d=Math.round(.299*e+.587*t+.114*n),p=zcl(d),m=tCo[p]??0,f=232+p,g=qbo(e,t,n,m,m,m),A=Math.max(e,t,n),h=Math.min(e,t,n);return A-h<10&&g<l?f:u}function nCo(e){let{r:t,g:n,b:r}=_Bn(e);return Zcl(t,n,r)}function Hcl(e,t){if(e==="")return"\x1B[39m";if(typeof e=="number")return`\x1B[38;5;${e}m`;if(e.startsWith("#")){if(t==="truecolor"){let{r,g:i,b:o}=_Bn(e);return`\x1B[38;2;${r};${i};${o}m`}return`\x1B[38;5;${nCo(e)}m`}throw new Error(`Invalid color value: ${e}`)}function Xcl(e,t){if(e==="")return"\x1B[49m";if(typeof e=="number")return`\x1B[48;5;${e}m`;if(e.startsWith("#")){if(t==="truecolor"){let{r,g:i,b:o}=_Bn(e);return`\x1B[48;2;${r};${i};${o}m`}return`\x1B[48;5;${nCo(e)}m`}throw new Error(`Invalid color value: ${e}`)}function vBn(e,t,n=new Set){if(typeof e=="number"||e===""||e.startsWith("#"))return e;if(n.has(e))throw new Error(`Circular variable reference detected: ${e}`);if(!(e in t))throw new Error(`Variable reference not found: ${e}`);n.add(e);let r=t[e];if(r===void 0)throw new Error(`Variable reference not found: ${e}`);return vBn(r,t,n)}function rCo(e,t={}){let n={};for(let[r,i]of Object.entries(e))n[r]=vBn(i,t);return n}function Ubt(){let e=new Set(Object.keys(xBn)),t=eOe();if(M0.existsSync(t)){let n=M0.readdirSync(t);for(let r of n)r.endsWith(".json")&&e.add(r.slice(0,-5))}for(let n of xee.keys())e.add(n);return Array.from(e).sort()}function iCo(){let e=eOe(),t=[];for(let n of Object.keys(xBn))t.push({name:n,path:void 0});if(M0.existsSync(e)){for(let n of M0.readdirSync(e))if(n.endsWith(".json")){let r=n.slice(0,-5);t.some(i=>i.name===r)||t.push({name:r,path:Lbt.join(e,n)})}}for(let[n,r]of xee.entries())t.some(i=>i.name===n)||t.push({name:n,path:r.sourcePath});return t.sort((n,r)=>n.name.localeCompare(r.name))}function Jcl(e,t){if(!jbo.Check(t)){let n=Array.from(jbo.Errors(t)),r=[],i=[];for(let s of n){let c=s.path.match(/^\/colors\/(\w+)$/)?.[1];c&&s.message.includes("Required")?r.push(c):i.push(` - ${s.path}: ${s.message}`)}let o=`Invalid theme "${e}":
|
|
6709
|
+
Show whether the CLI has an active Augment authentication session.`,$sl="Note: Injected credentials remain active and may override the saved session.",Ksl="Note: Injected credentials remain active.",jsl="AUGGIE_V2_SEGMENT_WRITE_KEY"});import{readFile as yal}from"node:fs/promises";import{resolve as bal}from"node:path";function Sal(e){let t=[],n;for(let r=0;r<e.length;r+=1){let i=e[r];if(i==="--"){t.push(...e.slice(r));break}if(i===oBn){let o=e[r+1];if(o===void 0||o.startsWith("-")||!o.trim())return{type:"fatal"};n=o,r+=1;continue}if(i.startsWith(`${oBn}=`)){let o=i.slice(oBn.length+1);if(!o.trim())return{type:"fatal"};n=o;continue}t.push(i)}return{type:"success",args:t,candidate:n}}async function Byo(e,t=Ial){let n=Sal(e);if(n.type==="fatal")return{type:"fatal",message:Cal};if(n.candidate===void 0)return{type:"success",args:n.args};let r=n.candidate.trim(),i;if(r.startsWith("{"))i=r;else try{i=await t.readPath(bal(process.cwd(),r))}catch{return{type:"fatal",message:sBn}}let o;try{o=JSON.parse(i)}catch{return{type:"fatal",message:sBn}}let s=BQe(o);return s?{type:"success",args:n.args,credentials:s}:{type:"fatal",message:sBn}}var oBn,Cal,sBn,Ial,Nyo=C(()=>{"use strict";Uht();oBn="--augment-session-json",Cal="--augment-session-json requires a value",sBn="--augment-session-json value is unusable",Ial={readPath:e=>yal(e,"utf8")}});import{execFile as _al}from"node:child_process";import{existsSync as val,rmSync as xal}from"node:fs";import{promisify as wal}from"node:util";function aBn(e){let t=e.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(t){let[,r,i]=t;return{sshUrl:e.endsWith(".git")?e:`${e}.git`,httpsUrl:`https://${r}/${i}.git`}}let n=e.match(/^https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(n){let[,r,i]=n;return{sshUrl:`git@${r}:${i}.git`,httpsUrl:e.endsWith(".git")?e:`${e}.git`}}return{sshUrl:e,httpsUrl:e}}function Qyo(e){return e instanceof Error?e.message:String(e)}async function cBn({sshUrl:e,httpsUrl:t,targetDir:n,extraArgs:r=[]}){let i;for(let o of[{url:e,env:Ral},{url:t,env:Myo}])try{return await Dyo("git",["clone","--depth","1",...r,o.url,n],{env:o.env}),{success:!0}}catch(s){i=s,val(n)&&xal(n,{recursive:!0,force:!0})}return{success:!1,error:Qyo(i)}}function kyo(e,t){return Dyo("git",e,{cwd:t,env:Myo})}async function Fyo(e,t){try{return await kyo(["fetch","--depth","1","origin",t],e),await kyo(["checkout","FETCH_HEAD"],e),{success:!0}}catch(n){return{success:!1,error:Qyo(n)}}}var Dyo,Ral,Myo,Oyo=C(()=>{"use strict";Dyo=wal(_al),Ral={...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes"},Myo={...process.env,GIT_TERMINAL_PROMPT:"0"}});import{existsSync as Tal,readFileSync as Bal}from"node:fs";import{join as vEe}from"node:path";function Uyo(e){for(let t of Lyo)if(Tal(vEe(e,t)))return!0;return!1}function D6(e){let t=Nal(e,Pyo);return t.manifest||t.diagnostics.length>0?t:{diagnostics:[`no marketplace manifest found (looked for ${Pyo.join(", ")})`]}}function Nal(e,t){let n=[];for(let r of t){let i=vEe(e,r),o;try{o=Bal(i,"utf-8")}catch{continue}try{let s=JSON.parse(o);if(s&&typeof s=="object"&&!Array.isArray(s))return{manifest:s,manifestPath:i,diagnostics:n};n.push(`manifest at ${r} is not a JSON object; ignoring`)}catch(s){n.push(`failed to parse manifest at ${r}: ${s.message}`)}}return{diagnostics:n}}var Lyo,Pyo,Gyo,wbt=C(()=>{"use strict";Lyo=[vEe(".augment-plugin","plugin.json"),vEe(".claude-plugin","plugin.json")],Pyo=[vEe(".augment-plugin","marketplace.json"),vEe(".claude-plugin","marketplace.json")];Gyo=`no plugin manifest found (looked for ${Lyo.join(", ")})`});import{execFile as kal}from"node:child_process";import{existsSync as eG,mkdirSync as Wyo,readdirSync as Dal,renameSync as Mal,rmSync as Qal,statSync as Fal}from"node:fs";import{dirname as Oal,isAbsolute as Yyo,join as tG,relative as zyo,resolve as lBn}from"node:path";import{promisify as Pal}from"node:util";function Hyo(e){let t=e.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();return!t||!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(t)?null:t}function Vyo(e){let t=e.replace(/\.\./g,"").replace(/[/\\]/g,"").replace(/^\.+/,"").trim();return!t||!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(t)?null:t}function Ual(e){let t=e.match(/^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(?:@(.+))?$/);if(t?.[1]&&t[2])return{owner:t[1],repo:t[2].replace(/\.git$/,""),...t[3]?{ref:t[3]}:{}};let n=e.match(/^https?:\/\/github\.com\/([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);if(n?.[1]&&n[2])return{owner:n[1],repo:n[2],...n[4]?{ref:n[4]}:{}};let r=e.match(/^git@github\.com:([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+?)(\.git)?(?:#(.+))?$/);return r?.[1]&&r[2]?{owner:r[1],repo:r[2],...r[4]?{ref:r[4]}:{}}:null}function nO(e){return typeof e=="string"&&e.length>0?e:void 0}function Gal(e,t){let n=nO(e.repo);return n?{kind:"github",url:`https://github.com/${n.replace(/\.git$/,"")}.git`,...t?{ref:t}:{},...nO(e.path)?{subdir:nO(e.path)}:{}}:null}function Val(e,t){let n=nO(e.url);return n?{kind:"url",url:n,...t?{ref:t}:{},...nO(e.path)?{subdir:nO(e.path)}:{}}:null}function Wal(e,t){let n=nO(e.url),r=nO(e.path);return n&&r?{kind:"git-subdir",url:n,subdir:r,...t?{ref:t}:{}}:null}function uBn(e){if(!e||typeof e!="object")return null;let t=e,n=nO(t.sha)??nO(t.ref);switch(t.source){case"github":return Gal(t,n);case"url":return Val(t,n);case"git-subdir":return Wal(t,n);default:return null}}function Xyo(e,t,n){let r=Hyo(t);if(!r)return;let i=tG(e,Zyo,r);if(!eG(tG(i,".git")))return;if(!n)return i;let o=lBn(i,n),s=zyo(i,o);if(!(s.startsWith("..")||Yyo(s)))return eG(o)?o:void 0}async function Yal(e,t){let n=typeof t.name=="string"?t.name:"",r=uBn(t.source);if(!r)return;let i=Hyo(n);if(!i)return{name:n,status:"failed",error:"invalid plugin cache name"};let o=tG(e,Zyo,i);if(eG(tG(o,".git")))return{name:n,status:"skipped"};let s=Oal(o);eG(s)||Wyo(s,{recursive:!0});let{sshUrl:a,httpsUrl:c}=aBn(r.url),u=r.kind==="git-subdir",l=await cBn({sshUrl:a,httpsUrl:c,targetDir:o,extraArgs:u?["--filter=blob:none","--sparse"]:[]});if(!l.success)return{name:n,status:"failed",error:l.error};if(r.ref){let d=await Fyo(o,r.ref);if(!d.success)return{name:n,status:"failed",error:d.error}}if(u&&r.kind==="git-subdir")try{await Lal("git",["sparse-checkout","set",r.subdir],{cwd:o,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}catch(d){return{name:n,status:"failed",error:d instanceof Error?d.message:String(d)}}return{name:n,status:"cloned"}}async function Jyo(e){let{manifest:t}=D6(e),n=t?.plugins;if(!n||n.length===0)return[];let r=[];for(let i of n){let o=await Yal(e,i);o&&r.push(o)}return r}function zal(e){try{return Fal(e).isDirectory()}catch{return!1}}function Zal(e,t){let n=zyo(lBn(e),lBn(t));return n!==""&&!n.startsWith("..")&&!Yyo(n)}async function zFe(e,t){let n=Ual(t);if(!n)return{success:!1,error:`Invalid GitHub repository: ${t}. Expected owner/repo or a github.com URL.`};let{owner:r,repo:i,ref:o}=n;eG(e)||Wyo(e,{recursive:!0});let s=Vyo(i);if(!s)return{success:!1,error:`Invalid repository name for marketplace directory: "${i}".`};let a=tG(e,s);if(eG(a))return{success:!1,alreadyInstalled:!0,marketplaceId:s,error:`Marketplace '${s}' is already installed.`};let{sshUrl:c,httpsUrl:u}=aBn(`https://github.com/${r}/${i}`),l=await cBn({sshUrl:c,httpsUrl:u,targetDir:a,extraArgs:o?["--branch",o]:[]});if(!l.success)return{success:!1,error:`Failed to clone '${r}/${i}' (SSH and HTTPS both failed): ${l.error}`};let{manifest:d}=D6(a),p=s,m=typeof d?.name=="string"?Vyo(d.name):null;if(m&&m!==s){let f=tG(e,m);if(!eG(f))try{Mal(a,f),p=m}catch{}}return await Jyo(tG(e,p)),{success:!0,marketplaceId:p}}function ZFe(e,t){let n=tG(e,t);if(!Zal(e,n))return{success:!1,error:`Refusing to remove '${t}': path is outside the marketplaces directory.`};if(!eG(n))return{success:!1,error:`Marketplace '${t}' not found.`};try{return Qal(n,{recursive:!0,force:!0}),{success:!0}}catch(r){return{success:!1,error:`Failed to remove '${t}': ${r instanceof Error?r.message:String(r)}`}}}async function $yo(e){let t=!1;for(let n of e){if(!eG(n))continue;let r;try{r=Dal(n)}catch{continue}for(let i of r){let o=tG(n,i);if(!zal(o))continue;(await Jyo(o)).some(a=>a.status==="cloned")&&(t=!0)}}return t}var Lal,Zyo,Rbt=C(()=>{"use strict";Oyo();wbt();Lal=Pal(kal),Zyo=".plugin-cache"});import{readFileSync as Hal}from"node:fs";import{join as Xal}from"node:path";function Kyo(e){let t=Xal(e,"hooks","hooks.json"),n;try{n=Hal(t,"utf-8")}catch{return{diagnostics:[]}}let r;try{r=JSON.parse(n)}catch(o){return{diagnostics:[`failed to parse hooks/hooks.json: ${o.message}`]}}return!r||typeof r!="object"||Array.isArray(r)?{diagnostics:["hooks/hooks.json must be a JSON object"]}:{config:WDe(r),diagnostics:[]}}var jyo=C(()=>{"use strict";Yq()});import{existsSync as Jal,lstatSync as $al,readdirSync as nbo,statSync as Kal}from"node:fs";import{basename as qyo,isAbsolute as ebo,join as HFe,relative as jal,resolve as rbo}from"node:path";function dBn(e,t){let n=[],r=[],i=[],o=new Map;for(let s of e)for(let a of qal(s,t,r)){let c=o.get(a.id);if(c!==void 0){i.push({id:a.id,shadowedRoot:s,winnerRoot:c});continue}o.set(a.id,s),n.push(a)}for(let[s,a]of Object.entries(t))a&&!o.has(s)&&r.push(`enabledPlugins["${s}"] = true but no plugin with that id was found in any marketplace root`);return{plugins:n,globalDiagnostics:r,shadowedPlugins:i}}function qal(e,t,n){let r=[];if(!Jal(e))return r;let i=D6(e);if(!i.manifest)for(let s of i.diagnostics)s.startsWith("no marketplace manifest found")||n.push(`[${qyo(e)}] ${s}`);if(i.manifest)return tbo(e,qyo(e),t,r,n),r;let o;try{o=nbo(e)}catch(s){return n.push(`failed to read marketplaces directory ${e}: ${s.message}`),r}for(let s of o){let a=HFe(e,s);XFe(a)&&tbo(a,s,t,r,n)}return r}function tbo(e,t,n,r,i){let o=D6(e);if(!o.manifest){for(let u of o.diagnostics)i.push(`[${t}] ${u}`);return}let s=scl(o.manifest.name,t),a=ocl(e,o.manifest.metadata?.pluginRoot),c=Array.isArray(o.manifest.plugins)?o.manifest.plugins:[];c.length===0&&i.push(`[${s}] marketplace.json has no plugins[] entries`);for(let u of c){let l=ecl(u,e,a,s,n);l&&r.push(l)}for(let u of o.diagnostics)i.push(`[${s}] ${u}`)}function ecl(e,t,n,r,i){let o=typeof e.name=="string"?xEe(e.name):void 0;if(!o)return;let s=`${o}@${r}`,a=i[s]===!0,c=[],u=icl(e.source,o,t,n,c);return u?ncl(s,r,o,u,a,c):{id:s,marketplace:r,name:o,root:t,enabled:a,commandsDir:void 0,skillsDir:void 0,hooksConfig:void 0,agentsDirPresent:!1,diagnostics:c}}function tcl(e,t){let n=[],r;try{r=nbo(e).sort()}catch(o){return t.push(`failed to read agents directory: ${o.message}`),n}let i=[];for(let o of r){if(!o.endsWith(".md"))continue;let s=HFe(e,o);try{if(!$al(s).isFile()){i.push(o);continue}}catch(a){t.push(`failed to stat agent file ${o}: ${a.message}`);continue}n.push(s)}return i.length>0&&t.push(`ignoring non-regular agent file(s) under agents/ (symlinks / dirs / devices are not followed): ${i.join(", ")}`),n}function ncl(e,t,n,r,i,o){Uyo(r)||o.push(Gyo);let s=HFe(r,"commands"),a=HFe(r,"skills"),c=HFe(r,"agents"),u=XFe(s)?s:void 0,l=XFe(a)?a:void 0,d=XFe(c),p=d&&i?tcl(c,o):void 0,m=Kyo(r);for(let f of m.diagnostics)o.push(f);return{id:e,marketplace:t,name:n,root:r,enabled:i,commandsDir:u,skillsDir:l,hooksConfig:m.config,agentsDirPresent:d,agentFiles:p,diagnostics:o}}function rcl(e,t,n,r){let i=uBn(e);if(!i){let s=e.source;r.push(`source kind "${typeof s=="string"?s:"object"}" is not supported; install the plugin manually as a relative directory`);return}let o=Xyo(n,t,i.subdir);if(o)return o;r.push(`source kind "${i.kind}" not fetched yet; run /plugins to clone it (or marketplace update)`)}function icl(e,t,n,r,i){if(typeof e!="string"){if(e&&typeof e=="object")return rcl(e,t,n,i);i.push("plugin entry has no source field; skipping");return}if(ebo(e)){i.push(`absolute source "${e}" is not allowed; skipping`);return}let o=e.startsWith("./")?n:r,s=rbo(o,e),a=jal(n,s);if(a.startsWith("..")||ebo(a)){i.push(`source "${e}" resolves outside the marketplace root; skipping`);return}if(!XFe(s)){i.push(`source "${e}" does not point to an existing directory (looked at ${s})`);return}return s}function ocl(e,t){return typeof t!="string"||t.length===0?e:rbo(e,t)}function scl(e,t){if(typeof e=="string"&&e.length>0){let n=xEe(e);if(n.length>0)return n}return t}function xEe(e){let t="";for(let n of e){let r=n.codePointAt(0);if(r===void 0)continue;let i=r<=31,o=r>=127&&r<=159;i||o||(t+=n)}return t}function XFe(e){try{return Kal(e).isDirectory()}catch{return!1}}var Tbt=C(()=>{"use strict";Rbt();jyo();wbt()});import{readFileSync as acl}from"node:fs";import{basename as ccl}from"node:path";function Bbt(e){return typeof e=="string"?e:void 0}function ucl(e){if(typeof e=="string")return obo.includes(e)?e:void 0}function dcl(e){return typeof e=="number"&&e>=0?e:void 0}function abo(e){if(e==null)return;let t=String(e).trim();if(!t||t==="none")return;let n=t.split(",").map(r=>r.trim()).filter(Boolean);return n.length>0?n:void 0}function cbo(e,t){return e==null?[...t]:abo(e)??[]}function pcl(e){return abo(e)}function mcl(e){if(e==="user"||e==="project"||e==="local")return e}function ibo(e){if(e==null||e===!0)return!0;if(e===!1||e==="none")return!1;let t=cbo(e,[]);return t.length>0?t:!1}function fcl(e,t){let n=xEe(ccl(e,".md")),r;try{r=acl(e,"utf-8")}catch(l){let d=l instanceof Error?l.message:String(l);return{ok:!1,diagnostic:`failed to read agent file ${e}: ${d}`}}let i,o;try{let l=fk(r);i=l.frontmatter??{},o=l.body}catch(l){let d=l instanceof Error?l.message:String(l);return{ok:!1,diagnostic:`invalid frontmatter in agent file ${e}: ${d}`}}let s=Bbt(i.thinking),a=ucl(i.thinking),c=[];s!==void 0&&a===void 0&&c.push(`agent file ${e} declares thinking: "${s}", which is not a recognised level (expected one of: ${obo.join(", ")}); falling back to the model's default`);let u={name:n,displayName:Bbt(i.display_name),description:Bbt(i.description)??n,builtinToolNames:cbo(i.tools,lcl),disallowedTools:pcl(i.disallowed_tools),extensions:ibo(i.extensions??i.inherit_extensions),skills:ibo(i.skills??i.inherit_skills),model:Bbt(i.model),thinking:a,maxTurns:dcl(i.max_turns),systemPrompt:o.trim(),promptMode:i.prompt_mode==="append"?"append":"replace",inheritContext:i.inherit_context==null?void 0:i.inherit_context===!0,runInBackground:i.run_in_background==null?void 0:i.run_in_background===!0,isolated:i.isolated==null?void 0:i.isolated===!0,memory:mcl(i.memory),isolation:i.isolation==="worktree"?"worktree":void 0,enabled:i.enabled!==!1,source:"plugin",pluginId:t};return c.length>0?{ok:!0,config:u,warnings:c}:{ok:!0,config:u}}function lbo(e){let t=new Map,n=[];if(!e.agentFiles||e.agentFiles.length===0)return{agents:t,diagnostics:n};let r=new Map;for(let i of e.agentFiles){let o=fcl(i,e.id);if(!o.ok){n.push(o.diagnostic);continue}if(o.warnings)for(let c of o.warnings)n.push(c);let{config:s}=o,a=s.name.toLowerCase();if(r.has(a)){let c=r.get(a)??s.name,u=c===s.name?`"${s.name}"`:`"${s.name}" (case-insensitive collision with "${c}")`;n.push(`duplicate agent name ${u} in plugin ${e.id}; ignoring ${i}`);continue}t.set(s.name,s),r.set(a,s.name)}return{agents:t,diagnostics:n}}var lcl,obo,sbo,ubo=C(()=>{"use strict";Il();Tbt();lcl=["read","bash","edit","write","grep","find","ls"],obo=["off","minimal","low","medium","high","xhigh"],sbo=["general-purpose","explore","plan"]});import{lstatSync as gcl,readFileSync as Acl,realpathSync as dbo}from"node:fs";import{isAbsolute as hcl,join as Ecl,relative as ycl}from"node:path";function wEe(e,t){let n=e;for(let r of bcl){let i=`\${${r}}`;n.includes(i)&&(n=n.split(i).join(t))}return n}function pBn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function pbo(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!=null&&(t[n]=String(r));return Object.keys(t).length>0?t:void 0}function Ccl(e){if(e.type==="stdio"||e.type==="http"||e.type==="sse")return e.type;if(e.url)return"http";if(e.command)return"stdio"}function Icl(e,t){let n=Ccl(t);if(!n)throw new Error(`MCP server "${e}" must declare a 'command' (stdio) or 'url' (http/sse) property`);if(n==="http"||n==="sse"){if(!t.url)throw new Error(`MCP server "${e}" has type "${n}" but no 'url' property`);return{type:n,name:e,disabled:t.disabled,url:t.url,headers:pbo(t.headers),auth:t.auth==="oauth"?"oauth":void 0,cwd:t.cwd,timeoutMs:t.timeoutMs}}let r=t.command;if(!r)throw new Error(`MCP server "${e}" has type "stdio" but no 'command' property`);let i=Array.isArray(t.args)?t.args.map(a=>String(a)):[],o=t.useShellInterpolation??!0,s=o&&i.length>0?`${r} ${i.join(" ")}`:r;return{type:"stdio",name:e,disabled:t.disabled,command:s,args:o?[]:i,env:pbo(t.env),cwd:t.cwd,timeoutMs:t.timeoutMs,useShellInterpolation:o}}function mbo(e,t){if(!e)return;let n={};for(let[r,i]of Object.entries(e))n[r]=wEe(i,t);return n}function Scl(e,t){return e.type==="stdio"?{...e,command:wEe(e.command,t),args:e.args.map(n=>wEe(n,t)),env:mbo(e.env,t),cwd:e.cwd?wEe(e.cwd,t):void 0}:{...e,url:wEe(e.url,t),headers:mbo(e.headers,t),cwd:e.cwd?wEe(e.cwd,t):void 0}}function _cl(e,t){let n=Ecl(e,".mcp.json"),r;try{r=gcl(n)}catch(i){if(i?.code==="ENOENT")return;t.push(`failed to stat .mcp.json: ${i.message}`);return}if(r.isSymbolicLink()){t.push(".mcp.json is a symlink; refusing to follow it out of the plugin root");return}if(!r.isFile()){t.push(".mcp.json is not a regular file; skipping");return}try{let i=dbo(e),o=dbo(n),s=ycl(i,o);if(s.startsWith("..")||hcl(s)){t.push(".mcp.json resolves outside the plugin root; skipping");return}}catch(i){t.push(`failed to resolve .mcp.json real path: ${i.message}`);return}try{return Acl(n,"utf-8")}catch(i){t.push(`failed to read .mcp.json: ${i.message}`);return}}function fbo(e){let t=[],n=_cl(e.root,t);if(n===void 0)return{servers:[],diagnostics:t};let r;try{r=JSON.parse(n)}catch(s){return t.push(`failed to parse .mcp.json: ${s.message}`),{servers:[],diagnostics:t}}if(!pBn(r))return t.push(".mcp.json must be a JSON object"),{servers:[],diagnostics:t};let i=r.mcpServers;if(!pBn(i))return t.push('.mcp.json must contain an "mcpServers" object'),{servers:[],diagnostics:t};let o=[];for(let[s,a]of Object.entries(i)){let c=`${e.id}/${xEe(s)}`;if(!pBn(a)){t.push(`MCP server "${c}" must be a JSON object`);continue}try{let u=Icl(c,a);o.push(Scl(u,e.root))}catch(u){t.push(u instanceof Error?u.message:String(u))}}return{servers:o,diagnostics:t}}var bcl,gbo,Abo=C(()=>{"use strict";Tbt();bcl=["CLAUDE_PLUGIN_ROOT","AUGMENT_PLUGIN_ROOT","AUGGIE_PLUGIN_ROOT"];gbo="hermes:mcp:register-server-source"});function hbo(e,t,n){let r=Ms.create(e,t,n),i={};for(let s of[r.getVfsOrgSettings(),r.getVfsSpaceSettings(),r.getVfsUserSettings(),r.getSettings()])for(let[a,c]of Object.entries(s.enabledPlugins??{}))typeof c=="boolean"&&(i[a]=c);let o=r.drainErrors().map(({scope:s,error:a})=>`failed to load ${s} settings: ${a.message}; enabledPlugins entries from this scope will be ignored`);return{enabled:i,diagnostics:o}}var Ebo=C(()=>{"use strict";Il()});var ybo,bbo=C(()=>{"use strict";ybo="hermes:subagents:register-agent-source"});import{join as Cee,resolve as vcl}from"node:path";import{existsSync as xcl,readdirSync as wcl,statSync as Rcl}from"node:fs";function Bcl(){return globalThis[Cbo]??{}}function Ncl(e){globalThis[Cbo]=e}function gBn(e){Zk=[],fBn=[],Nbt=[],mBn=[],JFe=[];let t=!1,n,r=new Map,i,o,s=new Map,a;e.events.on(Pft,w=>{n=w.register}),e.events.on(ybo,w=>{i=w.register}),e.events.on(gbo,w=>{a=w.registerServerSource}),e.events.on(Tcl,w=>{Ncl(w?.scopes??{})});function c(w,R,N=[]){let Q=Bcl(),{enabled:F,diagnostics:D}=hbo(w,R,Q),k=[...new Set(N.map(Ae=>vcl(w,Ae)))],Y=dBn(k,{}),z={...F};for(let Ae of Y.plugins)z[Ae.id]=!0;let K=Cee(G4(),"plugins","marketplaces"),W=Cee(R,"plugins","marketplaces"),q=[Q.user,Q.space,Q.org].flatMap(Ae=>Ae?[Cee(Ae,".augment","plugins","marketplaces")]:[]),me=dBn([...k,K,W,...q],z);for(let Ae of me.shadowedPlugins)nx.debug(`plugin "${Ae.id}" from ${Ae.shadowedRoot} is shadowed by the higher-precedence root ${Ae.winnerRoot}`);return me.globalDiagnostics=[...D,...me.globalDiagnostics],Zk=me.plugins,fBn=me.globalDiagnostics,t=!0,me}function u(w,R,N=[]){t||c(w,R,N)}function l(){let w=new Map,R=new Map;Nbt=[];let N=[...Zk.filter(Q=>Q.enabled)].sort((Q,F)=>Q.id.localeCompare(F.id));for(let Q of N){let{agents:F,diagnostics:D}=lbo(Q);for(let k of D)nx.warn(`[${Q.id}] ${k}`),Nbt.push({type:"warning",message:`[${Q.id}] ${k}`,path:Q.root});for(let[k,Y]of F)d(Q.id,k,Y,w,R)}s=w}function d(w,R,N,Q,F){let D=R.toLowerCase(),k=F.get(D);if(k){let Y=k.name===R?`"${R}"`:`"${R}" (case-insensitive collision with "${k.name}")`;nx.warn(`[${w}] plugin-contributed agent ${Y} shadowed by earlier plugin ${k.pluginId}; ignoring`);return}sbo.includes(D)&&nx.warn(`[${w}] plugin-contributed agent "${R}" 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`),Q.set(R,N),F.set(D,{pluginId:w,name:R})}function p(){if(!i)return;o?.(),o=i({getAgents:()=>s,getDiagnostics:()=>Nbt})}function m(){let w=[];JFe=[];let R=[...Zk.filter(N=>N.enabled)].sort((N,Q)=>N.id.localeCompare(Q.id));for(let N of R){let{servers:Q,diagnostics:F}=fbo(N);for(let D of F)nx.warn(`[${N.id}] ${D}`),JFe.push({type:"warning",message:`[${N.id}] ${D}`,path:N.root});for(let D of Q)w.push(D)}mBn=w}function f(){if(!a)return;a({source:"plugin",getServers:()=>mBn,getDiagnostics:()=>JFe})}function g(){if(n){for(let w of r.values())w();r.clear();for(let w of Zk){if(!w.enabled)continue;let R=kcl(w);r.set(w.id,n(R))}}}function A(){for(let w of r.values())w();r.clear()}function h(){let w=[],R=[];for(let N of Zk){if(!N.enabled){for(let Q of N.diagnostics)nx.debug(`[${N.id}] ${Q}`);continue}N.commandsDir&&R.push(N.commandsDir),N.skillsDir&&w.push(N.skillsDir);for(let Q of N.diagnostics)nx.warn(`[${N.id}] ${Q}`)}return{skillPaths:w,promptPaths:R}}e.on("resources_discover",(w,R)=>{t=!1;let N=c(w.cwd,w.agentDir,R.pluginDirs),{skillPaths:Q,promptPaths:F}=h();for(let k of N.globalDiagnostics)nx.warn(k);let D=Zk.filter(k=>k.enabled).length;return Zk.length>0&&nx.info(`Discovered ${Zk.length} plugin(s); ${D} enabled`),g(),l(),p(),_(),m(),f(),v(),{skillPaths:Q,promptPaths:F}}),e.on("session_start",(w,R)=>{u(R.cwd,R.agentDir,R.pluginDirs),g(),l(),p(),I(),m(),f();let N=Cee(G4(),"plugins","marketplaces"),Q=Cee(R.agentDir,"plugins","marketplaces");$yo([N,Q]).then(F=>{F&&(t=!1,c(R.cwd,R.agentDir,R.pluginDirs),g(),l(),p(),m(),f())}).catch(F=>{nx.debug(`background plugin source fetch failed: ${F instanceof Error?F.message:String(F)}`)})}),e.on("session_shutdown",()=>{A(),o?.(),o=void 0,s=new Map});let E=!1,y=!1,b=!1;function I(){!n&&!E&&(E=!0,nx.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 _(){!i&&!y&&(y=!0,nx.debug("@hermes/subagents did not register an agent source; plugin-contributed subagents will not be available (expected when --disable-subagents is set)."))}function v(){!a&&!b&&(b=!0,nx.debug("@hermes/mcp did not register a server source; plugin-contributed MCP servers will not be loaded."))}}function kcl(e){return{source:e.id,isEnabled:()=>e.enabled,getConfig:()=>e.hooksConfig,env:Dcl(e.root),postToolUsePrefix:`Plugin ${e.id} hook`,backgroundLabel:t=>`[${e.id}] ${t} hook`,blockedFallbackReason:"Blocked by plugin hook"}}function Dcl(e){return{PLUGIN_ROOT:e,CLAUDE_PLUGIN_ROOT:e}}function M6(){return Zk}function $Fe(e){return Cee(e,"plugins","marketplaces")}function kbt(e){let t=$Fe(e);if(!xcl(t))return[];let n;try{n=wcl(t)}catch{return[]}let r=[];for(let i of n){let o=Cee(t,i);try{if(!Rcl(o).isDirectory())continue}catch{continue}let{manifest:s}=D6(o);if(!s)continue;let a=typeof s.name=="string"&&s.name.length>0?s.name:i;r.push({dir:i,name:a,path:o})}return r}function rO(){let e=[];for(let t of Zk)for(let n of t.diagnostics)e.push({type:"warning",message:`[${t.id}] ${n}`,path:t.root});for(let t of fBn)e.push({type:"warning",message:t});for(let t of JFe)e.push(t);return e}var nx,Tcl,Cbo,Zk,fBn,Nbt,mBn,JFe,REe=C(()=>{"use strict";Il();Yq();sr();ubo();Tbt();Rbt();wbt();Abo();Ebo();bbo();Rbt();nx=Gt.child({prefix:"pi-plugins"}),Tcl="augment:vfs-scopes",Cbo=Symbol.for("__pi_plugins_vfs_scopes__");Zk=[],fBn=[],Nbt=[],mBn=[],JFe=[]});function ABn(){let e=globalThis;return e[Ibo]??=new Map,e[Ibo]}function Sbo(){return[...ABn().values()]}function _bo(e){return ABn().get(e)}function vbo(e){let t=ABn();t.clear();for(let n of e)t.set(n.name,n)}var Ibo,hBn=C(()=>{"use strict";Ibo=Symbol.for("__hermes_cloud_tool_registry__")});function Mcl(e){return{...e,execute:(t,n,r,i,o)=>{let s=_bo(e.name);if(!s)throw new Error(`Cloud tool "${e.name}" is unavailable`);return s.execute(t,n,r,i,o)}}}function EBn(e){for(let t of Sbo())e.registerTool(Mcl(t))}var xbo=C(()=>{"use strict";hBn()});function Dbt(){let e=globalThis;return e[wbo]??=new Map,e[wbo]}function Tbo(){return[...Dbt().values()]}function Bbo(e){return Dbt().get(e)}function Q6(e){Dbt().set(e.name,e)}function Nbo(e,t){let n=Dbt();(t===void 0||n.get(e)===t)&&n.delete(e)}function kbo(e){Reflect.set(e,Rbo,!0)}function Mbt(e){return Reflect.get(e,Rbo)===!0}var wbo,Rbo,Iee=C(()=>{"use strict";wbo=Symbol.for("__hermes_mcp_tool_registry__"),Rbo=Symbol.for("__hermes_mcp_extension_factory__")});function Qcl(e){return{...e,execute:(t,n,r,i,o)=>{let s=Bbo(e.name);if(!s)throw new Error(`MCP tool "${e.name}" is unavailable`);return s.execute(t,n,r,i,o)}}}function Qbt(e){for(let t of Tbo())e.registerTool(Qcl(t))}var Dbo=C(()=>{"use strict";Iee()});import{existsSync as Fcl}from"node:fs";import{homedir as KFe}from"node:os";import{dirname as yBn,join as rT,resolve as Qbo}from"node:path";import{fileURLToPath as Ocl}from"node:url";function Fbo(){let e=process.env.PI_PACKAGE_DIR;if(e)return e==="~"?KFe():e.startsWith("~/")?KFe()+e.slice(1):e;let t=Mbo;for(;t!==yBn(t);){if(Fcl(rT(t,"package.json")))return t;t=yBn(t)}return Mbo}function Fbt(){return Qbo(rT(Fbo(),"docs"))}function Obt(){return Qbo(rT(Fbo(),"CHANGELOG.md"))}function Ubo(e){return`${process.env.PI_SHARE_VIEWER_URL||Ucl}#${e}`}function Gbo(e){return e==="~"?KFe():e.startsWith("~/")?KFe()+e.slice(1):e}function iO(){let e=process.env.AUGMENT_CACHE_DIR;return e?Gbo(e):rT(KFe(),".augment")}function gi(){let e=process.env[bBn];return e?Gbo(e):iO()}function eOe(){return rT(gi(),"themes")}function Vbo(){return rT(gi(),"models.json")}function Wbo(){return rT(gi(),"auth.json")}function Ybo(){return rT(gi(),"settings.json")}function tOe(){return iO()}function TEe(){return rT(gi(),"bin")}function zbo(){return rT(gi(),"prompts")}function Zbo(){return rT(gi(),jFe)}function Hbo(){return rT(gi(),`${is}-debug.log`)}var Pcl,Mbo,is,Ba,jFe,qFe,Obo,Lcl,Ru,Pbo,Lbo,bBn,Ucl,dl=C(()=>{"use strict";Jsn();Pcl=Ocl(import.meta.url),Mbo=yBn(Pcl);is=U4.piConfig?.name||"auggie",Ba=U4.piConfig?.configDir||".augment",jFe="sessions-v2",qFe=is,Obo="Auggie Coding Agent",Lcl="1.2.0-prerelease.202609141517",Ru=Lcl??U4.version,Pbo="2cc2a3629ad8ab562e32c418a5e6088c7a5b7dad",Lbo="2026-09-14T22:17:43Z",bBn=`${is.toUpperCase()}_CODING_AGENT_DIR`,Ucl="https://pi.dev/session/"});var Jbo,Xbo=C(()=>{Jbo={$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 Kbo,$bo=C(()=>{Kbo={$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 M0 from"node:fs";import*as Lbt from"node:path";function Ycl(){let e=process.env.COLORTERM;if(e==="truecolor"||e==="24bit"||process.env.WT_SESSION)return"truecolor";let t=process.env.TERM||"";return t==="dumb"||t===""||t==="linux"||process.env.TERM_PROGRAM==="Apple_Terminal"||t==="screen"||t.startsWith("screen-")||t.startsWith("screen.")?"256color":"truecolor"}function _Bn(e){let t=e.replace("#","");if(t.length!==6)throw new Error(`Invalid hex color: ${e}`);let n=Number.parseInt(t.slice(0,2),16),r=Number.parseInt(t.slice(2,4),16),i=Number.parseInt(t.slice(4,6),16);if(Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i))throw new Error(`Invalid hex color: ${e}`);return{r:n,g:r,b:i}}function CBn(e){let t=Number.POSITIVE_INFINITY,n=0;for(let[r,i]of Pbt.entries()){let o=Math.abs(e-i);o<t&&(t=o,n=r)}return n}function zcl(e){let t=Number.POSITIVE_INFINITY,n=0;for(let[r,i]of tCo.entries()){let o=Math.abs(e-i);o<t&&(t=o,n=r)}return n}function qbo(e,t,n,r,i,o){let s=e-r,a=t-i,c=n-o;return s*s*.299+a*a*.587+c*c*.114}function Zcl(e,t,n){let r=CBn(e),i=CBn(t),o=CBn(n),s=Pbt[r]??0,a=Pbt[i]??0,c=Pbt[o]??0,u=16+36*r+6*i+o,l=qbo(e,t,n,s,a,c),d=Math.round(.299*e+.587*t+.114*n),p=zcl(d),m=tCo[p]??0,f=232+p,g=qbo(e,t,n,m,m,m),A=Math.max(e,t,n),h=Math.min(e,t,n);return A-h<10&&g<l?f:u}function nCo(e){let{r:t,g:n,b:r}=_Bn(e);return Zcl(t,n,r)}function Hcl(e,t){if(e==="")return"\x1B[39m";if(typeof e=="number")return`\x1B[38;5;${e}m`;if(e.startsWith("#")){if(t==="truecolor"){let{r,g:i,b:o}=_Bn(e);return`\x1B[38;2;${r};${i};${o}m`}return`\x1B[38;5;${nCo(e)}m`}throw new Error(`Invalid color value: ${e}`)}function Xcl(e,t){if(e==="")return"\x1B[49m";if(typeof e=="number")return`\x1B[48;5;${e}m`;if(e.startsWith("#")){if(t==="truecolor"){let{r,g:i,b:o}=_Bn(e);return`\x1B[48;2;${r};${i};${o}m`}return`\x1B[48;5;${nCo(e)}m`}throw new Error(`Invalid color value: ${e}`)}function vBn(e,t,n=new Set){if(typeof e=="number"||e===""||e.startsWith("#"))return e;if(n.has(e))throw new Error(`Circular variable reference detected: ${e}`);if(!(e in t))throw new Error(`Variable reference not found: ${e}`);n.add(e);let r=t[e];if(r===void 0)throw new Error(`Variable reference not found: ${e}`);return vBn(r,t,n)}function rCo(e,t={}){let n={};for(let[r,i]of Object.entries(e))n[r]=vBn(i,t);return n}function Ubt(){let e=new Set(Object.keys(xBn)),t=eOe();if(M0.existsSync(t)){let n=M0.readdirSync(t);for(let r of n)r.endsWith(".json")&&e.add(r.slice(0,-5))}for(let n of xee.keys())e.add(n);return Array.from(e).sort()}function iCo(){let e=eOe(),t=[];for(let n of Object.keys(xBn))t.push({name:n,path:void 0});if(M0.existsSync(e)){for(let n of M0.readdirSync(e))if(n.endsWith(".json")){let r=n.slice(0,-5);t.some(i=>i.name===r)||t.push({name:r,path:Lbt.join(e,n)})}}for(let[n,r]of xee.entries())t.some(i=>i.name===n)||t.push({name:n,path:r.sourcePath});return t.sort((n,r)=>n.name.localeCompare(r.name))}function Jcl(e,t){if(!jbo.Check(t)){let n=Array.from(jbo.Errors(t)),r=[],i=[];for(let s of n){let c=s.path.match(/^\/colors\/(\w+)$/)?.[1];c&&s.message.includes("Required")?r.push(c):i.push(` - ${s.path}: ${s.message}`)}let o=`Invalid theme "${e}":
|
|
6703
6710
|
`;throw r.length>0&&(o+=`
|
|
6704
6711
|
Missing required color tokens:
|
|
6705
6712
|
`,o+=r.map(s=>` - ${s}`).join(`
|
|
@@ -11711,7 +11718,14 @@ ${r}
|
|
|
11711
11718
|
|
|
11712
11719
|
`;return t.trimEnd()}function Wvo(e){let t=Array.from(e,i=>{let o=i.codePointAt(0)??0;return o<=31||o===127?" ":i}).join("").replace(/\s+/gu," ").trim(),n=t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1).trim():t,r=Array.from(n);return r.length<=Uvo?n:`${r.slice(0,Uvo-1).join("")}\u2026`}function Cbl(e){let t=Wvo(e);if(t)return t[0]?.toUpperCase()+t.slice(1)}function v0t(e){return JSON.stringify([e.provider,e.id])}function O2n(e){let n=e.getSettings()[Vvo];return!n||typeof n!="object"||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(r=>typeof r[1]=="string"))}function gye(e,t,n){let r=[Vvo,v0t(t)];if(n===void 0){e.remove("global",{paths:[r]});return}e.update("global",{path:r,value:n})}var pbl,mbl,fbl,ybl,bbl,Lvo,Vvo,Uvo,cte,Gvo,Ibl,Aye,x0t=C(()=>{"use strict";as();sr();dl();vs();ACo();kEe();ECo();xCo();wCo();RCo();tNn();r0o();sNn();S0o();fCt();Qee();aT();yCt();DNn();FOe();DOe();DIo();cx();H6();QIo();OIo();dOe();rz();dC();p_o();O_o();avo();mvo();vvo();Fvo();oz();ZCt();pbl=2e5,mbl=64e3,fbl="Tool result processing failed before it could be returned safely.";ybl=1e3,bbl=3600*1e3,Lvo="subagent-usage",Vvo="reasoningEffortPreferences",Uvo=80;cte="augment",Gvo="gemini-3-1-flash-lite-silent-override-1m-v1-c4-p2-agent",Ibl=1e6,Aye=class{agent;sessionManager;settingsManager;_scopedModels;_warnedInvalidReasoningPreferences=new Set;_unsubscribeAgent;_unsubscribeResourceChanges;_unsubscribeSubagentUsage;_eventListeners=[];_agentEventQueue=Promise.resolve();_recoveryDiagnosticsEnabled=kNn();_diagnosticPendingEvents=0;_diagnosticPendingContinuations=0;_diagnosticActiveContinuations=0;_diagnosticDisposed=!1;get recoveryDiagnosticState(){return{pendingEvents:this._diagnosticPendingEvents,pendingContinuations:this._diagnosticPendingContinuations,activeContinuations:this._diagnosticActiveContinuations,isCompacting:this.isCompacting,isRetrying:this.isRetrying,isStreaming:this.isStreaming,disposed:this._diagnosticDisposed,messageCount:this.agent.state.messages.length}}_steeringMessages=[];_followUpMessages=[];_queueItems=[];_executingQueueItemIds=[];_pendingNextTurnMessages=[];_compactionAbortController=void 0;_autoCompactionAbortController=void 0;_latestAgentEndObservation;_abortGeneration=0;_proactiveCompactionReadiness;_reactiveRecovery;_reactiveRecoveryFailure;_reactiveContinuationFailed=!1;_overflowRecoveryAttempted=!1;_overflowEvictionAttempted=!1;_summarizeAndRetryAttempted=!1;_branchSummaryAbortController=void 0;_retryAbortController=void 0;_retryAttempt=0;_retryPromise=void 0;_retryResolve=void 0;_rateLimitAttempt=0;_rateLimitDeadline=void 0;_bashAbortController=void 0;_pendingBashMessages=[];_extensionRunner=void 0;_turnIndex=0;_nextProviderRequestId=void 0;_nextProviderModel=void 0;_activeTurnModelOverride=void 0;_currentRequestId=void 0;_turnStartSeen=!1;_resourceLoader;_customTools;_baseToolDefinitions=new Map;_cwd;_agentDir;_pluginDirs;_mcpConfigOverride;_permissionOverride;_extensionRunnerRef;_initialActiveToolNames;_baseToolsOverride;_toolsOptions;_sessionStartEvent;_errorReporter;_scheduler;_extensionUIContext;_extensionCommandContextActions;_extensionShutdownHandler;_extensionErrorListener;_extensionMode="interactive";_extensionRole="parent";_extensionErrorUnsubscriber;_modelRegistry;_featureFlags;_lastRulesTruncationSignature;_toolRegistry=new Map;_toolDefinitions=new Map;_toolPromptSnippets=new Map;_toolPromptGuidelines=new Map;_toolResultPostProcessor=t_o({compressors:[y_o(),b_o(),d_o(),Bvo(),G_o(),V_o(),Svo(),pvo()],rawStoragePolicy:jSo([C_o,u_o,Nvo,W_o,_vo,dvo])});_baseSystemPrompt="";constructor(t){this.agent=t.agent,this.sessionManager=t.sessionManager,this.settingsManager=t.settingsManager,this._scopedModels=t.scopedModels??[],this._resourceLoader=t.resourceLoader,this._customTools=t.customTools??[],this._cwd=t.cwd,this._agentDir=t.agentDir??gi(),this._pluginDirs=t.pluginDirs,this._mcpConfigOverride=t.mcpConfigOverride,this._permissionOverride=t.permissionOverride,this._modelRegistry=t.modelRegistry,this._featureFlags=t.featureFlags,this._extensionRunnerRef=t.extensionRunnerRef,this._initialActiveToolNames=t.initialActiveToolNames,this._baseToolsOverride=t.baseToolsOverride,this._toolsOptions=t.toolsOptions,this._sessionStartEvent=t.sessionStartEvent??{type:"session_start",reason:"startup"},this._errorReporter=t.errorReporter??{reportSummarizationError:gCo,reportAgentStop:fCo},this._scheduler=t.scheduler??((r,i)=>{setTimeout(i,r)}),t.role!==void 0&&(this._extensionRole=t.role),this._unsubscribeAgent=this.agent.subscribe(this._handleAgentEvent),this._installAgentToolHooks(),this._installCallerRequestIdInjector(),this._buildRuntime({activeToolNames:this._initialActiveToolNames,includeAllExtensionTools:!0});let n=this._resourceLoader.getEventBus?.();n&&(this._unsubscribeResourceChanges=n.on(qEe,()=>this._refreshSystemPromptFromResources())),this._subscribeToSubagentUsage()}_subscribeToSubagentUsage(){let t=this._resourceLoader.getEventBus?.();if(!t)return;let n=o=>this._recordSubagentUsage(o),r=t.on("subagents:completed",n),i=t.on("subagents:failed",n);this._unsubscribeSubagentUsage=()=>{r(),i()}}_recordSubagentUsage(t){let n=t?.tokens,r=n?.total??0;if(r<=0)return;let i={input:n?.input??0,output:n?.output??0,total:r};this.sessionManager.appendCustomEntry(Lvo,i)}get modelRegistry(){return this._modelRegistry}async _getRequiredRequestAuth(t){let n=await this._modelRegistry.getApiKeyAndHeaders(t);if(!n.ok)throw new Error(n.error);if(n.apiKey)return{apiKey:n.apiKey,headers:n.headers};throw this._modelRegistry.isUsingOAuth(t)?new Error(`Authentication failed for "${t.provider}". Credentials may have expired or network is unavailable. Run '/login ${t.provider}' to re-authenticate.`):new Error(`No API key found for ${t.provider}.
|
|
11713
11720
|
|
|
11714
|
-
Use /login or set an API key environment variable. See ${M2n(Fbt(),"providers.md")}`)}async _tryResolveSummarizationModel(){let t=this._resolveSummaryModelSelection({warn:!0});if(!t)return;let n=await this._modelRegistry.getApiKeyAndHeaders(t);if(!n.ok||!n.apiKey){Gt.warn(`Summarization model "${t.provider}/${t.id}" has no usable auth; using main model.`);return}return{model:t,apiKey:n.apiKey,headers:n.headers}}_resolveUserSummarizationModel({warn:t}){let n=this.settingsManager.getCompactionSettings().summarizationModel;if(!n)return;let r=n.indexOf("/");if(r<=0||r===n.length-1){t&&Gt.warn(`Ignoring malformed compaction.summarizationModel "${n}" (expected "provider/model-id"); trying the configured fallback model.`);return}let i=n.slice(0,r),o=n.slice(r+1),s=this._modelRegistry.find(i,o);return!s&&t&&Gt.warn(`Ignoring compaction.summarizationModel "${n}" because it was not found in the registry; trying the configured fallback model.`),s}_resolveSummaryModelSelection({warn:t}={warn:!1}){let n=this._resolveUserSummarizationModel({warn:t});if(n)return n;let r=this.model,i=wNn(this._featureFlags,r?[r.id,`${r.provider}/${r.id}`]:[]);if(i){if(this._isValidFlagSummarizationModelId(i)){let o=this._buildSummarizationModelById(i);if(o)return o}t&&Gt.warn(`Summarization model "${i}" is invalid or could not be created from the registered Augment provider; trying the default summarization model.`)}return this._buildSummarizationModelById(Gvo)}_isValidFlagSummarizationModelId(t){let n=t.split("/");return n.length===1&&n[0].length>0||n.length===2&&n[0]===cte&&n[1].length>0}_buildSummarizationModelById(t){let n=this._modelRegistry.getAll().find(s=>s.provider===cte);if(!n)return;let r=t.startsWith(`${cte}/`)?t.slice(cte.length+1):t,i=this.model,o=ACt(this._featureFlags,i?[i.id,`${i.provider}/${i.id}`]:[]);return{...n,id:r,name:r,contextWindow:o.maxTokens??(r===Gvo?Ibl:n.contextWindow)}}_resolveCompactionSettings(t){let n=this.settingsManager.getCompactionSettings(),r=this.model,i=r?[r.id,`${r.provider}/${r.id}`]:[],o=ACt(this._featureFlags,i),s=this._resolveUserSummarizationModel({warn:!1})?void 0:wNn(this._featureFlags,i),a=s?.startsWith(`${cte}/`)?s.slice(cte.length+1):s,c=t.provider===cte&&t.id===a;return{...n,reserveTokens:o.reserveTokens??n.reserveTokens,keepRecentTokens:o.keepRecentTokens??n.keepRecentTokens,inputBudgetTriggerRatio:n.inputBudgetTriggerRatio??o.inputBudgetTriggerRatio,fallbackInputBudgetRatio:n.fallbackInputBudgetRatio??o.fallbackInputBudgetRatio,maxMessageTokens:n.maxMessageTokens??(c?o.maxMessageTokens:void 0),summaryContextWindow:c?o.maxTokens:void 0}}_resolveSummaryTriggerModel(){return this._resolveSummaryModelSelection()??this.model}_resolveTriggerSizing(){let t=this._resolveSummaryModelSelection();if(!t)return{...Pvo(this._resolveActiveTurnModel()),settings:this.settingsManager.getCompactionSettings()};let n=this._resolveCompactionSettings(t),r=Math.max(0,n.protectedHeadTokens??qbt);return{window:n.summaryContextWindow??t.contextWindow,triggerHeadroomTokens:r+n.keepRecentTokens,settings:n}}_installAgentToolHooks(){this.agent.beforeToolCall=async({toolCall:t,args:n})=>{let r=this._extensionRunner,i=r?.hasHandlers("tool_call")??!1,o=r?.hasHandlers("tool_decision")??!1;if(!r||!i&&!o)return;await this._agentEventQueue;let s=async c=>{o&&await r.emit(FIo({toolName:t.name,toolCallId:t.id,result:c}))},a;if(i)try{a=await r.emitToolCall({type:"tool_call",toolName:t.name,toolCallId:t.id,input:n})}catch(c){let u=c instanceof Error?c.message:`Extension error: ${c}`;throw await s({block:!0,reason:u,decisionSource:"hook"}),c instanceof Error?c:new Error(`Extension failed, blocking execution: ${String(c)}`)}return await s(a),a},this.agent.afterToolCall=async({toolCall:t,args:n,result:r,isError:i})=>{try{let o=rye(r),s=i,a=this._extensionRunner;if(a?.hasHandlers("tool_result")){let l=await a.emitToolResult({type:"tool_result",toolName:t.name,toolCallId:t.id,input:n,content:o.content,details:s?void 0:o.details,isError:s});l&&!s&&(o={content:l.content??o.content,details:l.details??o.details,terminate:o.terminate},s=l.isError??s)}let c=s?void 0:this._buildNestedContextTailForTool(t.name,n),u=await this._toolResultPostProcessor.process({toolCall:t,args:n,result:o,isError:s,sessionDir:this.sessionManager.getSessionDir(),sessionId:this.sessionManager.getSessionId()});return this._finalizeAfterToolCall({originalResult:r,originalIsError:i,currentResult:o,currentIsError:s,processedResult:u,nestedContextTail:c})}catch{return Gt.error("Tool result processing failed",{toolName:t.name}),{content:[{type:"text",text:fbl}],details:{},isError:!0}}}}_finalizeAfterToolCall(t){let{originalResult:n,originalIsError:r,currentResult:i,currentIsError:o,processedResult:s,nestedContextTail:a}=t;if(!(s||a))return Abl(n,r,i,o);let c=s??i;return{content:a?[...c.content,{type:"text",text:a}]:c.content,details:c.details,isError:o,terminate:c.terminate}}_buildNestedContextTailForTool(t,n){if(t!=="read"&&t!=="edit"&&t!=="write"||!n||typeof n!="object"||!("path"in n))return;let r=n.path;if(typeof r!="string"||r.length===0)return;let i=this._resourceLoader.loadContextFilesForPath?.(r);if(!(!i||i.length===0))return Ebl(i)}_emit(t){t.type==="compaction_start"?za("compaction_start",{...this.recoveryDiagnosticState,overflow:t.reason==="overflow",threshold:t.reason==="threshold",summarizeAndRetry:t.reason==="summarize_and_retry"}):t.type==="compaction_end"&&za(t.result?"compaction_success":"compaction_failure",{...this.recoveryDiagnosticState,aborted:t.aborted,willRetry:t.willRetry,tokensBefore:t.result?.tokensBefore,tokensAfter:t.tokensAfter,durationMs:t.durationMs});for(let n of this._eventListeners)n(t)}_emitQueueUpdate(){this._persistQueue(),this._emit({type:"queue_update",steering:[...this._steeringMessages],followUp:[...this._followUpMessages]})}_persistQueue(){this.sessionManager.persistQueueState(this._queueItems)}_markQueueItemExecuting(t,n){let r=this._queueItems.find(i=>i.delivery===t&&i.status==="pending"&&i.text===n);r&&(r.status="executing",this._executingQueueItemIds.push(r.id))}_takeExecutingQueueItemId(){return this._executingQueueItemIds.shift()}_finalizeQueueHandoff(t){if(!t)return;let n=this._queueItems.length;this._queueItems=this._queueItems.filter(r=>r.id!==t),this._queueItems.length!==n&&this._persistQueue()}restoreQueue(t){for(let n of t){let{expandedText:r,invocation:i,ruleReference:o}=this._expandInput(n.text,void 0);this._queueFollowUp(r,void 0,i,o)}return Promise.resolve()}_lastAssistantMessage=void 0;_handleAgentEvent=t=>{this._createRetryPromiseForAgentEnd(t),this._createReactiveRecoveryForAgentEnd(t);let n=this._createAgentEndObservation(t),r=this._createProactiveCompactionReadinessForAgentEnd(t),i=()=>this._processAgentEvent(t,n).catch(c=>{throw this._resolveRetry(),this._rejectReactiveRecovery(c instanceof Error?c:new Error(String(c))),c}).finally(()=>{n?.resolve(),this._resolveProactiveCompactionReadiness(r)});if(this._agentEventQueue=this._agentEventQueue.then(i,i),!this._recoveryDiagnosticsEnabled){this._agentEventQueue.catch(()=>{});return}this._diagnosticPendingEvents++;let o={agentEnd:t.type==="agent_end",messageEnd:t.type==="message_end",turnEnd:t.type==="turn_end"},s=o.agentEnd||o.messageEnd||o.turnEnd;s&&za("event_queued",{...this.recoveryDiagnosticState,...o});let a=c=>{this._diagnosticPendingEvents--,(s||c)&&za(c?"event_processing_failed":"event_processed",{...this.recoveryDiagnosticState,...o})};this._agentEventQueue.then(()=>a(!1),()=>a(!0))};_createRetryPromiseForAgentEnd(t){if(t.type!=="agent_end"||this._retryPromise)return;if(!this.settingsManager.getRetrySettings().enabled){za("retry_gate",{...this.recoveryDiagnosticState,enabled:!1});return}let r=this._findLastAssistantInMessages(t.messages),i=!!r&&this._isRetryableError(r);za("retry_gate",{...this.recoveryDiagnosticState,enabled:!0,hasAssistant:!!r,retryable:i}),i&&(this._retryPromise=new Promise(o=>{this._retryResolve=o}),za("retry_promise_created",this.recoveryDiagnosticState))}_createReactiveRecoveryForAgentEnd(t){if(t.type!=="agent_end"||this._reactiveRecovery)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||!this._willRetryAfterAgentEnd(n))return;let r,i,o=new Promise((s,a)=>{r=s,i=a});o.catch(()=>{}),this._reactiveRecovery={promise:o,resolve:r,reject:i},this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1}_createAgentEndObservation(t){if(t.type!=="agent_end")return;let n,i={promise:new Promise(o=>{n=o}),resolve:n,recovery:this._reactiveRecovery?.promise,abortGeneration:this._abortGeneration};return this._latestAgentEndObservation=i,i}_createProactiveCompactionReadinessForAgentEnd(t){if(t.type!=="agent_end"||this._proactiveCompactionReadiness||!this.settingsManager.getCompactionSettings().enabled)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||n.stopReason==="error"||n.stopReason==="aborted"||n.stopReason==="summarize_and_retry")return;let r,o={promise:new Promise(s=>{r=s}),resolve:r};return this._proactiveCompactionReadiness=o,o}_resolveProactiveCompactionReadiness(t){!t||this._proactiveCompactionReadiness!==t||(this._proactiveCompactionReadiness=void 0,t.resolve())}_findLastAssistantInMessages(t){for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _processAgentEvent(t,n){if(this._recoveryDiagnosticsEnabled&&(t.type==="agent_end"||t.type==="message_end"||t.type==="turn_end")&&za("event_processing",{...this.recoveryDiagnosticState,agentEnd:t.type==="agent_end",messageEnd:t.type==="message_end",turnEnd:t.type==="turn_end"}),t.type==="turn_start"){if(this._turnStartSeen&&this.model?.provider==="augment"){let i=D2n();this._nextProviderRequestId=i,this._currentRequestId=i}this._turnStartSeen=!0}if(t.type==="message_start"&&sT(t.message.role)){this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1,this._summarizeAndRetryAttempted=!1;let i="";if(t.message.role==="promptCommandInvocation"?i=Gy(t.message):t.message.role==="ruleReference"?i=Jk(t.message):t.message.role==="user"&&(i=this._getUserMessageText(t.message)),i){let o=this._steeringMessages.indexOf(i);if(o===-1){let s=this._followUpMessages.indexOf(i);s!==-1&&(this._followUpMessages.splice(s,1),this._markQueueItemExecuting("followUp",i),this._emitQueueUpdate())}else this._steeringMessages.splice(o,1),this._markQueueItemExecuting("steering",i),this._emitQueueUpdate()}}let r=hbl(t);if(await this._emitExtensionEvent(r),this._emit(r),t.type==="message_end"){let i=t.message.role==="toolResult"?F2n(t.message):t.message;if(i.role==="custom")this.sessionManager.appendCustomMessageEntry(i.customType,i.content,i.display,i.details);else if(i.role==="user"||i.role==="assistant"||i.role==="toolResult"){let o=i.role==="user"?this._takeExecutingQueueItemId():void 0;this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="promptCommandInvocation"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="ruleReference"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}if(t.message.role==="assistant"){this._lastAssistantMessage=t.message;let o=t.message;o.stopReason!=="error"&&(this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1),o.stopReason!=="error"&&o.stopReason!=="summarize_and_retry"&&(this._activeTurnModelOverride=void 0,this._summarizeAndRetryAttempted=!1),o.stopReason!=="error"&&this._retryAttempt>0&&(this._logPublicRetry("Automatic retry completed",{attempt:this._retryAttempt,outcome:"completed"}),this._emit({type:"auto_retry_end",success:!0,attempt:this._retryAttempt}),this._retryAttempt=0),o.stopReason!=="error"&&(this._rateLimitAttempt>0&&this._logPublicRetry("Automatic retry completed",{attempt:this._rateLimitAttempt,outcome:"completed"}),this._rateLimitAttempt=0,this._rateLimitDeadline=void 0)}}if(t.type==="agent_end"){let i=this._findLastAssistantInMessages(t.messages)??this._lastAssistantMessage;if(this._lastAssistantMessage=void 0,!i||n&&n.abortGeneration!==this._abortGeneration){this._resolveRetry(),this._resolveReactiveRecovery();return}i.stopReason==="error"&&i.errorMessage&&Gt.error(`LLM error [${i.provider}/${i.model}]: ${i.errorMessage}`);let o=this._willAttemptAutomaticRetryAfterAgentEnd(i),s=!1;if(this._isRetryableError(i)){let u=await this._handleRetryableError(i);if(o&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:u==="retrying",...u==="aborted"?{retryAborted:!0}:{}}),u==="retrying")return;s=u==="aborted"}this._resolveRetry(),i.stopReason==="error"&&!s&&(this._emit({type:"message_send_error",errorMessage:i.errorMessage}),this._willRecoverViaOverflowCompaction(i)||this._errorReporter.reportAgentStop({reason:this._isRetryableError(i)?"retry_exhausted":"error",errorMessage:i.errorMessage,provider:i.provider,model:i.model,stopReason:i.stopReason,transportError:AB(i.diagnostics)})),i.stopReason==="empty_completion"&&this._errorReporter.reportAgentStop({reason:"empty_completion",provider:i.provider,model:i.model,stopReason:i.stopReason}),n?.resolve(),this._reactiveRecovery&&i.stopReason!=="error"&&i.stopReason!=="aborted"&&i.stopReason!=="summarize_and_retry"&&this._resolveReactiveRecovery();let a=this._willRetryAfterAgentEnd(i),c=!1;try{c=await this._checkCompaction(i)}catch(u){throw this._rejectReactiveRecovery(u instanceof Error?u:new Error(String(u))),u}finally{za("agent_end_recovery",{...this.recoveryDiagnosticState,retryScheduled:c}),a&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:c,continuationFailed:!c&&this._reactiveContinuationFailed})}!c&&this._reactiveRecovery&&(this._reactiveRecoveryFailure?this._rejectReactiveRecovery(this._reactiveRecoveryFailure):this._resolveReactiveRecovery())}}_willAttemptAutomaticRetryAfterAgentEnd(t){return this.settingsManager.getRetrySettings().enabled&&this._isRetryableError(t)}_willRetryAfterAgentEnd(t){return t.stopReason==="summarize_and_retry"?!this._summarizeAndRetryAttempted&&this.settingsManager.getCompactionSettings().enabled&&!this._isAssistantFromBeforeLatestCompaction(t):this._willRecoverViaOverflowCompaction(t)?!this._overflowRecoveryAttempted||!this._overflowEvictionAttempted:!1}_resolveReactiveRecovery(){let t=this._reactiveRecovery;t&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,t.resolve())}_rejectReactiveRecovery(t){let n=this._reactiveRecovery;n&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,n.reject(t))}_recordReactiveRecoveryFailure(t){this._reactiveRecovery&&!this._reactiveRecoveryFailure&&(this._reactiveRecoveryFailure=new Error(t))}_resolveRetry(){this._retryResolve&&(this._retryResolve(),this._retryResolve=void 0,this._retryPromise=void 0,za("retry_resolved",this.recoveryDiagnosticState))}_getUserMessageText(t){if(t.role!=="user")return"";let n=t.content;return typeof n=="string"?n:n.filter(i=>i.type==="text").map(i=>i.text).join("")}_findLastAssistantMessage(){let t=this.agent.state.messages;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _emitExtensionEvent(t){if(this._extensionRunner){if(t.type==="agent_start")this._turnIndex=0,await this._extensionRunner.emit({type:"agent_start"});else if(t.type==="agent_end"){let n=this._lastAssistantMessage;await this._extensionRunner.emit({type:"agent_end",messages:t.messages,willRetry:n!==void 0&&(this._willAttemptAutomaticRetryAfterAgentEnd(n)||this._willRetryAfterAgentEnd(n))})}else if(t.type==="turn_start"){let n={type:"turn_start",turnIndex:this._turnIndex,timestamp:Date.now()};await this._extensionRunner.emit(n)}else if(t.type==="turn_end"){let n={type:"turn_end",turnIndex:this._turnIndex,message:t.message,toolResults:t.toolResults};await this._extensionRunner.emit(n),this._turnIndex++}else if(t.type==="message_start"){let n={type:"message_start",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="message_update"){let n={type:"message_update",message:t.message,assistantMessageEvent:t.assistantMessageEvent};await this._extensionRunner.emit(n)}else if(t.type==="message_end"){let n={type:"message_end",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_start"){let n={type:"tool_execution_start",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_update"){let n={type:"tool_execution_update",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args,partialResult:t.partialResult};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_end"){let n={type:"tool_execution_end",toolCallId:t.toolCallId,toolName:t.toolName,result:t.result,isError:t.isError};await this._extensionRunner.emit(n)}}}subscribe(t){return this._eventListeners.push(t),()=>{let n=this._eventListeners.indexOf(t);n!==-1&&this._eventListeners.splice(n,1)}}_disconnectFromAgent(){this._unsubscribeAgent&&(this._unsubscribeAgent(),this._unsubscribeAgent=void 0)}_reconnectToAgent(){this._unsubscribeAgent||(this._unsubscribeAgent=this.agent.subscribe(this._handleAgentEvent))}async dispose(){try{(this._proactiveCompactionReadiness||this._reactiveRecovery)&&await this.waitForAutomaticCompaction()}catch{}finally{this._diagnosticDisposed=!0,za("session_dispose",this.recoveryDiagnosticState),this._disconnectFromAgent(),this._unsubscribeResourceChanges?.(),this._unsubscribeResourceChanges=void 0,this._unsubscribeSubagentUsage?.(),this._unsubscribeSubagentUsage=void 0,this._eventListeners=[]}}async waitForAutomaticCompaction(){for(;this._proactiveCompactionReadiness||this._reactiveRecovery;)await Promise.all([this._proactiveCompactionReadiness?.promise,this._reactiveRecovery?.promise])}_getSubagentTokens(){let t=0;for(let n of this.sessionManager.getBranch())if(n.type==="custom"&&n.customType===Lvo){let r=n.data;t+=r?.total??0}return t}async generateSessionName(t){let n=Cbl(t),r=this.model;if(!(n&&r))return n;try{let i=await this._getRequiredRequestAuth(r),o=`Please provide a clear and concise title for this message. The title must be less than 6 words long. It should capture the key intent. Do not include quotation marks or additional formatting.
|
|
11721
|
+
Use /login or set an API key environment variable. See ${M2n(Fbt(),"providers.md")}`)}async _tryResolveSummarizationModel(){let t=this._resolveSummaryModelSelection({warn:!0});if(!t)return;let n=await this._modelRegistry.getApiKeyAndHeaders(t);if(!n.ok||!n.apiKey){Gt.warn(`Summarization model "${t.provider}/${t.id}" has no usable auth; using main model.`);return}return{model:t,apiKey:n.apiKey,headers:n.headers}}_resolveUserSummarizationModel({warn:t}){let n=this.settingsManager.getCompactionSettings().summarizationModel;if(!n)return;let r=n.indexOf("/");if(r<=0||r===n.length-1){t&&Gt.warn(`Ignoring malformed compaction.summarizationModel "${n}" (expected "provider/model-id"); trying the configured fallback model.`);return}let i=n.slice(0,r),o=n.slice(r+1),s=this._modelRegistry.find(i,o);return!s&&t&&Gt.warn(`Ignoring compaction.summarizationModel "${n}" because it was not found in the registry; trying the configured fallback model.`),s}_resolveSummaryModelSelection({warn:t}={warn:!1}){let n=this._resolveUserSummarizationModel({warn:t});if(n)return n;let r=this.model,i=wNn(this._featureFlags,r?[r.id,`${r.provider}/${r.id}`]:[]);if(i){if(this._isValidFlagSummarizationModelId(i)){let o=this._buildSummarizationModelById(i);if(o)return o}t&&Gt.warn(`Summarization model "${i}" is invalid or could not be created from the registered Augment provider; trying the default summarization model.`)}return this._buildSummarizationModelById(Gvo)}_isValidFlagSummarizationModelId(t){let n=t.split("/");return n.length===1&&n[0].length>0||n.length===2&&n[0]===cte&&n[1].length>0}_buildSummarizationModelById(t){let n=this._modelRegistry.getAll().find(s=>s.provider===cte);if(!n)return;let r=t.startsWith(`${cte}/`)?t.slice(cte.length+1):t,i=this.model,o=ACt(this._featureFlags,i?[i.id,`${i.provider}/${i.id}`]:[]);return{...n,id:r,name:r,contextWindow:o.maxTokens??(r===Gvo?Ibl:n.contextWindow)}}_resolveCompactionSettings(t){let n=this.settingsManager.getCompactionSettings(),r=this.model,i=r?[r.id,`${r.provider}/${r.id}`]:[],o=ACt(this._featureFlags,i),s=this._resolveUserSummarizationModel({warn:!1})?void 0:wNn(this._featureFlags,i),a=s?.startsWith(`${cte}/`)?s.slice(cte.length+1):s,c=t.provider===cte&&t.id===a;return{...n,reserveTokens:o.reserveTokens??n.reserveTokens,keepRecentTokens:o.keepRecentTokens??n.keepRecentTokens,inputBudgetTriggerRatio:n.inputBudgetTriggerRatio??o.inputBudgetTriggerRatio,fallbackInputBudgetRatio:n.fallbackInputBudgetRatio??o.fallbackInputBudgetRatio,maxMessageTokens:n.maxMessageTokens??(c?o.maxMessageTokens:void 0),summaryContextWindow:c?o.maxTokens:void 0}}_resolveSummaryTriggerModel(){return this._resolveSummaryModelSelection()??this.model}_resolveTriggerSizing(){let t=this._resolveSummaryModelSelection();if(!t)return{...Pvo(this._resolveActiveTurnModel()),settings:this.settingsManager.getCompactionSettings()};let n=this._resolveCompactionSettings(t),r=Math.max(0,n.protectedHeadTokens??qbt);return{window:n.summaryContextWindow??t.contextWindow,triggerHeadroomTokens:r+n.keepRecentTokens,settings:n}}_installAgentToolHooks(){this.agent.beforeToolCall=async({toolCall:t,args:n})=>{let r=this._extensionRunner,i=r?.hasHandlers("tool_call")??!1,o=r?.hasHandlers("tool_decision")??!1;if(!r||!i&&!o)return;await this._agentEventQueue;let s=async c=>{o&&await r.emit(FIo({toolName:t.name,toolCallId:t.id,result:c}))},a;if(i)try{a=await r.emitToolCall({type:"tool_call",toolName:t.name,toolCallId:t.id,input:n})}catch(c){let u=c instanceof Error?c.message:`Extension error: ${c}`;throw await s({block:!0,reason:u,decisionSource:"hook"}),c instanceof Error?c:new Error(`Extension failed, blocking execution: ${String(c)}`)}return await s(a),a},this.agent.afterToolCall=async({toolCall:t,args:n,result:r,isError:i})=>{try{let o=rye(r),s=i,a=this._extensionRunner;if(a?.hasHandlers("tool_result")){let l=await a.emitToolResult({type:"tool_result",toolName:t.name,toolCallId:t.id,input:n,content:o.content,details:s?void 0:o.details,isError:s});l&&!s&&(o={content:l.content??o.content,details:l.details??o.details,terminate:o.terminate},s=l.isError??s)}let c=s?void 0:this._buildNestedContextTailForTool(t.name,n),u=await this._toolResultPostProcessor.process({toolCall:t,args:n,result:o,isError:s,sessionDir:this.sessionManager.getSessionDir(),sessionId:this.sessionManager.getSessionId()});return this._finalizeAfterToolCall({originalResult:r,originalIsError:i,currentResult:o,currentIsError:s,processedResult:u,nestedContextTail:c})}catch{return Gt.error("Tool result processing failed",{toolName:t.name}),{content:[{type:"text",text:fbl}],details:{},isError:!0}}}}_finalizeAfterToolCall(t){let{originalResult:n,originalIsError:r,currentResult:i,currentIsError:o,processedResult:s,nestedContextTail:a}=t;if(!(s||a))return Abl(n,r,i,o);let c=s??i;return{content:a?[...c.content,{type:"text",text:a}]:c.content,details:c.details,isError:o,terminate:c.terminate}}_buildNestedContextTailForTool(t,n){if(t!=="read"&&t!=="edit"&&t!=="write"||!n||typeof n!="object"||!("path"in n))return;let r=n.path;if(typeof r!="string"||r.length===0)return;let i=this._resourceLoader.loadContextFilesForPath?.(r);if(!(!i||i.length===0))return Ebl(i)}_emit(t){t.type==="compaction_start"?za("compaction_start",{...this.recoveryDiagnosticState,overflow:t.reason==="overflow",threshold:t.reason==="threshold",summarizeAndRetry:t.reason==="summarize_and_retry"}):t.type==="compaction_end"&&za(t.result?"compaction_success":"compaction_failure",{...this.recoveryDiagnosticState,aborted:t.aborted,willRetry:t.willRetry,tokensBefore:t.result?.tokensBefore,tokensAfter:t.tokensAfter,durationMs:t.durationMs});for(let n of this._eventListeners)n(t)}_emitQueueUpdate(){this._persistQueue(),this._emit({type:"queue_update",steering:[...this._steeringMessages],followUp:[...this._followUpMessages]})}_persistQueue(){this.sessionManager.persistQueueState(this._queueItems)}_markQueueItemExecuting(t,n){let r=this._queueItems.find(i=>i.delivery===t&&i.status==="pending"&&i.text===n);r&&(r.status="executing",this._executingQueueItemIds.push(r.id))}_takeExecutingQueueItemId(){return this._executingQueueItemIds.shift()}_finalizeQueueHandoff(t){if(!t)return;let n=this._queueItems.length;this._queueItems=this._queueItems.filter(r=>r.id!==t),this._queueItems.length!==n&&this._persistQueue()}restoreQueue(t){for(let n of t){let{expandedText:r,invocation:i,ruleReference:o}=this._expandInput(n.text,void 0);this._queueFollowUp(r,void 0,i,o)}return Promise.resolve()}_lastAssistantMessage=void 0;_handleAgentEvent=t=>{this._createRetryPromiseForAgentEnd(t),this._createReactiveRecoveryForAgentEnd(t);let n=this._createAgentEndObservation(t),r=this._createProactiveCompactionReadinessForAgentEnd(t),i=()=>this._processAgentEvent(t,n).catch(c=>{throw this._resolveRetry(),this._rejectReactiveRecovery(c instanceof Error?c:new Error(String(c))),c}).finally(()=>{n?.resolve(),this._resolveProactiveCompactionReadiness(r)});if(this._agentEventQueue=this._agentEventQueue.then(i,i),!this._recoveryDiagnosticsEnabled){this._agentEventQueue.catch(()=>{});return}this._diagnosticPendingEvents++;let o={agentEnd:t.type==="agent_end",messageEnd:t.type==="message_end",turnEnd:t.type==="turn_end"},s=o.agentEnd||o.messageEnd||o.turnEnd;s&&za("event_queued",{...this.recoveryDiagnosticState,...o});let a=c=>{this._diagnosticPendingEvents--,(s||c)&&za(c?"event_processing_failed":"event_processed",{...this.recoveryDiagnosticState,...o})};this._agentEventQueue.then(()=>a(!1),()=>a(!0))};_createRetryPromiseForAgentEnd(t){if(t.type!=="agent_end"||this._retryPromise)return;if(!this.settingsManager.getRetrySettings().enabled){za("retry_gate",{...this.recoveryDiagnosticState,enabled:!1});return}let r=this._findLastAssistantInMessages(t.messages),i=!!r&&this._isRetryableError(r);za("retry_gate",{...this.recoveryDiagnosticState,enabled:!0,hasAssistant:!!r,retryable:i}),i&&(this._retryPromise=new Promise(o=>{this._retryResolve=o}),za("retry_promise_created",this.recoveryDiagnosticState))}_createReactiveRecoveryForAgentEnd(t){if(t.type!=="agent_end"||this._reactiveRecovery)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||!this._willRetryAfterAgentEnd(n))return;let r,i,o=new Promise((s,a)=>{r=s,i=a});o.catch(()=>{}),this._reactiveRecovery={promise:o,resolve:r,reject:i},this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1}_createAgentEndObservation(t){if(t.type!=="agent_end")return;let n,i={promise:new Promise(o=>{n=o}),resolve:n,recovery:this._reactiveRecovery?.promise,abortGeneration:this._abortGeneration};return this._latestAgentEndObservation=i,i}_createProactiveCompactionReadinessForAgentEnd(t){if(t.type!=="agent_end"||this._proactiveCompactionReadiness||!this.settingsManager.getCompactionSettings().enabled)return;let n=this._findLastAssistantInMessages(t.messages);if(!n||n.stopReason==="error"||n.stopReason==="aborted"||n.stopReason==="summarize_and_retry")return;let r,o={promise:new Promise(s=>{r=s}),resolve:r};return this._proactiveCompactionReadiness=o,o}_resolveProactiveCompactionReadiness(t){!t||this._proactiveCompactionReadiness!==t||(this._proactiveCompactionReadiness=void 0,t.resolve())}_findLastAssistantInMessages(t){for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _processAgentEvent(t,n){if(this._recoveryDiagnosticsEnabled&&(t.type==="agent_end"||t.type==="message_end"||t.type==="turn_end")&&za("event_processing",{...this.recoveryDiagnosticState,agentEnd:t.type==="agent_end",messageEnd:t.type==="message_end",turnEnd:t.type==="turn_end"}),t.type==="turn_start"){if(this._turnStartSeen&&this.model?.provider==="augment"){let i=D2n();this._nextProviderRequestId=i,this._currentRequestId=i}this._turnStartSeen=!0}if(t.type==="message_start"&&sT(t.message.role)){this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1,this._summarizeAndRetryAttempted=!1;let i="";if(t.message.role==="promptCommandInvocation"?i=Gy(t.message):t.message.role==="ruleReference"?i=Jk(t.message):t.message.role==="user"&&(i=this._getUserMessageText(t.message)),i){let o=this._steeringMessages.indexOf(i);if(o===-1){let s=this._followUpMessages.indexOf(i);s!==-1&&(this._followUpMessages.splice(s,1),this._markQueueItemExecuting("followUp",i),this._emitQueueUpdate())}else this._steeringMessages.splice(o,1),this._markQueueItemExecuting("steering",i),this._emitQueueUpdate()}}let r=hbl(t);if(await this._emitExtensionEvent(r),this._emit(r),t.type==="message_end"){let i=t.message.role==="toolResult"?F2n(t.message):t.message;if(i.role==="custom")this.sessionManager.appendCustomMessageEntry(i.customType,i.content,i.display,i.details);else if(i.role==="user"||i.role==="assistant"||i.role==="toolResult"){let o=i.role==="user"?this._takeExecutingQueueItemId():void 0;this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="promptCommandInvocation"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}else if(i.role==="ruleReference"){let o=this._takeExecutingQueueItemId();this.sessionManager.appendMessage(i,o),this._finalizeQueueHandoff(o)}if(t.message.role==="assistant"){this._lastAssistantMessage=t.message;let o=t.message;o.stopReason!=="error"&&(this._overflowRecoveryAttempted=!1,this._overflowEvictionAttempted=!1),o.stopReason!=="error"&&o.stopReason!=="summarize_and_retry"&&(this._activeTurnModelOverride=void 0,this._summarizeAndRetryAttempted=!1),o.stopReason!=="error"&&this._retryAttempt>0&&(this._logPublicRetry("Automatic retry completed",{attempt:this._retryAttempt,outcome:"completed"}),this._emit({type:"auto_retry_end",success:!0,attempt:this._retryAttempt}),this._retryAttempt=0),o.stopReason!=="error"&&(this._rateLimitAttempt>0&&this._logPublicRetry("Automatic retry completed",{attempt:this._rateLimitAttempt,outcome:"completed"}),this._rateLimitAttempt=0,this._rateLimitDeadline=void 0)}}if(t.type==="agent_end"){let i=this._findLastAssistantInMessages(t.messages)??this._lastAssistantMessage;if(this._lastAssistantMessage=void 0,!i||n&&n.abortGeneration!==this._abortGeneration){this._resolveRetry(),this._resolveReactiveRecovery();return}i.stopReason==="error"&&i.errorMessage&&Gt.error(`LLM error [${i.provider}/${i.model}]: ${i.errorMessage}`);let o=this._willAttemptAutomaticRetryAfterAgentEnd(i),s=!1;if(this._isRetryableError(i)){let u=await this._handleRetryableError(i);if(o&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:u==="retrying",...u==="aborted"?{retryAborted:!0}:{}}),u==="retrying")return;s=u==="aborted"}this._resolveRetry(),i.stopReason==="error"&&!s&&(this._emit({type:"message_send_error",errorMessage:i.errorMessage}),this._willRecoverViaOverflowCompaction(i)||this._errorReporter.reportAgentStop({reason:this._isRetryableError(i)?"retry_exhausted":"error",errorMessage:i.errorMessage,provider:i.provider,model:i.model,stopReason:i.stopReason,transportError:AB(i.diagnostics)})),i.stopReason==="empty_completion"&&this._errorReporter.reportAgentStop({reason:"empty_completion",provider:i.provider,model:i.model,stopReason:i.stopReason}),n?.resolve(),this._reactiveRecovery&&i.stopReason!=="error"&&i.stopReason!=="aborted"&&i.stopReason!=="summarize_and_retry"&&this._resolveReactiveRecovery();let a=this._willRetryAfterAgentEnd(i),c=!1;try{c=await this._checkCompaction(i)}catch(u){throw this._rejectReactiveRecovery(u instanceof Error?u:new Error(String(u))),u}finally{za("agent_end_recovery",{...this.recoveryDiagnosticState,retryScheduled:c}),a&&this._extensionRunner&&await this._extensionRunner.emit({type:"agent_end_recovery",messages:t.messages,willRetry:c,continuationFailed:!c&&this._reactiveContinuationFailed})}!c&&this._reactiveRecovery&&(this._reactiveRecoveryFailure?this._rejectReactiveRecovery(this._reactiveRecoveryFailure):this._resolveReactiveRecovery())}}_willAttemptAutomaticRetryAfterAgentEnd(t){return this.settingsManager.getRetrySettings().enabled&&this._isRetryableError(t)}_willRetryAfterAgentEnd(t){return t.stopReason==="summarize_and_retry"?!this._summarizeAndRetryAttempted&&this.settingsManager.getCompactionSettings().enabled&&!this._isAssistantFromBeforeLatestCompaction(t):this._willRecoverViaOverflowCompaction(t)?!this._overflowRecoveryAttempted||!this._overflowEvictionAttempted:!1}_resolveReactiveRecovery(){let t=this._reactiveRecovery;t&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,t.resolve())}_rejectReactiveRecovery(t){let n=this._reactiveRecovery;n&&(this._reactiveRecovery=void 0,this._reactiveRecoveryFailure=void 0,this._reactiveContinuationFailed=!1,n.reject(t))}_recordReactiveRecoveryFailure(t){this._reactiveRecovery&&!this._reactiveRecoveryFailure&&(this._reactiveRecoveryFailure=new Error(t))}_resolveRetry(){this._retryResolve&&(this._retryResolve(),this._retryResolve=void 0,this._retryPromise=void 0,za("retry_resolved",this.recoveryDiagnosticState))}_getUserMessageText(t){if(t.role!=="user")return"";let n=t.content;return typeof n=="string"?n:n.filter(i=>i.type==="text").map(i=>i.text).join("")}_findLastAssistantMessage(){let t=this.agent.state.messages;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.role==="assistant")return r}}async _emitExtensionEvent(t){if(this._extensionRunner){if(t.type==="agent_start")this._turnIndex=0,await this._extensionRunner.emit({type:"agent_start"});else if(t.type==="agent_end"){let n=this._lastAssistantMessage;await this._extensionRunner.emit({type:"agent_end",messages:t.messages,willRetry:n!==void 0&&(this._willAttemptAutomaticRetryAfterAgentEnd(n)||this._willRetryAfterAgentEnd(n))})}else if(t.type==="turn_start"){let n={type:"turn_start",turnIndex:this._turnIndex,timestamp:Date.now()};await this._extensionRunner.emit(n)}else if(t.type==="turn_end"){let n={type:"turn_end",turnIndex:this._turnIndex,message:t.message,toolResults:t.toolResults};await this._extensionRunner.emit(n),this._turnIndex++}else if(t.type==="message_start"){let n={type:"message_start",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="message_update"){let n={type:"message_update",message:t.message,assistantMessageEvent:t.assistantMessageEvent};await this._extensionRunner.emit(n)}else if(t.type==="message_end"){let n={type:"message_end",message:t.message};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_start"){let n={type:"tool_execution_start",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_update"){let n={type:"tool_execution_update",toolCallId:t.toolCallId,toolName:t.toolName,args:t.args,partialResult:t.partialResult};await this._extensionRunner.emit(n)}else if(t.type==="tool_execution_end"){let n={type:"tool_execution_end",toolCallId:t.toolCallId,toolName:t.toolName,result:t.result,isError:t.isError};await this._extensionRunner.emit(n)}}}subscribe(t){return this._eventListeners.push(t),()=>{let n=this._eventListeners.indexOf(t);n!==-1&&this._eventListeners.splice(n,1)}}_disconnectFromAgent(){this._unsubscribeAgent&&(this._unsubscribeAgent(),this._unsubscribeAgent=void 0)}_reconnectToAgent(){this._unsubscribeAgent||(this._unsubscribeAgent=this.agent.subscribe(this._handleAgentEvent))}async dispose(){try{(this._proactiveCompactionReadiness||this._reactiveRecovery)&&await this.waitForAutomaticCompaction()}catch{}finally{this._diagnosticDisposed=!0,za("session_dispose",this.recoveryDiagnosticState),this._disconnectFromAgent(),this._unsubscribeResourceChanges?.(),this._unsubscribeResourceChanges=void 0,this._unsubscribeSubagentUsage?.(),this._unsubscribeSubagentUsage=void 0,this._eventListeners=[]}}async waitForAutomaticCompaction(){for(;this._proactiveCompactionReadiness||this._reactiveRecovery;)await Promise.all([this._proactiveCompactionReadiness?.promise,this._reactiveRecovery?.promise])}_getSubagentTokens(){let t=0;for(let n of this.sessionManager.getBranch())if(n.type==="custom"&&n.customType===Lvo){let r=n.data;t+=r?.total??0}return t}async generateSessionName(t){let n=Cbl(t),r=this.model;if(!(n&&r))return n;try{let i=await this._getRequiredRequestAuth(r),o=`Write a concise session title for the user message below.
|
|
11722
|
+
Use a topic-first noun phrase in Title Case, without action verbs like Investigate, Fix, or Validate. Use at most 6 words, excluding any ticket prefix.
|
|
11723
|
+
Name the underlying topic or problem so the title stays relevant through investigation, fixing, and validation.
|
|
11724
|
+
If the user's input mentions a ticket key (including in a URL), copy it exactly as a prefix: <ticket key> - <topic>. Otherwise omit the prefix; never invent a key.
|
|
11725
|
+
Return only the title text, without quotes, markdown, explanation, or a Title: label.
|
|
11726
|
+
Examples (message -> title):
|
|
11727
|
+
investigate error 123 in the invoice module -> Invoice Module - Error 123
|
|
11728
|
+
fix TKT-12345 login timeout -> TKT-12345 - Login Timeout
|
|
11715
11729
|
|
|
11716
11730
|
Message: ${t}`,s=await ZC(r,{systemPrompt:this.agent.state.systemPrompt,messages:[...this.agent.state.messages.filter(c=>c.role==="user"||c.role==="assistant"||c.role==="toolResult"),{role:"user",content:[{type:"text",text:o}],timestamp:Date.now()}],tools:this.agent.state.tools.map(({name:c,description:u,parameters:l})=>({name:c,description:u,parameters:l})),rules:this.agent.state.rules,skills:this.agent.state.skills,userGuidelines:this.agent.state.userGuidelines,workspaceGuidelines:this.agent.state.workspaceGuidelines,systemPromptAppend:this.agent.state.systemPromptAppend},{...i,reasoningEffort:this.agent.state.reasoningEffortOverride,silent:!0});if(s.stopReason==="error"||s.stopReason==="aborted")throw new Error(s.errorMessage||s.stopReason);return Wvo(s.content.filter(c=>c.type==="text").map(c=>c.text).join(""))||n}catch(i){return Gt.warn("Session title generation failed; using prompt fallback",{error:i instanceof Error?i.message:String(i)}),n}}get state(){return this.agent.state}get model(){return this.agent.state.model}get thinkingLevel(){let t=Xa(this.model,this.agent.state.reasoningEffortOverride);return this.agent.state.reasoningEffortOverride===void 0?this.agent.state.thinkingLevel:t.effort}get usesModelDefaultThinking(){return this.reasoningSelection.kind==="model-default"}get reasoningSelection(){let t=this.agent.state.reasoningEffortOverride;if(t===void 0)return this._localReasoningSelection();let n=Xa(this.model,t);return n.usesModelDefault?{kind:"model-default"}:{kind:"explicit",effort:n.effort}}get reasoningSelectionDisplay(){return GP(this.model,this.reasoningSelection)}get defaultThinkingEffort(){return GE(this.model).defaultEffort}get isStreaming(){return this.agent.state.isStreaming}get systemPrompt(){return this.agent.state.systemPrompt}get retryAttempt(){return this._retryAttempt}get currentRequestId(){return this._currentRequestId}getActiveToolNames(){return this.agent.state.tools.map(t=>t.name)}getAllTools(){return Array.from(this._toolDefinitions.values()).map(({definition:t,sourceInfo:n})=>({name:t.name,description:t.description,parameters:t.parameters,sourceInfo:n}))}getToolDefinition(t){return this._toolDefinitions.get(t)?.definition}setActiveToolsByName(t){let n=[],r=[];for(let i of t){let o=this._toolRegistry.get(i);o&&(n.push(o),r.push(i))}this.agent.state.tools=n,this._baseSystemPrompt=this._rebuildSystemPrompt(r),this.agent.state.systemPrompt=this._baseSystemPrompt,this._syncStructuredResourcesToState()}get isCompacting(){return this._autoCompactionAbortController!==void 0||this._compactionAbortController!==void 0||this._branchSummaryAbortController!==void 0}get messages(){return this.agent.state.messages}get steeringMode(){return this.agent.steeringMode}get followUpMode(){return this.agent.followUpMode}get sessionFile(){return this.sessionManager.getSessionFile()}get sessionId(){return this.sessionManager.getSessionId()}get sessionName(){return this.sessionManager.getSessionName()}get scopedModels(){return this._scopedModels}setScopedModels(t){this._scopedModels=t}get promptTemplates(){return this._resourceLoader.getPrompts().prompts}_normalizePromptSnippet(t){if(!t)return;let n=t.replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim();return n.length>0?n:void 0}_normalizePromptGuidelines(t){if(!t||t.length===0)return[];let n=new Set;for(let r of t){let i=r.trim();i.length>0&&n.add(i)}return Array.from(n)}composeInheritedSystemPrompt(t){return this._rebuildSystemPrompt(this.getActiveToolNames(),{rules:t.disableRules,workspaceGuidelines:t.disableWorkspaceGuidelines})}_rebuildSystemPrompt(t,n){let r=t.filter(p=>this._toolRegistry.has(p)),i={},o=[];for(let p of r){let m=this._toolPromptSnippets.get(p);m&&(i[p]=m);let f=this._toolPromptGuidelines.get(p);f&&o.push(...f)}let s=this._resourceLoader.getSystemPrompt(),a=this._resourceLoader.getAppendSystemPrompt(),c=a.length>0?a.join(`
|
|
11717
11731
|
|
|
@@ -12610,9 +12624,11 @@ ${a.join(`
|
|
|
12610
12624
|
`;this.addChild(new Va(r+this.getBody(),0,0,this.markdownTheme,{color:i=>Ue.fg("customMessageText",i)}))}renderCollapsed(){let t=this.getCollapsedHintPrefix(),n=t?[t]:[];n.push(`${Kd("app.tools.expand")} to expand`);let r=Ue.fg("customMessageLabel",`\x1B[1m${this.getLabel()}\x1B[22m `)+Ue.fg("customMessageText",this.getTitle())+Ue.fg("dim",` (${n.join(", ")})`);this.addChild(new kn(r,0,0))}}});import{homedir as xtu}from"node:os";var tGe,I3n=C(()=>{"use strict";aT();vs();C3n();tGe=class extends OCe{command;args;expandedBody;source;constructor(t,n,r,i=IE(),o){super(i),this.command=t,this.args=n,this.expandedBody=r,this.source=o,this.updateDisplay()}getLabel(){return"[prompt]"}getTitle(){return Gy({command:this.command,args:this.args})}getBody(){return this.expandedBody.trim()?this.expandedBody:"_(empty prompt body)_"}getExpandedHeaderSuffix(){let t=this.formatSourcePath();return t?`_(from ${t})_`:""}getCollapsedHintPrefix(){let t=this.formatSourcePath();return t?`from ${t}`:""}formatSourcePath(){let t=this.source?.path;if(!t)return;let n=xtu();return n&&t.startsWith(`${n}/`)?`~${t.slice(n.length)}`:t}}});function A1t(e,t){return e===null||e.includes(t)}function wtu(e,t){if(e===null)return[t];let n=e.indexOf(t);return n>=0?[...e.slice(0,n),...e.slice(n+1)]:[...e,t]}function eqo(e,t,n){if(e===null)return null;let r=n??t,i=[...e];for(let o of r)i.includes(o)||i.push(o);return i.length===t.length?null:i}function tqo(e,t,n){if(e===null)return n?t.filter(i=>!n.includes(i)):[];let r=new Set(n??e);return e.filter(i=>!r.has(i))}function Rtu(e,t,n,r){let i=e??[...t],o=i.indexOf(n);if(o<0)return i;let s=o+r;if(s<0||s>=i.length)return i;let a=[...i];return[a[o],a[s]]=[a[s],a[o]],a}function Ttu(e,t){if(e===null)return t;let n=new Set(e);return[...e,...t.filter(r=>!n.has(r))]}var nGe,S3n=C(()=>{"use strict";br();pC();vs();Xm();U0();nGe=class extends Un{modelsById=new Map;allIds=[];enabledIds=null;filteredItems=[];selectedIndex=0;searchInput;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.searchInput.focused=t}listContainer;footerText;callbacks;maxVisible=15;isDirty=!1;constructor(t,n){super(),this.callbacks=n;for(let r of t.allModels){let i=`${r.provider}/${r.id}`;this.modelsById.set(i,r),this.allIds.push(i)}this.enabledIds=t.hasEnabledModelsFilter?[...t.enabledModelIds]:null,this.filteredItems=this.buildItems(),this.addChild(new Fi),this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.fg("accent",Ue.bold("Model Configuration")),0,0)),this.addChild(new Dr(()=>Ue.fg("muted","Session-only. Ctrl+S to save to settings."),0,0)),this.addChild(new Pt(1)),this.searchInput=new ra,this.addChild(this.searchInput),this.addChild(new Pt(1)),this.listContainer=new Un,this.addChild(this.listContainer),this.addChild(new Pt(1)),this.footerText=new Dr(()=>this.getFooterText(),0,0),this.addChild(this.footerText),this.addChild(new Fi),this.updateList()}buildItems(){let t=[];for(let n of Ttu(this.enabledIds,this.allIds)){let r=this.modelsById.get(n);r&&t.push({fullId:n,model:r,enabled:A1t(this.enabledIds,n)})}return t}getFooterText(){let t=this.enabledIds?.length??this.allIds.length,i=["Enter toggle","^A all","^X clear","^P provider","Alt+\u2191\u2193 reorder","^S save",this.enabledIds===null?"all enabled":`${t}/${this.allIds.length} enabled`];return this.isDirty?Ue.fg("dim",` ${i.join(" \xB7 ")} `)+Ue.fg("warning","(unsaved)"):Ue.fg("dim",` ${i.join(" \xB7 ")}`)}refresh(){let t=this.searchInput.getValue(),n=this.buildItems();this.filteredItems=t?zd(n,t,r=>az(r.model)):n,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,this.filteredItems.length-1)),this.updateList(),this.footerText.setText(()=>this.getFooterText())}updateList(){if(this.listContainer.clear(),this.filteredItems.length===0){this.listContainer.addChild(new Dr(()=>Ue.fg("muted"," No matching models"),0,0));return}let t=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.filteredItems.length-this.maxVisible)),n=Math.min(t+this.maxVisible,this.filteredItems.length),r=this.enabledIds===null;for(let i=t;i<n;i++){let o=this.filteredItems[i];o&&this.listContainer.addChild(new Dr(()=>{let s=i===this.selectedIndex,a=s?Ue.fg("accent","\u2192 "):" ",c=s?Ue.fg("accent",o.model.name||o.model.id):o.model.name||o.model.id,u=Ue.fg("muted",` [${o.model.provider}]`),l;return r?l="":o.enabled?l=Ue.fg("success"," \u2713"):l=Ue.fg("dim"," \u2717"),`${a}${c}${u}${l}`},0,0))}if((t>0||n<this.filteredItems.length)&&this.listContainer.addChild(new Dr(()=>Ue.fg("muted",` (${this.selectedIndex+1}/${this.filteredItems.length})`),0,0)),this.filteredItems.length>0){let i=this.filteredItems[this.selectedIndex];this.listContainer.addChild(new Pt(1)),this.listContainer.addChild(new Dr(()=>Ue.fg("muted",` Model Name: ${i.model.name}`),0,0))}}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up")){if(this.filteredItems.length===0)return;this.selectedIndex=this.selectedIndex===0?this.filteredItems.length-1:this.selectedIndex-1,this.updateList();return}if(n.matches(t,"tui.select.down")){if(this.filteredItems.length===0)return;this.selectedIndex=this.selectedIndex===this.filteredItems.length-1?0:this.selectedIndex+1,this.updateList();return}if(nr(t,yd.alt("up"))||nr(t,yd.alt("down"))){let r=this.filteredItems[this.selectedIndex];if(r&&A1t(this.enabledIds,r.fullId)){let i=nr(t,yd.alt("up"))?-1:1,o=this.enabledIds??this.allIds,a=o.indexOf(r.fullId)+i;a>=0&&a<o.length&&(this.enabledIds=Rtu(this.enabledIds,this.allIds,r.fullId,i),this.isDirty=!0,this.selectedIndex+=i,this.refresh())}return}if(nr(t,yd.enter)){let r=this.filteredItems[this.selectedIndex];if(r){let i=this.enabledIds===null;this.enabledIds=wtu(this.enabledIds,r.fullId),this.isDirty=!0,i&&this.callbacks.onClearAll(),this.callbacks.onModelToggle(r.fullId,A1t(this.enabledIds,r.fullId)),this.refresh()}return}if(nr(t,yd.ctrl("a"))){let r=this.searchInput.getValue()?this.filteredItems.map(i=>i.fullId):void 0;this.enabledIds=eqo(this.enabledIds,this.allIds,r),this.isDirty=!0,this.callbacks.onEnableAll(r??this.allIds),this.refresh();return}if(nr(t,yd.ctrl("x"))){let r=this.searchInput.getValue()?this.filteredItems.map(i=>i.fullId):void 0;this.enabledIds=tqo(this.enabledIds,this.allIds,r),this.isDirty=!0,this.callbacks.onClearAll(),this.refresh();return}if(nr(t,yd.ctrl("p"))){let r=this.filteredItems[this.selectedIndex];if(r){let i=r.model.provider,o=this.allIds.filter(a=>this.modelsById.get(a)?.provider===i),s=o.every(a=>A1t(this.enabledIds,a));this.enabledIds=s?tqo(this.enabledIds,this.allIds,o):eqo(this.enabledIds,this.allIds,o),this.isDirty=!0,this.callbacks.onToggleProvider(i,o,!s),this.refresh()}return}if(nr(t,yd.ctrl("s"))){this.callbacks.onPersist(this.enabledIds??[...this.allIds]),this.isDirty=!1,this.footerText.setText(()=>this.getFooterText());return}if(nr(t,yd.ctrl("c"))){this.searchInput.getValue()?(this.searchInput.setValue(""),this.refresh()):this.callbacks.onCancel();return}if(nr(t,yd.escape)){this.callbacks.onCancel();return}this.searchInput.handleInput(t),this.refresh()}getSearchInput(){return this.searchInput}}});var Btu,Ntu,ktu,h1t,cre,_3n=C(()=>{"use strict";br();vs();Xm();U0();Btu={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},Ntu={off:"No reasoning",minimal:"Minimal reasoning",low:"Light reasoning",medium:"Moderate reasoning",high:"Deep reasoning",xhigh:"Maximum reasoning"},ktu=(e,t)=>e.kind==="explicit"?e.effort:t?`${t} (default)`:"Model default",h1t=class extends Un{selectList;constructor(t,n,r,i,o,s,a){super(),this.addChild(new Dr(()=>Ue.bold(Ue.fg("accent",t)),0,0)),n&&(this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.fg("muted",n),0,0))),this.addChild(new Pt(1)),this.selectList=new Tf(r,Math.min(r.length,10),Hk(),Btu);let c=r.findIndex(u=>u.value===i);c!==-1&&this.selectList.setSelectedIndex(c),this.selectList.onSelect=u=>{o(u.value)},this.selectList.onCancel=s,a&&(this.selectList.onSelectionChange=u=>{a(u.value)}),this.addChild(this.selectList),this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.fg("dim"," Enter to select \xB7 Esc to go back"),0,0))}handleInput(t){this.selectList.handleInput(t)}},cre=class extends Un{settingsList;constructor(t,n){super();let r=Vm().images,i=[{id:"autocompact",label:"Auto-compact",description:"Automatically compact context when it gets too large",currentValue:t.autoCompact?"true":"false",values:["true","false"]},{id:"steering-mode",label:"Steering mode",description:"Enter while streaming queues steering messages. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.",currentValue:t.steeringMode,values:["one-at-a-time","all"]},{id:"follow-up-mode",label:"Follow-up mode",description:"Alt+Enter queues follow-up messages until agent stops. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.",currentValue:t.followUpMode,values:["one-at-a-time","all"]},{id:"transport",label:"Transport",description:"Preferred transport for providers that support multiple transports",currentValue:t.transport,values:["sse","websocket","auto"]},{id:"hide-thinking",label:"Hide thinking",description:"Hide thinking blocks in assistant responses",currentValue:t.hideThinkingBlock?"true":"false",values:["true","false"]},{id:"collapse-changelog",label:"Collapse changelog",description:"Show condensed changelog after updates",currentValue:t.collapseChangelog?"true":"false",values:["true","false"]},{id:"quiet-startup",label:"Quiet startup",description:"Disable verbose printing at startup",currentValue:t.quietStartup?"true":"false",values:["true","false"]},{id:"double-escape-action",label:"Double-escape action",description:"Action when pressing Escape twice with empty editor",currentValue:t.doubleEscapeAction,values:["tree","fork","none"]},{id:"tree-filter-mode",label:"Tree filter mode",description:"Default filter when opening /tree",currentValue:t.treeFilterMode,values:["default","no-tools","user-only","labeled-only","all"]},{id:"thinking",label:"Thinking level",description:"Reasoning depth for thinking-capable models",currentValue:t.thinkingSelection.kind==="model-default"?"default":t.thinkingSelection.effort,submenu:(m,f)=>{let g=t.availableThinkingSelections.map(A=>{let h=A.kind==="explicit"?A.effort:t.defaultThinkingEffort;return{value:A.kind==="model-default"?"default":A.effort,label:ktu(A,t.defaultThinkingEffort),description:h?Ntu[h]??"Model-defined reasoning effort":"Use the model or provider default"}});return new h1t("Thinking Level","Higher effort trades speed and quota for deeper reasoning.",g,m,A=>{let h=t.availableThinkingSelections.find(E=>A===(E.kind==="model-default"?"default":E.effort));h&&n.onThinkingLevelChange(h),f(A)},()=>f())}},{id:"theme",label:"Theme",description:"Color theme for the interface",currentValue:t.currentTheme,submenu:(m,f)=>new h1t("Theme","Select color theme",t.availableThemes.map(g=>({value:g,label:g})),m,g=>{n.onThemeChange(g),f(g)},()=>{n.onThemePreview?.(m),f()},g=>{n.onThemePreview?.(g)})}];r&&i.splice(1,0,{id:"show-images",label:"Show images",description:"Render images inline in terminal",currentValue:t.showImages?"true":"false",values:["true","false"]}),i.splice(r?2:1,0,{id:"auto-resize-images",label:"Auto-resize images",description:"Resize large images to 2000x2000 max for better model compatibility",currentValue:t.autoResizeImages?"true":"false",values:["true","false"]});let o=i.findIndex(m=>m.id==="auto-resize-images");i.splice(o+1,0,{id:"block-images",label:"Block images",description:"Prevent images from being sent to LLM providers",currentValue:t.blockImages?"true":"false",values:["true","false"]});let s=i.findIndex(m=>m.id==="block-images");i.splice(s+1,0,{id:"skill-commands",label:"Skill commands",description:"Register skills as /skill:name commands",currentValue:t.enableSkillCommands?"true":"false",values:["true","false"]});let a=i.findIndex(m=>m.id==="skill-commands");i.splice(a+1,0,{id:"enable-hashline",label:"Enable hashline",description:"Use the hashline read/edit tools (overrides the built-ins). Takes effect on next launch.",currentValue:t.enableHashline?"true":"false",values:["true","false"]});let c=i.findIndex(m=>m.id==="enable-hashline");i.splice(c+1,0,{id:"collapse-prompt-commands",label:"Collapse prompt commands",description:"Render /command invocations as a single line (Ctrl+O to expand)",currentValue:t.collapsePromptCommands?"true":"false",values:["true","false"]});let u=i.findIndex(m=>m.id==="collapse-prompt-commands");i.splice(u+1,0,{id:"show-hardware-cursor",label:"Show hardware cursor",description:"Show the terminal cursor while still positioning it for IME support",currentValue:t.showHardwareCursor?"true":"false",values:["true","false"]});let l=i.findIndex(m=>m.id==="show-hardware-cursor");i.splice(l+1,0,{id:"editor-padding",label:"Editor padding",description:"Horizontal padding for input editor (0-3)",currentValue:String(t.editorPaddingX),values:["0","1","2","3"]});let d=i.findIndex(m=>m.id==="editor-padding");i.splice(d+1,0,{id:"autocomplete-max-visible",label:"Autocomplete max items",description:"Max visible items in autocomplete dropdown (3-20)",currentValue:String(t.autocompleteMaxVisible),values:["3","5","7","10","15","20"]});let p=i.findIndex(m=>m.id==="autocomplete-max-visible");if(i.splice(p+1,0,{id:"clear-on-shrink",label:"Clear on shrink",description:"Clear empty rows when content shrinks (may cause flicker)",currentValue:t.clearOnShrink?"true":"false",values:["true","false"]}),t.availableThinkingSelections.length===0){let m=i.findIndex(f=>f.id==="thinking");i.splice(m,1)}this.addChild(new Fi),this.settingsList=new Q4(i,10,Vbt(),(m,f)=>{switch(m){case"autocompact":n.onAutoCompactChange(f==="true");break;case"show-images":n.onShowImagesChange(f==="true");break;case"auto-resize-images":n.onAutoResizeImagesChange(f==="true");break;case"block-images":n.onBlockImagesChange(f==="true");break;case"skill-commands":n.onEnableSkillCommandsChange(f==="true");break;case"enable-hashline":n.onEnableHashlineChange(f==="true");break;case"steering-mode":n.onSteeringModeChange(f);break;case"follow-up-mode":n.onFollowUpModeChange(f);break;case"transport":n.onTransportChange(f);break;case"hide-thinking":n.onHideThinkingBlockChange(f==="true");break;case"collapse-changelog":n.onCollapseChangelogChange(f==="true");break;case"quiet-startup":n.onQuietStartupChange(f==="true");break;case"double-escape-action":n.onDoubleEscapeActionChange(f);break;case"tree-filter-mode":n.onTreeFilterModeChange(f);break;case"show-hardware-cursor":n.onShowHardwareCursorChange(f==="true");break;case"editor-padding":n.onEditorPaddingXChange(Number.parseInt(f,10));break;case"autocomplete-max-visible":n.onAutocompleteMaxVisibleChange(Number.parseInt(f,10));break;case"clear-on-shrink":n.onClearOnShrinkChange(f==="true");break;case"collapse-prompt-commands":n.onCollapsePromptCommandsChange(f==="true");break}},n.onCancel,{enableSearch:!0}),this.addChild(this.settingsList),this.addChild(new Fi)}getSettingsList(){return this.settingsList}}});var lre,v3n=C(()=>{"use strict";vs();C3n();lre=class extends OCe{skillBlock;constructor(t,n=IE()){super(n),this.skillBlock=t,this.updateDisplay()}getLabel(){return"[skill]"}getTitle(){return this.skillBlock.name}getBody(){return this.skillBlock.content}}});async function nqo(e,t){if(t==="image/png")return{data:e,mimeType:t};let n=await aye();if(!n)return null;try{let r=new Uint8Array(Buffer.from(e,"base64")),i=n.PhotonImage.new_from_byteslice(r),o=$Ct(n,i,r);o!==i&&i.free();try{let s=o.get_bytes();return{data:Buffer.from(s).toString("base64"),mimeType:"image/png"}}finally{o.free()}}catch{return null}}var rqo=C(()=>{"use strict";bkn();jCt()});var KO,x3n=C(()=>{"use strict";br();rz();Q0();rqo();vs();KO=class extends Un{contentBox;contentText;callRendererComponent;resultRendererComponent;rendererState={};imageComponents=[];imageSpacers=[];toolName;toolCallId;args;expanded=!1;showImages;isPartial=!0;toolDefinition;builtInToolDefinition;ui;cwd;executionStarted=!1;argsComplete=!1;result;convertedImages=new Map;hideComponent=!1;constructor(t,n,r,i,o,s,a=process.cwd()){super(),this.toolName=t,this.toolCallId=n,this.args=r,this.toolDefinition=o,this.builtInToolDefinition=XSo[t],this.showImages=i.showImages??!0,this.ui=s,this.cwd=a,this.addChild(new Pt(1)),this.contentBox=new um(1,1,c=>Ue.bg("toolPendingBg",c)),this.contentText=new kn("",1,1,c=>Ue.bg("toolPendingBg",c)),this.hasRendererDefinition()?this.addChild(this.contentBox):this.addChild(this.contentText),this.updateDisplay()}getCallRenderer(){return this.builtInToolDefinition?this.toolDefinition?this.toolDefinition.renderCall??this.builtInToolDefinition.renderCall:this.builtInToolDefinition.renderCall:this.toolDefinition?.renderCall}getResultRenderer(){return this.builtInToolDefinition?this.toolDefinition?this.toolDefinition.renderResult??this.builtInToolDefinition.renderResult:this.builtInToolDefinition.renderResult:this.toolDefinition?.renderResult}hasRendererDefinition(){return this.builtInToolDefinition!==void 0||this.toolDefinition!==void 0}getRenderContext(t){return{args:this.args,toolCallId:this.toolCallId,invalidate:()=>{this.invalidate(),this.ui.requestRender()},lastComponent:t,state:this.rendererState,cwd:this.cwd,executionStarted:this.executionStarted,argsComplete:this.argsComplete,isPartial:this.isPartial,expanded:this.expanded,showImages:this.showImages,isError:this.result?.isError??!1}}createCallFallback(){return new kn(Ue.fg("toolTitle",Ue.bold(this.toolName)),0,0)}createResultFallback(){let t=this.getTextOutput();if(t)return new kn(Ue.fg("toolOutput",t),0,0)}updateArgs(t){this.args=t,this.updateDisplay()}markExecutionStarted(){this.executionStarted=!0,this.updateDisplay(),this.ui.requestRender()}setArgsComplete(){this.argsComplete=!0,this.updateDisplay(),this.ui.requestRender()}updateResult(t,n=!1){this.result=t,this.isPartial=n,this.updateDisplay(),this.maybeConvertImagesForKitty()}maybeConvertImagesForKitty(){if(Vm().images!=="kitty"||!this.result)return;let n=this.result.content.filter(r=>r.type==="image");for(let r=0;r<n.length;r++){let i=n[r];if(!i.data||!i.mimeType||i.mimeType==="image/png"||this.convertedImages.has(r))continue;let o=r;nqo(i.data,i.mimeType).then(s=>{s&&(this.convertedImages.set(o,s),this.updateDisplay(),this.ui.requestRender())})}}setExpanded(t){this.expanded=t,this.updateDisplay()}setShowImages(t){this.showImages=t,this.updateDisplay()}invalidate(){super.invalidate(),this.updateDisplay()}render(t){return this.hideComponent?[]:super.render(t)}updateDisplay(){let t;this.isPartial?t=r=>Ue.bg("toolPendingBg",r):this.result?.isError?t=r=>Ue.bg("toolErrorBg",r):t=r=>Ue.bg("toolSuccessBg",r);let n=!1;if(this.hideComponent=!1,this.hasRendererDefinition()){this.contentBox.setBgFn(t),this.contentBox.clear();let r=this.getCallRenderer();if(r)try{let i=r(this.args,Ue,this.getRenderContext(this.callRendererComponent));this.callRendererComponent=i,this.contentBox.addChild(i),n=!0}catch{this.callRendererComponent=void 0,this.contentBox.addChild(this.createCallFallback()),n=!0}else this.contentBox.addChild(this.createCallFallback()),n=!0;if(this.result&&this.shouldShowResult()){let i=this.getResultRenderer(),o=this.expanded||this.result.isError===!0;if(i)try{let s=i({content:this.result.content,details:this.result.details},{expanded:o,isPartial:this.isPartial},Ue,this.getRenderContext(this.resultRendererComponent));this.resultRendererComponent=s,this.contentBox.addChild(s),n=!0}catch{this.resultRendererComponent=void 0;let s=this.createResultFallback();s&&(this.contentBox.addChild(s),n=!0)}else{let s=this.createResultFallback();s&&(this.contentBox.addChild(s),n=!0)}}}else this.contentText.setCustomBgFn(t),this.contentText.setText(this.shouldShowResult()?this.formatToolExecution():Ue.fg("toolTitle",Ue.bold(this.toolName))),n=!0;for(let r of this.imageComponents)this.removeChild(r);this.imageComponents=[];for(let r of this.imageSpacers)this.removeChild(r);if(this.imageSpacers=[],this.result){let r=this.result.content.filter(o=>o.type==="image"),i=Vm();for(let o=0;o<r.length;o++){let s=r[o];if(i.images&&this.showImages&&s.data&&s.mimeType){let a=this.convertedImages.get(o),c=a?.data??s.data,u=a?.mimeType??s.mimeType;if(i.images==="kitty"&&u!=="image/png")continue;let l=new Pt(1);this.addChild(l),this.imageSpacers.push(l);let d=new D4(c,u,{fallbackColor:p=>Ue.fg("toolOutput",p)},{maxWidthCells:60});this.imageComponents.push(d),this.addChild(d)}}}this.hasRendererDefinition()&&!n&&this.imageComponents.length===0&&(this.hideComponent=!0)}getTextOutput(){return yA(this.result,this.showImages)}shouldShowResult(){return this.expanded||this.result?.isError===!0||this.getDefaultExpanded()}getDefaultExpanded(){return this.builtInToolDefinition?this.toolDefinition?this.toolDefinition.defaultExpanded??this.builtInToolDefinition.defaultExpanded??!1:this.builtInToolDefinition.defaultExpanded??!1:this.toolDefinition?.defaultExpanded??!1}formatToolExecution(){let t=Ue.fg("toolTitle",Ue.bold(this.toolName)),n=JSON.stringify(this.args,null,2);n&&(t+=`
|
|
12611
12625
|
|
|
12612
12626
|
${Ue.fg("toolOutput",n)}`);let r=this.getTextOutput();return r&&(t+=`
|
|
12613
|
-
${Ue.fg("toolOutput",r)}`),t}}});var w3n,R3n,T3n,ure,B3n=C(()=>{"use strict";br();aT();vs();Xm();bp();U0();w3n=class{flatNodes=[];filteredNodes=[];selectedIndex=0;currentLeafId;maxVisibleLines;filterMode="default";searchQuery="";toolCallMap=new Map;multipleRoots=!1;showLabelTimestamps=!1;activePathIds=new Set;visibleParentMap=new Map;visibleChildrenMap=new Map;lastSelectedId=null;foldedNodes=new Set;onSelect;onCancel;onLabelEdit;constructor(t,n,r,i,o){this.currentLeafId=n,this.maxVisibleLines=r,this.filterMode=o??"default",this.multipleRoots=t.length>1,this.flatNodes=this.flattenTree(t),this.buildActivePath(),this.applyFilter();let s=i??n;this.selectedIndex=this.findNearestVisibleIndex(s),this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??null}findNearestVisibleIndex(t){if(this.filteredNodes.length===0)return 0;let n=new Map;for(let o of this.flatNodes)n.set(o.node.entry.id,o);let r=new Map(this.filteredNodes.map((o,s)=>[o.node.entry.id,s])),i=t;for(;i!==null;){let o=r.get(i);if(o!==void 0)return o;let s=n.get(i);if(!s)break;i=s.node.entry.parentId??null}return this.filteredNodes.length-1}buildActivePath(){if(this.activePathIds.clear(),!this.currentLeafId)return;let t=new Map;for(let r of this.flatNodes)t.set(r.node.entry.id,r);let n=this.currentLeafId;for(;n;){this.activePathIds.add(n);let r=t.get(n);if(!r)break;n=r.node.entry.parentId??null}}flattenTree(t){let n=[];this.toolCallMap.clear();let r=[],i=new Map,o=this.currentLeafId;{let c=[],u=[...t];for(;u.length>0;){let l=u.pop();if(!l)break;c.push(l);for(let d=l.children.length-1;d>=0;d--)u.push(l.children[d])}for(let l=c.length-1;l>=0;l--){let d=c[l],p=o!==null&&d.entry.id===o;for(let m of d.children)i.get(m)&&(p=!0);i.set(d,p)}}let s=t.length>1,a=[...t].sort((c,u)=>Number(i.get(u))-Number(i.get(c)));for(let c=a.length-1;c>=0;c--){let u=c===a.length-1;r.push([a[c],s?1:0,s,s,u,[],s])}for(;r.length>0;){let c=r.pop();if(!c)break;let[u,l,d,p,m,f,g]=c,A=u.entry;if(A.type==="message"&&A.message.role==="assistant"){let R=A.message.content;if(Array.isArray(R)){for(let N of R)if(typeof N=="object"&&N!==null&&"type"in N&&N.type==="toolCall"){let Q=N;this.toolCallMap.set(Q.id,{name:Q.name,arguments:Q.arguments})}}}n.push({node:u,indent:l,showConnector:p,isLast:m,gutters:f,isVirtualRootChild:g});let h=u.children,E=h.length>1,y=(()=>{let R=[],N=[];for(let Q of h)i.get(Q)?R.push(Q):N.push(Q);return[...R,...N]})(),b;E||d&&l>0?b=l+1:b=l;let I=p&&!g,_=this.multipleRoots?Math.max(0,l-1):l,v=Math.max(0,_-1),w=I?[...f,{position:v,show:!m}]:f;for(let R=y.length-1;R>=0;R--){let N=R===y.length-1;r.push([y[R],b,E,E,N,w,!1])}}return n}applyFilter(){this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId);let t=this.searchQuery.toLowerCase().split(/\s+/).filter(Boolean);if(this.filteredNodes=this.flatNodes.filter(n=>{let r=n.node.entry,i=r.id===this.currentLeafId;if(r.type==="message"&&r.message.role==="assistant"&&!i){let a=r.message,c=this.hasTextContent(a.content),u=a.stopReason&&a.stopReason!=="stop"&&a.stopReason!=="toolUse";if(!c&&!u)return!1}let o=!0,s=r.type==="label"||r.type==="custom"||r.type==="model_change"||r.type==="thinking_level_change"||r.type==="session_info";switch(this.filterMode){case"user-only":o=r.type==="message"&&sT(r.message.role);break;case"no-tools":o=!s&&!(r.type==="message"&&r.message.role==="toolResult");break;case"labeled-only":o=n.node.label!==void 0;break;case"all":o=!0;break;default:o=!s;break}if(!o)return!1;if(t.length>0){let a=this.getSearchableText(n.node).toLowerCase();return t.every(c=>a.includes(c))}return!0}),this.foldedNodes.size>0){let n=new Set;for(let r of this.flatNodes){let{id:i,parentId:o}=r.node.entry;o!=null&&(this.foldedNodes.has(o)||n.has(o))&&n.add(i)}this.filteredNodes=this.filteredNodes.filter(r=>!n.has(r.node.entry.id))}this.recalculateVisualStructure(),this.lastSelectedId?this.selectedIndex=this.findNearestVisibleIndex(this.lastSelectedId):this.selectedIndex>=this.filteredNodes.length&&(this.selectedIndex=Math.max(0,this.filteredNodes.length-1)),this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId)}recalculateVisualStructure(){if(this.filteredNodes.length===0)return;let t=new Set(this.filteredNodes.map(u=>u.node.entry.id)),n=new Map;for(let u of this.flatNodes)n.set(u.node.entry.id,u);let r=u=>{let l=n.get(u)?.node.entry.parentId??null;for(;l!==null;){if(t.has(l))return l;l=n.get(l)?.node.entry.parentId??null}return null},i=new Map,o=new Map;o.set(null,[]);for(let u of this.filteredNodes){let l=u.node.entry.id,d=r(l);i.set(l,d),o.has(d)||o.set(d,[]),o.get(d)?.push(l)}let s=o.get(null)??[];this.multipleRoots=s.length>1;let a=new Map;for(let u of this.filteredNodes)a.set(u.node.entry.id,u);let c=[];for(let u=s.length-1;u>=0;u--){let l=u===s.length-1;c.push([s[u],this.multipleRoots?1:0,this.multipleRoots,this.multipleRoots,l,[],this.multipleRoots])}for(;c.length>0;){let u=c.pop();if(!u)break;let[l,d,p,m,f,g,A]=u,h=a.get(l);if(!h)continue;h.indent=d,h.showConnector=m,h.isLast=f,h.gutters=g,h.isVirtualRootChild=A;let E=o.get(l)||[],y=E.length>1,b;y||p&&d>0?b=d+1:b=d;let I=m&&!A,_=this.multipleRoots?Math.max(0,d-1):d,v=Math.max(0,_-1),w=I?[...g,{position:v,show:!f}]:g;for(let R=E.length-1;R>=0;R--){let N=R===E.length-1;c.push([E[R],b,y,y,N,w,!1])}}this.visibleParentMap=i,this.visibleChildrenMap=o}getSearchableText(t){let n=t.entry,r=[];switch(t.label&&r.push(t.label),n.type){case"message":{let i=n.message;if(r.push(i.role),"content"in i&&i.content&&r.push(this.extractContent(i.content)),i.role==="bashExecution"){let o=i;o.command&&r.push(o.command)}break}case"custom_message":{r.push(n.customType),typeof n.content=="string"?r.push(n.content):r.push(this.extractContent(n.content));break}case"compaction":r.push("compaction");break;case"branch_summary":r.push("branch summary",n.summary);break;case"session_info":r.push("title"),n.name&&r.push(n.name);break;case"model_change":r.push("model",n.modelId);break;case"thinking_level_change":r.push("thinking",n.thinkingLevel);break;case"custom":r.push("custom",n.customType);break;case"label":r.push("label",n.label??"");break}return r.join(" ")}invalidate(){}getSearchQuery(){return this.searchQuery}getSelectedNode(){return this.filteredNodes[this.selectedIndex]?.node}updateNodeLabel(t,n,r){for(let i of this.flatNodes)if(i.node.entry.id===t){i.node.label=n,i.node.labelTimestamp=n?r??new Date().toISOString():void 0;break}}getStatusLabels(){let t="";switch(this.filterMode){case"no-tools":t+=" [no-tools]";break;case"user-only":t+=" [user]";break;case"labeled-only":t+=" [labeled]";break;case"all":t+=" [all]";break}return this.showLabelTimestamps&&(t+=" [+label time]"),t}render(t){let n=[];if(this.filteredNodes.length===0)return n.push(gn(Ue.fg("muted"," No entries found"),t)),n.push(gn(Ue.fg("muted",` (0/0)${this.getStatusLabels()}`),t)),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisibleLines/2),this.filteredNodes.length-this.maxVisibleLines)),i=Math.min(r+this.maxVisibleLines,this.filteredNodes.length);for(let o=r;o<i;o++){let s=this.filteredNodes[o],a=s.node.entry,c=o===this.selectedIndex,u=c?Ue.fg("accent","\u203A "):" ",l=this.multipleRoots?Math.max(0,s.indent-1):s.indent,d;s.showConnector&&!s.isVirtualRootChild?s.isLast?d="\u2514\u2500 ":d="\u251C\u2500 ":d="";let p=d?l-1:-1,m=l*3,f=[],g=this.foldedNodes.has(a.id);for(let R=0;R<m;R++){let N=Math.floor(R/3),Q=R%3,F=s.gutters.find(D=>D.position===N);if(F)Q===0?f.push(F.show?"\u2502":" "):f.push(" ");else if(d&&N===p)if(Q===0)f.push(s.isLast?"\u2514":"\u251C");else if(Q===1){let D=this.isFoldable(a.id),k;g?k="\u229E":D?k="\u229F":k="\u2500",f.push(k)}else f.push(" ");else f.push(" ")}let A=f.join(""),h=s.showConnector&&!s.isVirtualRootChild,E=g&&!h?Ue.fg("accent","\u229E "):"",b=this.activePathIds.has(a.id)?Ue.fg("accent","\u2022 "):"",I=s.node.label?Ue.fg("warning",`[${s.node.label}] `):"",_=this.showLabelTimestamps&&s.node.label&&s.node.labelTimestamp?Ue.fg("muted",`${this.formatLabelTimestamp(s.node.labelTimestamp)} `):"",v=this.getEntryDisplayText(s.node,c),w=u+Ue.fg("dim",A)+E+b+I+_+v;c&&(w=Ue.bg("selectedBg",w)),n.push(gn(w,t))}return n.push(gn(Ue.fg("muted",` (${this.selectedIndex+1}/${this.filteredNodes.length})${this.getStatusLabels()}`),t)),n}getEntryDisplayText(t,n){let r=t.entry,i,o=s=>s.replace(/[\n\t]/g," ").trim();switch(r.type){case"message":{let s=r.message,a=s.role;if(a==="user"){let c=s,u=o(this.extractContent(c.content));i=Ue.fg("accent","user: ")+u}else if(a==="assistant"){let c=s,u=o(this.extractContent(c.content));if(u)i=Ue.fg("success","assistant: ")+u;else if(c.stopReason==="aborted")i=Ue.fg("success","assistant: ")+Ue.fg("muted","(aborted)");else if(c.errorMessage){let l=o(c.errorMessage).slice(0,80);i=Ue.fg("success","assistant: ")+Ue.fg("error",l)}else i=Ue.fg("success","assistant: ")+Ue.fg("muted","(no content)")}else if(a==="toolResult"){let c=s,u=c.toolCallId?this.toolCallMap.get(c.toolCallId):void 0;u?i=Ue.fg("muted",this.formatToolCall(u.name,u.arguments)):i=Ue.fg("muted",`[${c.toolName??"tool"}]`)}else if(a==="bashExecution"){let c=s;i=Ue.fg("dim",`[bash]: ${o(c.command??"")}`)}else if(a==="promptCommandInvocation"){let u=Gy(s);i=Ue.fg("accent","prompt: ")+o(u)}else a==="ruleReference"?i=o(Jk(s)):i=Ue.fg("dim",`[${a}]`);break}case"custom_message":{let s=typeof r.content=="string"?r.content:r.content.filter(a=>a.type==="text").map(a=>a.text).join("");i=Ue.fg("customMessageLabel",`[${r.customType}]: `)+o(s);break}case"compaction":{let s=Math.round(r.tokensBefore/1e3);i=Ue.fg("borderAccent",`[compaction: ${s}k tokens]`);break}case"branch_summary":i=Ue.fg("warning","[branch summary]: ")+o(r.summary);break;case"model_change":i=Ue.fg("dim",`[model: ${r.modelId}]`);break;case"thinking_level_change":i=Ue.fg("dim",`[thinking: ${r.thinkingLevel}]`);break;case"custom":i=Ue.fg("dim",`[custom: ${r.customType}]`);break;case"label":i=Ue.fg("dim",`[label: ${r.label??"(cleared)"}]`);break;case"session_info":i=r.name?[Ue.fg("dim","[title: "),Ue.fg("dim",r.name),Ue.fg("dim","]")].join(""):[Ue.fg("dim","[title: "),Ue.italic(Ue.fg("dim","empty")),Ue.fg("dim","]")].join("");break;default:i=""}return n?Ue.bold(i):i}formatLabelTimestamp(t){let n=new Date(t),r=new Date,i=n.getHours().toString().padStart(2,"0"),o=n.getMinutes().toString().padStart(2,"0"),s=`${i}:${o}`;if(n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate())return s;let a=n.getMonth()+1,c=n.getDate();return n.getFullYear()===r.getFullYear()?`${a}/${c} ${s}`:`${n.getFullYear().toString().slice(-2)}/${a}/${c} ${s}`}extractContent(t){if(typeof t=="string")return t.slice(0,200);if(Array.isArray(t)){let r="";for(let i of t)if(typeof i=="object"&&i!==null&&"type"in i&&i.type==="text"&&(r+=i.text,r.length>=200))return r.slice(0,200);return r}return""}hasTextContent(t){if(typeof t=="string")return t.trim().length>0;if(Array.isArray(t)){for(let n of t)if(typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"){let r=n.text;if(r&&r.trim().length>0)return!0}}return!1}formatToolCall(t,n){let r=i=>{let o=process.env.HOME||process.env.USERPROFILE||"";return o&&i.startsWith(o)?`~${i.slice(o.length)}`:i};switch(t){case"read":{let i=r(String(n.path||n.file_path||"")),o=n.offset,s=n.limit,a=i;if(o!==void 0||s!==void 0){let c=o??1,u=s===void 0?"":c+s-1;a+=`:${c}${u?`-${u}`:""}`}return`[read: ${a}]`}case"write":return`[write: ${r(String(n.path||n.file_path||""))}]`;case"edit":return`[edit: ${r(String(n.path||n.file_path||""))}]`;case"bash":{let i=String(n.command||"");return`[bash: ${i.replace(/[\n\t]/g," ").trim().slice(0,50)}${i.length>50?"...":""}]`}case"grep":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[grep: /${i}/ in ${o}]`}case"find":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[find: ${i} in ${o}]`}case"ls":return`[ls: ${r(String(n.path||"."))}]`;default:{let i=JSON.stringify(n).slice(0,40);return`[${t}: ${i}${JSON.stringify(n).length>40?"...":""}]`}}}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.filteredNodes.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.filteredNodes.length-1?0:this.selectedIndex+1;else if(n.matches(t,"app.tree.foldOrUp")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.isFoldable(r)&&!this.foldedNodes.has(r)?(this.foldedNodes.add(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("up")}else if(n.matches(t,"app.tree.unfoldOrDown")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.foldedNodes.has(r)?(this.foldedNodes.delete(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("down")}else if(n.matches(t,"tui.editor.cursorLeft")||n.matches(t,"tui.select.pageUp"))this.selectedIndex=Math.max(0,this.selectedIndex-this.maxVisibleLines);else if(n.matches(t,"tui.editor.cursorRight")||n.matches(t,"tui.select.pageDown"))this.selectedIndex=Math.min(this.filteredNodes.length-1,this.selectedIndex+this.maxVisibleLines);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredNodes[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.node.entry.id)}else if(n.matches(t,"tui.select.cancel"))this.searchQuery?(this.searchQuery="",this.foldedNodes.clear(),this.applyFilter()):this.onCancel?.();else if(nr(t,"ctrl+d"))this.filterMode="default",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+t"))this.filterMode=this.filterMode==="no-tools"?"default":"no-tools",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+u"))this.filterMode=this.filterMode==="user-only"?"default":"user-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+l"))this.filterMode=this.filterMode==="labeled-only"?"default":"labeled-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+a"))this.filterMode=this.filterMode==="all"?"default":"all",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"shift+ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i-1+r.length)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(nr(t,"ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i+1)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(n.matches(t,"tui.editor.deleteCharBackward"))this.searchQuery.length>0&&(this.searchQuery=this.searchQuery.slice(0,-1),this.foldedNodes.clear(),this.applyFilter());else if(n.matches(t,"app.tree.editLabel")){let r=this.filteredNodes[this.selectedIndex];r&&this.onLabelEdit&&this.onLabelEdit(r.node.entry.id,r.node.label)}else n.matches(t,"app.tree.toggleLabelTimestamp")?this.showLabelTimestamps=!this.showLabelTimestamps:![...t].some(i=>{let o=i.charCodeAt(0);return o<32||o===127||o>=128&&o<=159})&&t.length>0&&(this.searchQuery+=t,this.foldedNodes.clear(),this.applyFilter())}isFoldable(t){let n=this.visibleChildrenMap.get(t);if(!n||n.length===0)return!1;let r=this.visibleParentMap.get(t);if(r==null)return!0;let i=this.visibleChildrenMap.get(r);return i!==void 0&&i.length>1}findBranchSegmentStart(t){let n=this.filteredNodes[this.selectedIndex]?.node.entry.id;if(!n)return this.selectedIndex;let r=new Map(this.filteredNodes.map((s,a)=>[s.node.entry.id,a])),i=n,o=s=>s===void 0?this.selectedIndex:r.get(s)??this.selectedIndex;if(t==="down")for(;;){let s=this.visibleChildrenMap.get(i)??[];if(s.length===0)return o(i);if(s.length>1)return o(s[0]);let a=s[0];if(a===void 0)return o(i);i=a}for(;;){let s=this.visibleParentMap.get(i)??null;if(s===null)return o(i);if((this.visibleChildrenMap.get(s)??[]).length>1){let c=o(i);if(c<this.selectedIndex)return c}i=s}}},R3n=class{treeList;constructor(t){this.treeList=t}invalidate(){}render(t){let n=this.treeList.getSearchQuery();return n?[gn(` ${Ue.fg("muted","Type to search:")} ${Ue.fg("accent",n)}`,t)]:[gn(` ${Ue.fg("muted","Type to search:")}`,t)]}handleInput(t){}},T3n=class{input;entryId;onSubmit;onCancel;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.input.focused=t}constructor(t,n){this.entryId=t,this.input=new ra,n&&this.input.setValue(n)}invalidate(){}render(t){let n=[],i=t-2;return n.push(gn(` ${Ue.fg("muted","Label (empty to remove):")}`,t)),n.push(...this.input.render(i).map(o=>gn(` ${o}`,t))),n.push(gn(` ${ko("tui.select.confirm","save")} ${ko("tui.select.cancel","cancel")}`,t)),n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.confirm")){let r=this.input.getValue().trim();this.onSubmit?.(this.entryId,r||void 0)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():this.input.handleInput(t)}},ure=class extends Un{treeList;labelInput=null;labelInputContainer;treeContainer;onLabelChangeCallback;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.labelInput&&(this.labelInput.focused=t)}constructor(t,n,r,i,o,s,a,c){super(),this.onLabelChangeCallback=s;let u=Math.max(5,Math.floor(r/2));this.treeList=new w3n(t,n,u,a,c),this.treeList.onSelect=i,this.treeList.onCancel=o,this.treeList.onLabelEdit=(l,d)=>this.showLabelInput(l,d),this.treeContainer=new Un,this.treeContainer.addChild(this.treeList),this.labelInputContainer=new Un,this.addChild(new Pt(1)),this.addChild(new Fi),this.addChild(new Dr(()=>Ue.bold(" Session Tree"),1,0)),this.addChild({invalidate:()=>{},render:l=>new Bf(Ue.fg("muted",` \u2191/\u2193: move. \u2190/\u2192: page. ^\u2190/^\u2192 or Alt+\u2190/Alt+\u2192: fold/branch. ${Kd("app.tree.editLabel")}: label. ^D/^T/^U/^L/^A: filters (^O/\u21E7^O cycle). ${Kd("app.tree.toggleLabelTimestamp")}: label time`),0,0).render(l)}),this.addChild(new R3n(this.treeList)),this.addChild(new Fi),this.addChild(new Pt(1)),this.addChild(this.treeContainer),this.addChild(this.labelInputContainer),this.addChild(new Pt(1)),this.addChild(new Fi),t.length===0&&setTimeout(()=>o(),100)}showLabelInput(t,n){this.labelInput=new T3n(t,n),this.labelInput.onSubmit=(r,i)=>{this.treeList.updateNodeLabel(r,i),this.onLabelChangeCallback?.(r,i),this.hideLabelInput()},this.labelInput.onCancel=()=>this.hideLabelInput(),this.labelInput.focused=this._focused,this.treeContainer.clear(),this.labelInputContainer.clear(),this.labelInputContainer.addChild(this.labelInput)}hideLabelInput(){this.labelInput=null,this.labelInputContainer.clear(),this.treeContainer.clear(),this.treeContainer.addChild(this.treeList)}handleInput(t){this.labelInput?this.labelInput.handleInput(t):this.treeList.handleInput(t)}getTreeList(){return this.treeList}}});var Dtu,Mtu,Qtu,u5,N3n=C(()=>{"use strict";br();vs();Dtu="\x1B]133;A\x07",Mtu="\x1B]133;B\x07",Qtu="\x1B]133;C\x07",u5=class extends Un{constructor(t,n=IE()){super(),this.addChild(new Pt(1)),this.addChild(new Va(t,1,1,n,{bgColor:r=>Ue.bg("userMessageBg",r),color:r=>Ue.fg("userMessageText",r)}))}render(t){let n=super.render(t);return n.length===0||(n[0]=Dtu+n[0],n[n.length-1]=n.at(-1)+Mtu+Qtu),n}}});var k3n,dre,D3n=C(()=>{"use strict";br();vs();Xm();U0();k3n=class{messages=[];selectedIndex=0;onSelect;onCancel;maxVisible=10;constructor(t){this.messages=t,this.selectedIndex=Math.max(0,t.length-1)}invalidate(){}render(t){let n=[];if(this.messages.length===0)return n.push(Ue.fg("muted"," No user messages found")),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.messages.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.messages.length);for(let o=r;o<i;o++){let s=this.messages[o],a=o===this.selectedIndex,c=s.text.replace(/\n/g," ").trim(),u=a?Ue.fg("accent","\u203A "):" ",l=t-2,d=gn(c,l),p=u+(a?Ue.bold(d):d);n.push(p);let f=` Message ${o+1} of ${this.messages.length}`,g=Ue.fg("muted",f);n.push(g),n.push("")}if(r>0||i<this.messages.length){let o=Ue.fg("muted",` (${this.selectedIndex+1}/${this.messages.length})`);n.push(o)}return n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.messages.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.messages.length-1?0:this.selectedIndex+1;else if(n.matches(t,"tui.select.confirm")){let r=this.messages[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.id)}else n.matches(t,"tui.select.cancel")&&this.onCancel&&this.onCancel()}},dre=class extends Un{messageList;constructor(t,n,r){super(),this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.bold("Branch from Message"),1,0)),this.addChild(new Dr(()=>Ue.fg("muted","Select a message to create a new branch from that point"),1,0)),this.addChild(new Pt(1)),this.addChild(new Fi),this.addChild(new Pt(1)),this.messageList=new k3n(t),this.messageList.onSelect=n,this.messageList.onCancel=r,this.addChild(this.messageList),this.addChild(new Pt(1)),this.addChild(new Fi),t.length===0&&setTimeout(()=>r(),100)}getMessageList(){return this.messageList}}});import{execSync as Ftu}from"node:child_process";import{basename as iqo}from"node:path";function Otu(e,t){return e?e.endsWith(`/${t}`)?e.slice(0,e.length-t.length-1):e:""}function rGe(e){return e.slug===sqo}function iGe(e){return e.slug===aqo}function Ptu(e){return rGe(e)||iGe(e)}function oqo(e,t){let n=[];if(t){let r=null;try{r=Ftu("git rev-parse --abbrev-ref HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}n.push({slug:sqo,path:t,branch:r})}return n.push({slug:aqo,path:"",branch:null}),n.push(...e),n}var sqo,aqo,M3n,E1t,cqo=C(()=>{"use strict";br();vs();Xm();bp();U0();sqo="\0__main_repo__",aqo="\0__new_worktree__";M3n=class{worktrees;filteredWorktrees;selectedIndex=0;searchInput;maxVisible=10;confirmingDeleteSlug=null;deletingSlug=null;deleteSpinner=null;requestRender;onSelect;onCancel;onDelete;onConfirmingDeleteChange;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.searchInput.focused=t}constructor(t,n){this.worktrees=t,this.filteredWorktrees=t,this.requestRender=n,this.searchInput=new ra,this.searchInput.onSubmit=()=>{let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}}invalidate(){}render(t){let n=[];if(n.push(...this.searchInput.render(t)),n.push(""),this.filteredWorktrees.length===0)return n.push(Ue.fg("muted",gn(" No worktrees found",t,"\u2026"))),this.addHintLine(n,t),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.filteredWorktrees.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.filteredWorktrees.length);for(let o=r;o<i;o++){let s=this.filteredWorktrees[o];if(!s)continue;let a=o===this.selectedIndex,c=s.slug===this.confirmingDeleteSlug,u=s.slug===this.deletingSlug,l=rGe(s),d=iGe(s),p=a?Ue.fg("accent","\u2192 "):" ",m,f;if(d)m="+ New worktree",f="";else if(l){m=iqo(s.path);let N=s.branch?`(${s.branch})`:"";f=N?`main repo ${N}`:"main repo"}else{m=s.slug;let N=Otu(s.branch,s.slug),Q=s.branch?`(${s.branch})`:"";f=N?`${N} ${Q}`:Q}let g=u?"":f,A=_r(p),h=_r(g)+(g?2:0),E=t-A-h,y=gn(m,Math.max(10,E),"\u2026"),b;if(u){let N=this.deleteSpinner?.frame??"\u280B";b=Ue.fg("muted",`${y} ${N} deleting...`)}else c?b=Ue.fg("error",y):d?b=a?Ue.bold(Ue.fg("accent",y)):Ue.fg("accent",y):l?b=a?Ue.bold(Ue.fg("warning",y)):Ue.fg("warning",y):a?b=Ue.bold(y):b=y;let I=p+b,_=_r(I),v=Math.max(1,t-_-_r(g)),w=Ue.fg(c?"error":"dim",g),R=I+" ".repeat(v)+w;a&&(R=Ue.bg("selectedBg",R)),n.push(gn(R,t))}if(r>0||i<this.filteredWorktrees.length){let o=` (${this.selectedIndex+1}/${this.filteredWorktrees.length})`;n.push(Ue.fg("muted",gn(o,t,"")))}return this.addHintLine(n,t),n}handleInput(t){let n=yi();if(this.deletingSlug===null){if(this.confirmingDeleteSlug!==null){if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees.find(i=>i.slug===this.confirmingDeleteSlug);this.setConfirmingDeleteSlug(null),r&&this.onDelete?.(r);return}if(n.matches(t,"tui.select.cancel")){this.setConfirmingDeleteSlug(null);return}return}if(n.matches(t,"tui.select.up"))this.selectedIndex=Math.max(0,this.selectedIndex-1);else if(n.matches(t,"tui.select.down"))this.selectedIndex=Math.min(this.filteredWorktrees.length-1,this.selectedIndex+1);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():n.matches(t,"app.session.delete")?this.startDeleteConfirmation():(this.searchInput.handleInput(t),this.filterWorktrees(this.searchInput.getValue()))}}startDeleteConfirmation(){let t=this.filteredWorktrees[this.selectedIndex];t&&(Ptu(t)||this.setConfirmingDeleteSlug(t.slug))}setConfirmingDeleteSlug(t){this.confirmingDeleteSlug=t,this.onConfirmingDeleteChange?.(t)}filterWorktrees(t){let n=t.trim().toLowerCase();n?this.filteredWorktrees=this.worktrees.filter(r=>iGe(r)?!0:rGe(r)?iqo(r.path).toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1):r.slug.toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1)):this.filteredWorktrees=this.worktrees,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,this.filteredWorktrees.length-1))}setWorktrees(t){this.worktrees=t,this.filterWorktrees(this.searchInput.getValue())}setDeletingSlug(t){this.deleteSpinner?.dispose(),this.deletingSlug=t,this.deleteSpinner=new hQ(()=>this.requestRender())}clearDeletingSlug(){this.deletingSlug=null,this.deleteSpinner&&(this.deleteSpinner.dispose(),this.deleteSpinner=null)}addHintLine(t,n){if(t.push(""),this.deletingSlug!==null)t.push(Ue.fg("muted",gn("Deleting worktree...",n,"\u2026")));else if(this.confirmingDeleteSlug===null){let r=Ue.fg("muted"," \xB7 "),i=Ue.fg("muted","Type to search")+r+ko("tui.select.confirm","select")+r+ko("app.session.delete","delete")+r+ko("tui.select.cancel","cancel");t.push(gn(i,n,"\u2026"))}else{let r=`Delete worktree? ${ko("tui.select.confirm","confirm")} \xB7 ${ko("tui.select.cancel","cancel")}`;t.push(Ue.fg("error",gn(r,n,"\u2026")))}}};E1t=class extends Un{worktreeList;mainRepoPath;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.worktreeList.focused=t}constructor(t,n,r,i,o,s,a=!0){super(),this.mainRepoPath=s;let c=oqo(t,s);this.worktreeList=new M3n(c,o),this.addChild(new Pt(1)),this.addChild(new Fi(u=>Ue.fg("accent",u))),this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.bold("Worktrees"),1,0)),a||(this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.fg("warning","\u26A0 Not inside a git repository \u2014 creating a worktree will fail."),1,0))),this.addChild(new Pt(1)),this.addChild(this.worktreeList),this.addChild(new Pt(1)),this.addChild(new Fi(u=>Ue.fg("accent",u))),this.worktreeList.onSelect=u=>n(u),this.worktreeList.onCancel=()=>r(),this.worktreeList.onDelete=u=>{i(u),o()},this.worktreeList.onConfirmingDeleteChange=()=>{o()}}handleInput(t){this.worktreeList.handleInput(t)}getWorktreeList(){return this.worktreeList}setWorktrees(t){let n=oqo(t,this.mainRepoPath);this.worktreeList.setWorktrees(n)}setDeletingSlug(t){this.worktreeList.setDeletingSlug(t)}clearDeletingSlug(){this.worktreeList.clearDeletingSlug()}}});import{spawn as lqo,spawnSync as uqo}from"node:child_process";import{mkdirSync as Ltu,readFileSync as Q3n,unlinkSync as dqo,writeFileSync as pqo}from"node:fs";import{homedir as Utu,tmpdir as mqo}from"node:os";import{basename as Eqo,dirname as Gtu,join as oGe,resolve as fqo,sep as gqo}from"node:path";import{PassThrough as Vtu}from"node:stream";function Wtu(e){return typeof e=="object"&&e!==null&&"setExpanded"in e&&typeof e.setExpanded=="function"}function PCe(e){return Math.ceil(e.length/4)}function vZ(e){return e>=1e3?`~${(e/1e3).toFixed(1)}k tokens`:`~${e} tokens`}function Aqo(e){let t=Array.from(e,s=>{let a=s.codePointAt(0)??0;return a<=31||a===127?" ":s}).join("").replace(/\s+/gu," ").trim();if(!t)return;let n=Array.from(t);if(n.length<=O3n)return t;let r=n.slice(0,O3n),i=r.join(""),o=i.lastIndexOf(" ");return o>O3n*.6?i.slice(0,o):`${r.slice(0,-1).join("")}\u2026`}function Ytu(e){let t=0;for(;e.startsWith("\x1B[",t);){let n=e.indexOf("m",t+2);if(n===-1)break;t=n+1}return e.slice(t).match(/^\s*/u)?.[0]??""}function xZ(e){if(e.length<=F3n)return e;let t=e[F3n-1]??"",n=Ytu(t);return[...e.slice(0,F3n-1),Ue.fg("muted",`${n}...`)]}function ztu(){return`Node ${process.version}`}function Ztu(e,t,n,r){let{skillCount:i,commandCount:o}=t,s=Object.values(e.hooksConfig??{}).reduce((u,l)=>u+l.length,0),a=e.agentFiles?.length??0,c=[`${i} skill${i===1?"":"s"}`,`${o} command${o===1?"":"s"}`,`${s} hook${s===1?"":"s"}`];return r&&c.push(`${a} agent${a===1?"":"s"}`),`${e.id.padEnd(n)} ${c.join(", ")}`}function Htu(e){return[...e.matchAll(/\[Image file: ([^\]\r\n]+)]/g)].map(t=>t[1]).filter(t=>!!t)}function sGe(e){return e.replace(/\[Image file: ([^\]\r\n]+)]/g,(t,n)=>`[Image file: ${Eqo(n)}]`)}function Xtu(e){return typeof e=="string"&&e.startsWith("sk-ant-oat")}function Jtu(e){if(!e)return;let t;e.scope==="user"?t="u":e.scope==="project"?t="p":t="t";let n=e.source.trim();if(n==="auto"||n==="local"||n==="cli")return t;if(n.startsWith("npm:"))return`${t}:${n}`;let r=CCt(n);if(r){let i=r.ref?`@${r.ref}`:"";return`${t}:git:${r.host}/${r.path}${i}`}return t}function y1t({description:e,sourceInfo:t,suppressAutocompleteSourceTag:n=!1}){if(n)return e;let r=Jtu(t);return r?e?`[${r}] ${e}`:`[${r}]`:e}var F3n,O3n,hqo,aGe,P3n,wZ,yqo=C(()=>{"use strict";br();Yq();sr();bGn();IGn();pg();REe();yU();gO();QDn();kDn();TOn();NOn();ZSt();dl();x0t();GS();s_t();CYo();j2n();qye();aT();pC();bPe();NOe();yCt();$Pn();IPe();cx();MOe();OCt();XCt();Q0();vGn();DYo();p1t();r3n();QNn();WCt();i3n();o3n();YFn();Xjo();s3n();a3n();c3n();l3n();u3n();d3n();m3n();Xm();f3n();A3n();f1t();h3n();bp();E3n();qjo();I3n();S3n();a_t();_3n();v3n();U0();x3n();B3n();N3n();D3n();cqo();vs();F3n=5,O3n=15;hqo="Anthropic subscription auth is active. Third-party usage now draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage.";aGe=class{source;text;constructor(t){this.source=t,this.text=new Bf(t(),1,0)}invalidate(){this.text=new Bf(this.source(),1,0)}render(t){return this.text.render(t)}},P3n=class extends Un{spinner;pathLine;errorLine;message;constructor(t,n,r){super(),this.message=()=>`Deleting worktree "${n}"`,this.spinner=new lu(t,i=>Ue.fg("accent",i),i=>Ue.fg("muted",i),this.message()),this.pathLine=new Dr(()=>Ue.fg("dim",` ${r}`),1,0),this.errorLine=new Dr("",1,0),this.addChild(this.spinner),this.addChild(this.pathLine),this.addChild(this.errorLine)}setComplete(t,n,r){this.spinner.stop();let i=t==="success"?"\u2713":"\u2717",o=t==="success"?"success":"error";this.message=()=>`${Ue.fg(o,i)} ${n}`,this.spinner.setMessage(this.message()),r&&this.errorLine.setText(()=>Ue.fg("error",` ${r}`))}invalidate(){this.spinner.setMessage(this.message()),super.invalidate()}};wZ=class e{options;runtimeHost;ui;chatContainer;pendingMessagesContainer;statusContainer;defaultEditor;editor;autocompleteProvider;fdPath;editorContainer;footer;footerDataProvider;keybindings;version;isInitialized=!1;onInputCallback;clipboardImagePaths=new Map;clipboardImagePastePromise;loadingAnimation=void 0;pendingWorkingMessage=void 0;defaultWorkingMessage="Working...";defaultHiddenThinkingLabel="Thinking...";hiddenThinkingLabel=this.defaultHiddenThinkingLabel;lastSigintTime=0;lastEscapeTime=0;changelogMarkdown=void 0;startupNoticesShown=!1;anthropicSubscriptionWarningShown=!1;autoTerminalTitle;firstPromptForAutoSessionName;autoSessionNameRequested=!1;lastStatusSpacer=void 0;lastStatusText=void 0;streamingComponent=void 0;streamingMessage=void 0;pendingTools=new Map;toolOutputExpanded=!1;hideThinkingBlock=!1;skillCommands=new Map;unsubscribe;isBashMode=!1;bashComponent=void 0;pendingBashComponents=[];autoCompactionLoader=void 0;autoCompactionEscapeHandler;retryLoader=void 0;retryEscapeHandler;compactionQueuedMessages=[];shutdownRequested=!1;extensionSelector=void 0;extensionInput=void 0;extensionEditor=void 0;extensionTerminalInputUnsubscribers=new Set;extensionWidgetsAbove=new Map;extensionWidgetsBelow=new Map;widgetContainerAbove;widgetContainerBelow;customFooter=void 0;headerContainer;builtInHeader=void 0;customHeader=void 0;get session(){return this.runtimeHost.session}get agent(){return this.session.agent}get sessionManager(){return this.session.sessionManager}get settingsManager(){return this.session.settingsManager}constructor(t,n={}){this.options=n,this.runtimeHost=t,this.version=Ru,this.ui=new dm(new pm,this.settingsManager.getShowHardwareCursor(),gi()),this.ui.setClearOnShrink(this.settingsManager.getClearOnShrink()),this.headerContainer=new Un,this.chatContainer=new Un,this.pendingMessagesContainer=new Un,this.statusContainer=new Un,this.widgetContainerAbove=new Un,this.widgetContainerBelow=new Un,this.keybindings=c2.create(),cS(this.keybindings);let r=this.settingsManager.getEditorPaddingX(),i=this.settingsManager.getAutocompleteMaxVisible();this.defaultEditor=new nre(this.ui,iOe(),this.keybindings,{paddingX:r,autocompleteMaxVisible:i}),this.editor=this.defaultEditor,this.editorContainer=new Un,this.editorContainer.addChild(this.editor),this.footerDataProvider=new Pxt(this.sessionManager.getCwd()),this.footer=new sre(this.session,this.footerDataProvider),this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled),this.hideThinkingBlock=this.settingsManager.getHideThinkingBlock(),Gbt(this.session.resourceLoader.getThemes().themes),iT(this.settingsManager.getTheme(),!0)}getBuiltInCommandConflictDiagnostics(t){if(!t)return[];let n=new Set(j6.map(r=>r.name));return t.getRegisteredCommands().filter(r=>n.has(r.name)).map(r=>({type:"warning",message:r.invocationName===r.name?`Extension command '/${r.name}' conflicts with built-in interactive command. Skipping in autocomplete.`:`Extension command '/${r.name}' conflicts with built-in interactive command. Available as '/${r.invocationName}'.`,path:r.sourceInfo.path}))}setupAutocomplete(t){let n=j6.map(u=>({name:u.name,description:u.description,...["login","logout"].includes(u.name)&&{isAvailable:()=>!0}})),r=n.find(u=>u.name==="model");r&&(r.getArgumentCompletions=u=>{let l=this.session.scopedModels.length>0?this.session.scopedModels.map(m=>m.model):this.session.modelRegistry.getAvailable();if(l.length===0)return null;let d=l.map(m=>({id:m.id,provider:m.provider,name:m.name,label:`${m.provider}/${m.id}`})),p=zd(d,u,az);return p.length===0?null:p.map(m=>({value:m.label,label:m.id,description:m.provider}))});let i=this.session.promptTemplates.map(u=>({name:u.name,description:y1t({description:u.description,sourceInfo:u.sourceInfo})})),o=new Set(n.map(u=>u.name)),s=(this.session.extensionRunner?.getRegisteredCommands().filter(u=>!o.has(u.name))??[]).map(u=>({name:u.invocationName,description:y1t({description:u.description,sourceInfo:u.sourceInfo,suppressAutocompleteSourceTag:u.suppressAutocompleteSourceTag}),getArgumentCompletions:u.getArgumentCompletions}));this.skillCommands.clear();let a=[];if(this.settingsManager.getEnableSkillCommands())for(let u of this.session.resourceLoader.getSkills().skills){let l=`skill:${u.name}`;this.skillCommands.set(l,u.filePath),a.push({name:l,description:y1t({description:u.description,sourceInfo:u.sourceInfo})})}let c=this.session.resourceLoader.getRules().rules.filter(u=>u.type==="manual").map(u=>({value:u.name,label:u.name,description:y1t({description:u.description,sourceInfo:u.sourceInfo})}));this.autocompleteProvider=new R4([...n,...i,...s,...a],this.sessionManager.getCwd(),t,c),this.defaultEditor.setAutocompleteProvider(this.autocompleteProvider),this.editor!==this.defaultEditor&&this.editor.setAutocompleteProvider?.(this.autocompleteProvider)}showStartupNoticesIfNeeded(){if(!this.startupNoticesShown&&(this.startupNoticesShown=!0,!!this.changelogMarkdown)){if(this.chatContainer.children.length>0&&this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Fi),this.settingsManager.getCollapseChangelog()){let t=this.changelogMarkdown.match(/##\s+\[?(\d+\.\d+\.\d+)\]?/),n=t?t[1]:this.version;this.chatContainer.addChild(new Dr(()=>`Updated to v${n}. Use ${Ue.bold("/changelog")} to view full changelog.`,1,0))}else this.chatContainer.addChild(new Dr(()=>Ue.bold(Ue.fg("accent","What's New")),1,0)),this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Va(this.changelogMarkdown.trim(),1,0,this.getMarkdownThemeWithSettings())),this.chatContainer.addChild(new Pt(1));this.chatContainer.addChild(new Fi)}}async init(){if(this.isInitialized)return;this.changelogMarkdown=this.getChangelogForDisplay(),this.ui.addChild(this.headerContainer),this.options.verbose||!this.settingsManager.getQuietStartup()?(this.builtInHeader=new Dr(()=>{let n=LSt(),r=Ue.fg("muted",`v${Ru}`),i=`${Ue.fg("muted","send us feedback \u2014 use ")}${Ue.fg("accent","/feedback")}${Ue.fg("muted",". It might just get fixed next week.")}`;return`
|
|
12614
|
-
${
|
|
12615
|
-
${
|
|
12627
|
+
${Ue.fg("toolOutput",r)}`),t}}});var w3n,R3n,T3n,ure,B3n=C(()=>{"use strict";br();aT();vs();Xm();bp();U0();w3n=class{flatNodes=[];filteredNodes=[];selectedIndex=0;currentLeafId;maxVisibleLines;filterMode="default";searchQuery="";toolCallMap=new Map;multipleRoots=!1;showLabelTimestamps=!1;activePathIds=new Set;visibleParentMap=new Map;visibleChildrenMap=new Map;lastSelectedId=null;foldedNodes=new Set;onSelect;onCancel;onLabelEdit;constructor(t,n,r,i,o){this.currentLeafId=n,this.maxVisibleLines=r,this.filterMode=o??"default",this.multipleRoots=t.length>1,this.flatNodes=this.flattenTree(t),this.buildActivePath(),this.applyFilter();let s=i??n;this.selectedIndex=this.findNearestVisibleIndex(s),this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??null}findNearestVisibleIndex(t){if(this.filteredNodes.length===0)return 0;let n=new Map;for(let o of this.flatNodes)n.set(o.node.entry.id,o);let r=new Map(this.filteredNodes.map((o,s)=>[o.node.entry.id,s])),i=t;for(;i!==null;){let o=r.get(i);if(o!==void 0)return o;let s=n.get(i);if(!s)break;i=s.node.entry.parentId??null}return this.filteredNodes.length-1}buildActivePath(){if(this.activePathIds.clear(),!this.currentLeafId)return;let t=new Map;for(let r of this.flatNodes)t.set(r.node.entry.id,r);let n=this.currentLeafId;for(;n;){this.activePathIds.add(n);let r=t.get(n);if(!r)break;n=r.node.entry.parentId??null}}flattenTree(t){let n=[];this.toolCallMap.clear();let r=[],i=new Map,o=this.currentLeafId;{let c=[],u=[...t];for(;u.length>0;){let l=u.pop();if(!l)break;c.push(l);for(let d=l.children.length-1;d>=0;d--)u.push(l.children[d])}for(let l=c.length-1;l>=0;l--){let d=c[l],p=o!==null&&d.entry.id===o;for(let m of d.children)i.get(m)&&(p=!0);i.set(d,p)}}let s=t.length>1,a=[...t].sort((c,u)=>Number(i.get(u))-Number(i.get(c)));for(let c=a.length-1;c>=0;c--){let u=c===a.length-1;r.push([a[c],s?1:0,s,s,u,[],s])}for(;r.length>0;){let c=r.pop();if(!c)break;let[u,l,d,p,m,f,g]=c,A=u.entry;if(A.type==="message"&&A.message.role==="assistant"){let R=A.message.content;if(Array.isArray(R)){for(let N of R)if(typeof N=="object"&&N!==null&&"type"in N&&N.type==="toolCall"){let Q=N;this.toolCallMap.set(Q.id,{name:Q.name,arguments:Q.arguments})}}}n.push({node:u,indent:l,showConnector:p,isLast:m,gutters:f,isVirtualRootChild:g});let h=u.children,E=h.length>1,y=(()=>{let R=[],N=[];for(let Q of h)i.get(Q)?R.push(Q):N.push(Q);return[...R,...N]})(),b;E||d&&l>0?b=l+1:b=l;let I=p&&!g,_=this.multipleRoots?Math.max(0,l-1):l,v=Math.max(0,_-1),w=I?[...f,{position:v,show:!m}]:f;for(let R=y.length-1;R>=0;R--){let N=R===y.length-1;r.push([y[R],b,E,E,N,w,!1])}}return n}applyFilter(){this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId);let t=this.searchQuery.toLowerCase().split(/\s+/).filter(Boolean);if(this.filteredNodes=this.flatNodes.filter(n=>{let r=n.node.entry,i=r.id===this.currentLeafId;if(r.type==="message"&&r.message.role==="assistant"&&!i){let a=r.message,c=this.hasTextContent(a.content),u=a.stopReason&&a.stopReason!=="stop"&&a.stopReason!=="toolUse";if(!c&&!u)return!1}let o=!0,s=r.type==="label"||r.type==="custom"||r.type==="model_change"||r.type==="thinking_level_change"||r.type==="session_info";switch(this.filterMode){case"user-only":o=r.type==="message"&&sT(r.message.role);break;case"no-tools":o=!s&&!(r.type==="message"&&r.message.role==="toolResult");break;case"labeled-only":o=n.node.label!==void 0;break;case"all":o=!0;break;default:o=!s;break}if(!o)return!1;if(t.length>0){let a=this.getSearchableText(n.node).toLowerCase();return t.every(c=>a.includes(c))}return!0}),this.foldedNodes.size>0){let n=new Set;for(let r of this.flatNodes){let{id:i,parentId:o}=r.node.entry;o!=null&&(this.foldedNodes.has(o)||n.has(o))&&n.add(i)}this.filteredNodes=this.filteredNodes.filter(r=>!n.has(r.node.entry.id))}this.recalculateVisualStructure(),this.lastSelectedId?this.selectedIndex=this.findNearestVisibleIndex(this.lastSelectedId):this.selectedIndex>=this.filteredNodes.length&&(this.selectedIndex=Math.max(0,this.filteredNodes.length-1)),this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId)}recalculateVisualStructure(){if(this.filteredNodes.length===0)return;let t=new Set(this.filteredNodes.map(u=>u.node.entry.id)),n=new Map;for(let u of this.flatNodes)n.set(u.node.entry.id,u);let r=u=>{let l=n.get(u)?.node.entry.parentId??null;for(;l!==null;){if(t.has(l))return l;l=n.get(l)?.node.entry.parentId??null}return null},i=new Map,o=new Map;o.set(null,[]);for(let u of this.filteredNodes){let l=u.node.entry.id,d=r(l);i.set(l,d),o.has(d)||o.set(d,[]),o.get(d)?.push(l)}let s=o.get(null)??[];this.multipleRoots=s.length>1;let a=new Map;for(let u of this.filteredNodes)a.set(u.node.entry.id,u);let c=[];for(let u=s.length-1;u>=0;u--){let l=u===s.length-1;c.push([s[u],this.multipleRoots?1:0,this.multipleRoots,this.multipleRoots,l,[],this.multipleRoots])}for(;c.length>0;){let u=c.pop();if(!u)break;let[l,d,p,m,f,g,A]=u,h=a.get(l);if(!h)continue;h.indent=d,h.showConnector=m,h.isLast=f,h.gutters=g,h.isVirtualRootChild=A;let E=o.get(l)||[],y=E.length>1,b;y||p&&d>0?b=d+1:b=d;let I=m&&!A,_=this.multipleRoots?Math.max(0,d-1):d,v=Math.max(0,_-1),w=I?[...g,{position:v,show:!f}]:g;for(let R=E.length-1;R>=0;R--){let N=R===E.length-1;c.push([E[R],b,y,y,N,w,!1])}}this.visibleParentMap=i,this.visibleChildrenMap=o}getSearchableText(t){let n=t.entry,r=[];switch(t.label&&r.push(t.label),n.type){case"message":{let i=n.message;if(r.push(i.role),"content"in i&&i.content&&r.push(this.extractContent(i.content)),i.role==="bashExecution"){let o=i;o.command&&r.push(o.command)}break}case"custom_message":{r.push(n.customType),typeof n.content=="string"?r.push(n.content):r.push(this.extractContent(n.content));break}case"compaction":r.push("compaction");break;case"branch_summary":r.push("branch summary",n.summary);break;case"session_info":r.push("title"),n.name&&r.push(n.name);break;case"model_change":r.push("model",n.modelId);break;case"thinking_level_change":r.push("thinking",n.thinkingLevel);break;case"custom":r.push("custom",n.customType);break;case"label":r.push("label",n.label??"");break}return r.join(" ")}invalidate(){}getSearchQuery(){return this.searchQuery}getSelectedNode(){return this.filteredNodes[this.selectedIndex]?.node}updateNodeLabel(t,n,r){for(let i of this.flatNodes)if(i.node.entry.id===t){i.node.label=n,i.node.labelTimestamp=n?r??new Date().toISOString():void 0;break}}getStatusLabels(){let t="";switch(this.filterMode){case"no-tools":t+=" [no-tools]";break;case"user-only":t+=" [user]";break;case"labeled-only":t+=" [labeled]";break;case"all":t+=" [all]";break}return this.showLabelTimestamps&&(t+=" [+label time]"),t}render(t){let n=[];if(this.filteredNodes.length===0)return n.push(gn(Ue.fg("muted"," No entries found"),t)),n.push(gn(Ue.fg("muted",` (0/0)${this.getStatusLabels()}`),t)),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisibleLines/2),this.filteredNodes.length-this.maxVisibleLines)),i=Math.min(r+this.maxVisibleLines,this.filteredNodes.length);for(let o=r;o<i;o++){let s=this.filteredNodes[o],a=s.node.entry,c=o===this.selectedIndex,u=c?Ue.fg("accent","\u203A "):" ",l=this.multipleRoots?Math.max(0,s.indent-1):s.indent,d;s.showConnector&&!s.isVirtualRootChild?s.isLast?d="\u2514\u2500 ":d="\u251C\u2500 ":d="";let p=d?l-1:-1,m=l*3,f=[],g=this.foldedNodes.has(a.id);for(let R=0;R<m;R++){let N=Math.floor(R/3),Q=R%3,F=s.gutters.find(D=>D.position===N);if(F)Q===0?f.push(F.show?"\u2502":" "):f.push(" ");else if(d&&N===p)if(Q===0)f.push(s.isLast?"\u2514":"\u251C");else if(Q===1){let D=this.isFoldable(a.id),k;g?k="\u229E":D?k="\u229F":k="\u2500",f.push(k)}else f.push(" ");else f.push(" ")}let A=f.join(""),h=s.showConnector&&!s.isVirtualRootChild,E=g&&!h?Ue.fg("accent","\u229E "):"",b=this.activePathIds.has(a.id)?Ue.fg("accent","\u2022 "):"",I=s.node.label?Ue.fg("warning",`[${s.node.label}] `):"",_=this.showLabelTimestamps&&s.node.label&&s.node.labelTimestamp?Ue.fg("muted",`${this.formatLabelTimestamp(s.node.labelTimestamp)} `):"",v=this.getEntryDisplayText(s.node,c),w=u+Ue.fg("dim",A)+E+b+I+_+v;c&&(w=Ue.bg("selectedBg",w)),n.push(gn(w,t))}return n.push(gn(Ue.fg("muted",` (${this.selectedIndex+1}/${this.filteredNodes.length})${this.getStatusLabels()}`),t)),n}getEntryDisplayText(t,n){let r=t.entry,i,o=s=>s.replace(/[\n\t]/g," ").trim();switch(r.type){case"message":{let s=r.message,a=s.role;if(a==="user"){let c=s,u=o(this.extractContent(c.content));i=Ue.fg("accent","user: ")+u}else if(a==="assistant"){let c=s,u=o(this.extractContent(c.content));if(u)i=Ue.fg("success","assistant: ")+u;else if(c.stopReason==="aborted")i=Ue.fg("success","assistant: ")+Ue.fg("muted","(aborted)");else if(c.errorMessage){let l=o(c.errorMessage).slice(0,80);i=Ue.fg("success","assistant: ")+Ue.fg("error",l)}else i=Ue.fg("success","assistant: ")+Ue.fg("muted","(no content)")}else if(a==="toolResult"){let c=s,u=c.toolCallId?this.toolCallMap.get(c.toolCallId):void 0;u?i=Ue.fg("muted",this.formatToolCall(u.name,u.arguments)):i=Ue.fg("muted",`[${c.toolName??"tool"}]`)}else if(a==="bashExecution"){let c=s;i=Ue.fg("dim",`[bash]: ${o(c.command??"")}`)}else if(a==="promptCommandInvocation"){let u=Gy(s);i=Ue.fg("accent","prompt: ")+o(u)}else a==="ruleReference"?i=o(Jk(s)):i=Ue.fg("dim",`[${a}]`);break}case"custom_message":{let s=typeof r.content=="string"?r.content:r.content.filter(a=>a.type==="text").map(a=>a.text).join("");i=Ue.fg("customMessageLabel",`[${r.customType}]: `)+o(s);break}case"compaction":{let s=Math.round(r.tokensBefore/1e3);i=Ue.fg("borderAccent",`[compaction: ${s}k tokens]`);break}case"branch_summary":i=Ue.fg("warning","[branch summary]: ")+o(r.summary);break;case"model_change":i=Ue.fg("dim",`[model: ${r.modelId}]`);break;case"thinking_level_change":i=Ue.fg("dim",`[thinking: ${r.thinkingLevel}]`);break;case"custom":i=Ue.fg("dim",`[custom: ${r.customType}]`);break;case"label":i=Ue.fg("dim",`[label: ${r.label??"(cleared)"}]`);break;case"session_info":i=r.name?[Ue.fg("dim","[title: "),Ue.fg("dim",r.name),Ue.fg("dim","]")].join(""):[Ue.fg("dim","[title: "),Ue.italic(Ue.fg("dim","empty")),Ue.fg("dim","]")].join("");break;default:i=""}return n?Ue.bold(i):i}formatLabelTimestamp(t){let n=new Date(t),r=new Date,i=n.getHours().toString().padStart(2,"0"),o=n.getMinutes().toString().padStart(2,"0"),s=`${i}:${o}`;if(n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate())return s;let a=n.getMonth()+1,c=n.getDate();return n.getFullYear()===r.getFullYear()?`${a}/${c} ${s}`:`${n.getFullYear().toString().slice(-2)}/${a}/${c} ${s}`}extractContent(t){if(typeof t=="string")return t.slice(0,200);if(Array.isArray(t)){let r="";for(let i of t)if(typeof i=="object"&&i!==null&&"type"in i&&i.type==="text"&&(r+=i.text,r.length>=200))return r.slice(0,200);return r}return""}hasTextContent(t){if(typeof t=="string")return t.trim().length>0;if(Array.isArray(t)){for(let n of t)if(typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"){let r=n.text;if(r&&r.trim().length>0)return!0}}return!1}formatToolCall(t,n){let r=i=>{let o=process.env.HOME||process.env.USERPROFILE||"";return o&&i.startsWith(o)?`~${i.slice(o.length)}`:i};switch(t){case"read":{let i=r(String(n.path||n.file_path||"")),o=n.offset,s=n.limit,a=i;if(o!==void 0||s!==void 0){let c=o??1,u=s===void 0?"":c+s-1;a+=`:${c}${u?`-${u}`:""}`}return`[read: ${a}]`}case"write":return`[write: ${r(String(n.path||n.file_path||""))}]`;case"edit":return`[edit: ${r(String(n.path||n.file_path||""))}]`;case"bash":{let i=String(n.command||"");return`[bash: ${i.replace(/[\n\t]/g," ").trim().slice(0,50)}${i.length>50?"...":""}]`}case"grep":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[grep: /${i}/ in ${o}]`}case"find":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[find: ${i} in ${o}]`}case"ls":return`[ls: ${r(String(n.path||"."))}]`;default:{let i=JSON.stringify(n).slice(0,40);return`[${t}: ${i}${JSON.stringify(n).length>40?"...":""}]`}}}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.filteredNodes.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.filteredNodes.length-1?0:this.selectedIndex+1;else if(n.matches(t,"app.tree.foldOrUp")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.isFoldable(r)&&!this.foldedNodes.has(r)?(this.foldedNodes.add(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("up")}else if(n.matches(t,"app.tree.unfoldOrDown")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.foldedNodes.has(r)?(this.foldedNodes.delete(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("down")}else if(n.matches(t,"tui.editor.cursorLeft")||n.matches(t,"tui.select.pageUp"))this.selectedIndex=Math.max(0,this.selectedIndex-this.maxVisibleLines);else if(n.matches(t,"tui.editor.cursorRight")||n.matches(t,"tui.select.pageDown"))this.selectedIndex=Math.min(this.filteredNodes.length-1,this.selectedIndex+this.maxVisibleLines);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredNodes[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.node.entry.id)}else if(n.matches(t,"tui.select.cancel"))this.searchQuery?(this.searchQuery="",this.foldedNodes.clear(),this.applyFilter()):this.onCancel?.();else if(nr(t,"ctrl+d"))this.filterMode="default",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+t"))this.filterMode=this.filterMode==="no-tools"?"default":"no-tools",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+u"))this.filterMode=this.filterMode==="user-only"?"default":"user-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+l"))this.filterMode=this.filterMode==="labeled-only"?"default":"labeled-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+a"))this.filterMode=this.filterMode==="all"?"default":"all",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"shift+ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i-1+r.length)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(nr(t,"ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i+1)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(n.matches(t,"tui.editor.deleteCharBackward"))this.searchQuery.length>0&&(this.searchQuery=this.searchQuery.slice(0,-1),this.foldedNodes.clear(),this.applyFilter());else if(n.matches(t,"app.tree.editLabel")){let r=this.filteredNodes[this.selectedIndex];r&&this.onLabelEdit&&this.onLabelEdit(r.node.entry.id,r.node.label)}else n.matches(t,"app.tree.toggleLabelTimestamp")?this.showLabelTimestamps=!this.showLabelTimestamps:![...t].some(i=>{let o=i.charCodeAt(0);return o<32||o===127||o>=128&&o<=159})&&t.length>0&&(this.searchQuery+=t,this.foldedNodes.clear(),this.applyFilter())}isFoldable(t){let n=this.visibleChildrenMap.get(t);if(!n||n.length===0)return!1;let r=this.visibleParentMap.get(t);if(r==null)return!0;let i=this.visibleChildrenMap.get(r);return i!==void 0&&i.length>1}findBranchSegmentStart(t){let n=this.filteredNodes[this.selectedIndex]?.node.entry.id;if(!n)return this.selectedIndex;let r=new Map(this.filteredNodes.map((s,a)=>[s.node.entry.id,a])),i=n,o=s=>s===void 0?this.selectedIndex:r.get(s)??this.selectedIndex;if(t==="down")for(;;){let s=this.visibleChildrenMap.get(i)??[];if(s.length===0)return o(i);if(s.length>1)return o(s[0]);let a=s[0];if(a===void 0)return o(i);i=a}for(;;){let s=this.visibleParentMap.get(i)??null;if(s===null)return o(i);if((this.visibleChildrenMap.get(s)??[]).length>1){let c=o(i);if(c<this.selectedIndex)return c}i=s}}},R3n=class{treeList;constructor(t){this.treeList=t}invalidate(){}render(t){let n=this.treeList.getSearchQuery();return n?[gn(` ${Ue.fg("muted","Type to search:")} ${Ue.fg("accent",n)}`,t)]:[gn(` ${Ue.fg("muted","Type to search:")}`,t)]}handleInput(t){}},T3n=class{input;entryId;onSubmit;onCancel;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.input.focused=t}constructor(t,n){this.entryId=t,this.input=new ra,n&&this.input.setValue(n)}invalidate(){}render(t){let n=[],i=t-2;return n.push(gn(` ${Ue.fg("muted","Label (empty to remove):")}`,t)),n.push(...this.input.render(i).map(o=>gn(` ${o}`,t))),n.push(gn(` ${ko("tui.select.confirm","save")} ${ko("tui.select.cancel","cancel")}`,t)),n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.confirm")){let r=this.input.getValue().trim();this.onSubmit?.(this.entryId,r||void 0)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():this.input.handleInput(t)}},ure=class extends Un{treeList;labelInput=null;labelInputContainer;treeContainer;onLabelChangeCallback;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.labelInput&&(this.labelInput.focused=t)}constructor(t,n,r,i,o,s,a,c){super(),this.onLabelChangeCallback=s;let u=Math.max(5,Math.floor(r/2));this.treeList=new w3n(t,n,u,a,c),this.treeList.onSelect=i,this.treeList.onCancel=o,this.treeList.onLabelEdit=(l,d)=>this.showLabelInput(l,d),this.treeContainer=new Un,this.treeContainer.addChild(this.treeList),this.labelInputContainer=new Un,this.addChild(new Pt(1)),this.addChild(new Fi),this.addChild(new Dr(()=>Ue.bold(" Session Tree"),1,0)),this.addChild({invalidate:()=>{},render:l=>new Bf(Ue.fg("muted",` \u2191/\u2193: move. \u2190/\u2192: page. ^\u2190/^\u2192 or Alt+\u2190/Alt+\u2192: fold/branch. ${Kd("app.tree.editLabel")}: label. ^D/^T/^U/^L/^A: filters (^O/\u21E7^O cycle). ${Kd("app.tree.toggleLabelTimestamp")}: label time`),0,0).render(l)}),this.addChild(new R3n(this.treeList)),this.addChild(new Fi),this.addChild(new Pt(1)),this.addChild(this.treeContainer),this.addChild(this.labelInputContainer),this.addChild(new Pt(1)),this.addChild(new Fi),t.length===0&&setTimeout(()=>o(),100)}showLabelInput(t,n){this.labelInput=new T3n(t,n),this.labelInput.onSubmit=(r,i)=>{this.treeList.updateNodeLabel(r,i),this.onLabelChangeCallback?.(r,i),this.hideLabelInput()},this.labelInput.onCancel=()=>this.hideLabelInput(),this.labelInput.focused=this._focused,this.treeContainer.clear(),this.labelInputContainer.clear(),this.labelInputContainer.addChild(this.labelInput)}hideLabelInput(){this.labelInput=null,this.labelInputContainer.clear(),this.treeContainer.clear(),this.treeContainer.addChild(this.treeList)}handleInput(t){this.labelInput?this.labelInput.handleInput(t):this.treeList.handleInput(t)}getTreeList(){return this.treeList}}});var Dtu,Mtu,Qtu,u5,N3n=C(()=>{"use strict";br();vs();Dtu="\x1B]133;A\x07",Mtu="\x1B]133;B\x07",Qtu="\x1B]133;C\x07",u5=class extends Un{constructor(t,n=IE()){super(),this.addChild(new Pt(1)),this.addChild(new Va(t,1,1,n,{bgColor:r=>Ue.bg("userMessageBg",r),color:r=>Ue.fg("userMessageText",r)}))}render(t){let n=super.render(t);return n.length===0||(n[0]=Dtu+n[0],n[n.length-1]=n.at(-1)+Mtu+Qtu),n}}});var k3n,dre,D3n=C(()=>{"use strict";br();vs();Xm();U0();k3n=class{messages=[];selectedIndex=0;onSelect;onCancel;maxVisible=10;constructor(t){this.messages=t,this.selectedIndex=Math.max(0,t.length-1)}invalidate(){}render(t){let n=[];if(this.messages.length===0)return n.push(Ue.fg("muted"," No user messages found")),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.messages.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.messages.length);for(let o=r;o<i;o++){let s=this.messages[o],a=o===this.selectedIndex,c=s.text.replace(/\n/g," ").trim(),u=a?Ue.fg("accent","\u203A "):" ",l=t-2,d=gn(c,l),p=u+(a?Ue.bold(d):d);n.push(p);let f=` Message ${o+1} of ${this.messages.length}`,g=Ue.fg("muted",f);n.push(g),n.push("")}if(r>0||i<this.messages.length){let o=Ue.fg("muted",` (${this.selectedIndex+1}/${this.messages.length})`);n.push(o)}return n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.messages.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.messages.length-1?0:this.selectedIndex+1;else if(n.matches(t,"tui.select.confirm")){let r=this.messages[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.id)}else n.matches(t,"tui.select.cancel")&&this.onCancel&&this.onCancel()}},dre=class extends Un{messageList;constructor(t,n,r){super(),this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.bold("Branch from Message"),1,0)),this.addChild(new Dr(()=>Ue.fg("muted","Select a message to create a new branch from that point"),1,0)),this.addChild(new Pt(1)),this.addChild(new Fi),this.addChild(new Pt(1)),this.messageList=new k3n(t),this.messageList.onSelect=n,this.messageList.onCancel=r,this.addChild(this.messageList),this.addChild(new Pt(1)),this.addChild(new Fi),t.length===0&&setTimeout(()=>r(),100)}getMessageList(){return this.messageList}}});import{execSync as Ftu}from"node:child_process";import{basename as iqo}from"node:path";function Otu(e,t){return e?e.endsWith(`/${t}`)?e.slice(0,e.length-t.length-1):e:""}function rGe(e){return e.slug===sqo}function iGe(e){return e.slug===aqo}function Ptu(e){return rGe(e)||iGe(e)}function oqo(e,t){let n=[];if(t){let r=null;try{r=Ftu("git rev-parse --abbrev-ref HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}n.push({slug:sqo,path:t,branch:r})}return n.push({slug:aqo,path:"",branch:null}),n.push(...e),n}var sqo,aqo,M3n,E1t,cqo=C(()=>{"use strict";br();vs();Xm();bp();U0();sqo="\0__main_repo__",aqo="\0__new_worktree__";M3n=class{worktrees;filteredWorktrees;selectedIndex=0;searchInput;maxVisible=10;confirmingDeleteSlug=null;deletingSlug=null;deleteSpinner=null;requestRender;onSelect;onCancel;onDelete;onConfirmingDeleteChange;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.searchInput.focused=t}constructor(t,n){this.worktrees=t,this.filteredWorktrees=t,this.requestRender=n,this.searchInput=new ra,this.searchInput.onSubmit=()=>{let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}}invalidate(){}render(t){let n=[];if(n.push(...this.searchInput.render(t)),n.push(""),this.filteredWorktrees.length===0)return n.push(Ue.fg("muted",gn(" No worktrees found",t,"\u2026"))),this.addHintLine(n,t),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.filteredWorktrees.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.filteredWorktrees.length);for(let o=r;o<i;o++){let s=this.filteredWorktrees[o];if(!s)continue;let a=o===this.selectedIndex,c=s.slug===this.confirmingDeleteSlug,u=s.slug===this.deletingSlug,l=rGe(s),d=iGe(s),p=a?Ue.fg("accent","\u2192 "):" ",m,f;if(d)m="+ New worktree",f="";else if(l){m=iqo(s.path);let N=s.branch?`(${s.branch})`:"";f=N?`main repo ${N}`:"main repo"}else{m=s.slug;let N=Otu(s.branch,s.slug),Q=s.branch?`(${s.branch})`:"";f=N?`${N} ${Q}`:Q}let g=u?"":f,A=_r(p),h=_r(g)+(g?2:0),E=t-A-h,y=gn(m,Math.max(10,E),"\u2026"),b;if(u){let N=this.deleteSpinner?.frame??"\u280B";b=Ue.fg("muted",`${y} ${N} deleting...`)}else c?b=Ue.fg("error",y):d?b=a?Ue.bold(Ue.fg("accent",y)):Ue.fg("accent",y):l?b=a?Ue.bold(Ue.fg("warning",y)):Ue.fg("warning",y):a?b=Ue.bold(y):b=y;let I=p+b,_=_r(I),v=Math.max(1,t-_-_r(g)),w=Ue.fg(c?"error":"dim",g),R=I+" ".repeat(v)+w;a&&(R=Ue.bg("selectedBg",R)),n.push(gn(R,t))}if(r>0||i<this.filteredWorktrees.length){let o=` (${this.selectedIndex+1}/${this.filteredWorktrees.length})`;n.push(Ue.fg("muted",gn(o,t,"")))}return this.addHintLine(n,t),n}handleInput(t){let n=yi();if(this.deletingSlug===null){if(this.confirmingDeleteSlug!==null){if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees.find(i=>i.slug===this.confirmingDeleteSlug);this.setConfirmingDeleteSlug(null),r&&this.onDelete?.(r);return}if(n.matches(t,"tui.select.cancel")){this.setConfirmingDeleteSlug(null);return}return}if(n.matches(t,"tui.select.up"))this.selectedIndex=Math.max(0,this.selectedIndex-1);else if(n.matches(t,"tui.select.down"))this.selectedIndex=Math.min(this.filteredWorktrees.length-1,this.selectedIndex+1);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():n.matches(t,"app.session.delete")?this.startDeleteConfirmation():(this.searchInput.handleInput(t),this.filterWorktrees(this.searchInput.getValue()))}}startDeleteConfirmation(){let t=this.filteredWorktrees[this.selectedIndex];t&&(Ptu(t)||this.setConfirmingDeleteSlug(t.slug))}setConfirmingDeleteSlug(t){this.confirmingDeleteSlug=t,this.onConfirmingDeleteChange?.(t)}filterWorktrees(t){let n=t.trim().toLowerCase();n?this.filteredWorktrees=this.worktrees.filter(r=>iGe(r)?!0:rGe(r)?iqo(r.path).toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1):r.slug.toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1)):this.filteredWorktrees=this.worktrees,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,this.filteredWorktrees.length-1))}setWorktrees(t){this.worktrees=t,this.filterWorktrees(this.searchInput.getValue())}setDeletingSlug(t){this.deleteSpinner?.dispose(),this.deletingSlug=t,this.deleteSpinner=new hQ(()=>this.requestRender())}clearDeletingSlug(){this.deletingSlug=null,this.deleteSpinner&&(this.deleteSpinner.dispose(),this.deleteSpinner=null)}addHintLine(t,n){if(t.push(""),this.deletingSlug!==null)t.push(Ue.fg("muted",gn("Deleting worktree...",n,"\u2026")));else if(this.confirmingDeleteSlug===null){let r=Ue.fg("muted"," \xB7 "),i=Ue.fg("muted","Type to search")+r+ko("tui.select.confirm","select")+r+ko("app.session.delete","delete")+r+ko("tui.select.cancel","cancel");t.push(gn(i,n,"\u2026"))}else{let r=`Delete worktree? ${ko("tui.select.confirm","confirm")} \xB7 ${ko("tui.select.cancel","cancel")}`;t.push(Ue.fg("error",gn(r,n,"\u2026")))}}};E1t=class extends Un{worktreeList;mainRepoPath;_focused=!1;get focused(){return this._focused}set focused(t){this._focused=t,this.worktreeList.focused=t}constructor(t,n,r,i,o,s,a=!0){super(),this.mainRepoPath=s;let c=oqo(t,s);this.worktreeList=new M3n(c,o),this.addChild(new Pt(1)),this.addChild(new Fi(u=>Ue.fg("accent",u))),this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.bold("Worktrees"),1,0)),a||(this.addChild(new Pt(1)),this.addChild(new Dr(()=>Ue.fg("warning","\u26A0 Not inside a git repository \u2014 creating a worktree will fail."),1,0))),this.addChild(new Pt(1)),this.addChild(this.worktreeList),this.addChild(new Pt(1)),this.addChild(new Fi(u=>Ue.fg("accent",u))),this.worktreeList.onSelect=u=>n(u),this.worktreeList.onCancel=()=>r(),this.worktreeList.onDelete=u=>{i(u),o()},this.worktreeList.onConfirmingDeleteChange=()=>{o()}}handleInput(t){this.worktreeList.handleInput(t)}getWorktreeList(){return this.worktreeList}setWorktrees(t){let n=oqo(t,this.mainRepoPath);this.worktreeList.setWorktrees(n)}setDeletingSlug(t){this.worktreeList.setDeletingSlug(t)}clearDeletingSlug(){this.worktreeList.clearDeletingSlug()}}});import{spawn as lqo,spawnSync as uqo}from"node:child_process";import{mkdirSync as Ltu,readFileSync as Q3n,unlinkSync as dqo,writeFileSync as pqo}from"node:fs";import{homedir as Utu,tmpdir as mqo}from"node:os";import{basename as Eqo,dirname as Gtu,join as oGe,resolve as fqo,sep as gqo}from"node:path";import{PassThrough as Vtu}from"node:stream";function Wtu(e){return typeof e=="object"&&e!==null&&"setExpanded"in e&&typeof e.setExpanded=="function"}function PCe(e){return Math.ceil(e.length/4)}function vZ(e){return e>=1e3?`~${(e/1e3).toFixed(1)}k tokens`:`~${e} tokens`}function Aqo(e){let t=Array.from(e,s=>{let a=s.codePointAt(0)??0;return a<=31||a===127?" ":s}).join("").replace(/\s+/gu," ").trim();if(!t)return;let n=Array.from(t);if(n.length<=O3n)return t;let r=n.slice(0,O3n),i=r.join(""),o=i.lastIndexOf(" ");return o>O3n*.6?i.slice(0,o):`${r.slice(0,-1).join("")}\u2026`}function Ytu(e){let t=0;for(;e.startsWith("\x1B[",t);){let n=e.indexOf("m",t+2);if(n===-1)break;t=n+1}return e.slice(t).match(/^\s*/u)?.[0]??""}function xZ(e){if(e.length<=F3n)return e;let t=e[F3n-1]??"",n=Ytu(t);return[...e.slice(0,F3n-1),Ue.fg("muted",`${n}...`)]}function ztu(){return`Node ${process.version}`}function Ztu(e,t,n,r){let{skillCount:i,commandCount:o}=t,s=Object.values(e.hooksConfig??{}).reduce((u,l)=>u+l.length,0),a=e.agentFiles?.length??0,c=[`${i} skill${i===1?"":"s"}`,`${o} command${o===1?"":"s"}`,`${s} hook${s===1?"":"s"}`];return r&&c.push(`${a} agent${a===1?"":"s"}`),`${e.id.padEnd(n)} ${c.join(", ")}`}function Htu(e){return[...e.matchAll(/\[Image file: ([^\]\r\n]+)]/g)].map(t=>t[1]).filter(t=>!!t)}function sGe(e){return e.replace(/\[Image file: ([^\]\r\n]+)]/g,(t,n)=>`[Image file: ${Eqo(n)}]`)}function Xtu(e){return typeof e=="string"&&e.startsWith("sk-ant-oat")}function Jtu(e){if(!e)return;let t;e.scope==="user"?t="u":e.scope==="project"?t="p":t="t";let n=e.source.trim();if(n==="auto"||n==="local"||n==="cli")return t;if(n.startsWith("npm:"))return`${t}:${n}`;let r=CCt(n);if(r){let i=r.ref?`@${r.ref}`:"";return`${t}:git:${r.host}/${r.path}${i}`}return t}function y1t({description:e,sourceInfo:t,suppressAutocompleteSourceTag:n=!1}){if(n)return e;let r=Jtu(t);return r?e?`[${r}] ${e}`:`[${r}]`:e}var F3n,O3n,hqo,aGe,P3n,wZ,yqo=C(()=>{"use strict";br();Yq();sr();bGn();IGn();pg();REe();yU();gO();QDn();kDn();TOn();NOn();ZSt();dl();x0t();GS();s_t();CYo();j2n();qye();aT();pC();bPe();NOe();yCt();$Pn();IPe();cx();MOe();OCt();XCt();Q0();vGn();DYo();p1t();r3n();QNn();WCt();i3n();o3n();YFn();Xjo();s3n();a3n();c3n();l3n();u3n();d3n();m3n();Xm();f3n();A3n();f1t();h3n();bp();E3n();qjo();I3n();S3n();a_t();_3n();v3n();U0();x3n();B3n();N3n();D3n();cqo();vs();F3n=5,O3n=15;hqo="Anthropic subscription auth is active. Third-party usage now draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage.";aGe=class{source;text;constructor(t){this.source=t,this.text=new Bf(t(),1,0)}invalidate(){this.text=new Bf(this.source(),1,0)}render(t){return this.text.render(t)}},P3n=class extends Un{spinner;pathLine;errorLine;message;constructor(t,n,r){super(),this.message=()=>`Deleting worktree "${n}"`,this.spinner=new lu(t,i=>Ue.fg("accent",i),i=>Ue.fg("muted",i),this.message()),this.pathLine=new Dr(()=>Ue.fg("dim",` ${r}`),1,0),this.errorLine=new Dr("",1,0),this.addChild(this.spinner),this.addChild(this.pathLine),this.addChild(this.errorLine)}setComplete(t,n,r){this.spinner.stop();let i=t==="success"?"\u2713":"\u2717",o=t==="success"?"success":"error";this.message=()=>`${Ue.fg(o,i)} ${n}`,this.spinner.setMessage(this.message()),r&&this.errorLine.setText(()=>Ue.fg("error",` ${r}`))}invalidate(){this.spinner.setMessage(this.message()),super.invalidate()}};wZ=class e{options;runtimeHost;ui;chatContainer;pendingMessagesContainer;statusContainer;defaultEditor;editor;autocompleteProvider;fdPath;editorContainer;footer;footerDataProvider;keybindings;version;isInitialized=!1;onInputCallback;clipboardImagePaths=new Map;clipboardImagePastePromise;loadingAnimation=void 0;pendingWorkingMessage=void 0;defaultWorkingMessage="Working...";defaultHiddenThinkingLabel="Thinking...";hiddenThinkingLabel=this.defaultHiddenThinkingLabel;lastSigintTime=0;lastEscapeTime=0;changelogMarkdown=void 0;startupNoticesShown=!1;anthropicSubscriptionWarningShown=!1;autoTerminalTitle;firstPromptForAutoSessionName;autoSessionNameRequested=!1;lastStatusSpacer=void 0;lastStatusText=void 0;streamingComponent=void 0;streamingMessage=void 0;pendingTools=new Map;toolOutputExpanded=!1;hideThinkingBlock=!1;skillCommands=new Map;unsubscribe;isBashMode=!1;bashComponent=void 0;pendingBashComponents=[];autoCompactionLoader=void 0;autoCompactionEscapeHandler;retryLoader=void 0;retryEscapeHandler;compactionQueuedMessages=[];shutdownRequested=!1;extensionSelector=void 0;extensionInput=void 0;extensionEditor=void 0;extensionTerminalInputUnsubscribers=new Set;extensionWidgetsAbove=new Map;extensionWidgetsBelow=new Map;widgetContainerAbove;widgetContainerBelow;customFooter=void 0;headerContainer;builtInHeader=void 0;customHeader=void 0;get session(){return this.runtimeHost.session}get agent(){return this.session.agent}get sessionManager(){return this.session.sessionManager}get settingsManager(){return this.session.settingsManager}constructor(t,n={}){this.options=n,this.runtimeHost=t,this.version=Ru,this.ui=new dm(new pm,this.settingsManager.getShowHardwareCursor(),gi()),this.ui.setClearOnShrink(this.settingsManager.getClearOnShrink()),this.headerContainer=new Un,this.chatContainer=new Un,this.pendingMessagesContainer=new Un,this.statusContainer=new Un,this.widgetContainerAbove=new Un,this.widgetContainerBelow=new Un,this.keybindings=c2.create(),cS(this.keybindings);let r=this.settingsManager.getEditorPaddingX(),i=this.settingsManager.getAutocompleteMaxVisible();this.defaultEditor=new nre(this.ui,iOe(),this.keybindings,{paddingX:r,autocompleteMaxVisible:i}),this.editor=this.defaultEditor,this.editorContainer=new Un,this.editorContainer.addChild(this.editor),this.footerDataProvider=new Pxt(this.sessionManager.getCwd()),this.footer=new sre(this.session,this.footerDataProvider),this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled),this.hideThinkingBlock=this.settingsManager.getHideThinkingBlock(),Gbt(this.session.resourceLoader.getThemes().themes),iT(this.settingsManager.getTheme(),!0)}getBuiltInCommandConflictDiagnostics(t){if(!t)return[];let n=new Set(j6.map(r=>r.name));return t.getRegisteredCommands().filter(r=>n.has(r.name)).map(r=>({type:"warning",message:r.invocationName===r.name?`Extension command '/${r.name}' conflicts with built-in interactive command. Skipping in autocomplete.`:`Extension command '/${r.name}' conflicts with built-in interactive command. Available as '/${r.invocationName}'.`,path:r.sourceInfo.path}))}setupAutocomplete(t){let n=j6.map(u=>({name:u.name,description:u.description,...["login","logout"].includes(u.name)&&{isAvailable:()=>!0}})),r=n.find(u=>u.name==="model");r&&(r.getArgumentCompletions=u=>{let l=this.session.scopedModels.length>0?this.session.scopedModels.map(m=>m.model):this.session.modelRegistry.getAvailable();if(l.length===0)return null;let d=l.map(m=>({id:m.id,provider:m.provider,name:m.name,label:`${m.provider}/${m.id}`})),p=zd(d,u,az);return p.length===0?null:p.map(m=>({value:m.label,label:m.id,description:m.provider}))});let i=this.session.promptTemplates.map(u=>({name:u.name,description:y1t({description:u.description,sourceInfo:u.sourceInfo})})),o=new Set(n.map(u=>u.name)),s=(this.session.extensionRunner?.getRegisteredCommands().filter(u=>!o.has(u.name))??[]).map(u=>({name:u.invocationName,description:y1t({description:u.description,sourceInfo:u.sourceInfo,suppressAutocompleteSourceTag:u.suppressAutocompleteSourceTag}),getArgumentCompletions:u.getArgumentCompletions}));this.skillCommands.clear();let a=[];if(this.settingsManager.getEnableSkillCommands())for(let u of this.session.resourceLoader.getSkills().skills){let l=`skill:${u.name}`;this.skillCommands.set(l,u.filePath),a.push({name:l,description:y1t({description:u.description,sourceInfo:u.sourceInfo})})}let c=this.session.resourceLoader.getRules().rules.filter(u=>u.type==="manual").map(u=>({value:u.name,label:u.name,description:y1t({description:u.description,sourceInfo:u.sourceInfo})}));this.autocompleteProvider=new R4([...n,...i,...s,...a],this.sessionManager.getCwd(),t,c),this.defaultEditor.setAutocompleteProvider(this.autocompleteProvider),this.editor!==this.defaultEditor&&this.editor.setAutocompleteProvider?.(this.autocompleteProvider)}showStartupNoticesIfNeeded(){if(!this.startupNoticesShown&&(this.startupNoticesShown=!0,!!this.changelogMarkdown)){if(this.chatContainer.children.length>0&&this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Fi),this.settingsManager.getCollapseChangelog()){let t=this.changelogMarkdown.match(/##\s+\[?(\d+\.\d+\.\d+)\]?/),n=t?t[1]:this.version;this.chatContainer.addChild(new Dr(()=>`Updated to v${n}. Use ${Ue.bold("/changelog")} to view full changelog.`,1,0))}else this.chatContainer.addChild(new Dr(()=>Ue.bold(Ue.fg("accent","What's New")),1,0)),this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Va(this.changelogMarkdown.trim(),1,0,this.getMarkdownThemeWithSettings())),this.chatContainer.addChild(new Pt(1));this.chatContainer.addChild(new Fi)}}async init(){if(this.isInitialized)return;this.changelogMarkdown=this.getChangelogForDisplay(),this.ui.addChild(this.headerContainer),this.options.verbose||!this.settingsManager.getQuietStartup()?(this.builtInHeader=new Dr(()=>{let n=LSt(),r=Math.max(...n.split(`
|
|
12628
|
+
`).map(s=>_r(s))),i=Ue.fg("muted",`v${Ru}`.padStart(r)),o=`${Ue.fg("muted","send us feedback \u2014 use ")}${Ue.fg("accent","/feedback")}${Ue.fg("muted",". It might just get fixed next week.")}`;return`
|
|
12629
|
+
${n}
|
|
12630
|
+
${i}
|
|
12631
|
+
${o}`},1,0),this.headerContainer.addChild(new Pt(1)),this.headerContainer.addChild(this.builtInHeader),this.headerContainer.addChild(new Pt(1))):(this.builtInHeader=new kn("",0,0),this.headerContainer.addChild(this.builtInHeader)),this.ui.addChild(this.chatContainer),this.ui.addChild(this.pendingMessagesContainer),this.ui.addChild(this.statusContainer),this.renderWidgets(),this.ui.addChild(this.widgetContainerAbove);let[t]=await Promise.all([Yee("fd"),Yee("rg")]);this.fdPath=t,this.ui.addChild(this.editorContainer),this.ui.addChild(this.widgetContainerBelow),this.ui.addChild(this.footer),this.ui.setFocus(this.editor),this.setupKeyHandlers(),this.setupEditorSubmitHandler(),this.isInitialized=!0,this.ui.start(),this.ui.requestRender(),await this.bindCurrentSessionExtensions(),this.renderInitialMessages(),await this.hydratePersistedQueue(),this.updateTerminalTitle(),this.subscribeToAgent(),lCo(()=>{this.session.resourceLoader.getEventBus?.().emit("theme_changed",void 0),this.ui.invalidate(),this.updateEditorBorderColor(),this.ui.requestRender()}),this.footerDataProvider.onBranchChange(()=>{this.ui.requestRender()}),this.footerDataProvider.onRenderRequest(()=>{this.ui.requestRender()}),await this.updateAvailableProviderCount()}updateTerminalTitle(t){t&&(this.firstPromptForAutoSessionName??=t,this.autoTerminalTitle=Aqo(t));let n=this.sessionManager.getSessionName()??this.autoTerminalTitle;this.ui.terminal.setTitle(n?Aqo(n)??qFe:qFe)}async maybeGenerateAutoSessionName(){let t=this.firstPromptForAutoSessionName;if(!t||this.autoSessionNameRequested||this.sessionManager.getSessionName())return;this.autoSessionNameRequested=!0;let n=await this.session.generateSessionName(t);n&&!this.sessionManager.getSessionName()&&(this.sessionManager.appendSessionInfo(n),this.updateTerminalTitle())}async run(){await this.init(),this.setupTerminalCompletionNotifications();let t=BOn();RUo({currentVersion:this.version,installation:t}).then(c=>{c&&this.showNewVersionNotification(c,t)}),this.checkForPackageUpdates().then(c=>{c.length>0&&this.showPackageUpdateNotification(c)}),this.checkTmuxKeyboardSetup().then(c=>{c&&this.showWarning(c)});let{migratedProviders:n,modelFallbackMessage:r,initialMessage:i,initialImages:o,initialMessages:s}=this.options;n&&n.length>0&&this.showWarning(`Migrated credentials to auth.json: ${n.join(", ")}`);let a=this.session.modelRegistry.getError();if(a&&this.showError(`models.json error: ${a}`),r&&this.showStatus(r),this.maybeWarnAboutAnthropicSubscriptionAuth(),i)try{await this.session.prompt(i,{images:o})}catch(c){let u=c instanceof Error?c.message:"Unknown error occurred";this.showError(u)}if(s)for(let c of s)try{await this.session.prompt(c)}catch(u){let l=u instanceof Error?u.message:"Unknown error occurred";this.showError(l)}for(;!this.isShuttingDown;){let c=await this.getUserInput();if(this.isShuttingDown)break;try{await this.session.prompt(c)}catch(u){let l=u instanceof Error?u.message:"Unknown error occurred";this.showError(l)}}}async checkForPackageUpdates(){if(process.env.PI_OFFLINE)return[];try{return(await new Kk({cwd:this.sessionManager.getCwd(),agentDir:gi(),settingsManager:this.settingsManager}).checkForAvailableUpdates()).map(r=>r.displayName)}catch{return[]}}async checkTmuxKeyboardSetup(){if(!process.env.TMUX)return;let t=i=>new Promise(o=>{let s=lqo("tmux",["show","-gv",i],{stdio:["ignore","pipe","ignore"]}),a="",c=setTimeout(()=>{s.kill(),o(void 0)},2e3);s.stdout?.on("data",u=>{a+=u.toString()}),s.on("error",()=>{clearTimeout(c),o(void 0)}),s.on("close",u=>{clearTimeout(c),o(u===0?a.trim():void 0)})}),[n,r]=await Promise.all([t("extended-keys"),t("extended-keys-format")]);if(n!==void 0){if(n!=="on"&&n!=="always")return"tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.";if(r==="xterm")return"tmux extended-keys-format is xterm. Pi works best with csi-u. Add `set -g extended-keys-format csi-u` to ~/.tmux.conf and restart tmux."}}getChangelogForDisplay(){if(this.session.state.messages.length>0)return;let t=this.settingsManager.getLastChangelogVersion(),n=Obt(),r=xGn(n);if(t){let i=kYo(r,t);if(i.length>0)return this.settingsManager.setLastChangelogVersion(Ru),i.map(o=>o.content).join(`
|
|
12616
12632
|
|
|
12617
12633
|
`)}else{this.settingsManager.setLastChangelogVersion(Ru);return}}getMarkdownThemeWithSettings(){return{...IE(),codeBlockIndent:this.settingsManager.getCodeBlockIndent()}}loadAllHooksConfig(){let t=Utu(),n=this.sessionManager.getCwd(),r=[".claude"],i=this.settingsManager.getHooks()??{},o=this.normalizeHooksConfig(i),s=r.flatMap(a=>[oGe(t,a,"settings.json"),oGe(n,a,"settings.json")]);for(let a of s)try{let c=Q3n(a,"utf-8"),u=JSON.parse(c);if(u.hooks){let l=this.normalizeHooksConfig(u.hooks);o={...o,...l}}}catch{}return o}countPluginResources(t){return{skillCount:vIo(t.skillsDir),commandCount:z0o(t.commandsDir)}}normalizeHooksConfig(t){let n={};for(let[r,i]of Object.entries(t)){if(!Array.isArray(i))continue;let o=[];for(let s of i){if(typeof s!="object"||s===null)continue;let a=s;if(typeof a.command=="string")o.push({command:a.command,...typeof a.matcher=="string"?{matcher:a.matcher}:{}});else if(Array.isArray(a.hooks))for(let c of a.hooks)typeof c=="object"&&c!==null&&typeof c.command=="string"&&o.push({command:c.command,...typeof a.matcher=="string"?{matcher:a.matcher}:{}})}o.length>0&&(n[r]=o)}return n}formatDisplayPath(t){return Bw(t)}getShortPath(t,n){let r=n?.source??"",i=t.match(/node_modules\/(@?[^/]+(?:\/[^/]+)?)\/(.*)/);if(i&&r.startsWith("npm:"))return i[2];let o=t.match(/git\/[^/]+\/[^/]+\/(.*)/);return o&&r.startsWith("git:")?o[1]:this.formatDisplayPath(t)}getDisplaySourceInfo(t){let n=t?.source??"local",r=t?.scope??"project";if(n==="local")return r==="user"?{label:"user",color:"muted"}:r==="project"?{label:"project",color:"muted"}:r==="temporary"?{label:"path",scopeLabel:"temp",color:"muted"}:{label:"path",color:"muted"};if(n==="cli")return{label:"path",scopeLabel:r==="temporary"?"temp":void 0,color:"muted"};let i;return r==="user"?i="user":r==="project"?i="project":r==="temporary"?i="temp":i=void 0,{label:n,scopeLabel:i,color:"accent"}}getScopeGroup(t){let n=t?.source??"local",r=t?.scope??"project";return n==="cli"||r==="temporary"?"path":r==="user"?"user":r==="project"?"project":"path"}isPackageSource(t){let n=t?.source??"";return n.startsWith("npm:")||n.startsWith("git:")}buildScopeGroups(t){let n={user:{scope:"user",paths:[],packages:new Map},project:{scope:"project",paths:[],packages:new Map},path:{scope:"path",paths:[],packages:new Map}};for(let r of t){let i={path:r.path,sourceInfo:r.sourceInfo?{...r.sourceInfo}:void 0},o=this.getScopeGroup(i.sourceInfo),s=n[o],a=i.sourceInfo?.source??"local";if(this.isPackageSource(i.sourceInfo)){let c=s.packages.get(a)??[];c.push(i),s.packages.set(a,c)}else s.paths.push(i)}return[n.project,n.user,n.path].filter(r=>r.paths.length>0||r.packages.size>0)}formatScopeGroups(t,n){let r=[];for(let i of t){r.push(` ${Ue.fg("accent",i.scope)}`);let o=[...i.paths].sort((a,c)=>a.path.localeCompare(c.path));for(let a of o)r.push(Ue.fg("dim",` ${n.formatPath(a)}`));let s=Array.from(i.packages.entries()).sort(([a],[c])=>a.localeCompare(c));for(let[a,c]of s){r.push(` ${Ue.fg("mdLink",a)}`);let u=[...c].sort((l,d)=>l.path.localeCompare(d.path));for(let l of u)r.push(Ue.fg("dim",` ${n.formatPackagePath(l,a)}`))}}return r.join(`
|
|
12618
12634
|
`)}findSourceInfoForPath(t,n){let r=n.get(t);if(r)return r;let i=t;for(;i.includes("/");){i=i.slice(0,i.lastIndexOf("/"));let o=n.get(i);if(o)return o}}formatPathWithSource(t,n){if(n){let r=this.getShortPath(t,n),{label:i,scopeLabel:o}=this.getDisplaySourceInfo(n);return`${o?`${i} (${o})`:i} ${r}`}return this.formatDisplayPath(t)}formatDiagnostics(t,n){let r=[],i=new Map,o=[];for(let s of t)if(s.type==="collision"&&s.collision){let a=i.get(s.collision.name)??[];a.push(s),i.set(s.collision.name,a)}else o.push(s);for(let[s,a]of i){let c=a[0]?.collision;if(c){r.push(Ue.fg("warning",` "${s}" collision:`)),r.push(Ue.fg("dim",` ${Ue.fg("success","\u2713")} ${this.formatPathWithSource(c.winnerPath,this.findSourceInfoForPath(c.winnerPath,n))}`));for(let u of a)u.collision&&r.push(Ue.fg("dim",` ${Ue.fg("warning","\u2717")} ${this.formatPathWithSource(u.collision.loserPath,this.findSourceInfoForPath(u.collision.loserPath,n))} (skipped)`))}}for(let s of o)if(s.path){let a=this.formatPathWithSource(s.path,this.findSourceInfoForPath(s.path,n));r.push(Ue.fg(s.type==="error"?"error":"warning",` ${a}`)),r.push(Ue.fg(s.type==="error"?"error":"warning",` ${s.message}`))}else r.push(Ue.fg(s.type==="error"?"error":"warning",` ${s.message}`));return r.join(`
|
|
@@ -13551,9 +13567,11 @@ ${a.join(`
|
|
|
13551
13567
|
`;this.addChild(new Va(r+this.getBody(),0,0,this.markdownTheme,{color:i=>Le.fg("customMessageText",i)}))}renderCollapsed(){let t=this.getCollapsedHintPrefix(),n=t?[t]:[];n.push(`${Jd("app.tools.expand")} to expand`);let r=Le.fg("customMessageLabel",`\x1B[1m${this.getLabel()}\x1B[22m `)+Le.fg("customMessageText",this.getTitle())+Le.fg("dim",` (${n.join(", ")})`);this.addChild(new kn(r,0,0))}}});import{homedir as Ndu}from"node:os";var $Ge,a8n=C(()=>{"use strict";xR();Cs();s8n();$Ge=class extends n0e{constructor(t,n,r,i=rE(),o){super(i),this.command=t,this.args=n,this.expandedBody=r,this.source=o,this.updateDisplay()}getLabel(){return"[prompt]"}getTitle(){return By({command:this.command,args:this.args})}getBody(){return this.expandedBody.trim()?this.expandedBody:"_(empty prompt body)_"}getExpandedHeaderSuffix(){let t=this.formatSourcePath();return t?`_(from ${t})_`:""}getCollapsedHintPrefix(){let t=this.formatSourcePath();return t?`from ${t}`:""}formatSourcePath(){let t=this.source?.path;if(!t)return;let n=Ndu();return n&&t.startsWith(`${n}/`)?`~${t.slice(n.length)}`:t}}});function RRt(e,t){return e===null||e.includes(t)}function kdu(e,t){if(e===null)return[t];let n=e.indexOf(t);return n>=0?[...e.slice(0,n),...e.slice(n+1)]:[...e,t]}function Yis(e,t,n){if(e===null)return null;let r=n??t,i=[...e];for(let o of r)i.includes(o)||i.push(o);return i.length===t.length?null:i}function zis(e,t,n){if(e===null)return n?t.filter(i=>!n.includes(i)):[];let r=new Set(n??e);return e.filter(i=>!r.has(i))}function Ddu(e,t,n,r){let i=e??[...t],o=i.indexOf(n);if(o<0)return i;let s=o+r;if(s<0||s>=i.length)return i;let a=[...i];return[a[o],a[s]]=[a[s],a[o]],a}function Mdu(e,t){if(e===null)return t;let n=new Set(e);return[...e,...t.filter(r=>!n.has(r))]}var KGe,c8n=C(()=>{"use strict";br();sC();Cs();ef();q0();KGe=class extends Un{get focused(){return this._focused}set focused(t){this._focused=t,this.searchInput.focused=t}constructor(t,n){super(),this.modelsById=new Map,this.allIds=[],this.enabledIds=null,this.filteredItems=[],this.selectedIndex=0,this._focused=!1,this.maxVisible=15,this.isDirty=!1,this.callbacks=n;for(let r of t.allModels){let i=`${r.provider}/${r.id}`;this.modelsById.set(i,r),this.allIds.push(i)}this.enabledIds=t.hasEnabledModelsFilter?[...t.enabledModelIds]:null,this.filteredItems=this.buildItems(),this.addChild(new Ri),this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.fg("accent",Le.bold("Model Configuration")),0,0)),this.addChild(new Mr(()=>Le.fg("muted","Session-only. Ctrl+S to save to settings."),0,0)),this.addChild(new Pt(1)),this.searchInput=new ra,this.addChild(this.searchInput),this.addChild(new Pt(1)),this.listContainer=new Un,this.addChild(this.listContainer),this.addChild(new Pt(1)),this.footerText=new Mr(()=>this.getFooterText(),0,0),this.addChild(this.footerText),this.addChild(new Ri),this.updateList()}buildItems(){let t=[];for(let n of Mdu(this.enabledIds,this.allIds)){let r=this.modelsById.get(n);r&&t.push({fullId:n,model:r,enabled:RRt(this.enabledIds,n)})}return t}getFooterText(){let t=this.enabledIds?.length??this.allIds.length,i=["Enter toggle","^A all","^X clear","^P provider","Alt+\u2191\u2193 reorder","^S save",this.enabledIds===null?"all enabled":`${t}/${this.allIds.length} enabled`];return this.isDirty?Le.fg("dim",` ${i.join(" \xB7 ")} `)+Le.fg("warning","(unsaved)"):Le.fg("dim",` ${i.join(" \xB7 ")}`)}refresh(){let t=this.searchInput.getValue(),n=this.buildItems();this.filteredItems=t?zd(n,t,r=>u6(r.model)):n,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,this.filteredItems.length-1)),this.updateList(),this.footerText.setText(()=>this.getFooterText())}updateList(){if(this.listContainer.clear(),this.filteredItems.length===0){this.listContainer.addChild(new Mr(()=>Le.fg("muted"," No matching models"),0,0));return}let t=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.filteredItems.length-this.maxVisible)),n=Math.min(t+this.maxVisible,this.filteredItems.length),r=this.enabledIds===null;for(let i=t;i<n;i++){let o=this.filteredItems[i];o&&this.listContainer.addChild(new Mr(()=>{let s=i===this.selectedIndex,a=s?Le.fg("accent","\u2192 "):" ",c=s?Le.fg("accent",o.model.name||o.model.id):o.model.name||o.model.id,u=Le.fg("muted",` [${o.model.provider}]`),l;return r?l="":o.enabled?l=Le.fg("success"," \u2713"):l=Le.fg("dim"," \u2717"),`${a}${c}${u}${l}`},0,0))}if((t>0||n<this.filteredItems.length)&&this.listContainer.addChild(new Mr(()=>Le.fg("muted",` (${this.selectedIndex+1}/${this.filteredItems.length})`),0,0)),this.filteredItems.length>0){let i=this.filteredItems[this.selectedIndex];this.listContainer.addChild(new Pt(1)),this.listContainer.addChild(new Mr(()=>Le.fg("muted",` Model Name: ${i.model.name}`),0,0))}}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up")){if(this.filteredItems.length===0)return;this.selectedIndex=this.selectedIndex===0?this.filteredItems.length-1:this.selectedIndex-1,this.updateList();return}if(n.matches(t,"tui.select.down")){if(this.filteredItems.length===0)return;this.selectedIndex=this.selectedIndex===this.filteredItems.length-1?0:this.selectedIndex+1,this.updateList();return}if(nr(t,yd.alt("up"))||nr(t,yd.alt("down"))){let r=this.filteredItems[this.selectedIndex];if(r&&RRt(this.enabledIds,r.fullId)){let i=nr(t,yd.alt("up"))?-1:1,o=this.enabledIds??this.allIds,a=o.indexOf(r.fullId)+i;a>=0&&a<o.length&&(this.enabledIds=Ddu(this.enabledIds,this.allIds,r.fullId,i),this.isDirty=!0,this.selectedIndex+=i,this.refresh())}return}if(nr(t,yd.enter)){let r=this.filteredItems[this.selectedIndex];if(r){let i=this.enabledIds===null;this.enabledIds=kdu(this.enabledIds,r.fullId),this.isDirty=!0,i&&this.callbacks.onClearAll(),this.callbacks.onModelToggle(r.fullId,RRt(this.enabledIds,r.fullId)),this.refresh()}return}if(nr(t,yd.ctrl("a"))){let r=this.searchInput.getValue()?this.filteredItems.map(i=>i.fullId):void 0;this.enabledIds=Yis(this.enabledIds,this.allIds,r),this.isDirty=!0,this.callbacks.onEnableAll(r??this.allIds),this.refresh();return}if(nr(t,yd.ctrl("x"))){let r=this.searchInput.getValue()?this.filteredItems.map(i=>i.fullId):void 0;this.enabledIds=zis(this.enabledIds,this.allIds,r),this.isDirty=!0,this.callbacks.onClearAll(),this.refresh();return}if(nr(t,yd.ctrl("p"))){let r=this.filteredItems[this.selectedIndex];if(r){let i=r.model.provider,o=this.allIds.filter(a=>this.modelsById.get(a)?.provider===i),s=o.every(a=>RRt(this.enabledIds,a));this.enabledIds=s?zis(this.enabledIds,this.allIds,o):Yis(this.enabledIds,this.allIds,o),this.isDirty=!0,this.callbacks.onToggleProvider(i,o,!s),this.refresh()}return}if(nr(t,yd.ctrl("s"))){this.callbacks.onPersist(this.enabledIds??[...this.allIds]),this.isDirty=!1,this.footerText.setText(()=>this.getFooterText());return}if(nr(t,yd.ctrl("c"))){this.searchInput.getValue()?(this.searchInput.setValue(""),this.refresh()):this.callbacks.onCancel();return}if(nr(t,yd.escape)){this.callbacks.onCancel();return}this.searchInput.handleInput(t),this.refresh()}getSearchInput(){return this.searchInput}}});var Qdu,Fdu,Odu,TRt,Tre,l8n=C(()=>{"use strict";br();Cs();ef();q0();Qdu={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},Fdu={off:"No reasoning",minimal:"Minimal reasoning",low:"Light reasoning",medium:"Moderate reasoning",high:"Deep reasoning",xhigh:"Maximum reasoning"},Odu=(e,t)=>e.kind==="explicit"?e.effort:t?`${t} (default)`:"Model default",TRt=class extends Un{constructor(t,n,r,i,o,s,a){super(),this.addChild(new Mr(()=>Le.bold(Le.fg("accent",t)),0,0)),n&&(this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.fg("muted",n),0,0))),this.addChild(new Pt(1)),this.selectList=new Tf(r,Math.min(r.length,10),KN(),Qdu);let c=r.findIndex(u=>u.value===i);c!==-1&&this.selectList.setSelectedIndex(c),this.selectList.onSelect=u=>{o(u.value)},this.selectList.onCancel=s,a&&(this.selectList.onSelectionChange=u=>{a(u.value)}),this.addChild(this.selectList),this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.fg("dim"," Enter to select \xB7 Esc to go back"),0,0))}handleInput(t){this.selectList.handleInput(t)}},Tre=class extends Un{constructor(t,n){super();let r=Vm().images,i=[{id:"autocompact",label:"Auto-compact",description:"Automatically compact context when it gets too large",currentValue:t.autoCompact?"true":"false",values:["true","false"]},{id:"steering-mode",label:"Steering mode",description:"Enter while streaming queues steering messages. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.",currentValue:t.steeringMode,values:["one-at-a-time","all"]},{id:"follow-up-mode",label:"Follow-up mode",description:"Alt+Enter queues follow-up messages until agent stops. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.",currentValue:t.followUpMode,values:["one-at-a-time","all"]},{id:"transport",label:"Transport",description:"Preferred transport for providers that support multiple transports",currentValue:t.transport,values:["sse","websocket","auto"]},{id:"hide-thinking",label:"Hide thinking",description:"Hide thinking blocks in assistant responses",currentValue:t.hideThinkingBlock?"true":"false",values:["true","false"]},{id:"collapse-changelog",label:"Collapse changelog",description:"Show condensed changelog after updates",currentValue:t.collapseChangelog?"true":"false",values:["true","false"]},{id:"quiet-startup",label:"Quiet startup",description:"Disable verbose printing at startup",currentValue:t.quietStartup?"true":"false",values:["true","false"]},{id:"double-escape-action",label:"Double-escape action",description:"Action when pressing Escape twice with empty editor",currentValue:t.doubleEscapeAction,values:["tree","fork","none"]},{id:"tree-filter-mode",label:"Tree filter mode",description:"Default filter when opening /tree",currentValue:t.treeFilterMode,values:["default","no-tools","user-only","labeled-only","all"]},{id:"thinking",label:"Thinking level",description:"Reasoning depth for thinking-capable models",currentValue:t.thinkingSelection.kind==="model-default"?"default":t.thinkingSelection.effort,submenu:(m,f)=>{let g=t.availableThinkingSelections.map(A=>{let h=A.kind==="explicit"?A.effort:t.defaultThinkingEffort;return{value:A.kind==="model-default"?"default":A.effort,label:Odu(A,t.defaultThinkingEffort),description:h?Fdu[h]??"Model-defined reasoning effort":"Use the model or provider default"}});return new TRt("Thinking Level","Higher effort trades speed and quota for deeper reasoning.",g,m,A=>{let h=t.availableThinkingSelections.find(E=>A===(E.kind==="model-default"?"default":E.effort));h&&n.onThinkingLevelChange(h),f(A)},()=>f())}},{id:"theme",label:"Theme",description:"Color theme for the interface",currentValue:t.currentTheme,submenu:(m,f)=>new TRt("Theme","Select color theme",t.availableThemes.map(g=>({value:g,label:g})),m,g=>{n.onThemeChange(g),f(g)},()=>{n.onThemePreview?.(m),f()},g=>{n.onThemePreview?.(g)})}];r&&i.splice(1,0,{id:"show-images",label:"Show images",description:"Render images inline in terminal",currentValue:t.showImages?"true":"false",values:["true","false"]}),i.splice(r?2:1,0,{id:"auto-resize-images",label:"Auto-resize images",description:"Resize large images to 2000x2000 max for better model compatibility",currentValue:t.autoResizeImages?"true":"false",values:["true","false"]});let o=i.findIndex(m=>m.id==="auto-resize-images");i.splice(o+1,0,{id:"block-images",label:"Block images",description:"Prevent images from being sent to LLM providers",currentValue:t.blockImages?"true":"false",values:["true","false"]});let s=i.findIndex(m=>m.id==="block-images");i.splice(s+1,0,{id:"skill-commands",label:"Skill commands",description:"Register skills as /skill:name commands",currentValue:t.enableSkillCommands?"true":"false",values:["true","false"]});let a=i.findIndex(m=>m.id==="skill-commands");i.splice(a+1,0,{id:"enable-hashline",label:"Enable hashline",description:"Use the hashline read/edit tools (overrides the built-ins). Takes effect on next launch.",currentValue:t.enableHashline?"true":"false",values:["true","false"]});let c=i.findIndex(m=>m.id==="enable-hashline");i.splice(c+1,0,{id:"collapse-prompt-commands",label:"Collapse prompt commands",description:"Render /command invocations as a single line (Ctrl+O to expand)",currentValue:t.collapsePromptCommands?"true":"false",values:["true","false"]});let u=i.findIndex(m=>m.id==="collapse-prompt-commands");i.splice(u+1,0,{id:"show-hardware-cursor",label:"Show hardware cursor",description:"Show the terminal cursor while still positioning it for IME support",currentValue:t.showHardwareCursor?"true":"false",values:["true","false"]});let l=i.findIndex(m=>m.id==="show-hardware-cursor");i.splice(l+1,0,{id:"editor-padding",label:"Editor padding",description:"Horizontal padding for input editor (0-3)",currentValue:String(t.editorPaddingX),values:["0","1","2","3"]});let d=i.findIndex(m=>m.id==="editor-padding");i.splice(d+1,0,{id:"autocomplete-max-visible",label:"Autocomplete max items",description:"Max visible items in autocomplete dropdown (3-20)",currentValue:String(t.autocompleteMaxVisible),values:["3","5","7","10","15","20"]});let p=i.findIndex(m=>m.id==="autocomplete-max-visible");if(i.splice(p+1,0,{id:"clear-on-shrink",label:"Clear on shrink",description:"Clear empty rows when content shrinks (may cause flicker)",currentValue:t.clearOnShrink?"true":"false",values:["true","false"]}),t.availableThinkingSelections.length===0){let m=i.findIndex(f=>f.id==="thinking");i.splice(m,1)}this.addChild(new Ri),this.settingsList=new Q4(i,10,Ast(),(m,f)=>{switch(m){case"autocompact":n.onAutoCompactChange(f==="true");break;case"show-images":n.onShowImagesChange(f==="true");break;case"auto-resize-images":n.onAutoResizeImagesChange(f==="true");break;case"block-images":n.onBlockImagesChange(f==="true");break;case"skill-commands":n.onEnableSkillCommandsChange(f==="true");break;case"enable-hashline":n.onEnableHashlineChange(f==="true");break;case"steering-mode":n.onSteeringModeChange(f);break;case"follow-up-mode":n.onFollowUpModeChange(f);break;case"transport":n.onTransportChange(f);break;case"hide-thinking":n.onHideThinkingBlockChange(f==="true");break;case"collapse-changelog":n.onCollapseChangelogChange(f==="true");break;case"quiet-startup":n.onQuietStartupChange(f==="true");break;case"double-escape-action":n.onDoubleEscapeActionChange(f);break;case"tree-filter-mode":n.onTreeFilterModeChange(f);break;case"show-hardware-cursor":n.onShowHardwareCursorChange(f==="true");break;case"editor-padding":n.onEditorPaddingXChange(Number.parseInt(f,10));break;case"autocomplete-max-visible":n.onAutocompleteMaxVisibleChange(Number.parseInt(f,10));break;case"clear-on-shrink":n.onClearOnShrinkChange(f==="true");break;case"collapse-prompt-commands":n.onCollapsePromptCommandsChange(f==="true");break}},n.onCancel,{enableSearch:!0}),this.addChild(this.settingsList),this.addChild(new Ri)}getSettingsList(){return this.settingsList}}});var Bre,u8n=C(()=>{"use strict";Cs();s8n();Bre=class extends n0e{constructor(t,n=rE()){super(n),this.skillBlock=t,this.updateDisplay()}getLabel(){return"[skill]"}getTitle(){return this.skillBlock.name}getBody(){return this.skillBlock.content}}});async function Zis(e,t){if(t==="image/png")return{data:e,mimeType:t};let n=await qAe();if(!n)return null;try{let r=new Uint8Array(Buffer.from(e,"base64")),i=n.PhotonImage.new_from_byteslice(r),o=uAt(n,i,r);o!==i&&i.free();try{let s=o.get_bytes();return{data:Buffer.from(s).toString("base64"),mimeType:"image/png"}}finally{o.free()}}catch{return null}}var His=C(()=>{"use strict";FIn();AAt()});var eP,d8n=C(()=>{"use strict";br();s6();I0();His();Cs();eP=class extends Un{constructor(t,n,r,i,o,s,a=process.cwd()){super(),this.rendererState={},this.imageComponents=[],this.imageSpacers=[],this.expanded=!1,this.isPartial=!0,this.executionStarted=!1,this.argsComplete=!1,this.convertedImages=new Map,this.hideComponent=!1,this.toolName=t,this.toolCallId=n,this.args=r,this.toolDefinition=o,this.builtInToolDefinition=Clo[t],this.showImages=i.showImages??!0,this.ui=s,this.cwd=a,this.addChild(new Pt(1)),this.contentBox=new um(1,1,c=>Le.bg("toolPendingBg",c)),this.contentText=new kn("",1,1,c=>Le.bg("toolPendingBg",c)),this.hasRendererDefinition()?this.addChild(this.contentBox):this.addChild(this.contentText),this.updateDisplay()}getCallRenderer(){return this.builtInToolDefinition?this.toolDefinition?this.toolDefinition.renderCall??this.builtInToolDefinition.renderCall:this.builtInToolDefinition.renderCall:this.toolDefinition?.renderCall}getResultRenderer(){return this.builtInToolDefinition?this.toolDefinition?this.toolDefinition.renderResult??this.builtInToolDefinition.renderResult:this.builtInToolDefinition.renderResult:this.toolDefinition?.renderResult}hasRendererDefinition(){return this.builtInToolDefinition!==void 0||this.toolDefinition!==void 0}getRenderContext(t){return{args:this.args,toolCallId:this.toolCallId,invalidate:()=>{this.invalidate(),this.ui.requestRender()},lastComponent:t,state:this.rendererState,cwd:this.cwd,executionStarted:this.executionStarted,argsComplete:this.argsComplete,isPartial:this.isPartial,expanded:this.expanded,showImages:this.showImages,isError:this.result?.isError??!1}}createCallFallback(){return new kn(Le.fg("toolTitle",Le.bold(this.toolName)),0,0)}createResultFallback(){let t=this.getTextOutput();if(t)return new kn(Le.fg("toolOutput",t),0,0)}updateArgs(t){this.args=t,this.updateDisplay()}markExecutionStarted(){this.executionStarted=!0,this.updateDisplay(),this.ui.requestRender()}setArgsComplete(){this.argsComplete=!0,this.updateDisplay(),this.ui.requestRender()}updateResult(t,n=!1){this.result=t,this.isPartial=n,this.updateDisplay(),this.maybeConvertImagesForKitty()}maybeConvertImagesForKitty(){if(Vm().images!=="kitty"||!this.result)return;let n=this.result.content.filter(r=>r.type==="image");for(let r=0;r<n.length;r++){let i=n[r];if(!i.data||!i.mimeType||i.mimeType==="image/png"||this.convertedImages.has(r))continue;let o=r;Zis(i.data,i.mimeType).then(s=>{s&&(this.convertedImages.set(o,s),this.updateDisplay(),this.ui.requestRender())})}}setExpanded(t){this.expanded=t,this.updateDisplay()}setShowImages(t){this.showImages=t,this.updateDisplay()}invalidate(){super.invalidate(),this.updateDisplay()}render(t){return this.hideComponent?[]:super.render(t)}updateDisplay(){let t;this.isPartial?t=r=>Le.bg("toolPendingBg",r):this.result?.isError?t=r=>Le.bg("toolErrorBg",r):t=r=>Le.bg("toolSuccessBg",r);let n=!1;if(this.hideComponent=!1,this.hasRendererDefinition()){this.contentBox.setBgFn(t),this.contentBox.clear();let r=this.getCallRenderer();if(r)try{let i=r(this.args,Le,this.getRenderContext(this.callRendererComponent));this.callRendererComponent=i,this.contentBox.addChild(i),n=!0}catch{this.callRendererComponent=void 0,this.contentBox.addChild(this.createCallFallback()),n=!0}else this.contentBox.addChild(this.createCallFallback()),n=!0;if(this.result&&this.shouldShowResult()){let i=this.getResultRenderer(),o=this.expanded||this.result.isError===!0;if(i)try{let s=i({content:this.result.content,details:this.result.details},{expanded:o,isPartial:this.isPartial},Le,this.getRenderContext(this.resultRendererComponent));this.resultRendererComponent=s,this.contentBox.addChild(s),n=!0}catch{this.resultRendererComponent=void 0;let s=this.createResultFallback();s&&(this.contentBox.addChild(s),n=!0)}else{let s=this.createResultFallback();s&&(this.contentBox.addChild(s),n=!0)}}}else this.contentText.setCustomBgFn(t),this.contentText.setText(this.shouldShowResult()?this.formatToolExecution():Le.fg("toolTitle",Le.bold(this.toolName))),n=!0;for(let r of this.imageComponents)this.removeChild(r);this.imageComponents=[];for(let r of this.imageSpacers)this.removeChild(r);if(this.imageSpacers=[],this.result){let r=this.result.content.filter(o=>o.type==="image"),i=Vm();for(let o=0;o<r.length;o++){let s=r[o];if(i.images&&this.showImages&&s.data&&s.mimeType){let a=this.convertedImages.get(o),c=a?.data??s.data,u=a?.mimeType??s.mimeType;if(i.images==="kitty"&&u!=="image/png")continue;let l=new Pt(1);this.addChild(l),this.imageSpacers.push(l);let d=new D4(c,u,{fallbackColor:p=>Le.fg("toolOutput",p)},{maxWidthCells:60});this.imageComponents.push(d),this.addChild(d)}}}this.hasRendererDefinition()&&!n&&this.imageComponents.length===0&&(this.hideComponent=!0)}getTextOutput(){return fA(this.result,this.showImages)}shouldShowResult(){return this.expanded||this.result?.isError===!0||this.getDefaultExpanded()}getDefaultExpanded(){return this.builtInToolDefinition?this.toolDefinition?this.toolDefinition.defaultExpanded??this.builtInToolDefinition.defaultExpanded??!1:this.builtInToolDefinition.defaultExpanded??!1:this.toolDefinition?.defaultExpanded??!1}formatToolExecution(){let t=Le.fg("toolTitle",Le.bold(this.toolName)),n=JSON.stringify(this.args,null,2);n&&(t+=`
|
|
13552
13568
|
|
|
13553
13569
|
${Le.fg("toolOutput",n)}`);let r=this.getTextOutput();return r&&(t+=`
|
|
13554
|
-
${Le.fg("toolOutput",r)}`),t}}});var p8n,m8n,f8n,Nre,g8n=C(()=>{"use strict";br();xR();Cs();ef();yp();q0();p8n=class{constructor(t,n,r,i,o){this.flatNodes=[],this.filteredNodes=[],this.selectedIndex=0,this.filterMode="default",this.searchQuery="",this.toolCallMap=new Map,this.multipleRoots=!1,this.showLabelTimestamps=!1,this.activePathIds=new Set,this.visibleParentMap=new Map,this.visibleChildrenMap=new Map,this.lastSelectedId=null,this.foldedNodes=new Set,this.currentLeafId=n,this.maxVisibleLines=r,this.filterMode=o??"default",this.multipleRoots=t.length>1,this.flatNodes=this.flattenTree(t),this.buildActivePath(),this.applyFilter();let s=i??n;this.selectedIndex=this.findNearestVisibleIndex(s),this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??null}findNearestVisibleIndex(t){if(this.filteredNodes.length===0)return 0;let n=new Map;for(let o of this.flatNodes)n.set(o.node.entry.id,o);let r=new Map(this.filteredNodes.map((o,s)=>[o.node.entry.id,s])),i=t;for(;i!==null;){let o=r.get(i);if(o!==void 0)return o;let s=n.get(i);if(!s)break;i=s.node.entry.parentId??null}return this.filteredNodes.length-1}buildActivePath(){if(this.activePathIds.clear(),!this.currentLeafId)return;let t=new Map;for(let r of this.flatNodes)t.set(r.node.entry.id,r);let n=this.currentLeafId;for(;n;){this.activePathIds.add(n);let r=t.get(n);if(!r)break;n=r.node.entry.parentId??null}}flattenTree(t){let n=[];this.toolCallMap.clear();let r=[],i=new Map,o=this.currentLeafId;{let c=[],u=[...t];for(;u.length>0;){let l=u.pop();if(!l)break;c.push(l);for(let d=l.children.length-1;d>=0;d--)u.push(l.children[d])}for(let l=c.length-1;l>=0;l--){let d=c[l],p=o!==null&&d.entry.id===o;for(let m of d.children)i.get(m)&&(p=!0);i.set(d,p)}}let s=t.length>1,a=[...t].sort((c,u)=>Number(i.get(u))-Number(i.get(c)));for(let c=a.length-1;c>=0;c--){let u=c===a.length-1;r.push([a[c],s?1:0,s,s,u,[],s])}for(;r.length>0;){let c=r.pop();if(!c)break;let[u,l,d,p,m,f,g]=c,A=u.entry;if(A.type==="message"&&A.message.role==="assistant"){let R=A.message.content;if(Array.isArray(R)){for(let N of R)if(typeof N=="object"&&N!==null&&"type"in N&&N.type==="toolCall"){let Q=N;this.toolCallMap.set(Q.id,{name:Q.name,arguments:Q.arguments})}}}n.push({node:u,indent:l,showConnector:p,isLast:m,gutters:f,isVirtualRootChild:g});let h=u.children,E=h.length>1,y=(()=>{let R=[],N=[];for(let Q of h)i.get(Q)?R.push(Q):N.push(Q);return[...R,...N]})(),b;E||d&&l>0?b=l+1:b=l;let I=p&&!g,_=this.multipleRoots?Math.max(0,l-1):l,v=Math.max(0,_-1),w=I?[...f,{position:v,show:!m}]:f;for(let R=y.length-1;R>=0;R--){let N=R===y.length-1;r.push([y[R],b,E,E,N,w,!1])}}return n}applyFilter(){this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId);let t=this.searchQuery.toLowerCase().split(/\s+/).filter(Boolean);if(this.filteredNodes=this.flatNodes.filter(n=>{let r=n.node.entry,i=r.id===this.currentLeafId;if(r.type==="message"&&r.message.role==="assistant"&&!i){let a=r.message,c=this.hasTextContent(a.content),u=a.stopReason&&a.stopReason!=="stop"&&a.stopReason!=="toolUse";if(!c&&!u)return!1}let o=!0,s=r.type==="label"||r.type==="custom"||r.type==="model_change"||r.type==="thinking_level_change"||r.type==="session_info";switch(this.filterMode){case"user-only":o=r.type==="message"&&vR(r.message.role);break;case"no-tools":o=!s&&!(r.type==="message"&&r.message.role==="toolResult");break;case"labeled-only":o=n.node.label!==void 0;break;case"all":o=!0;break;default:o=!s;break}if(!o)return!1;if(t.length>0){let a=this.getSearchableText(n.node).toLowerCase();return t.every(c=>a.includes(c))}return!0}),this.foldedNodes.size>0){let n=new Set;for(let r of this.flatNodes){let{id:i,parentId:o}=r.node.entry;o!=null&&(this.foldedNodes.has(o)||n.has(o))&&n.add(i)}this.filteredNodes=this.filteredNodes.filter(r=>!n.has(r.node.entry.id))}this.recalculateVisualStructure(),this.lastSelectedId?this.selectedIndex=this.findNearestVisibleIndex(this.lastSelectedId):this.selectedIndex>=this.filteredNodes.length&&(this.selectedIndex=Math.max(0,this.filteredNodes.length-1)),this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId)}recalculateVisualStructure(){if(this.filteredNodes.length===0)return;let t=new Set(this.filteredNodes.map(u=>u.node.entry.id)),n=new Map;for(let u of this.flatNodes)n.set(u.node.entry.id,u);let r=u=>{let l=n.get(u)?.node.entry.parentId??null;for(;l!==null;){if(t.has(l))return l;l=n.get(l)?.node.entry.parentId??null}return null},i=new Map,o=new Map;o.set(null,[]);for(let u of this.filteredNodes){let l=u.node.entry.id,d=r(l);i.set(l,d),o.has(d)||o.set(d,[]),o.get(d)?.push(l)}let s=o.get(null)??[];this.multipleRoots=s.length>1;let a=new Map;for(let u of this.filteredNodes)a.set(u.node.entry.id,u);let c=[];for(let u=s.length-1;u>=0;u--){let l=u===s.length-1;c.push([s[u],this.multipleRoots?1:0,this.multipleRoots,this.multipleRoots,l,[],this.multipleRoots])}for(;c.length>0;){let u=c.pop();if(!u)break;let[l,d,p,m,f,g,A]=u,h=a.get(l);if(!h)continue;h.indent=d,h.showConnector=m,h.isLast=f,h.gutters=g,h.isVirtualRootChild=A;let E=o.get(l)||[],y=E.length>1,b;y||p&&d>0?b=d+1:b=d;let I=m&&!A,_=this.multipleRoots?Math.max(0,d-1):d,v=Math.max(0,_-1),w=I?[...g,{position:v,show:!f}]:g;for(let R=E.length-1;R>=0;R--){let N=R===E.length-1;c.push([E[R],b,y,y,N,w,!1])}}this.visibleParentMap=i,this.visibleChildrenMap=o}getSearchableText(t){let n=t.entry,r=[];switch(t.label&&r.push(t.label),n.type){case"message":{let i=n.message;if(r.push(i.role),"content"in i&&i.content&&r.push(this.extractContent(i.content)),i.role==="bashExecution"){let o=i;o.command&&r.push(o.command)}break}case"custom_message":{r.push(n.customType),typeof n.content=="string"?r.push(n.content):r.push(this.extractContent(n.content));break}case"compaction":r.push("compaction");break;case"branch_summary":r.push("branch summary",n.summary);break;case"session_info":r.push("title"),n.name&&r.push(n.name);break;case"model_change":r.push("model",n.modelId);break;case"thinking_level_change":r.push("thinking",n.thinkingLevel);break;case"custom":r.push("custom",n.customType);break;case"label":r.push("label",n.label??"");break}return r.join(" ")}invalidate(){}getSearchQuery(){return this.searchQuery}getSelectedNode(){return this.filteredNodes[this.selectedIndex]?.node}updateNodeLabel(t,n,r){for(let i of this.flatNodes)if(i.node.entry.id===t){i.node.label=n,i.node.labelTimestamp=n?r??new Date().toISOString():void 0;break}}getStatusLabels(){let t="";switch(this.filterMode){case"no-tools":t+=" [no-tools]";break;case"user-only":t+=" [user]";break;case"labeled-only":t+=" [labeled]";break;case"all":t+=" [all]";break}return this.showLabelTimestamps&&(t+=" [+label time]"),t}render(t){let n=[];if(this.filteredNodes.length===0)return n.push(gn(Le.fg("muted"," No entries found"),t)),n.push(gn(Le.fg("muted",` (0/0)${this.getStatusLabels()}`),t)),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisibleLines/2),this.filteredNodes.length-this.maxVisibleLines)),i=Math.min(r+this.maxVisibleLines,this.filteredNodes.length);for(let o=r;o<i;o++){let s=this.filteredNodes[o],a=s.node.entry,c=o===this.selectedIndex,u=c?Le.fg("accent","\u203A "):" ",l=this.multipleRoots?Math.max(0,s.indent-1):s.indent,d;s.showConnector&&!s.isVirtualRootChild?s.isLast?d="\u2514\u2500 ":d="\u251C\u2500 ":d="";let p=d?l-1:-1,m=l*3,f=[],g=this.foldedNodes.has(a.id);for(let R=0;R<m;R++){let N=Math.floor(R/3),Q=R%3,F=s.gutters.find(D=>D.position===N);if(F)Q===0?f.push(F.show?"\u2502":" "):f.push(" ");else if(d&&N===p)if(Q===0)f.push(s.isLast?"\u2514":"\u251C");else if(Q===1){let D=this.isFoldable(a.id),k;g?k="\u229E":D?k="\u229F":k="\u2500",f.push(k)}else f.push(" ");else f.push(" ")}let A=f.join(""),h=s.showConnector&&!s.isVirtualRootChild,E=g&&!h?Le.fg("accent","\u229E "):"",b=this.activePathIds.has(a.id)?Le.fg("accent","\u2022 "):"",I=s.node.label?Le.fg("warning",`[${s.node.label}] `):"",_=this.showLabelTimestamps&&s.node.label&&s.node.labelTimestamp?Le.fg("muted",`${this.formatLabelTimestamp(s.node.labelTimestamp)} `):"",v=this.getEntryDisplayText(s.node,c),w=u+Le.fg("dim",A)+E+b+I+_+v;c&&(w=Le.bg("selectedBg",w)),n.push(gn(w,t))}return n.push(gn(Le.fg("muted",` (${this.selectedIndex+1}/${this.filteredNodes.length})${this.getStatusLabels()}`),t)),n}getEntryDisplayText(t,n){let r=t.entry,i,o=s=>s.replace(/[\n\t]/g," ").trim();switch(r.type){case"message":{let s=r.message,a=s.role;if(a==="user"){let c=s,u=o(this.extractContent(c.content));i=Le.fg("accent","user: ")+u}else if(a==="assistant"){let c=s,u=o(this.extractContent(c.content));if(u)i=Le.fg("success","assistant: ")+u;else if(c.stopReason==="aborted")i=Le.fg("success","assistant: ")+Le.fg("muted","(aborted)");else if(c.errorMessage){let l=o(c.errorMessage).slice(0,80);i=Le.fg("success","assistant: ")+Le.fg("error",l)}else i=Le.fg("success","assistant: ")+Le.fg("muted","(no content)")}else if(a==="toolResult"){let c=s,u=c.toolCallId?this.toolCallMap.get(c.toolCallId):void 0;u?i=Le.fg("muted",this.formatToolCall(u.name,u.arguments)):i=Le.fg("muted",`[${c.toolName??"tool"}]`)}else if(a==="bashExecution"){let c=s;i=Le.fg("dim",`[bash]: ${o(c.command??"")}`)}else if(a==="promptCommandInvocation"){let u=By(s);i=Le.fg("accent","prompt: ")+o(u)}else a==="ruleReference"?i=o(gk(s)):i=Le.fg("dim",`[${a}]`);break}case"custom_message":{let s=typeof r.content=="string"?r.content:r.content.filter(a=>a.type==="text").map(a=>a.text).join("");i=Le.fg("customMessageLabel",`[${r.customType}]: `)+o(s);break}case"compaction":{let s=Math.round(r.tokensBefore/1e3);i=Le.fg("borderAccent",`[compaction: ${s}k tokens]`);break}case"branch_summary":i=Le.fg("warning","[branch summary]: ")+o(r.summary);break;case"model_change":i=Le.fg("dim",`[model: ${r.modelId}]`);break;case"thinking_level_change":i=Le.fg("dim",`[thinking: ${r.thinkingLevel}]`);break;case"custom":i=Le.fg("dim",`[custom: ${r.customType}]`);break;case"label":i=Le.fg("dim",`[label: ${r.label??"(cleared)"}]`);break;case"session_info":i=r.name?[Le.fg("dim","[title: "),Le.fg("dim",r.name),Le.fg("dim","]")].join(""):[Le.fg("dim","[title: "),Le.italic(Le.fg("dim","empty")),Le.fg("dim","]")].join("");break;default:i=""}return n?Le.bold(i):i}formatLabelTimestamp(t){let n=new Date(t),r=new Date,i=n.getHours().toString().padStart(2,"0"),o=n.getMinutes().toString().padStart(2,"0"),s=`${i}:${o}`;if(n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate())return s;let a=n.getMonth()+1,c=n.getDate();return n.getFullYear()===r.getFullYear()?`${a}/${c} ${s}`:`${n.getFullYear().toString().slice(-2)}/${a}/${c} ${s}`}extractContent(t){if(typeof t=="string")return t.slice(0,200);if(Array.isArray(t)){let r="";for(let i of t)if(typeof i=="object"&&i!==null&&"type"in i&&i.type==="text"&&(r+=i.text,r.length>=200))return r.slice(0,200);return r}return""}hasTextContent(t){if(typeof t=="string")return t.trim().length>0;if(Array.isArray(t)){for(let n of t)if(typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"){let r=n.text;if(r&&r.trim().length>0)return!0}}return!1}formatToolCall(t,n){let r=i=>{let o=process.env.HOME||process.env.USERPROFILE||"";return o&&i.startsWith(o)?`~${i.slice(o.length)}`:i};switch(t){case"read":{let i=r(String(n.path||n.file_path||"")),o=n.offset,s=n.limit,a=i;if(o!==void 0||s!==void 0){let c=o??1,u=s===void 0?"":c+s-1;a+=`:${c}${u?`-${u}`:""}`}return`[read: ${a}]`}case"write":return`[write: ${r(String(n.path||n.file_path||""))}]`;case"edit":return`[edit: ${r(String(n.path||n.file_path||""))}]`;case"bash":{let i=String(n.command||"");return`[bash: ${i.replace(/[\n\t]/g," ").trim().slice(0,50)}${i.length>50?"...":""}]`}case"grep":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[grep: /${i}/ in ${o}]`}case"find":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[find: ${i} in ${o}]`}case"ls":return`[ls: ${r(String(n.path||"."))}]`;default:{let i=JSON.stringify(n).slice(0,40);return`[${t}: ${i}${JSON.stringify(n).length>40?"...":""}]`}}}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.filteredNodes.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.filteredNodes.length-1?0:this.selectedIndex+1;else if(n.matches(t,"app.tree.foldOrUp")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.isFoldable(r)&&!this.foldedNodes.has(r)?(this.foldedNodes.add(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("up")}else if(n.matches(t,"app.tree.unfoldOrDown")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.foldedNodes.has(r)?(this.foldedNodes.delete(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("down")}else if(n.matches(t,"tui.editor.cursorLeft")||n.matches(t,"tui.select.pageUp"))this.selectedIndex=Math.max(0,this.selectedIndex-this.maxVisibleLines);else if(n.matches(t,"tui.editor.cursorRight")||n.matches(t,"tui.select.pageDown"))this.selectedIndex=Math.min(this.filteredNodes.length-1,this.selectedIndex+this.maxVisibleLines);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredNodes[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.node.entry.id)}else if(n.matches(t,"tui.select.cancel"))this.searchQuery?(this.searchQuery="",this.foldedNodes.clear(),this.applyFilter()):this.onCancel?.();else if(nr(t,"ctrl+d"))this.filterMode="default",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+t"))this.filterMode=this.filterMode==="no-tools"?"default":"no-tools",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+u"))this.filterMode=this.filterMode==="user-only"?"default":"user-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+l"))this.filterMode=this.filterMode==="labeled-only"?"default":"labeled-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+a"))this.filterMode=this.filterMode==="all"?"default":"all",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"shift+ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i-1+r.length)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(nr(t,"ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i+1)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(n.matches(t,"tui.editor.deleteCharBackward"))this.searchQuery.length>0&&(this.searchQuery=this.searchQuery.slice(0,-1),this.foldedNodes.clear(),this.applyFilter());else if(n.matches(t,"app.tree.editLabel")){let r=this.filteredNodes[this.selectedIndex];r&&this.onLabelEdit&&this.onLabelEdit(r.node.entry.id,r.node.label)}else n.matches(t,"app.tree.toggleLabelTimestamp")?this.showLabelTimestamps=!this.showLabelTimestamps:![...t].some(i=>{let o=i.charCodeAt(0);return o<32||o===127||o>=128&&o<=159})&&t.length>0&&(this.searchQuery+=t,this.foldedNodes.clear(),this.applyFilter())}isFoldable(t){let n=this.visibleChildrenMap.get(t);if(!n||n.length===0)return!1;let r=this.visibleParentMap.get(t);if(r==null)return!0;let i=this.visibleChildrenMap.get(r);return i!==void 0&&i.length>1}findBranchSegmentStart(t){let n=this.filteredNodes[this.selectedIndex]?.node.entry.id;if(!n)return this.selectedIndex;let r=new Map(this.filteredNodes.map((s,a)=>[s.node.entry.id,a])),i=n,o=s=>s===void 0?this.selectedIndex:r.get(s)??this.selectedIndex;if(t==="down")for(;;){let s=this.visibleChildrenMap.get(i)??[];if(s.length===0)return o(i);if(s.length>1)return o(s[0]);let a=s[0];if(a===void 0)return o(i);i=a}for(;;){let s=this.visibleParentMap.get(i)??null;if(s===null)return o(i);if((this.visibleChildrenMap.get(s)??[]).length>1){let c=o(i);if(c<this.selectedIndex)return c}i=s}}},m8n=class{constructor(t){this.treeList=t}invalidate(){}render(t){let n=this.treeList.getSearchQuery();return n?[gn(` ${Le.fg("muted","Type to search:")} ${Le.fg("accent",n)}`,t)]:[gn(` ${Le.fg("muted","Type to search:")}`,t)]}handleInput(t){}},f8n=class{get focused(){return this._focused}set focused(t){this._focused=t,this.input.focused=t}constructor(t,n){this._focused=!1,this.entryId=t,this.input=new ra,n&&this.input.setValue(n)}invalidate(){}render(t){let n=[],i=t-2;return n.push(gn(` ${Le.fg("muted","Label (empty to remove):")}`,t)),n.push(...this.input.render(i).map(o=>gn(` ${o}`,t))),n.push(gn(` ${No("tui.select.confirm","save")} ${No("tui.select.cancel","cancel")}`,t)),n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.confirm")){let r=this.input.getValue().trim();this.onSubmit?.(this.entryId,r||void 0)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():this.input.handleInput(t)}},Nre=class extends Un{get focused(){return this._focused}set focused(t){this._focused=t,this.labelInput&&(this.labelInput.focused=t)}constructor(t,n,r,i,o,s,a,c){super(),this.labelInput=null,this._focused=!1,this.onLabelChangeCallback=s;let u=Math.max(5,Math.floor(r/2));this.treeList=new p8n(t,n,u,a,c),this.treeList.onSelect=i,this.treeList.onCancel=o,this.treeList.onLabelEdit=(l,d)=>this.showLabelInput(l,d),this.treeContainer=new Un,this.treeContainer.addChild(this.treeList),this.labelInputContainer=new Un,this.addChild(new Pt(1)),this.addChild(new Ri),this.addChild(new Mr(()=>Le.bold(" Session Tree"),1,0)),this.addChild({invalidate:()=>{},render:l=>new Bf(Le.fg("muted",` \u2191/\u2193: move. \u2190/\u2192: page. ^\u2190/^\u2192 or Alt+\u2190/Alt+\u2192: fold/branch. ${Jd("app.tree.editLabel")}: label. ^D/^T/^U/^L/^A: filters (^O/\u21E7^O cycle). ${Jd("app.tree.toggleLabelTimestamp")}: label time`),0,0).render(l)}),this.addChild(new m8n(this.treeList)),this.addChild(new Ri),this.addChild(new Pt(1)),this.addChild(this.treeContainer),this.addChild(this.labelInputContainer),this.addChild(new Pt(1)),this.addChild(new Ri),t.length===0&&setTimeout(()=>o(),100)}showLabelInput(t,n){this.labelInput=new f8n(t,n),this.labelInput.onSubmit=(r,i)=>{this.treeList.updateNodeLabel(r,i),this.onLabelChangeCallback?.(r,i),this.hideLabelInput()},this.labelInput.onCancel=()=>this.hideLabelInput(),this.labelInput.focused=this._focused,this.treeContainer.clear(),this.labelInputContainer.clear(),this.labelInputContainer.addChild(this.labelInput)}hideLabelInput(){this.labelInput=null,this.labelInputContainer.clear(),this.treeContainer.clear(),this.treeContainer.addChild(this.treeList)}handleInput(t){this.labelInput?this.labelInput.handleInput(t):this.treeList.handleInput(t)}getTreeList(){return this.treeList}}});var Pdu,Ldu,Udu,y5,A8n=C(()=>{"use strict";br();Cs();Pdu="\x1B]133;A\x07",Ldu="\x1B]133;B\x07",Udu="\x1B]133;C\x07",y5=class extends Un{constructor(t,n=rE()){super(),this.addChild(new Pt(1)),this.addChild(new Va(t,1,1,n,{bgColor:r=>Le.bg("userMessageBg",r),color:r=>Le.fg("userMessageText",r)}))}render(t){let n=super.render(t);return n.length===0||(n[0]=Pdu+n[0],n[n.length-1]=n.at(-1)+Ldu+Udu),n}}});var h8n,kre,E8n=C(()=>{"use strict";br();Cs();ef();q0();h8n=class{constructor(t){this.messages=[],this.selectedIndex=0,this.maxVisible=10,this.messages=t,this.selectedIndex=Math.max(0,t.length-1)}invalidate(){}render(t){let n=[];if(this.messages.length===0)return n.push(Le.fg("muted"," No user messages found")),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.messages.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.messages.length);for(let o=r;o<i;o++){let s=this.messages[o],a=o===this.selectedIndex,c=s.text.replace(/\n/g," ").trim(),u=a?Le.fg("accent","\u203A "):" ",l=t-2,d=gn(c,l),p=u+(a?Le.bold(d):d);n.push(p);let f=` Message ${o+1} of ${this.messages.length}`,g=Le.fg("muted",f);n.push(g),n.push("")}if(r>0||i<this.messages.length){let o=Le.fg("muted",` (${this.selectedIndex+1}/${this.messages.length})`);n.push(o)}return n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.messages.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.messages.length-1?0:this.selectedIndex+1;else if(n.matches(t,"tui.select.confirm")){let r=this.messages[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.id)}else n.matches(t,"tui.select.cancel")&&this.onCancel&&this.onCancel()}},kre=class extends Un{constructor(t,n,r){super(),this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.bold("Branch from Message"),1,0)),this.addChild(new Mr(()=>Le.fg("muted","Select a message to create a new branch from that point"),1,0)),this.addChild(new Pt(1)),this.addChild(new Ri),this.addChild(new Pt(1)),this.messageList=new h8n(t),this.messageList.onSelect=n,this.messageList.onCancel=r,this.addChild(this.messageList),this.addChild(new Pt(1)),this.addChild(new Ri),t.length===0&&setTimeout(()=>r(),100)}getMessageList(){return this.messageList}}});import{execSync as Gdu}from"node:child_process";import{basename as Xis}from"node:path";function Vdu(e,t){return e?e.endsWith(`/${t}`)?e.slice(0,e.length-t.length-1):e:""}function jGe(e){return e.slug===$is}function qGe(e){return e.slug===Kis}function Wdu(e){return jGe(e)||qGe(e)}function Jis(e,t){let n=[];if(t){let r=null;try{r=Gdu("git rev-parse --abbrev-ref HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}n.push({slug:$is,path:t,branch:r})}return n.push({slug:Kis,path:"",branch:null}),n.push(...e),n}var $is,Kis,y8n,BRt,jis=C(()=>{"use strict";br();Cs();ef();yp();q0();$is="\0__main_repo__",Kis="\0__new_worktree__";y8n=class{get focused(){return this._focused}set focused(t){this._focused=t,this.searchInput.focused=t}constructor(t,n){this.selectedIndex=0,this.maxVisible=10,this.confirmingDeleteSlug=null,this.deletingSlug=null,this.deleteSpinner=null,this._focused=!1,this.worktrees=t,this.filteredWorktrees=t,this.requestRender=n,this.searchInput=new ra,this.searchInput.onSubmit=()=>{let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}}invalidate(){}render(t){let n=[];if(n.push(...this.searchInput.render(t)),n.push(""),this.filteredWorktrees.length===0)return n.push(Le.fg("muted",gn(" No worktrees found",t,"\u2026"))),this.addHintLine(n,t),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.filteredWorktrees.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.filteredWorktrees.length);for(let o=r;o<i;o++){let s=this.filteredWorktrees[o];if(!s)continue;let a=o===this.selectedIndex,c=s.slug===this.confirmingDeleteSlug,u=s.slug===this.deletingSlug,l=jGe(s),d=qGe(s),p=a?Le.fg("accent","\u2192 "):" ",m,f;if(d)m="+ New worktree",f="";else if(l){m=Xis(s.path);let N=s.branch?`(${s.branch})`:"";f=N?`main repo ${N}`:"main repo"}else{m=s.slug;let N=Vdu(s.branch,s.slug),Q=s.branch?`(${s.branch})`:"";f=N?`${N} ${Q}`:Q}let g=u?"":f,A=_r(p),h=_r(g)+(g?2:0),E=t-A-h,y=gn(m,Math.max(10,E),"\u2026"),b;if(u){let N=this.deleteSpinner?.frame??"\u280B";b=Le.fg("muted",`${y} ${N} deleting...`)}else c?b=Le.fg("error",y):d?b=a?Le.bold(Le.fg("accent",y)):Le.fg("accent",y):l?b=a?Le.bold(Le.fg("warning",y)):Le.fg("warning",y):a?b=Le.bold(y):b=y;let I=p+b,_=_r(I),v=Math.max(1,t-_-_r(g)),w=Le.fg(c?"error":"dim",g),R=I+" ".repeat(v)+w;a&&(R=Le.bg("selectedBg",R)),n.push(gn(R,t))}if(r>0||i<this.filteredWorktrees.length){let o=` (${this.selectedIndex+1}/${this.filteredWorktrees.length})`;n.push(Le.fg("muted",gn(o,t,"")))}return this.addHintLine(n,t),n}handleInput(t){let n=yi();if(this.deletingSlug===null){if(this.confirmingDeleteSlug!==null){if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees.find(i=>i.slug===this.confirmingDeleteSlug);this.setConfirmingDeleteSlug(null),r&&this.onDelete?.(r);return}if(n.matches(t,"tui.select.cancel")){this.setConfirmingDeleteSlug(null);return}return}if(n.matches(t,"tui.select.up"))this.selectedIndex=Math.max(0,this.selectedIndex-1);else if(n.matches(t,"tui.select.down"))this.selectedIndex=Math.min(this.filteredWorktrees.length-1,this.selectedIndex+1);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():n.matches(t,"app.session.delete")?this.startDeleteConfirmation():(this.searchInput.handleInput(t),this.filterWorktrees(this.searchInput.getValue()))}}startDeleteConfirmation(){let t=this.filteredWorktrees[this.selectedIndex];t&&(Wdu(t)||this.setConfirmingDeleteSlug(t.slug))}setConfirmingDeleteSlug(t){this.confirmingDeleteSlug=t,this.onConfirmingDeleteChange?.(t)}filterWorktrees(t){let n=t.trim().toLowerCase();n?this.filteredWorktrees=this.worktrees.filter(r=>qGe(r)?!0:jGe(r)?Xis(r.path).toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1):r.slug.toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1)):this.filteredWorktrees=this.worktrees,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,this.filteredWorktrees.length-1))}setWorktrees(t){this.worktrees=t,this.filterWorktrees(this.searchInput.getValue())}setDeletingSlug(t){this.deleteSpinner?.dispose(),this.deletingSlug=t,this.deleteSpinner=new hQ(()=>this.requestRender())}clearDeletingSlug(){this.deletingSlug=null,this.deleteSpinner&&(this.deleteSpinner.dispose(),this.deleteSpinner=null)}addHintLine(t,n){if(t.push(""),this.deletingSlug!==null)t.push(Le.fg("muted",gn("Deleting worktree...",n,"\u2026")));else if(this.confirmingDeleteSlug===null){let r=Le.fg("muted"," \xB7 "),i=Le.fg("muted","Type to search")+r+No("tui.select.confirm","select")+r+No("app.session.delete","delete")+r+No("tui.select.cancel","cancel");t.push(gn(i,n,"\u2026"))}else{let r=`Delete worktree? ${No("tui.select.confirm","confirm")} \xB7 ${No("tui.select.cancel","cancel")}`;t.push(Le.fg("error",gn(r,n,"\u2026")))}}};BRt=class extends Un{get focused(){return this._focused}set focused(t){this._focused=t,this.worktreeList.focused=t}constructor(t,n,r,i,o,s,a=!0){super(),this._focused=!1,this.mainRepoPath=s;let c=Jis(t,s);this.worktreeList=new y8n(c,o),this.addChild(new Pt(1)),this.addChild(new Ri(u=>Le.fg("accent",u))),this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.bold("Worktrees"),1,0)),a||(this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.fg("warning","\u26A0 Not inside a git repository \u2014 creating a worktree will fail."),1,0))),this.addChild(new Pt(1)),this.addChild(this.worktreeList),this.addChild(new Pt(1)),this.addChild(new Ri(u=>Le.fg("accent",u))),this.worktreeList.onSelect=u=>n(u),this.worktreeList.onCancel=()=>r(),this.worktreeList.onDelete=u=>{i(u),o()},this.worktreeList.onConfirmingDeleteChange=()=>{o()}}handleInput(t){this.worktreeList.handleInput(t)}getWorktreeList(){return this.worktreeList}setWorktrees(t){let n=Jis(t,this.mainRepoPath);this.worktreeList.setWorktrees(n)}setDeletingSlug(t){this.worktreeList.setDeletingSlug(t)}clearDeletingSlug(){this.worktreeList.clearDeletingSlug()}}});import{spawn as qis,spawnSync as eos}from"node:child_process";import{mkdirSync as Ydu,readFileSync as b8n,unlinkSync as tos,writeFileSync as nos}from"node:fs";import{homedir as zdu,tmpdir as ros}from"node:os";import{basename as cos,dirname as Zdu,join as e5e,resolve as ios,sep as oos}from"node:path";import{PassThrough as Hdu}from"node:stream";function Xdu(e){return typeof e=="object"&&e!==null&&"setExpanded"in e&&typeof e.setExpanded=="function"}function r0e(e){return Math.ceil(e.length/4)}function UZ(e){return e>=1e3?`~${(e/1e3).toFixed(1)}k tokens`:`~${e} tokens`}function sos(e){let t=Array.from(e,s=>{let a=s.codePointAt(0)??0;return a<=31||a===127?" ":s}).join("").replace(/\s+/gu," ").trim();if(!t)return;let n=Array.from(t);if(n.length<=I8n)return t;let r=n.slice(0,I8n),i=r.join(""),o=i.lastIndexOf(" ");return o>I8n*.6?i.slice(0,o):`${r.slice(0,-1).join("")}\u2026`}function Jdu(e){let t=0;for(;e.startsWith("\x1B[",t);){let n=e.indexOf("m",t+2);if(n===-1)break;t=n+1}return e.slice(t).match(/^\s*/u)?.[0]??""}function GZ(e){if(e.length<=C8n)return e;let t=e[C8n-1]??"",n=Jdu(t);return[...e.slice(0,C8n-1),Le.fg("muted",`${n}...`)]}function $du(){return`Node ${process.version}`}function Kdu(e,t,n,r){let{skillCount:i,commandCount:o}=t,s=Object.values(e.hooksConfig??{}).reduce((u,l)=>u+l.length,0),a=e.agentFiles?.length??0,c=[`${i} skill${i===1?"":"s"}`,`${o} command${o===1?"":"s"}`,`${s} hook${s===1?"":"s"}`];return r&&c.push(`${a} agent${a===1?"":"s"}`),`${e.id.padEnd(n)} ${c.join(", ")}`}function jdu(e){return[...e.matchAll(/\[Image file: ([^\]\r\n]+)]/g)].map(t=>t[1]).filter(t=>!!t)}function t5e(e){return e.replace(/\[Image file: ([^\]\r\n]+)]/g,(t,n)=>`[Image file: ${cos(n)}]`)}function qdu(e){return typeof e=="string"&&e.startsWith("sk-ant-oat")}function epu(e){if(!e)return;let t;e.scope==="user"?t="u":e.scope==="project"?t="p":t="t";let n=e.source.trim();if(n==="auto"||n==="local"||n==="cli")return t;if(n.startsWith("npm:"))return`${t}:${n}`;let r=Jft(n);if(r){let i=r.ref?`@${r.ref}`:"";return`${t}:git:${r.host}/${r.path}${i}`}return t}function NRt({description:e,sourceInfo:t,suppressAutocompleteSourceTag:n=!1}){if(n)return e;let r=epu(t);return r?e?`[${r}] ${e}`:`[${r}]`:e}var C8n,I8n,aos,n5e,S8n,VZ,los=C(()=>{"use strict";br();Yq();sr();bGn();IGn();pg();REe();yU();gO();iBn();tBn();E4n();b4n();eRt();al();Pht();OS();iRt();fis();sxn();XCe();xR();sC();GQe();jDe();Ift();x4n();WQe();Ov();tMe();pgt();cAt();I0();F4n();xis();_Rt();V4n();ZCn();rAt();W4n();Y4n();HWn();Pis();z4n();Z4n();H4n();X4n();J4n();$4n();j4n();ef();q4n();t8n();xRt();n8n();yp();r8n();Wis();a8n();c8n();oRt();l8n();u8n();q0();d8n();g8n();A8n();E8n();jis();Cs();C8n=5,I8n=15;aos="Anthropic subscription auth is active. Third-party usage now draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage.";n5e=class{constructor(t){this.source=t,this.text=new Bf(t(),1,0)}invalidate(){this.text=new Bf(this.source(),1,0)}render(t){return this.text.render(t)}},S8n=class extends Un{constructor(t,n,r){super(),this.message=()=>`Deleting worktree "${n}"`,this.spinner=new lu(t,i=>Le.fg("accent",i),i=>Le.fg("muted",i),this.message()),this.pathLine=new Mr(()=>Le.fg("dim",` ${r}`),1,0),this.errorLine=new Mr("",1,0),this.addChild(this.spinner),this.addChild(this.pathLine),this.addChild(this.errorLine)}setComplete(t,n,r){this.spinner.stop();let i=t==="success"?"\u2713":"\u2717",o=t==="success"?"success":"error";this.message=()=>`${Le.fg(o,i)} ${n}`,this.spinner.setMessage(this.message()),r&&this.errorLine.setText(()=>Le.fg("error",` ${r}`))}invalidate(){this.spinner.setMessage(this.message()),super.invalidate()}};VZ=class e{get session(){return this.runtimeHost.session}get agent(){return this.session.agent}get sessionManager(){return this.session.sessionManager}get settingsManager(){return this.session.settingsManager}constructor(t,n={}){this.isInitialized=!1,this.clipboardImagePaths=new Map,this.loadingAnimation=void 0,this.pendingWorkingMessage=void 0,this.defaultWorkingMessage="Working...",this.defaultHiddenThinkingLabel="Thinking...",this.hiddenThinkingLabel=this.defaultHiddenThinkingLabel,this.lastSigintTime=0,this.lastEscapeTime=0,this.changelogMarkdown=void 0,this.startupNoticesShown=!1,this.anthropicSubscriptionWarningShown=!1,this.autoSessionNameRequested=!1,this.lastStatusSpacer=void 0,this.lastStatusText=void 0,this.streamingComponent=void 0,this.streamingMessage=void 0,this.pendingTools=new Map,this.toolOutputExpanded=!1,this.hideThinkingBlock=!1,this.skillCommands=new Map,this.isBashMode=!1,this.bashComponent=void 0,this.pendingBashComponents=[],this.autoCompactionLoader=void 0,this.retryLoader=void 0,this.compactionQueuedMessages=[],this.shutdownRequested=!1,this.extensionSelector=void 0,this.extensionInput=void 0,this.extensionEditor=void 0,this.extensionTerminalInputUnsubscribers=new Set,this.extensionWidgetsAbove=new Map,this.extensionWidgetsBelow=new Map,this.customFooter=void 0,this.builtInHeader=void 0,this.customHeader=void 0,this.isShuttingDown=!1,this.options=n,this.runtimeHost=t,this.version=Kl,this.ui=new dm(new pm,this.settingsManager.getShowHardwareCursor(),mo()),this.ui.setClearOnShrink(this.settingsManager.getClearOnShrink()),this.headerContainer=new Un,this.chatContainer=new Un,this.pendingMessagesContainer=new Un,this.statusContainer=new Un,this.widgetContainerAbove=new Un,this.widgetContainerBelow=new Un,this.keybindings=B2.create(),cS(this.keybindings);let r=this.settingsManager.getEditorPaddingX(),i=this.settingsManager.getAutocompleteMaxVisible();this.defaultEditor=new Sre(this.ui,nNe(),this.keybindings,{paddingX:r,autocompleteMaxVisible:i}),this.editor=this.defaultEditor,this.editorContainer=new Un,this.editorContainer.addChild(this.editor),this.footerDataProvider=new yRt(this.sessionManager.getCwd()),this.footer=new wre(this.session,this.footerDataProvider),this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled),this.hideThinkingBlock=this.settingsManager.getHideThinkingBlock(),gst(this.session.resourceLoader.getThemes().themes),cR(this.settingsManager.getTheme(),!0)}getBuiltInCommandConflictDiagnostics(t){if(!t)return[];let n=new Set(PY.map(r=>r.name));return t.getRegisteredCommands().filter(r=>n.has(r.name)).map(r=>({type:"warning",message:r.invocationName===r.name?`Extension command '/${r.name}' conflicts with built-in interactive command. Skipping in autocomplete.`:`Extension command '/${r.name}' conflicts with built-in interactive command. Available as '/${r.invocationName}'.`,path:r.sourceInfo.path}))}setupAutocomplete(t){let n=PY.map(u=>({name:u.name,description:u.description,...["login","logout"].includes(u.name)&&{isAvailable:()=>!0}})),r=n.find(u=>u.name==="model");r&&(r.getArgumentCompletions=u=>{let l=this.session.scopedModels.length>0?this.session.scopedModels.map(m=>m.model):this.session.modelRegistry.getAvailable();if(l.length===0)return null;let d=l.map(m=>({id:m.id,provider:m.provider,name:m.name,label:`${m.provider}/${m.id}`})),p=zd(d,u,u6);return p.length===0?null:p.map(m=>({value:m.label,label:m.id,description:m.provider}))});let i=this.session.promptTemplates.map(u=>({name:u.name,description:NRt({description:u.description,sourceInfo:u.sourceInfo})})),o=new Set(n.map(u=>u.name)),s=(this.session.extensionRunner?.getRegisteredCommands().filter(u=>!o.has(u.name))??[]).map(u=>({name:u.invocationName,description:NRt({description:u.description,sourceInfo:u.sourceInfo,suppressAutocompleteSourceTag:u.suppressAutocompleteSourceTag}),getArgumentCompletions:u.getArgumentCompletions}));this.skillCommands.clear();let a=[];if(this.settingsManager.getEnableSkillCommands())for(let u of this.session.resourceLoader.getSkills().skills){let l=`skill:${u.name}`;this.skillCommands.set(l,u.filePath),a.push({name:l,description:NRt({description:u.description,sourceInfo:u.sourceInfo})})}let c=this.session.resourceLoader.getRules().rules.filter(u=>u.type==="manual").map(u=>({value:u.name,label:u.name,description:NRt({description:u.description,sourceInfo:u.sourceInfo})}));this.autocompleteProvider=new R4([...n,...i,...s,...a],this.sessionManager.getCwd(),t,c),this.defaultEditor.setAutocompleteProvider(this.autocompleteProvider),this.editor!==this.defaultEditor&&this.editor.setAutocompleteProvider?.(this.autocompleteProvider)}showStartupNoticesIfNeeded(){if(!this.startupNoticesShown&&(this.startupNoticesShown=!0,!!this.changelogMarkdown)){if(this.chatContainer.children.length>0&&this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Ri),this.settingsManager.getCollapseChangelog()){let t=this.changelogMarkdown.match(/##\s+\[?(\d+\.\d+\.\d+)\]?/),n=t?t[1]:this.version;this.chatContainer.addChild(new Mr(()=>`Updated to v${n}. Use ${Le.bold("/changelog")} to view full changelog.`,1,0))}else this.chatContainer.addChild(new Mr(()=>Le.bold(Le.fg("accent","What's New")),1,0)),this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Va(this.changelogMarkdown.trim(),1,0,this.getMarkdownThemeWithSettings())),this.chatContainer.addChild(new Pt(1));this.chatContainer.addChild(new Ri)}}async init(){if(this.isInitialized)return;this.changelogMarkdown=this.getChangelogForDisplay(),this.ui.addChild(this.headerContainer),this.options.verbose||!this.settingsManager.getQuietStartup()?(this.builtInHeader=new Mr(()=>{let n=H1t(),r=Le.fg("muted",`v${Kl}`),i=`${Le.fg("muted","send us feedback \u2014 use ")}${Le.fg("accent","/feedback")}${Le.fg("muted",". It might just get fixed next week.")}`;return`
|
|
13555
|
-
${
|
|
13556
|
-
${
|
|
13570
|
+
${Le.fg("toolOutput",r)}`),t}}});var p8n,m8n,f8n,Nre,g8n=C(()=>{"use strict";br();xR();Cs();ef();yp();q0();p8n=class{constructor(t,n,r,i,o){this.flatNodes=[],this.filteredNodes=[],this.selectedIndex=0,this.filterMode="default",this.searchQuery="",this.toolCallMap=new Map,this.multipleRoots=!1,this.showLabelTimestamps=!1,this.activePathIds=new Set,this.visibleParentMap=new Map,this.visibleChildrenMap=new Map,this.lastSelectedId=null,this.foldedNodes=new Set,this.currentLeafId=n,this.maxVisibleLines=r,this.filterMode=o??"default",this.multipleRoots=t.length>1,this.flatNodes=this.flattenTree(t),this.buildActivePath(),this.applyFilter();let s=i??n;this.selectedIndex=this.findNearestVisibleIndex(s),this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??null}findNearestVisibleIndex(t){if(this.filteredNodes.length===0)return 0;let n=new Map;for(let o of this.flatNodes)n.set(o.node.entry.id,o);let r=new Map(this.filteredNodes.map((o,s)=>[o.node.entry.id,s])),i=t;for(;i!==null;){let o=r.get(i);if(o!==void 0)return o;let s=n.get(i);if(!s)break;i=s.node.entry.parentId??null}return this.filteredNodes.length-1}buildActivePath(){if(this.activePathIds.clear(),!this.currentLeafId)return;let t=new Map;for(let r of this.flatNodes)t.set(r.node.entry.id,r);let n=this.currentLeafId;for(;n;){this.activePathIds.add(n);let r=t.get(n);if(!r)break;n=r.node.entry.parentId??null}}flattenTree(t){let n=[];this.toolCallMap.clear();let r=[],i=new Map,o=this.currentLeafId;{let c=[],u=[...t];for(;u.length>0;){let l=u.pop();if(!l)break;c.push(l);for(let d=l.children.length-1;d>=0;d--)u.push(l.children[d])}for(let l=c.length-1;l>=0;l--){let d=c[l],p=o!==null&&d.entry.id===o;for(let m of d.children)i.get(m)&&(p=!0);i.set(d,p)}}let s=t.length>1,a=[...t].sort((c,u)=>Number(i.get(u))-Number(i.get(c)));for(let c=a.length-1;c>=0;c--){let u=c===a.length-1;r.push([a[c],s?1:0,s,s,u,[],s])}for(;r.length>0;){let c=r.pop();if(!c)break;let[u,l,d,p,m,f,g]=c,A=u.entry;if(A.type==="message"&&A.message.role==="assistant"){let R=A.message.content;if(Array.isArray(R)){for(let N of R)if(typeof N=="object"&&N!==null&&"type"in N&&N.type==="toolCall"){let Q=N;this.toolCallMap.set(Q.id,{name:Q.name,arguments:Q.arguments})}}}n.push({node:u,indent:l,showConnector:p,isLast:m,gutters:f,isVirtualRootChild:g});let h=u.children,E=h.length>1,y=(()=>{let R=[],N=[];for(let Q of h)i.get(Q)?R.push(Q):N.push(Q);return[...R,...N]})(),b;E||d&&l>0?b=l+1:b=l;let I=p&&!g,_=this.multipleRoots?Math.max(0,l-1):l,v=Math.max(0,_-1),w=I?[...f,{position:v,show:!m}]:f;for(let R=y.length-1;R>=0;R--){let N=R===y.length-1;r.push([y[R],b,E,E,N,w,!1])}}return n}applyFilter(){this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId);let t=this.searchQuery.toLowerCase().split(/\s+/).filter(Boolean);if(this.filteredNodes=this.flatNodes.filter(n=>{let r=n.node.entry,i=r.id===this.currentLeafId;if(r.type==="message"&&r.message.role==="assistant"&&!i){let a=r.message,c=this.hasTextContent(a.content),u=a.stopReason&&a.stopReason!=="stop"&&a.stopReason!=="toolUse";if(!c&&!u)return!1}let o=!0,s=r.type==="label"||r.type==="custom"||r.type==="model_change"||r.type==="thinking_level_change"||r.type==="session_info";switch(this.filterMode){case"user-only":o=r.type==="message"&&vR(r.message.role);break;case"no-tools":o=!s&&!(r.type==="message"&&r.message.role==="toolResult");break;case"labeled-only":o=n.node.label!==void 0;break;case"all":o=!0;break;default:o=!s;break}if(!o)return!1;if(t.length>0){let a=this.getSearchableText(n.node).toLowerCase();return t.every(c=>a.includes(c))}return!0}),this.foldedNodes.size>0){let n=new Set;for(let r of this.flatNodes){let{id:i,parentId:o}=r.node.entry;o!=null&&(this.foldedNodes.has(o)||n.has(o))&&n.add(i)}this.filteredNodes=this.filteredNodes.filter(r=>!n.has(r.node.entry.id))}this.recalculateVisualStructure(),this.lastSelectedId?this.selectedIndex=this.findNearestVisibleIndex(this.lastSelectedId):this.selectedIndex>=this.filteredNodes.length&&(this.selectedIndex=Math.max(0,this.filteredNodes.length-1)),this.filteredNodes.length>0&&(this.lastSelectedId=this.filteredNodes[this.selectedIndex]?.node.entry.id??this.lastSelectedId)}recalculateVisualStructure(){if(this.filteredNodes.length===0)return;let t=new Set(this.filteredNodes.map(u=>u.node.entry.id)),n=new Map;for(let u of this.flatNodes)n.set(u.node.entry.id,u);let r=u=>{let l=n.get(u)?.node.entry.parentId??null;for(;l!==null;){if(t.has(l))return l;l=n.get(l)?.node.entry.parentId??null}return null},i=new Map,o=new Map;o.set(null,[]);for(let u of this.filteredNodes){let l=u.node.entry.id,d=r(l);i.set(l,d),o.has(d)||o.set(d,[]),o.get(d)?.push(l)}let s=o.get(null)??[];this.multipleRoots=s.length>1;let a=new Map;for(let u of this.filteredNodes)a.set(u.node.entry.id,u);let c=[];for(let u=s.length-1;u>=0;u--){let l=u===s.length-1;c.push([s[u],this.multipleRoots?1:0,this.multipleRoots,this.multipleRoots,l,[],this.multipleRoots])}for(;c.length>0;){let u=c.pop();if(!u)break;let[l,d,p,m,f,g,A]=u,h=a.get(l);if(!h)continue;h.indent=d,h.showConnector=m,h.isLast=f,h.gutters=g,h.isVirtualRootChild=A;let E=o.get(l)||[],y=E.length>1,b;y||p&&d>0?b=d+1:b=d;let I=m&&!A,_=this.multipleRoots?Math.max(0,d-1):d,v=Math.max(0,_-1),w=I?[...g,{position:v,show:!f}]:g;for(let R=E.length-1;R>=0;R--){let N=R===E.length-1;c.push([E[R],b,y,y,N,w,!1])}}this.visibleParentMap=i,this.visibleChildrenMap=o}getSearchableText(t){let n=t.entry,r=[];switch(t.label&&r.push(t.label),n.type){case"message":{let i=n.message;if(r.push(i.role),"content"in i&&i.content&&r.push(this.extractContent(i.content)),i.role==="bashExecution"){let o=i;o.command&&r.push(o.command)}break}case"custom_message":{r.push(n.customType),typeof n.content=="string"?r.push(n.content):r.push(this.extractContent(n.content));break}case"compaction":r.push("compaction");break;case"branch_summary":r.push("branch summary",n.summary);break;case"session_info":r.push("title"),n.name&&r.push(n.name);break;case"model_change":r.push("model",n.modelId);break;case"thinking_level_change":r.push("thinking",n.thinkingLevel);break;case"custom":r.push("custom",n.customType);break;case"label":r.push("label",n.label??"");break}return r.join(" ")}invalidate(){}getSearchQuery(){return this.searchQuery}getSelectedNode(){return this.filteredNodes[this.selectedIndex]?.node}updateNodeLabel(t,n,r){for(let i of this.flatNodes)if(i.node.entry.id===t){i.node.label=n,i.node.labelTimestamp=n?r??new Date().toISOString():void 0;break}}getStatusLabels(){let t="";switch(this.filterMode){case"no-tools":t+=" [no-tools]";break;case"user-only":t+=" [user]";break;case"labeled-only":t+=" [labeled]";break;case"all":t+=" [all]";break}return this.showLabelTimestamps&&(t+=" [+label time]"),t}render(t){let n=[];if(this.filteredNodes.length===0)return n.push(gn(Le.fg("muted"," No entries found"),t)),n.push(gn(Le.fg("muted",` (0/0)${this.getStatusLabels()}`),t)),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisibleLines/2),this.filteredNodes.length-this.maxVisibleLines)),i=Math.min(r+this.maxVisibleLines,this.filteredNodes.length);for(let o=r;o<i;o++){let s=this.filteredNodes[o],a=s.node.entry,c=o===this.selectedIndex,u=c?Le.fg("accent","\u203A "):" ",l=this.multipleRoots?Math.max(0,s.indent-1):s.indent,d;s.showConnector&&!s.isVirtualRootChild?s.isLast?d="\u2514\u2500 ":d="\u251C\u2500 ":d="";let p=d?l-1:-1,m=l*3,f=[],g=this.foldedNodes.has(a.id);for(let R=0;R<m;R++){let N=Math.floor(R/3),Q=R%3,F=s.gutters.find(D=>D.position===N);if(F)Q===0?f.push(F.show?"\u2502":" "):f.push(" ");else if(d&&N===p)if(Q===0)f.push(s.isLast?"\u2514":"\u251C");else if(Q===1){let D=this.isFoldable(a.id),k;g?k="\u229E":D?k="\u229F":k="\u2500",f.push(k)}else f.push(" ");else f.push(" ")}let A=f.join(""),h=s.showConnector&&!s.isVirtualRootChild,E=g&&!h?Le.fg("accent","\u229E "):"",b=this.activePathIds.has(a.id)?Le.fg("accent","\u2022 "):"",I=s.node.label?Le.fg("warning",`[${s.node.label}] `):"",_=this.showLabelTimestamps&&s.node.label&&s.node.labelTimestamp?Le.fg("muted",`${this.formatLabelTimestamp(s.node.labelTimestamp)} `):"",v=this.getEntryDisplayText(s.node,c),w=u+Le.fg("dim",A)+E+b+I+_+v;c&&(w=Le.bg("selectedBg",w)),n.push(gn(w,t))}return n.push(gn(Le.fg("muted",` (${this.selectedIndex+1}/${this.filteredNodes.length})${this.getStatusLabels()}`),t)),n}getEntryDisplayText(t,n){let r=t.entry,i,o=s=>s.replace(/[\n\t]/g," ").trim();switch(r.type){case"message":{let s=r.message,a=s.role;if(a==="user"){let c=s,u=o(this.extractContent(c.content));i=Le.fg("accent","user: ")+u}else if(a==="assistant"){let c=s,u=o(this.extractContent(c.content));if(u)i=Le.fg("success","assistant: ")+u;else if(c.stopReason==="aborted")i=Le.fg("success","assistant: ")+Le.fg("muted","(aborted)");else if(c.errorMessage){let l=o(c.errorMessage).slice(0,80);i=Le.fg("success","assistant: ")+Le.fg("error",l)}else i=Le.fg("success","assistant: ")+Le.fg("muted","(no content)")}else if(a==="toolResult"){let c=s,u=c.toolCallId?this.toolCallMap.get(c.toolCallId):void 0;u?i=Le.fg("muted",this.formatToolCall(u.name,u.arguments)):i=Le.fg("muted",`[${c.toolName??"tool"}]`)}else if(a==="bashExecution"){let c=s;i=Le.fg("dim",`[bash]: ${o(c.command??"")}`)}else if(a==="promptCommandInvocation"){let u=By(s);i=Le.fg("accent","prompt: ")+o(u)}else a==="ruleReference"?i=o(gk(s)):i=Le.fg("dim",`[${a}]`);break}case"custom_message":{let s=typeof r.content=="string"?r.content:r.content.filter(a=>a.type==="text").map(a=>a.text).join("");i=Le.fg("customMessageLabel",`[${r.customType}]: `)+o(s);break}case"compaction":{let s=Math.round(r.tokensBefore/1e3);i=Le.fg("borderAccent",`[compaction: ${s}k tokens]`);break}case"branch_summary":i=Le.fg("warning","[branch summary]: ")+o(r.summary);break;case"model_change":i=Le.fg("dim",`[model: ${r.modelId}]`);break;case"thinking_level_change":i=Le.fg("dim",`[thinking: ${r.thinkingLevel}]`);break;case"custom":i=Le.fg("dim",`[custom: ${r.customType}]`);break;case"label":i=Le.fg("dim",`[label: ${r.label??"(cleared)"}]`);break;case"session_info":i=r.name?[Le.fg("dim","[title: "),Le.fg("dim",r.name),Le.fg("dim","]")].join(""):[Le.fg("dim","[title: "),Le.italic(Le.fg("dim","empty")),Le.fg("dim","]")].join("");break;default:i=""}return n?Le.bold(i):i}formatLabelTimestamp(t){let n=new Date(t),r=new Date,i=n.getHours().toString().padStart(2,"0"),o=n.getMinutes().toString().padStart(2,"0"),s=`${i}:${o}`;if(n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate())return s;let a=n.getMonth()+1,c=n.getDate();return n.getFullYear()===r.getFullYear()?`${a}/${c} ${s}`:`${n.getFullYear().toString().slice(-2)}/${a}/${c} ${s}`}extractContent(t){if(typeof t=="string")return t.slice(0,200);if(Array.isArray(t)){let r="";for(let i of t)if(typeof i=="object"&&i!==null&&"type"in i&&i.type==="text"&&(r+=i.text,r.length>=200))return r.slice(0,200);return r}return""}hasTextContent(t){if(typeof t=="string")return t.trim().length>0;if(Array.isArray(t)){for(let n of t)if(typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"){let r=n.text;if(r&&r.trim().length>0)return!0}}return!1}formatToolCall(t,n){let r=i=>{let o=process.env.HOME||process.env.USERPROFILE||"";return o&&i.startsWith(o)?`~${i.slice(o.length)}`:i};switch(t){case"read":{let i=r(String(n.path||n.file_path||"")),o=n.offset,s=n.limit,a=i;if(o!==void 0||s!==void 0){let c=o??1,u=s===void 0?"":c+s-1;a+=`:${c}${u?`-${u}`:""}`}return`[read: ${a}]`}case"write":return`[write: ${r(String(n.path||n.file_path||""))}]`;case"edit":return`[edit: ${r(String(n.path||n.file_path||""))}]`;case"bash":{let i=String(n.command||"");return`[bash: ${i.replace(/[\n\t]/g," ").trim().slice(0,50)}${i.length>50?"...":""}]`}case"grep":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[grep: /${i}/ in ${o}]`}case"find":{let i=String(n.pattern||""),o=r(String(n.path||"."));return`[find: ${i} in ${o}]`}case"ls":return`[ls: ${r(String(n.path||"."))}]`;default:{let i=JSON.stringify(n).slice(0,40);return`[${t}: ${i}${JSON.stringify(n).length>40?"...":""}]`}}}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.filteredNodes.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.filteredNodes.length-1?0:this.selectedIndex+1;else if(n.matches(t,"app.tree.foldOrUp")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.isFoldable(r)&&!this.foldedNodes.has(r)?(this.foldedNodes.add(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("up")}else if(n.matches(t,"app.tree.unfoldOrDown")){let r=this.filteredNodes[this.selectedIndex]?.node.entry.id;r&&this.foldedNodes.has(r)?(this.foldedNodes.delete(r),this.applyFilter()):this.selectedIndex=this.findBranchSegmentStart("down")}else if(n.matches(t,"tui.editor.cursorLeft")||n.matches(t,"tui.select.pageUp"))this.selectedIndex=Math.max(0,this.selectedIndex-this.maxVisibleLines);else if(n.matches(t,"tui.editor.cursorRight")||n.matches(t,"tui.select.pageDown"))this.selectedIndex=Math.min(this.filteredNodes.length-1,this.selectedIndex+this.maxVisibleLines);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredNodes[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.node.entry.id)}else if(n.matches(t,"tui.select.cancel"))this.searchQuery?(this.searchQuery="",this.foldedNodes.clear(),this.applyFilter()):this.onCancel?.();else if(nr(t,"ctrl+d"))this.filterMode="default",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+t"))this.filterMode=this.filterMode==="no-tools"?"default":"no-tools",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+u"))this.filterMode=this.filterMode==="user-only"?"default":"user-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+l"))this.filterMode=this.filterMode==="labeled-only"?"default":"labeled-only",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"ctrl+a"))this.filterMode=this.filterMode==="all"?"default":"all",this.foldedNodes.clear(),this.applyFilter();else if(nr(t,"shift+ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i-1+r.length)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(nr(t,"ctrl+o")){let r=["default","no-tools","user-only","labeled-only","all"],i=r.indexOf(this.filterMode);this.filterMode=r[(i+1)%r.length],this.foldedNodes.clear(),this.applyFilter()}else if(n.matches(t,"tui.editor.deleteCharBackward"))this.searchQuery.length>0&&(this.searchQuery=this.searchQuery.slice(0,-1),this.foldedNodes.clear(),this.applyFilter());else if(n.matches(t,"app.tree.editLabel")){let r=this.filteredNodes[this.selectedIndex];r&&this.onLabelEdit&&this.onLabelEdit(r.node.entry.id,r.node.label)}else n.matches(t,"app.tree.toggleLabelTimestamp")?this.showLabelTimestamps=!this.showLabelTimestamps:![...t].some(i=>{let o=i.charCodeAt(0);return o<32||o===127||o>=128&&o<=159})&&t.length>0&&(this.searchQuery+=t,this.foldedNodes.clear(),this.applyFilter())}isFoldable(t){let n=this.visibleChildrenMap.get(t);if(!n||n.length===0)return!1;let r=this.visibleParentMap.get(t);if(r==null)return!0;let i=this.visibleChildrenMap.get(r);return i!==void 0&&i.length>1}findBranchSegmentStart(t){let n=this.filteredNodes[this.selectedIndex]?.node.entry.id;if(!n)return this.selectedIndex;let r=new Map(this.filteredNodes.map((s,a)=>[s.node.entry.id,a])),i=n,o=s=>s===void 0?this.selectedIndex:r.get(s)??this.selectedIndex;if(t==="down")for(;;){let s=this.visibleChildrenMap.get(i)??[];if(s.length===0)return o(i);if(s.length>1)return o(s[0]);let a=s[0];if(a===void 0)return o(i);i=a}for(;;){let s=this.visibleParentMap.get(i)??null;if(s===null)return o(i);if((this.visibleChildrenMap.get(s)??[]).length>1){let c=o(i);if(c<this.selectedIndex)return c}i=s}}},m8n=class{constructor(t){this.treeList=t}invalidate(){}render(t){let n=this.treeList.getSearchQuery();return n?[gn(` ${Le.fg("muted","Type to search:")} ${Le.fg("accent",n)}`,t)]:[gn(` ${Le.fg("muted","Type to search:")}`,t)]}handleInput(t){}},f8n=class{get focused(){return this._focused}set focused(t){this._focused=t,this.input.focused=t}constructor(t,n){this._focused=!1,this.entryId=t,this.input=new ra,n&&this.input.setValue(n)}invalidate(){}render(t){let n=[],i=t-2;return n.push(gn(` ${Le.fg("muted","Label (empty to remove):")}`,t)),n.push(...this.input.render(i).map(o=>gn(` ${o}`,t))),n.push(gn(` ${No("tui.select.confirm","save")} ${No("tui.select.cancel","cancel")}`,t)),n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.confirm")){let r=this.input.getValue().trim();this.onSubmit?.(this.entryId,r||void 0)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():this.input.handleInput(t)}},Nre=class extends Un{get focused(){return this._focused}set focused(t){this._focused=t,this.labelInput&&(this.labelInput.focused=t)}constructor(t,n,r,i,o,s,a,c){super(),this.labelInput=null,this._focused=!1,this.onLabelChangeCallback=s;let u=Math.max(5,Math.floor(r/2));this.treeList=new p8n(t,n,u,a,c),this.treeList.onSelect=i,this.treeList.onCancel=o,this.treeList.onLabelEdit=(l,d)=>this.showLabelInput(l,d),this.treeContainer=new Un,this.treeContainer.addChild(this.treeList),this.labelInputContainer=new Un,this.addChild(new Pt(1)),this.addChild(new Ri),this.addChild(new Mr(()=>Le.bold(" Session Tree"),1,0)),this.addChild({invalidate:()=>{},render:l=>new Bf(Le.fg("muted",` \u2191/\u2193: move. \u2190/\u2192: page. ^\u2190/^\u2192 or Alt+\u2190/Alt+\u2192: fold/branch. ${Jd("app.tree.editLabel")}: label. ^D/^T/^U/^L/^A: filters (^O/\u21E7^O cycle). ${Jd("app.tree.toggleLabelTimestamp")}: label time`),0,0).render(l)}),this.addChild(new m8n(this.treeList)),this.addChild(new Ri),this.addChild(new Pt(1)),this.addChild(this.treeContainer),this.addChild(this.labelInputContainer),this.addChild(new Pt(1)),this.addChild(new Ri),t.length===0&&setTimeout(()=>o(),100)}showLabelInput(t,n){this.labelInput=new f8n(t,n),this.labelInput.onSubmit=(r,i)=>{this.treeList.updateNodeLabel(r,i),this.onLabelChangeCallback?.(r,i),this.hideLabelInput()},this.labelInput.onCancel=()=>this.hideLabelInput(),this.labelInput.focused=this._focused,this.treeContainer.clear(),this.labelInputContainer.clear(),this.labelInputContainer.addChild(this.labelInput)}hideLabelInput(){this.labelInput=null,this.labelInputContainer.clear(),this.treeContainer.clear(),this.treeContainer.addChild(this.treeList)}handleInput(t){this.labelInput?this.labelInput.handleInput(t):this.treeList.handleInput(t)}getTreeList(){return this.treeList}}});var Pdu,Ldu,Udu,y5,A8n=C(()=>{"use strict";br();Cs();Pdu="\x1B]133;A\x07",Ldu="\x1B]133;B\x07",Udu="\x1B]133;C\x07",y5=class extends Un{constructor(t,n=rE()){super(),this.addChild(new Pt(1)),this.addChild(new Va(t,1,1,n,{bgColor:r=>Le.bg("userMessageBg",r),color:r=>Le.fg("userMessageText",r)}))}render(t){let n=super.render(t);return n.length===0||(n[0]=Pdu+n[0],n[n.length-1]=n.at(-1)+Ldu+Udu),n}}});var h8n,kre,E8n=C(()=>{"use strict";br();Cs();ef();q0();h8n=class{constructor(t){this.messages=[],this.selectedIndex=0,this.maxVisible=10,this.messages=t,this.selectedIndex=Math.max(0,t.length-1)}invalidate(){}render(t){let n=[];if(this.messages.length===0)return n.push(Le.fg("muted"," No user messages found")),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.messages.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.messages.length);for(let o=r;o<i;o++){let s=this.messages[o],a=o===this.selectedIndex,c=s.text.replace(/\n/g," ").trim(),u=a?Le.fg("accent","\u203A "):" ",l=t-2,d=gn(c,l),p=u+(a?Le.bold(d):d);n.push(p);let f=` Message ${o+1} of ${this.messages.length}`,g=Le.fg("muted",f);n.push(g),n.push("")}if(r>0||i<this.messages.length){let o=Le.fg("muted",` (${this.selectedIndex+1}/${this.messages.length})`);n.push(o)}return n}handleInput(t){let n=yi();if(n.matches(t,"tui.select.up"))this.selectedIndex=this.selectedIndex===0?this.messages.length-1:this.selectedIndex-1;else if(n.matches(t,"tui.select.down"))this.selectedIndex=this.selectedIndex===this.messages.length-1?0:this.selectedIndex+1;else if(n.matches(t,"tui.select.confirm")){let r=this.messages[this.selectedIndex];r&&this.onSelect&&this.onSelect(r.id)}else n.matches(t,"tui.select.cancel")&&this.onCancel&&this.onCancel()}},kre=class extends Un{constructor(t,n,r){super(),this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.bold("Branch from Message"),1,0)),this.addChild(new Mr(()=>Le.fg("muted","Select a message to create a new branch from that point"),1,0)),this.addChild(new Pt(1)),this.addChild(new Ri),this.addChild(new Pt(1)),this.messageList=new h8n(t),this.messageList.onSelect=n,this.messageList.onCancel=r,this.addChild(this.messageList),this.addChild(new Pt(1)),this.addChild(new Ri),t.length===0&&setTimeout(()=>r(),100)}getMessageList(){return this.messageList}}});import{execSync as Gdu}from"node:child_process";import{basename as Xis}from"node:path";function Vdu(e,t){return e?e.endsWith(`/${t}`)?e.slice(0,e.length-t.length-1):e:""}function jGe(e){return e.slug===$is}function qGe(e){return e.slug===Kis}function Wdu(e){return jGe(e)||qGe(e)}function Jis(e,t){let n=[];if(t){let r=null;try{r=Gdu("git rev-parse --abbrev-ref HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}n.push({slug:$is,path:t,branch:r})}return n.push({slug:Kis,path:"",branch:null}),n.push(...e),n}var $is,Kis,y8n,BRt,jis=C(()=>{"use strict";br();Cs();ef();yp();q0();$is="\0__main_repo__",Kis="\0__new_worktree__";y8n=class{get focused(){return this._focused}set focused(t){this._focused=t,this.searchInput.focused=t}constructor(t,n){this.selectedIndex=0,this.maxVisible=10,this.confirmingDeleteSlug=null,this.deletingSlug=null,this.deleteSpinner=null,this._focused=!1,this.worktrees=t,this.filteredWorktrees=t,this.requestRender=n,this.searchInput=new ra,this.searchInput.onSubmit=()=>{let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}}invalidate(){}render(t){let n=[];if(n.push(...this.searchInput.render(t)),n.push(""),this.filteredWorktrees.length===0)return n.push(Le.fg("muted",gn(" No worktrees found",t,"\u2026"))),this.addHintLine(n,t),n;let r=Math.max(0,Math.min(this.selectedIndex-Math.floor(this.maxVisible/2),this.filteredWorktrees.length-this.maxVisible)),i=Math.min(r+this.maxVisible,this.filteredWorktrees.length);for(let o=r;o<i;o++){let s=this.filteredWorktrees[o];if(!s)continue;let a=o===this.selectedIndex,c=s.slug===this.confirmingDeleteSlug,u=s.slug===this.deletingSlug,l=jGe(s),d=qGe(s),p=a?Le.fg("accent","\u2192 "):" ",m,f;if(d)m="+ New worktree",f="";else if(l){m=Xis(s.path);let N=s.branch?`(${s.branch})`:"";f=N?`main repo ${N}`:"main repo"}else{m=s.slug;let N=Vdu(s.branch,s.slug),Q=s.branch?`(${s.branch})`:"";f=N?`${N} ${Q}`:Q}let g=u?"":f,A=_r(p),h=_r(g)+(g?2:0),E=t-A-h,y=gn(m,Math.max(10,E),"\u2026"),b;if(u){let N=this.deleteSpinner?.frame??"\u280B";b=Le.fg("muted",`${y} ${N} deleting...`)}else c?b=Le.fg("error",y):d?b=a?Le.bold(Le.fg("accent",y)):Le.fg("accent",y):l?b=a?Le.bold(Le.fg("warning",y)):Le.fg("warning",y):a?b=Le.bold(y):b=y;let I=p+b,_=_r(I),v=Math.max(1,t-_-_r(g)),w=Le.fg(c?"error":"dim",g),R=I+" ".repeat(v)+w;a&&(R=Le.bg("selectedBg",R)),n.push(gn(R,t))}if(r>0||i<this.filteredWorktrees.length){let o=` (${this.selectedIndex+1}/${this.filteredWorktrees.length})`;n.push(Le.fg("muted",gn(o,t,"")))}return this.addHintLine(n,t),n}handleInput(t){let n=yi();if(this.deletingSlug===null){if(this.confirmingDeleteSlug!==null){if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees.find(i=>i.slug===this.confirmingDeleteSlug);this.setConfirmingDeleteSlug(null),r&&this.onDelete?.(r);return}if(n.matches(t,"tui.select.cancel")){this.setConfirmingDeleteSlug(null);return}return}if(n.matches(t,"tui.select.up"))this.selectedIndex=Math.max(0,this.selectedIndex-1);else if(n.matches(t,"tui.select.down"))this.selectedIndex=Math.min(this.filteredWorktrees.length-1,this.selectedIndex+1);else if(n.matches(t,"tui.select.confirm")){let r=this.filteredWorktrees[this.selectedIndex];r&&this.onSelect?.(r)}else n.matches(t,"tui.select.cancel")?this.onCancel?.():n.matches(t,"app.session.delete")?this.startDeleteConfirmation():(this.searchInput.handleInput(t),this.filterWorktrees(this.searchInput.getValue()))}}startDeleteConfirmation(){let t=this.filteredWorktrees[this.selectedIndex];t&&(Wdu(t)||this.setConfirmingDeleteSlug(t.slug))}setConfirmingDeleteSlug(t){this.confirmingDeleteSlug=t,this.onConfirmingDeleteChange?.(t)}filterWorktrees(t){let n=t.trim().toLowerCase();n?this.filteredWorktrees=this.worktrees.filter(r=>qGe(r)?!0:jGe(r)?Xis(r.path).toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1):r.slug.toLowerCase().includes(n)||(r.branch?.toLowerCase().includes(n)??!1)):this.filteredWorktrees=this.worktrees,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,this.filteredWorktrees.length-1))}setWorktrees(t){this.worktrees=t,this.filterWorktrees(this.searchInput.getValue())}setDeletingSlug(t){this.deleteSpinner?.dispose(),this.deletingSlug=t,this.deleteSpinner=new hQ(()=>this.requestRender())}clearDeletingSlug(){this.deletingSlug=null,this.deleteSpinner&&(this.deleteSpinner.dispose(),this.deleteSpinner=null)}addHintLine(t,n){if(t.push(""),this.deletingSlug!==null)t.push(Le.fg("muted",gn("Deleting worktree...",n,"\u2026")));else if(this.confirmingDeleteSlug===null){let r=Le.fg("muted"," \xB7 "),i=Le.fg("muted","Type to search")+r+No("tui.select.confirm","select")+r+No("app.session.delete","delete")+r+No("tui.select.cancel","cancel");t.push(gn(i,n,"\u2026"))}else{let r=`Delete worktree? ${No("tui.select.confirm","confirm")} \xB7 ${No("tui.select.cancel","cancel")}`;t.push(Le.fg("error",gn(r,n,"\u2026")))}}};BRt=class extends Un{get focused(){return this._focused}set focused(t){this._focused=t,this.worktreeList.focused=t}constructor(t,n,r,i,o,s,a=!0){super(),this._focused=!1,this.mainRepoPath=s;let c=Jis(t,s);this.worktreeList=new y8n(c,o),this.addChild(new Pt(1)),this.addChild(new Ri(u=>Le.fg("accent",u))),this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.bold("Worktrees"),1,0)),a||(this.addChild(new Pt(1)),this.addChild(new Mr(()=>Le.fg("warning","\u26A0 Not inside a git repository \u2014 creating a worktree will fail."),1,0))),this.addChild(new Pt(1)),this.addChild(this.worktreeList),this.addChild(new Pt(1)),this.addChild(new Ri(u=>Le.fg("accent",u))),this.worktreeList.onSelect=u=>n(u),this.worktreeList.onCancel=()=>r(),this.worktreeList.onDelete=u=>{i(u),o()},this.worktreeList.onConfirmingDeleteChange=()=>{o()}}handleInput(t){this.worktreeList.handleInput(t)}getWorktreeList(){return this.worktreeList}setWorktrees(t){let n=Jis(t,this.mainRepoPath);this.worktreeList.setWorktrees(n)}setDeletingSlug(t){this.worktreeList.setDeletingSlug(t)}clearDeletingSlug(){this.worktreeList.clearDeletingSlug()}}});import{spawn as qis,spawnSync as eos}from"node:child_process";import{mkdirSync as Ydu,readFileSync as b8n,unlinkSync as tos,writeFileSync as nos}from"node:fs";import{homedir as zdu,tmpdir as ros}from"node:os";import{basename as cos,dirname as Zdu,join as e5e,resolve as ios,sep as oos}from"node:path";import{PassThrough as Hdu}from"node:stream";function Xdu(e){return typeof e=="object"&&e!==null&&"setExpanded"in e&&typeof e.setExpanded=="function"}function r0e(e){return Math.ceil(e.length/4)}function UZ(e){return e>=1e3?`~${(e/1e3).toFixed(1)}k tokens`:`~${e} tokens`}function sos(e){let t=Array.from(e,s=>{let a=s.codePointAt(0)??0;return a<=31||a===127?" ":s}).join("").replace(/\s+/gu," ").trim();if(!t)return;let n=Array.from(t);if(n.length<=I8n)return t;let r=n.slice(0,I8n),i=r.join(""),o=i.lastIndexOf(" ");return o>I8n*.6?i.slice(0,o):`${r.slice(0,-1).join("")}\u2026`}function Jdu(e){let t=0;for(;e.startsWith("\x1B[",t);){let n=e.indexOf("m",t+2);if(n===-1)break;t=n+1}return e.slice(t).match(/^\s*/u)?.[0]??""}function GZ(e){if(e.length<=C8n)return e;let t=e[C8n-1]??"",n=Jdu(t);return[...e.slice(0,C8n-1),Le.fg("muted",`${n}...`)]}function $du(){return`Node ${process.version}`}function Kdu(e,t,n,r){let{skillCount:i,commandCount:o}=t,s=Object.values(e.hooksConfig??{}).reduce((u,l)=>u+l.length,0),a=e.agentFiles?.length??0,c=[`${i} skill${i===1?"":"s"}`,`${o} command${o===1?"":"s"}`,`${s} hook${s===1?"":"s"}`];return r&&c.push(`${a} agent${a===1?"":"s"}`),`${e.id.padEnd(n)} ${c.join(", ")}`}function jdu(e){return[...e.matchAll(/\[Image file: ([^\]\r\n]+)]/g)].map(t=>t[1]).filter(t=>!!t)}function t5e(e){return e.replace(/\[Image file: ([^\]\r\n]+)]/g,(t,n)=>`[Image file: ${cos(n)}]`)}function qdu(e){return typeof e=="string"&&e.startsWith("sk-ant-oat")}function epu(e){if(!e)return;let t;e.scope==="user"?t="u":e.scope==="project"?t="p":t="t";let n=e.source.trim();if(n==="auto"||n==="local"||n==="cli")return t;if(n.startsWith("npm:"))return`${t}:${n}`;let r=Jft(n);if(r){let i=r.ref?`@${r.ref}`:"";return`${t}:git:${r.host}/${r.path}${i}`}return t}function NRt({description:e,sourceInfo:t,suppressAutocompleteSourceTag:n=!1}){if(n)return e;let r=epu(t);return r?e?`[${r}] ${e}`:`[${r}]`:e}var C8n,I8n,aos,n5e,S8n,VZ,los=C(()=>{"use strict";br();Yq();sr();bGn();IGn();pg();REe();yU();gO();iBn();tBn();E4n();b4n();eRt();al();Pht();OS();iRt();fis();sxn();XCe();xR();sC();GQe();jDe();Ift();x4n();WQe();Ov();tMe();pgt();cAt();I0();F4n();xis();_Rt();V4n();ZCn();rAt();W4n();Y4n();HWn();Pis();z4n();Z4n();H4n();X4n();J4n();$4n();j4n();ef();q4n();t8n();xRt();n8n();yp();r8n();Wis();a8n();c8n();oRt();l8n();u8n();q0();d8n();g8n();A8n();E8n();jis();Cs();C8n=5,I8n=15;aos="Anthropic subscription auth is active. Third-party usage now draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage.";n5e=class{constructor(t){this.source=t,this.text=new Bf(t(),1,0)}invalidate(){this.text=new Bf(this.source(),1,0)}render(t){return this.text.render(t)}},S8n=class extends Un{constructor(t,n,r){super(),this.message=()=>`Deleting worktree "${n}"`,this.spinner=new lu(t,i=>Le.fg("accent",i),i=>Le.fg("muted",i),this.message()),this.pathLine=new Mr(()=>Le.fg("dim",` ${r}`),1,0),this.errorLine=new Mr("",1,0),this.addChild(this.spinner),this.addChild(this.pathLine),this.addChild(this.errorLine)}setComplete(t,n,r){this.spinner.stop();let i=t==="success"?"\u2713":"\u2717",o=t==="success"?"success":"error";this.message=()=>`${Le.fg(o,i)} ${n}`,this.spinner.setMessage(this.message()),r&&this.errorLine.setText(()=>Le.fg("error",` ${r}`))}invalidate(){this.spinner.setMessage(this.message()),super.invalidate()}};VZ=class e{get session(){return this.runtimeHost.session}get agent(){return this.session.agent}get sessionManager(){return this.session.sessionManager}get settingsManager(){return this.session.settingsManager}constructor(t,n={}){this.isInitialized=!1,this.clipboardImagePaths=new Map,this.loadingAnimation=void 0,this.pendingWorkingMessage=void 0,this.defaultWorkingMessage="Working...",this.defaultHiddenThinkingLabel="Thinking...",this.hiddenThinkingLabel=this.defaultHiddenThinkingLabel,this.lastSigintTime=0,this.lastEscapeTime=0,this.changelogMarkdown=void 0,this.startupNoticesShown=!1,this.anthropicSubscriptionWarningShown=!1,this.autoSessionNameRequested=!1,this.lastStatusSpacer=void 0,this.lastStatusText=void 0,this.streamingComponent=void 0,this.streamingMessage=void 0,this.pendingTools=new Map,this.toolOutputExpanded=!1,this.hideThinkingBlock=!1,this.skillCommands=new Map,this.isBashMode=!1,this.bashComponent=void 0,this.pendingBashComponents=[],this.autoCompactionLoader=void 0,this.retryLoader=void 0,this.compactionQueuedMessages=[],this.shutdownRequested=!1,this.extensionSelector=void 0,this.extensionInput=void 0,this.extensionEditor=void 0,this.extensionTerminalInputUnsubscribers=new Set,this.extensionWidgetsAbove=new Map,this.extensionWidgetsBelow=new Map,this.customFooter=void 0,this.builtInHeader=void 0,this.customHeader=void 0,this.isShuttingDown=!1,this.options=n,this.runtimeHost=t,this.version=Kl,this.ui=new dm(new pm,this.settingsManager.getShowHardwareCursor(),mo()),this.ui.setClearOnShrink(this.settingsManager.getClearOnShrink()),this.headerContainer=new Un,this.chatContainer=new Un,this.pendingMessagesContainer=new Un,this.statusContainer=new Un,this.widgetContainerAbove=new Un,this.widgetContainerBelow=new Un,this.keybindings=B2.create(),cS(this.keybindings);let r=this.settingsManager.getEditorPaddingX(),i=this.settingsManager.getAutocompleteMaxVisible();this.defaultEditor=new Sre(this.ui,nNe(),this.keybindings,{paddingX:r,autocompleteMaxVisible:i}),this.editor=this.defaultEditor,this.editorContainer=new Un,this.editorContainer.addChild(this.editor),this.footerDataProvider=new yRt(this.sessionManager.getCwd()),this.footer=new wre(this.session,this.footerDataProvider),this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled),this.hideThinkingBlock=this.settingsManager.getHideThinkingBlock(),gst(this.session.resourceLoader.getThemes().themes),cR(this.settingsManager.getTheme(),!0)}getBuiltInCommandConflictDiagnostics(t){if(!t)return[];let n=new Set(PY.map(r=>r.name));return t.getRegisteredCommands().filter(r=>n.has(r.name)).map(r=>({type:"warning",message:r.invocationName===r.name?`Extension command '/${r.name}' conflicts with built-in interactive command. Skipping in autocomplete.`:`Extension command '/${r.name}' conflicts with built-in interactive command. Available as '/${r.invocationName}'.`,path:r.sourceInfo.path}))}setupAutocomplete(t){let n=PY.map(u=>({name:u.name,description:u.description,...["login","logout"].includes(u.name)&&{isAvailable:()=>!0}})),r=n.find(u=>u.name==="model");r&&(r.getArgumentCompletions=u=>{let l=this.session.scopedModels.length>0?this.session.scopedModels.map(m=>m.model):this.session.modelRegistry.getAvailable();if(l.length===0)return null;let d=l.map(m=>({id:m.id,provider:m.provider,name:m.name,label:`${m.provider}/${m.id}`})),p=zd(d,u,u6);return p.length===0?null:p.map(m=>({value:m.label,label:m.id,description:m.provider}))});let i=this.session.promptTemplates.map(u=>({name:u.name,description:NRt({description:u.description,sourceInfo:u.sourceInfo})})),o=new Set(n.map(u=>u.name)),s=(this.session.extensionRunner?.getRegisteredCommands().filter(u=>!o.has(u.name))??[]).map(u=>({name:u.invocationName,description:NRt({description:u.description,sourceInfo:u.sourceInfo,suppressAutocompleteSourceTag:u.suppressAutocompleteSourceTag}),getArgumentCompletions:u.getArgumentCompletions}));this.skillCommands.clear();let a=[];if(this.settingsManager.getEnableSkillCommands())for(let u of this.session.resourceLoader.getSkills().skills){let l=`skill:${u.name}`;this.skillCommands.set(l,u.filePath),a.push({name:l,description:NRt({description:u.description,sourceInfo:u.sourceInfo})})}let c=this.session.resourceLoader.getRules().rules.filter(u=>u.type==="manual").map(u=>({value:u.name,label:u.name,description:NRt({description:u.description,sourceInfo:u.sourceInfo})}));this.autocompleteProvider=new R4([...n,...i,...s,...a],this.sessionManager.getCwd(),t,c),this.defaultEditor.setAutocompleteProvider(this.autocompleteProvider),this.editor!==this.defaultEditor&&this.editor.setAutocompleteProvider?.(this.autocompleteProvider)}showStartupNoticesIfNeeded(){if(!this.startupNoticesShown&&(this.startupNoticesShown=!0,!!this.changelogMarkdown)){if(this.chatContainer.children.length>0&&this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Ri),this.settingsManager.getCollapseChangelog()){let t=this.changelogMarkdown.match(/##\s+\[?(\d+\.\d+\.\d+)\]?/),n=t?t[1]:this.version;this.chatContainer.addChild(new Mr(()=>`Updated to v${n}. Use ${Le.bold("/changelog")} to view full changelog.`,1,0))}else this.chatContainer.addChild(new Mr(()=>Le.bold(Le.fg("accent","What's New")),1,0)),this.chatContainer.addChild(new Pt(1)),this.chatContainer.addChild(new Va(this.changelogMarkdown.trim(),1,0,this.getMarkdownThemeWithSettings())),this.chatContainer.addChild(new Pt(1));this.chatContainer.addChild(new Ri)}}async init(){if(this.isInitialized)return;this.changelogMarkdown=this.getChangelogForDisplay(),this.ui.addChild(this.headerContainer),this.options.verbose||!this.settingsManager.getQuietStartup()?(this.builtInHeader=new Mr(()=>{let n=H1t(),r=Math.max(...n.split(`
|
|
13571
|
+
`).map(s=>_r(s))),i=Le.fg("muted",`v${Kl}`.padStart(r)),o=`${Le.fg("muted","send us feedback \u2014 use ")}${Le.fg("accent","/feedback")}${Le.fg("muted",". It might just get fixed next week.")}`;return`
|
|
13572
|
+
${n}
|
|
13573
|
+
${i}
|
|
13574
|
+
${o}`},1,0),this.headerContainer.addChild(new Pt(1)),this.headerContainer.addChild(this.builtInHeader),this.headerContainer.addChild(new Pt(1))):(this.builtInHeader=new kn("",0,0),this.headerContainer.addChild(this.builtInHeader)),this.ui.addChild(this.chatContainer),this.ui.addChild(this.pendingMessagesContainer),this.ui.addChild(this.statusContainer),this.renderWidgets(),this.ui.addChild(this.widgetContainerAbove);let[t]=await Promise.all([a7("fd"),a7("rg")]);this.fdPath=t,this.ui.addChild(this.editorContainer),this.ui.addChild(this.widgetContainerBelow),this.ui.addChild(this.footer),this.ui.setFocus(this.editor),this.setupKeyHandlers(),this.setupEditorSubmitHandler(),this.isInitialized=!0,this.ui.start(),this.ui.requestRender(),await this.bindCurrentSessionExtensions(),this.renderInitialMessages(),await this.hydratePersistedQueue(),this.updateTerminalTitle(),this.subscribeToAgent(),iwi(()=>{this.session.resourceLoader.getEventBus?.().emit("theme_changed",void 0),this.ui.invalidate(),this.updateEditorBorderColor(),this.ui.requestRender()}),this.footerDataProvider.onBranchChange(()=>{this.ui.requestRender()}),this.footerDataProvider.onRenderRequest(()=>{this.ui.requestRender()}),await this.updateAvailableProviderCount()}updateTerminalTitle(t){t&&(this.firstPromptForAutoSessionName??=t,this.autoTerminalTitle=sos(t));let n=this.sessionManager.getSessionName()??this.autoTerminalTitle;this.ui.terminal.setTitle(n?sos(n)??vBe:vBe)}async maybeGenerateAutoSessionName(){let t=this.firstPromptForAutoSessionName;if(!t||this.autoSessionNameRequested||this.sessionManager.getSessionName())return;this.autoSessionNameRequested=!0;let n=await this.session.generateSessionName(t);n&&!this.sessionManager.getSessionName()&&(this.sessionManager.appendSessionInfo(n),this.updateTerminalTitle())}async run(){await this.init(),this.setupTerminalCompletionNotifications();let t=y4n();urs({currentVersion:this.version,installation:t}).then(c=>{c&&this.showNewVersionNotification(c,t)}),this.checkForPackageUpdates().then(c=>{c.length>0&&this.showPackageUpdateNotification(c)}),this.checkTmuxKeyboardSetup().then(c=>{c&&this.showWarning(c)});let{migratedProviders:n,modelFallbackMessage:r,initialMessage:i,initialImages:o,initialMessages:s}=this.options;n&&n.length>0&&this.showWarning(`Migrated credentials to auth.json: ${n.join(", ")}`);let a=this.session.modelRegistry.getError();if(a&&this.showError(`models.json error: ${a}`),r&&this.showStatus(r),this.maybeWarnAboutAnthropicSubscriptionAuth(),i)try{await this.session.prompt(i,{images:o})}catch(c){let u=c instanceof Error?c.message:"Unknown error occurred";this.showError(u)}if(s)for(let c of s)try{await this.session.prompt(c)}catch(u){let l=u instanceof Error?u.message:"Unknown error occurred";this.showError(l)}for(;!this.isShuttingDown;){let c=await this.getUserInput();if(this.isShuttingDown)break;try{await this.session.prompt(c)}catch(u){let l=u instanceof Error?u.message:"Unknown error occurred";this.showError(l)}}}async checkForPackageUpdates(){if(process.env.PI_OFFLINE)return[];try{return(await new vk({cwd:this.sessionManager.getCwd(),agentDir:mo(),settingsManager:this.settingsManager}).checkForAvailableUpdates()).map(r=>r.displayName)}catch{return[]}}async checkTmuxKeyboardSetup(){if(!process.env.TMUX)return;let t=i=>new Promise(o=>{let s=qis("tmux",["show","-gv",i],{stdio:["ignore","pipe","ignore"]}),a="",c=setTimeout(()=>{s.kill(),o(void 0)},2e3);s.stdout?.on("data",u=>{a+=u.toString()}),s.on("error",()=>{clearTimeout(c),o(void 0)}),s.on("close",u=>{clearTimeout(c),o(u===0?a.trim():void 0)})}),[n,r]=await Promise.all([t("extended-keys"),t("extended-keys-format")]);if(n!==void 0){if(n!=="on"&&n!=="always")return"tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.";if(r==="xterm")return"tmux extended-keys-format is xterm. Pi works best with csi-u. Add `set -g extended-keys-format csi-u` to ~/.tmux.conf and restart tmux."}}getChangelogForDisplay(){if(this.session.state.messages.length>0)return;let t=this.settingsManager.getLastChangelogVersion(),n=Xit(),r=O4n(n);if(t){let i=vis(r,t);if(i.length>0)return this.settingsManager.setLastChangelogVersion(Kl),i.map(o=>o.content).join(`
|
|
13557
13575
|
|
|
13558
13576
|
`)}else{this.settingsManager.setLastChangelogVersion(Kl);return}}getMarkdownThemeWithSettings(){return{...rE(),codeBlockIndent:this.settingsManager.getCodeBlockIndent()}}loadAllHooksConfig(){let t=zdu(),n=this.sessionManager.getCwd(),r=[".claude"],i=this.settingsManager.getHooks()??{},o=this.normalizeHooksConfig(i),s=r.flatMap(a=>[e5e(t,a,"settings.json"),e5e(n,a,"settings.json")]);for(let a of s)try{let c=b8n(a,"utf-8"),u=JSON.parse(c);if(u.hooks){let l=this.normalizeHooksConfig(u.hooks);o={...o,...l}}}catch{}return o}countPluginResources(t){return{skillCount:bto(t.skillsDir),commandCount:Vqi(t.commandsDir)}}normalizeHooksConfig(t){let n={};for(let[r,i]of Object.entries(t)){if(!Array.isArray(i))continue;let o=[];for(let s of i){if(typeof s!="object"||s===null)continue;let a=s;if(typeof a.command=="string")o.push({command:a.command,...typeof a.matcher=="string"?{matcher:a.matcher}:{}});else if(Array.isArray(a.hooks))for(let c of a.hooks)typeof c=="object"&&c!==null&&typeof c.command=="string"&&o.push({command:c.command,...typeof a.matcher=="string"?{matcher:a.matcher}:{}})}o.length>0&&(n[r]=o)}return n}formatDisplayPath(t){return Bw(t)}getShortPath(t,n){let r=n?.source??"",i=t.match(/node_modules\/(@?[^/]+(?:\/[^/]+)?)\/(.*)/);if(i&&r.startsWith("npm:"))return i[2];let o=t.match(/git\/[^/]+\/[^/]+\/(.*)/);return o&&r.startsWith("git:")?o[1]:this.formatDisplayPath(t)}getDisplaySourceInfo(t){let n=t?.source??"local",r=t?.scope??"project";if(n==="local")return r==="user"?{label:"user",color:"muted"}:r==="project"?{label:"project",color:"muted"}:r==="temporary"?{label:"path",scopeLabel:"temp",color:"muted"}:{label:"path",color:"muted"};if(n==="cli")return{label:"path",scopeLabel:r==="temporary"?"temp":void 0,color:"muted"};let i;return r==="user"?i="user":r==="project"?i="project":r==="temporary"?i="temp":i=void 0,{label:n,scopeLabel:i,color:"accent"}}getScopeGroup(t){let n=t?.source??"local",r=t?.scope??"project";return n==="cli"||r==="temporary"?"path":r==="user"?"user":r==="project"?"project":"path"}isPackageSource(t){let n=t?.source??"";return n.startsWith("npm:")||n.startsWith("git:")}buildScopeGroups(t){let n={user:{scope:"user",paths:[],packages:new Map},project:{scope:"project",paths:[],packages:new Map},path:{scope:"path",paths:[],packages:new Map}};for(let r of t){let i={path:r.path,sourceInfo:r.sourceInfo?{...r.sourceInfo}:void 0},o=this.getScopeGroup(i.sourceInfo),s=n[o],a=i.sourceInfo?.source??"local";if(this.isPackageSource(i.sourceInfo)){let c=s.packages.get(a)??[];c.push(i),s.packages.set(a,c)}else s.paths.push(i)}return[n.project,n.user,n.path].filter(r=>r.paths.length>0||r.packages.size>0)}formatScopeGroups(t,n){let r=[];for(let i of t){r.push(` ${Le.fg("accent",i.scope)}`);let o=[...i.paths].sort((a,c)=>a.path.localeCompare(c.path));for(let a of o)r.push(Le.fg("dim",` ${n.formatPath(a)}`));let s=Array.from(i.packages.entries()).sort(([a],[c])=>a.localeCompare(c));for(let[a,c]of s){r.push(` ${Le.fg("mdLink",a)}`);let u=[...c].sort((l,d)=>l.path.localeCompare(d.path));for(let l of u)r.push(Le.fg("dim",` ${n.formatPackagePath(l,a)}`))}}return r.join(`
|
|
13559
13577
|
`)}findSourceInfoForPath(t,n){let r=n.get(t);if(r)return r;let i=t;for(;i.includes("/");){i=i.slice(0,i.lastIndexOf("/"));let o=n.get(i);if(o)return o}}formatPathWithSource(t,n){if(n){let r=this.getShortPath(t,n),{label:i,scopeLabel:o}=this.getDisplaySourceInfo(n);return`${o?`${i} (${o})`:i} ${r}`}return this.formatDisplayPath(t)}formatDiagnostics(t,n){let r=[],i=new Map,o=[];for(let s of t)if(s.type==="collision"&&s.collision){let a=i.get(s.collision.name)??[];a.push(s),i.set(s.collision.name,a)}else o.push(s);for(let[s,a]of i){let c=a[0]?.collision;if(c){r.push(Le.fg("warning",` "${s}" collision:`)),r.push(Le.fg("dim",` ${Le.fg("success","\u2713")} ${this.formatPathWithSource(c.winnerPath,this.findSourceInfoForPath(c.winnerPath,n))}`));for(let u of a)u.collision&&r.push(Le.fg("dim",` ${Le.fg("warning","\u2717")} ${this.formatPathWithSource(u.collision.loserPath,this.findSourceInfoForPath(u.collision.loserPath,n))} (skipped)`))}}for(let s of o)if(s.path){let a=this.formatPathWithSource(s.path,this.findSourceInfoForPath(s.path,n));r.push(Le.fg(s.type==="error"?"error":"warning",` ${a}`)),r.push(Le.fg(s.type==="error"?"error":"warning",` ${s.message}`))}else r.push(Le.fg(s.type==="error"?"error":"warning",` ${s.message}`));return r.join(`
|
|
@@ -14360,4 +14378,4 @@ undici/lib/web/websocket/frame.js:
|
|
|
14360
14378
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
14361
14379
|
*/
|
|
14362
14380
|
|
|
14363
|
-
//# debugId=
|
|
14381
|
+
//# debugId=486df11a-ef96-5b5f-9db9-95915e6831b8
|