@code-yeongyu/senpi 2026.10.21-1 → 2026.10.21-2
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/CHANGELOG.md +33 -0
- package/dist/bundle/chunks/{anthropic-messages-S5BTP7U2.js → anthropic-messages-2IQD75YN.js} +1 -1
- package/dist/bundle/chunks/args-SV2KM4KA.js +2 -0
- package/dist/bundle/chunks/azure-openai-responses-HFI6SDH5.js +2 -0
- package/dist/bundle/chunks/{chunk-WQLMQGOW.js → chunk-2AJB5S4C.js} +1 -1
- package/dist/bundle/chunks/{chunk-XSRM367N.js → chunk-3AK3WUN4.js} +2 -2
- package/dist/bundle/chunks/{chunk-6TL72TUD.js → chunk-4HJTPWZY.js} +1 -1
- package/dist/bundle/chunks/chunk-4NPBDGC4.js +26 -0
- package/dist/bundle/chunks/{chunk-E4WOCULF.js → chunk-4XR5HDWC.js} +72 -69
- package/dist/bundle/chunks/{chunk-6IWSMXBA.js → chunk-5GC4IQ3A.js} +1 -1
- package/dist/bundle/chunks/{chunk-7I7ZMSBF.js → chunk-A4B4CMOR.js} +1 -1
- package/dist/bundle/chunks/chunk-B4N4N7BR.js +8 -0
- package/dist/bundle/chunks/{chunk-X23XXKMH.js → chunk-BVFJAXWO.js} +1 -1
- package/dist/bundle/chunks/{chunk-25B6JQC4.js → chunk-C3BJRXEV.js} +1 -1
- package/dist/bundle/chunks/{chunk-DKBJM22C.js → chunk-CQDU6S6C.js} +2 -2
- package/dist/bundle/chunks/{chunk-MF57DS3V.js → chunk-EV4TWAJI.js} +1 -1
- package/dist/bundle/chunks/{chunk-JJXDWX46.js → chunk-F3JGTOLH.js} +1 -1
- package/dist/bundle/chunks/{chunk-CRY5CP3B.js → chunk-G42JHX5Q.js} +3 -3
- package/dist/bundle/chunks/{chunk-5VRI3CME.js → chunk-G7VYQRE7.js} +2 -2
- package/dist/bundle/chunks/chunk-GVSBCJFI.js +2 -0
- package/dist/bundle/chunks/{chunk-KUZPBZUK.js → chunk-HKDGQE6D.js} +2 -2
- package/dist/bundle/chunks/{chunk-HD67U37N.js → chunk-HRV7NEOJ.js} +1 -1
- package/dist/bundle/chunks/chunk-JDETIKL7.js +7 -0
- package/dist/bundle/chunks/{chunk-MVNVDGYF.js → chunk-JGMG227A.js} +1 -1
- package/dist/bundle/chunks/chunk-MHD7SSHF.js +2 -0
- package/dist/bundle/chunks/{chunk-CEQMTVYS.js → chunk-MXLEWTWC.js} +2 -2
- package/dist/bundle/chunks/{chunk-C5W3D56I.js → chunk-N6UN2SDS.js} +3 -3
- package/dist/bundle/chunks/chunk-NTK2MHJ5.js +2 -0
- package/dist/bundle/chunks/chunk-OMN4QWFA.js +3 -0
- package/dist/bundle/chunks/chunk-PLQ5WRXN.js +2 -0
- package/dist/bundle/chunks/{chunk-2MOGCBPT.js → chunk-PUMCQ5HS.js} +1 -1
- package/dist/bundle/chunks/{chunk-55YTTFNY.js → chunk-PUQFKAB4.js} +1 -1
- package/dist/bundle/chunks/{chunk-IJT3GSB2.js → chunk-SN7PTZTC.js} +1 -1
- package/dist/bundle/chunks/{chunk-FWHSGCWR.js → chunk-T2IIUI3J.js} +3 -3
- package/dist/bundle/chunks/{chunk-5AOKDC6G.js → chunk-TSETMVJP.js} +1 -1
- package/dist/bundle/chunks/{chunk-SR7DBNWN.js → chunk-V6AYNGMX.js} +1 -1
- package/dist/bundle/chunks/chunk-VDPJ7W52.js +11 -0
- package/dist/bundle/chunks/{chunk-EPQK674G.js → chunk-VLKULV6F.js} +1 -1
- package/dist/bundle/chunks/{chunk-SL7TSFR5.js → chunk-VXACHCLB.js} +1 -1
- package/dist/bundle/chunks/{chunk-FM7NDZR5.js → chunk-VYSRUDEU.js} +1 -1
- package/dist/bundle/chunks/chunk-YMFGBSO3.js +2 -0
- package/dist/bundle/chunks/cli-main-RA6EBOOU.js +3 -0
- package/dist/bundle/chunks/{cloudflare-workers-ai-system-one-4QEQ7MGK.js → cloudflare-workers-ai-system-one-BVENEDT6.js} +1 -1
- package/dist/bundle/chunks/cursor-agent.js +3 -3
- package/dist/bundle/chunks/google-generative-ai-ONS2KSGN.js +2 -0
- package/dist/bundle/chunks/google-vertex-5VS7ZESH.js +2 -0
- package/dist/bundle/chunks/help-fast-path-FZY53UXB.js +2 -0
- package/dist/bundle/chunks/host-command-TNUIHEFP.js +2 -0
- package/dist/bundle/chunks/{host-lifecycle-EZQ5VCQV.js → host-lifecycle-LDOHAYLK.js} +1 -1
- package/dist/bundle/chunks/host-session-command-OKASUQPA.js +20 -0
- package/dist/bundle/chunks/interactive-mode-PSGTSURY.js +2 -0
- package/dist/bundle/chunks/{mistral-conversations-5EHLE7PZ.js → mistral-conversations-RLDMF2BI.js} +1 -1
- package/dist/bundle/chunks/{multi-session-host-OMJZ5VXM.js → multi-session-host-J5BVVUG3.js} +7 -6
- package/dist/bundle/chunks/openai-codex-responses-VRIJIZJG.js +10 -0
- package/dist/bundle/chunks/{openai-completions-NHDMDAS7.js → openai-completions-EZBOIXHP.js} +2 -2
- package/dist/bundle/chunks/{openai-images-PNXQDBSP.js → openai-images-KKM343F2.js} +1 -1
- package/dist/bundle/chunks/openai-responses-CMBH3DCY.js +3 -0
- package/dist/bundle/chunks/{package-manager-cli-7GQDB5DX.js → package-manager-cli-JHVRG35I.js} +1 -1
- package/dist/bundle/chunks/{role-WQWYL4ZD.js → role-LNF5MFGC.js} +1 -1
- package/dist/bundle/chunks/rotation-stream-JK3Q4IWI.js +2 -0
- package/dist/bundle/chunks/rpc-mode-HVSPPRTT.js +2 -0
- package/dist/bundle/chunks/{rpc-monitor-source-FI7H7LGY.js → rpc-monitor-source-2DQZLFFJ.js} +1 -1
- package/dist/bundle/chunks/{runtime-session-IQAKNRTV.js → runtime-session-CLNODAYE.js} +1 -1
- package/dist/bundle/chunks/{schedule-command-XXJC4QQN.js → schedule-command-OMI4VWUV.js} +1 -1
- package/dist/bundle/chunks/session-control-endpoint-UPYF4OFP.js +3 -0
- package/dist/bundle/chunks/session-picker-NR7CRVNQ.js +2 -0
- package/dist/bundle/chunks/session-worker.js +143 -139
- package/dist/bundle/chunks/{typesafe-system-one-W2ZTYF7X.js → typesafe-system-one-PJIWA5SP.js} +1 -1
- package/dist/bundle/cli.js +2 -2
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/bundle/runtime-manifest.json +1 -1
- package/dist/cli/host-command.d.ts +2 -0
- package/dist/cli/host-command.js +14 -19
- package/dist/cli/host-handover-args.d.ts +4 -0
- package/dist/cli/host-handover-args.js +20 -0
- package/dist/core/agent-session.d.ts +29 -1
- package/dist/core/agent-session.js +74 -19
- package/dist/core/auth-storage.d.ts +44 -1
- package/dist/core/auth-storage.js +120 -3
- package/dist/core/client-message-identity.d.ts +3 -0
- package/dist/core/credential-accounts.d.ts +2 -0
- package/dist/core/credential-accounts.js +8 -1
- package/dist/core/credential-pool/rotation-slots.js +3 -2
- package/dist/core/extensions/builtin/account/index.js +6 -1
- package/dist/core/extensions/builtin/compaction/openai-remote.d.ts +2 -1
- package/dist/core/extensions/builtin/compaction/openai-remote.js +6 -5
- package/dist/core/extensions/builtin/goal/provider-retry.d.ts +2 -2
- package/dist/core/extensions/builtin/goal/provider-retry.js +18 -6
- package/dist/core/extensions/builtin/terminal/command-monitor-source.d.ts +17 -4
- package/dist/core/extensions/builtin/terminal/command-monitor-source.js +33 -6
- package/dist/core/extensions/builtin/terminal/durable-command.js +1 -0
- package/dist/core/extensions/builtin/terminal/extension.js +28 -0
- package/dist/core/extensions/builtin/terminal/monitor-notify-details.d.ts +6 -0
- package/dist/core/extensions/builtin/terminal/monitor-notify-details.js +19 -0
- package/dist/core/extensions/builtin/terminal/monitor-notify-format.d.ts +18 -0
- package/dist/core/extensions/builtin/terminal/monitor-notify-format.js +52 -0
- package/dist/core/extensions/builtin/terminal/monitor-notify.d.ts +8 -1
- package/dist/core/extensions/builtin/terminal/monitor-notify.js +65 -119
- package/dist/core/extensions/builtin/terminal/monitor-overflow-file.d.ts +7 -0
- package/dist/core/extensions/builtin/terminal/monitor-overflow-file.js +67 -0
- package/dist/core/extensions/builtin/terminal/monitor-overflow.d.ts +37 -0
- package/dist/core/extensions/builtin/terminal/monitor-overflow.js +75 -0
- package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts +10 -0
- package/dist/core/extensions/builtin/terminal/monitor-registry.js +24 -1
- package/dist/core/extensions/builtin/terminal/monitor-types.d.ts +5 -0
- package/dist/core/extensions/builtin/terminal/monitor-wake-fit.d.ts +9 -0
- package/dist/core/extensions/builtin/terminal/monitor-wake-fit.js +34 -0
- package/dist/core/extensions/builtin/terminal/monitor-wake-pacing.d.ts +10 -0
- package/dist/core/extensions/builtin/terminal/monitor-wake-pacing.js +41 -0
- package/dist/core/extensions/builtin/terminal/restore-session.js +2 -0
- package/dist/core/extensions/builtin/terminal/rpc-monitor-observer.js +5 -1
- package/dist/core/extensions/builtin/terminal/settings.d.ts +10 -0
- package/dist/core/extensions/builtin/terminal/settings.js +13 -1
- package/dist/core/extensions/builtin/terminal/shared.d.ts +17 -10
- package/dist/core/extensions/builtin/terminal/shared.js +19 -10
- package/dist/core/extensions/builtin/terminal/terminal-manifest-model.d.ts +3 -0
- package/dist/core/extensions/builtin/terminal/terminal-manifest-parse.js +7 -0
- package/dist/core/extensions/builtin/terminal/terminal-manifest.js +1 -0
- package/dist/core/extensions/builtin/terminal/tools/monitor-schema.d.ts +1 -0
- package/dist/core/extensions/builtin/terminal/tools/monitor-schema.js +6 -1
- package/dist/core/extensions/builtin/terminal/tools/monitor.d.ts +1 -0
- package/dist/core/extensions/builtin/terminal/tools/monitor.js +9 -1
- package/dist/core/extensions/builtin/tps.js +1 -8
- package/dist/core/extensions/loader.js +3 -1
- package/dist/core/extensions/runner.d.ts +1 -0
- package/dist/core/extensions/runner.js +12 -1
- package/dist/core/extensions/types.d.ts +3 -1
- package/dist/core/session-manager.d.ts +10 -1
- package/dist/core/session-manager.js +4 -3
- package/dist/core/terminal-settings.d.ts +3 -0
- package/dist/index.d.ts +1 -1
- package/dist/main.d.ts +14 -0
- package/dist/main.js +25 -8
- package/dist/modes/index.d.ts +1 -0
- package/dist/modes/index.js +1 -0
- package/dist/modes/interactive/components/footer.js +4 -2
- package/dist/modes/interactive/interactive-mode.d.ts +5 -0
- package/dist/modes/interactive/interactive-mode.js +13 -1
- package/dist/modes/rpc/client-admission-record.d.ts +5 -0
- package/dist/modes/rpc/client-admission-record.js +2 -0
- package/dist/modes/rpc/connection-handler.d.ts +3 -0
- package/dist/modes/rpc/connection-handler.js +33 -5
- package/dist/modes/rpc/connection-roles.d.ts +30 -0
- package/dist/modes/rpc/connection-roles.js +53 -0
- package/dist/modes/rpc/custom-capability.d.ts +6 -0
- package/dist/modes/rpc/custom-capability.js +6 -0
- package/dist/modes/rpc/host-capabilities.js +2 -1
- package/dist/modes/rpc/host-decision.d.ts +4 -1
- package/dist/modes/rpc/host-decision.js +6 -3
- package/dist/modes/rpc/host-ensure-liveness.d.ts +11 -0
- package/dist/modes/rpc/host-ensure-liveness.js +26 -0
- package/dist/modes/rpc/host-ensure.js +2 -3
- package/dist/modes/rpc/host-holder.d.ts +27 -0
- package/dist/modes/rpc/host-holder.js +18 -0
- package/dist/modes/rpc/host-runner.d.ts +2 -0
- package/dist/modes/rpc/host-runner.js +8 -1
- package/dist/modes/rpc/host-status-all.js +1 -0
- package/dist/modes/rpc/host-status.d.ts +1 -0
- package/dist/modes/rpc/host-status.js +5 -0
- package/dist/modes/rpc/host-stop-generation.d.ts +22 -0
- package/dist/modes/rpc/host-stop-generation.js +36 -0
- package/dist/modes/rpc/host-stop-start-time.d.ts +15 -0
- package/dist/modes/rpc/host-stop-start-time.js +30 -0
- package/dist/modes/rpc/host-stop.d.ts +13 -1
- package/dist/modes/rpc/host-stop.js +78 -9
- package/dist/modes/rpc/rpc-client.d.ts +9 -0
- package/dist/modes/rpc/rpc-client.js +15 -0
- package/dist/modes/rpc/rpc-types.d.ts +18 -0
- package/dist/modes/rpc/rpc-types.js +2 -0
- package/dist/modes/rpc/session-binding.d.ts +1 -1
- package/dist/modes/rpc/session-command-router.d.ts +1 -0
- package/dist/modes/rpc/session-command-router.js +13 -0
- package/dist/modes/rpc/session-worker-client.d.ts +1 -1
- package/dist/modes/rpc/session-worker-client.js +12 -1
- package/dist/modes/rpc/session-worker-protocol.d.ts +3 -0
- package/dist/modes/rpc/session-worker.js +9 -0
- package/docs/rpc.md +54 -2
- package/docs/session-format.md +5 -0
- package/package.json +6 -6
- package/dist/bundle/chunks/args-CRXNC7IS.js +0 -2
- package/dist/bundle/chunks/azure-openai-responses-2DCY6QKO.js +0 -2
- package/dist/bundle/chunks/chunk-5ZBDN3LB.js +0 -26
- package/dist/bundle/chunks/chunk-AEJUOQ7U.js +0 -2
- package/dist/bundle/chunks/chunk-LAWS3FYQ.js +0 -11
- package/dist/bundle/chunks/chunk-LM76EMEJ.js +0 -7
- package/dist/bundle/chunks/chunk-M237EDHB.js +0 -2
- package/dist/bundle/chunks/chunk-V6RY5A6T.js +0 -2
- package/dist/bundle/chunks/chunk-WIAXG52U.js +0 -2
- package/dist/bundle/chunks/chunk-WTFD4TII.js +0 -8
- package/dist/bundle/chunks/chunk-Z33PKFXM.js +0 -3
- package/dist/bundle/chunks/cli-main-RKC5Z25H.js +0 -3
- package/dist/bundle/chunks/google-generative-ai-3SKUSCIL.js +0 -2
- package/dist/bundle/chunks/google-vertex-YHSIIE4G.js +0 -2
- package/dist/bundle/chunks/help-fast-path-FWS5ARO5.js +0 -2
- package/dist/bundle/chunks/host-command-L66Y7ZL5.js +0 -2
- package/dist/bundle/chunks/host-session-command-2YNQNTEH.js +0 -20
- package/dist/bundle/chunks/interactive-mode-XOKTNBLA.js +0 -2
- package/dist/bundle/chunks/openai-codex-responses-4BIPACKV.js +0 -10
- package/dist/bundle/chunks/openai-responses-2UOPEJLP.js +0 -3
- package/dist/bundle/chunks/rotation-stream-J2NUPRMG.js +0 -2
- package/dist/bundle/chunks/rpc-mode-WM5WH7TH.js +0 -2
- package/dist/bundle/chunks/session-control-endpoint-MTOAYRRY.js +0 -3
- package/dist/bundle/chunks/session-picker-LU7BPLNI.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
2
|
-
import{isOpenAIResponsesPromptCacheModel}from"./chunk-
|
|
2
|
+
import{isOpenAIResponsesPromptCacheModel}from"./chunk-3AK3WUN4.js";import{SERVER_FALLBACK_ABORTED_DIAGNOSTIC,parseServerFallbackReceipt,withGzipRequestBodies}from"./chunk-T36LJ6MW.js";import{getAnthropicCompat,isAnthropicApiBaseUrl}from"./chunk-QGJLZ6BI.js";import{parseStreamingJson}from"./chunk-3W47LTXQ.js";import{contentText,createProvider,getCurrentSystemPrompt,getCurrentTools,getInitialSystemMessage,getSystemMessageText,normalizeContext}from"./chunk-VDPJ7W52.js";import{AssistantMessageEventStream,createAssistantMessageEventStream}from"./chunk-DMI55M2N.js";import{providerHeadersToRecord}from"./chunk-PJ34QVL5.js";import{Build,Clean,Convert,Create,Decode,Default,DisableParseErrors,EnableParseErrors,Encode,Errors,HasCodec,IsArray,IsBoolean,IsInteger,IsNumber,IsObject,IsString,ParseError,Parser,arguments_exports,settings_exports,typebox_exports,value_exports}from"./chunk-MIENF2YK.js";import{__commonJS,__export,__require,__toESM}from"./chunk-IKOFCODM.js";var require_identity=__commonJS({"node_modules/yaml/dist/nodes/identity.js"(exports){"use strict";var ALIAS=Symbol.for("yaml.alias"),DOC=Symbol.for("yaml.document"),MAP=Symbol.for("yaml.map"),PAIR=Symbol.for("yaml.pair"),SCALAR=Symbol.for("yaml.scalar"),SEQ=Symbol.for("yaml.seq"),NODE_TYPE=Symbol.for("yaml.node.type"),isAlias=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===ALIAS,isDocument=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===DOC,isMap=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===MAP,isPair=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===PAIR,isScalar=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SCALAR,isSeq=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SEQ;function isCollection(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case MAP:case SEQ:return!0}return!1}function isNode(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case ALIAS:case MAP:case SCALAR:case SEQ:return!0}return!1}var hasAnchor=node=>(isScalar(node)||isCollection(node))&&!!node.anchor;exports.ALIAS=ALIAS;exports.DOC=DOC;exports.MAP=MAP;exports.NODE_TYPE=NODE_TYPE;exports.PAIR=PAIR;exports.SCALAR=SCALAR;exports.SEQ=SEQ;exports.hasAnchor=hasAnchor;exports.isAlias=isAlias;exports.isCollection=isCollection;exports.isDocument=isDocument;exports.isMap=isMap;exports.isNode=isNode;exports.isPair=isPair;exports.isScalar=isScalar;exports.isSeq=isSeq}});var require_visit=__commonJS({"node_modules/yaml/dist/visit.js"(exports){"use strict";var identity=require_identity(),BREAK=Symbol("break visit"),SKIP=Symbol("skip children"),REMOVE=Symbol("remove node");function visit(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?visit_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):visit_(null,node,visitor_,Object.freeze([]))}visit.BREAK=BREAK;visit.SKIP=SKIP;visit.REMOVE=REMOVE;function visit_(key,node,visitor,path){let ctrl=callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visit_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=visit_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=visit_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=visit_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}async function visitAsync(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?await visitAsync_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):await visitAsync_(null,node,visitor_,Object.freeze([]))}visitAsync.BREAK=BREAK;visitAsync.SKIP=SKIP;visitAsync.REMOVE=REMOVE;async function visitAsync_(key,node,visitor,path){let ctrl=await callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visitAsync_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=await visitAsync_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=await visitAsync_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=await visitAsync_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}function initVisitor(visitor){return typeof visitor=="object"&&(visitor.Collection||visitor.Node||visitor.Value)?Object.assign({Alias:visitor.Node,Map:visitor.Node,Scalar:visitor.Node,Seq:visitor.Node},visitor.Value&&{Map:visitor.Value,Scalar:visitor.Value,Seq:visitor.Value},visitor.Collection&&{Map:visitor.Collection,Seq:visitor.Collection},visitor):visitor}function callVisitor(key,node,visitor,path){if(typeof visitor=="function")return visitor(key,node,path);if(identity.isMap(node))return visitor.Map?.(key,node,path);if(identity.isSeq(node))return visitor.Seq?.(key,node,path);if(identity.isPair(node))return visitor.Pair?.(key,node,path);if(identity.isScalar(node))return visitor.Scalar?.(key,node,path);if(identity.isAlias(node))return visitor.Alias?.(key,node,path)}function replaceNode(key,path,node){let parent=path[path.length-1];if(identity.isCollection(parent))parent.items[key]=node;else if(identity.isPair(parent))key==="key"?parent.key=node:parent.value=node;else if(identity.isDocument(parent))parent.contents=node;else{let pt=identity.isAlias(parent)?"alias":"scalar";throw new Error(`Cannot replace node with ${pt} parent`)}}exports.visit=visit;exports.visitAsync=visitAsync}});var require_directives=__commonJS({"node_modules/yaml/dist/doc/directives.js"(exports){"use strict";var identity=require_identity(),visit=require_visit(),escapeChars={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},escapeTagName=tn=>tn.replace(/[!,[\]{}]/g,ch=>escapeChars[ch]),Directives=class _Directives{constructor(yaml,tags){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},_Directives.defaultYaml,yaml),this.tags=Object.assign({},_Directives.defaultTags,tags)}clone(){let copy=new _Directives(this.yaml,this.tags);return copy.docStart=this.docStart,copy}atDocument(){let res=new _Directives(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},_Directives.defaultTags);break}return res}add(line,onError){this.atNextDocument&&(this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},_Directives.defaultTags),this.atNextDocument=!1);let parts=line.trim().split(/[ \t]+/),name=parts.shift();switch(name){case"%TAG":{if(parts.length!==2&&(onError(0,"%TAG directive should contain exactly two parts"),parts.length<2))return!1;let[handle,prefix]=parts;return this.tags[handle]=prefix,!0}case"%YAML":{if(this.yaml.explicit=!0,parts.length!==1)return onError(0,"%YAML directive should contain exactly one part"),!1;let[version]=parts;if(version==="1.1"||version==="1.2")return this.yaml.version=version,!0;{let isValid=/^\d+\.\d+$/.test(version);return onError(6,`Unsupported YAML version ${version}`,isValid),!1}}default:return onError(0,`Unknown directive ${name}`,!0),!1}}tagName(source,onError){if(source==="!")return"!";if(source[0]!=="!")return onError(`Not a valid tag: ${source}`),null;if(source[1]==="<"){let verbatim=source.slice(2,-1);return verbatim==="!"||verbatim==="!!"?(onError(`Verbatim tags aren't resolved, so ${source} is invalid.`),null):(source[source.length-1]!==">"&&onError("Verbatim tags must end with a >"),verbatim)}let[,handle,suffix]=source.match(/^(.*!)([^!]*)$/s);suffix||onError(`The ${source} tag has no suffix`);let prefix=this.tags[handle];if(prefix)try{return prefix+decodeURIComponent(suffix)}catch(error){return onError(String(error)),null}return handle==="!"?source:(onError(`Could not resolve tag: ${source}`),null)}tagString(tag){for(let[handle,prefix]of Object.entries(this.tags))if(tag.startsWith(prefix))return handle+escapeTagName(tag.substring(prefix.length));return tag[0]==="!"?tag:`!<${tag}>`}toString(doc){let lines=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],tagEntries=Object.entries(this.tags),tagNames;if(doc&&tagEntries.length>0&&identity.isNode(doc.contents)){let tags={};visit.visit(doc.contents,(_key,node)=>{identity.isNode(node)&&node.tag&&(tags[node.tag]=!0)}),tagNames=Object.keys(tags)}else tagNames=[];for(let[handle,prefix]of tagEntries)handle==="!!"&&prefix==="tag:yaml.org,2002:"||(!doc||tagNames.some(tn=>tn.startsWith(prefix)))&&lines.push(`%TAG ${handle} ${prefix}`);return lines.join(`
|
|
3
3
|
`)}};Directives.defaultYaml={explicit:!1,version:"1.2"};Directives.defaultTags={"!!":"tag:yaml.org,2002:"};exports.Directives=Directives}});var require_anchors=__commonJS({"node_modules/yaml/dist/doc/anchors.js"(exports){"use strict";var identity=require_identity(),visit=require_visit();function anchorIsValid(anchor){if(/[\x00-\x19\s,[\]{}]/.test(anchor)){let msg=`Anchor must not contain whitespace or control characters: ${JSON.stringify(anchor)}`;throw new Error(msg)}return!0}function anchorNames(root){let anchors=new Set;return visit.visit(root,{Value(_key,node){node.anchor&&anchors.add(node.anchor)}}),anchors}function findNewAnchor(prefix,exclude){for(let i=1;;++i){let name=`${prefix}${i}`;if(!exclude.has(name))return name}}function createNodeAnchors(doc,prefix){let aliasObjects=[],sourceObjects=new Map,prevAnchors=null;return{onAnchor:source=>{aliasObjects.push(source),prevAnchors??(prevAnchors=anchorNames(doc));let anchor=findNewAnchor(prefix,prevAnchors);return prevAnchors.add(anchor),anchor},setAnchors:()=>{for(let source of aliasObjects){let ref=sourceObjects.get(source);if(typeof ref=="object"&&ref.anchor&&(identity.isScalar(ref.node)||identity.isCollection(ref.node)))ref.node.anchor=ref.anchor;else{let error=new Error("Failed to resolve repeated object (this should not happen)");throw error.source=source,error}}},sourceObjects}}exports.anchorIsValid=anchorIsValid;exports.anchorNames=anchorNames;exports.createNodeAnchors=createNodeAnchors;exports.findNewAnchor=findNewAnchor}});var require_applyReviver=__commonJS({"node_modules/yaml/dist/doc/applyReviver.js"(exports){"use strict";function applyReviver(reviver,obj,key,val){if(val&&typeof val=="object")if(Array.isArray(val))for(let i=0,len=val.length;i<len;++i){let v0=val[i],v1=applyReviver(reviver,val,String(i),v0);v1===void 0?delete val[i]:v1!==v0&&(val[i]=v1)}else if(val instanceof Map)for(let k of Array.from(val.keys())){let v0=val.get(k),v1=applyReviver(reviver,val,k,v0);v1===void 0?val.delete(k):v1!==v0&&val.set(k,v1)}else if(val instanceof Set)for(let v0 of Array.from(val)){let v1=applyReviver(reviver,val,v0,v0);v1===void 0?val.delete(v0):v1!==v0&&(val.delete(v0),val.add(v1))}else for(let[k,v0]of Object.entries(val)){let v1=applyReviver(reviver,val,k,v0);v1===void 0?delete val[k]:v1!==v0&&(val[k]=v1)}return reviver.call(obj,key,val)}exports.applyReviver=applyReviver}});var require_toJS=__commonJS({"node_modules/yaml/dist/nodes/toJS.js"(exports){"use strict";var identity=require_identity();function toJS(value,arg,ctx){if(Array.isArray(value))return value.map((v,i)=>toJS(v,String(i),ctx));if(value&&typeof value.toJSON=="function"){if(!ctx||!identity.hasAnchor(value))return value.toJSON(arg,ctx);let data={aliasCount:0,count:1,res:void 0};ctx.anchors.set(value,data),ctx.onCreate=res2=>{data.res=res2,delete ctx.onCreate};let res=value.toJSON(arg,ctx);return ctx.onCreate&&ctx.onCreate(res),res}return typeof value=="bigint"&&!ctx?.keep?Number(value):value}exports.toJS=toJS}});var require_Node=__commonJS({"node_modules/yaml/dist/nodes/Node.js"(exports){"use strict";var applyReviver=require_applyReviver(),identity=require_identity(),toJS=require_toJS(),NodeBase=class{constructor(type){Object.defineProperty(this,identity.NODE_TYPE,{value:type})}clone(){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(copy.range=this.range.slice()),copy}toJS(doc,{mapAsMap,maxAliasCount,onAnchor,reviver}={}){if(!identity.isDocument(doc))throw new TypeError("A document argument is required");let ctx={anchors:new Map,doc,keep:!0,mapAsMap:mapAsMap===!0,mapKeyWarned:!1,maxAliasCount:typeof maxAliasCount=="number"?maxAliasCount:100},res=toJS.toJS(this,"",ctx);if(typeof onAnchor=="function")for(let{count,res:res2}of ctx.anchors.values())onAnchor(res2,count);return typeof reviver=="function"?applyReviver.applyReviver(reviver,{"":res},"",res):res}};exports.NodeBase=NodeBase}});var require_Alias=__commonJS({"node_modules/yaml/dist/nodes/Alias.js"(exports){"use strict";var anchors=require_anchors(),visit=require_visit(),identity=require_identity(),Node=require_Node(),toJS=require_toJS(),Alias=class extends Node.NodeBase{constructor(source){super(identity.ALIAS),this.source=source,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(doc,ctx){if(ctx?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let nodes;ctx?.aliasResolveCache?nodes=ctx.aliasResolveCache:(nodes=[],visit.visit(doc,{Node:(_key,node)=>{(identity.isAlias(node)||identity.hasAnchor(node))&&nodes.push(node)}}),ctx&&(ctx.aliasResolveCache=nodes));let found;for(let node of nodes){if(node===this)break;node.anchor===this.source&&(found=node)}if(found&&ctx){let{anchors:anchors2,doc:doc2,maxAliasCount}=ctx,data=anchors2.get(found);if(data||(toJS.toJS(found,null,ctx),data=anchors2.get(found)),data?.res===void 0){let msg="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(msg)}if(maxAliasCount>=0&&(data.count+=1,data.aliasCount===0&&(data.aliasCount=getAliasCount(doc2,found,anchors2)),data.count*data.aliasCount>maxAliasCount)){let msg="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(msg)}}return found}toJSON(_arg,ctx){if(!ctx)return{source:this.source};let source=this.resolve(ctx.doc,ctx);if(!source){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(msg)}return ctx.anchors.get(source).res}toString(ctx,_onComment,_onChompKeep){let src=`*${this.source}`;if(ctx){if(anchors.anchorIsValid(this.source),ctx.options.verifyAliasOrder&&!ctx.anchors.has(this.source)){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(msg)}if(ctx.implicitKey)return`${src} `}return src}};function getAliasCount(doc,node,anchors2){if(identity.isAlias(node)){let source=node.resolve(doc),anchor=anchors2&&source&&anchors2.get(source);return anchor?anchor.count*anchor.aliasCount:0}else if(identity.isCollection(node)){let count=0;for(let item of node.items){let c=getAliasCount(doc,item,anchors2);c>count&&(count=c)}return count}else if(identity.isPair(node)){let kc=getAliasCount(doc,node.key,anchors2),vc=getAliasCount(doc,node.value,anchors2);return Math.max(kc,vc)}return 1}exports.Alias=Alias}});var require_Scalar=__commonJS({"node_modules/yaml/dist/nodes/Scalar.js"(exports){"use strict";var identity=require_identity(),Node=require_Node(),toJS=require_toJS(),isScalarValue=value=>!value||typeof value!="function"&&typeof value!="object",Scalar=class extends Node.NodeBase{constructor(value){super(identity.SCALAR),this.value=value}toJSON(arg,ctx){return ctx?.keep?this.value:toJS.toJS(this.value,arg,ctx)}toString(){return String(this.value)}};Scalar.BLOCK_FOLDED="BLOCK_FOLDED";Scalar.BLOCK_LITERAL="BLOCK_LITERAL";Scalar.PLAIN="PLAIN";Scalar.QUOTE_DOUBLE="QUOTE_DOUBLE";Scalar.QUOTE_SINGLE="QUOTE_SINGLE";exports.Scalar=Scalar;exports.isScalarValue=isScalarValue}});var require_createNode=__commonJS({"node_modules/yaml/dist/doc/createNode.js"(exports){"use strict";var Alias=require_Alias(),identity=require_identity(),Scalar=require_Scalar(),defaultTagPrefix="tag:yaml.org,2002:";function findTagObject(value,tagName,tags){if(tagName){let match=tags.filter(t=>t.tag===tagName),tagObj=match.find(t=>!t.format)??match[0];if(!tagObj)throw new Error(`Tag ${tagName} not found`);return tagObj}return tags.find(t=>t.identify?.(value)&&!t.format)}function createNode(value,tagName,ctx){if(identity.isDocument(value)&&(value=value.contents),identity.isNode(value))return value;if(identity.isPair(value)){let map=ctx.schema[identity.MAP].createNode?.(ctx.schema,null,ctx);return map.items.push(value),map}(value instanceof String||value instanceof Number||value instanceof Boolean||typeof BigInt<"u"&&value instanceof BigInt)&&(value=value.valueOf());let{aliasDuplicateObjects,onAnchor,onTagObj,schema,sourceObjects}=ctx,ref;if(aliasDuplicateObjects&&value&&typeof value=="object"){if(ref=sourceObjects.get(value),ref)return ref.anchor??(ref.anchor=onAnchor(value)),new Alias.Alias(ref.anchor);ref={anchor:null,node:null},sourceObjects.set(value,ref)}tagName?.startsWith("!!")&&(tagName=defaultTagPrefix+tagName.slice(2));let tagObj=findTagObject(value,tagName,schema.tags);if(!tagObj){if(value&&typeof value.toJSON=="function"&&(value=value.toJSON()),!value||typeof value!="object"){let node2=new Scalar.Scalar(value);return ref&&(ref.node=node2),node2}tagObj=value instanceof Map?schema[identity.MAP]:Symbol.iterator in Object(value)?schema[identity.SEQ]:schema[identity.MAP]}onTagObj&&(onTagObj(tagObj),delete ctx.onTagObj);let node=tagObj?.createNode?tagObj.createNode(ctx.schema,value,ctx):typeof tagObj?.nodeClass?.from=="function"?tagObj.nodeClass.from(ctx.schema,value,ctx):new Scalar.Scalar(value);return tagName?node.tag=tagName:tagObj.default||(node.tag=tagObj.tag),ref&&(ref.node=node),node}exports.createNode=createNode}});var require_Collection=__commonJS({"node_modules/yaml/dist/nodes/Collection.js"(exports){"use strict";var createNode=require_createNode(),identity=require_identity(),Node=require_Node();function collectionFromPath(schema,path,value){let v=value;for(let i=path.length-1;i>=0;--i){let k=path[i];if(typeof k=="number"&&Number.isInteger(k)&&k>=0){let a=[];a[k]=v,v=a}else v=new Map([[k,v]])}return createNode.createNode(v,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema,sourceObjects:new Map})}var isEmptyPath=path=>path==null||typeof path=="object"&&!!path[Symbol.iterator]().next().done,Collection=class extends Node.NodeBase{constructor(type,schema){super(type),Object.defineProperty(this,"schema",{value:schema,configurable:!0,enumerable:!1,writable:!0})}clone(schema){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return schema&&(copy.schema=schema),copy.items=copy.items.map(it=>identity.isNode(it)||identity.isPair(it)?it.clone(schema):it),this.range&&(copy.range=this.range.slice()),copy}addIn(path,value){if(isEmptyPath(path))this.add(value);else{let[key,...rest]=path,node=this.get(key,!0);if(identity.isCollection(node))node.addIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}deleteIn(path){let[key,...rest]=path;if(rest.length===0)return this.delete(key);let node=this.get(key,!0);if(identity.isCollection(node))return node.deleteIn(rest);throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}getIn(path,keepScalar){let[key,...rest]=path,node=this.get(key,!0);return rest.length===0?!keepScalar&&identity.isScalar(node)?node.value:node:identity.isCollection(node)?node.getIn(rest,keepScalar):void 0}hasAllNullValues(allowScalar){return this.items.every(node=>{if(!identity.isPair(node))return!1;let n=node.value;return n==null||allowScalar&&identity.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(path){let[key,...rest]=path;if(rest.length===0)return this.has(key);let node=this.get(key,!0);return identity.isCollection(node)?node.hasIn(rest):!1}setIn(path,value){let[key,...rest]=path;if(rest.length===0)this.set(key,value);else{let node=this.get(key,!0);if(identity.isCollection(node))node.setIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}};exports.Collection=Collection;exports.collectionFromPath=collectionFromPath;exports.isEmptyPath=isEmptyPath}});var require_stringifyComment=__commonJS({"node_modules/yaml/dist/stringify/stringifyComment.js"(exports){"use strict";var stringifyComment=str=>str.replace(/^(?!$)(?: $)?/gm,"#");function indentComment(comment,indent){return/^\n+$/.test(comment)?comment.substring(1):indent?comment.replace(/^(?! *$)/gm,indent):comment}var lineComment=(str,indent,comment)=>str.endsWith(`
|
|
4
4
|
`)?indentComment(comment,indent):comment.includes(`
|
|
5
5
|
`)?`
|
|
@@ -140,13 +140,13 @@ ${end.comment}`:end.comment}this.doc.range[2]=end.offset;break}default:this.erro
|
|
|
140
140
|
`)}function extractUserMessageText(msg){if(msg.role!=="user")return"";let content=msg.content;return typeof content=="string"?content.trim():content.filter(c=>c.type==="text").map(c=>c.text).join(`
|
|
141
141
|
`).trim()}function hasUserMessageImages(msg){return msg.role==="user"&&Array.isArray(msg.content)&&msg.content.some(item=>item.type==="image")}function buildCursorRootPromptContent(content){if(typeof content=="string"){let text=content.trim();return text?[{type:"text",text}]:[]}let parts=[];for(let item of content)if(item.type==="text"){let text=item.text.trim();text&&parts.push({type:"text",text})}else parts.push({type:"image",image:`data:${item.mimeType};base64,${item.data}`,mediaType:item.mimeType});return parts}function cursorUserContentKey(content){if(typeof content=="string")return content.trim();let hash=createHash("sha256");for(let item of content)hash.update(item.type),item.type==="text"?hash.update(item.text):(hash.update(item.mimeType),hash.update(item.data));return hash.digest("hex")}function buildCursorAssistantContent(msg){let content=[];for(let item of msg.content)item.type==="text"?item.text&&content.push({type:"text",text:item.text}):item.type==="toolCall"&&content.push({type:"tool-call",toolCallId:item.id,toolName:item.name,args:item.arguments});return content}function findLastUserMessageIndex(messages){for(let i=messages.length-1;i>=0;i--)if(messages[i].role==="user")return i;return-1}function buildRootPromptMessagesJson(messages,systemPromptIds,blobStore,activeUserMessageIndex=findLastUserMessageIndex(messages)){let entries=[...systemPromptIds],pushJson=obj=>{let bytes=new TextEncoder().encode(JSON.stringify(obj));entries.push(storeCursorBlob(blobStore,bytes))};for(let i=0;i<messages.length&&i!==activeUserMessageIndex;i++){let msg=messages[i];if(msg.role==="user"){let content=buildCursorRootPromptContent(msg.content);if(content.length===0)continue;pushJson({role:"user",content})}else if(msg.role==="assistant"){let content=buildCursorAssistantContent(msg);if(content.length===0)continue;pushJson({role:"assistant",content})}else msg.role==="toolResult"&&pushJson({role:"tool",id:msg.toolCallId,content:[{type:"tool-result",toolName:msg.toolName,toolCallId:msg.toolCallId,result:toolResultToText(msg),...msg.isError?{isError:!0}:{}}]})}return entries}function isPlainRecord(value){if(value===null||typeof value!="object"||Array.isArray(value))return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function isJsonValue(value){if(value===null||typeof value=="string"||typeof value=="boolean")return!0;if(typeof value=="number")return Number.isFinite(value);if(Array.isArray(value))return value.every(isJsonValue);if(!isPlainRecord(value))return!1;for(let key in value)if(!isJsonValue(value[key]))return!1;return!0}function encodeCursorMcpArguments(toolCall){let encoded={};for(let name in toolCall.arguments){let value=toolCall.arguments[name];if(value!==void 0){if(!isJsonValue(value))throw new Error(`Cursor tool argument ${toolCall.name}.${name} is not JSON-serializable`);encoded[name]=toBinary(ValueSchema,fromJson(ValueSchema,value))}}return encoded}function createCursorMcpResult(result){return result.isError?create(McpToolResultSchema,{result:{case:"error",value:create(McpToolErrorSchema,{error:toolResultToText(result)})}}):create(McpToolResultSchema,{result:{case:"success",value:create(McpSuccessSchema,{content:result.content.map(item=>item.type==="text"?create(McpToolResultContentItemSchema,{content:{case:"text",value:create(McpTextContentSchema,{text:item.text})}}):create(McpToolResultContentItemSchema,{content:{case:"image",value:create(McpImageContentSchema,{data:Uint8Array.from(Uint8Array.from(atob(item.data),c=>c.charCodeAt(0))),mimeType:item.mimeType})}}))})}})}function createCursorToolCallStep(toolCall,result){let mcpCall=create(McpToolCallSchema,{args:create(McpArgsSchema,{name:toolCall.name,args:encodeCursorMcpArguments(toolCall),toolCallId:toolCall.id,providerIdentifier:"pi-agent",toolName:toolCall.name}),...result?{result:createCursorMcpResult(result)}:{}});return create(ConversationStepSchema,{message:{case:"toolCall",value:create(ToolCallSchema,{tool:{case:"mcpToolCall",value:mcpCall},toolCallId:toolCall.id})}})}function buildConversationTurns(messages,blobStore,activeUserMessageIndex=findLastUserMessageIndex(messages)){let turns=[],historyEnd=activeUserMessageIndex>=0?activeUserMessageIndex:messages.length,toolResults=new Map,pairedToolCallIds=new Set;for(let index=0;index<historyEnd;index++){let message=messages[index];if(message.role==="toolResult")toolResults.set(message.toolCallId,message);else if(message.role==="assistant")for(let item of message.content)item.type==="toolCall"&&pairedToolCallIds.add(item.id)}let i=0;for(;i<messages.length;){let msg=messages[i];if(msg.role!=="user"){i++;continue}if(i===activeUserMessageIndex)break;let userText=extractUserMessageText(msg);if(userText.length===0&&!hasUserMessageImages(msg)){i++;continue}let userMessage=createCursorUserMessage(msg.content,userText,deterministicUuid(`u:${turns.length}:${cursorUserContentKey(msg.content)}`)),userMessageBlobId=storeCursorBlob(blobStore,toBinary(UserMessageSchema,userMessage)),stepBlobIds=[];for(i++;i<messages.length&&messages[i].role!=="user";){let stepMsg=messages[i];if(stepMsg.role==="assistant")for(let item of stepMsg.content){let step;if(item.type==="text"){if(!item.text)continue;step=create(ConversationStepSchema,{message:{case:"assistantMessage",value:create(AssistantMessageSchema,{text:item.text})}})}else{if(item.type==="thinking")continue;if(item.type==="toolCall")step=createCursorToolCallStep(item,toolResults.get(item.id));else continue}stepBlobIds.push(storeCursorBlob(blobStore,toBinary(ConversationStepSchema,step)))}else if(stepMsg.role==="toolResult"&&!pairedToolCallIds.has(stepMsg.toolCallId)){let text=toolResultToText(stepMsg);if(text){let prefix=stepMsg.isError?"[Tool Error]":"[Tool Result]",step=create(ConversationStepSchema,{message:{case:"assistantMessage",value:create(AssistantMessageSchema,{text:`${prefix}
|
|
142
142
|
${text}`})}});stepBlobIds.push(storeCursorBlob(blobStore,toBinary(ConversationStepSchema,step)))}}i++}let agentTurn=create(AgentConversationTurnStructureSchema,{userMessage:userMessageBlobId,steps:stepBlobIds}),turn=create(ConversationTurnStructureSchema,{turn:{case:"agentConversationTurn",value:agentTurn}});turns.push(storeCursorBlob(blobStore,toBinary(ConversationTurnStructureSchema,turn)))}return turns}function createCursorUserMessage(content,text,messageId=randomUUID()){let images=typeof content=="string"?[]:extractImages(content);return create(UserMessageSchema,{text,messageId,...images.length>0?{selectedContext:create(SelectedContextSchema,{selectedImages:images})}:{}})}function extractImages(content){return content.filter(item=>item.type==="image").map(image=>create(SelectedImageSchema,{uuid:randomUUID(),mimeType:image.mimeType,dataOrBlobId:{case:"data",value:Uint8Array.from(atob(image.data),c=>c.charCodeAt(0))}}))}function measureCursorModelInputSerializedBytes(messages,activeUserMessageIndex=findLastUserMessageIndex(messages)){let blobStore=new Map,total=0;for(let blobId of buildRootPromptMessagesJson(messages,[],blobStore,activeUserMessageIndex))total+=readCursorBlob(blobStore,blobId).byteLength;return total}function measureCursorHistorySerializedBytes(messages,activeUserMessageIndex=findLastUserMessageIndex(messages)){return buildCursorHistoryWireBytesForTest(messages,activeUserMessageIndex).reduce((total,bytes)=>total+bytes.byteLength,0)}function buildCursorHistoryWireBytesForTest(messages,activeUserMessageIndex=findLastUserMessageIndex(messages)){let blobStore=new Map;return buildRootPromptMessagesJson(messages,[],blobStore,activeUserMessageIndex),buildConversationTurns(messages,blobStore,activeUserMessageIndex),[...blobStore.values()]}function piReadArgs(path,offset,limit){return limit!==void 0&&Math.floor(limit)<=0?null:{path,offset:offset!==void 0?Math.max(1,Math.floor(offset)):void 0,limit:limit!==void 0?Math.floor(limit):void 0}}function piLsPath(basePath){return basePath||"."}function piLimit(limit){return limit===void 0?void 0:Math.max(1,Math.floor(limit))}function piTimeout(timeout){return timeout!==void 0&&timeout>=0?timeout:void 0}function composeShellCommand(command,workingDirectory){return workingDirectory?`cd ${`'${workingDirectory.replace(/'/g,"'\\''")}'`} && { ${command}
|
|
143
|
-
}`:command}function omitUndefinedArgs(args){let out={};for(let key of Object.keys(args)){let value=args[key];value!==void 0&&(out[key]=value)}return out}var warmers=new Map;function registerPromptCacheWarmer(api,warmer){warmers.set(api,warmer)}function getPromptCacheWarmer(api){return warmers.get(api)}async function warmPromptCache(model,context,options={}){if(isOpenAIResponsesPromptCacheModel(model)){if((options.cacheRetention??model.cacheRetention)==="none")return{supported:!1};let warmer=getPromptCacheWarmer(model.api);if(warmer===void 0)return{supported:!1};let{usage,usageRaw:usageRaw2}=await warmer(model,context,options);return{supported:!0,usage:{input:usage.input,output:usage.output,cacheRead:usage.cacheRead,cacheWrite:usage.cacheWrite,cost:usage.cost},usageRaw:usageRaw2}}if(model.api!=="anthropic-messages"||!isAnthropicApiBaseUrl(model.baseUrl))return{supported:!1};let anthropicModel=model,[{default:Anthropic},{buildAnthropicWarmPromptCacheParams}]=await Promise.all([import("./sdk-3UTSBCRC.js"),import("./anthropic-messages-
|
|
143
|
+
}`:command}function omitUndefinedArgs(args){let out={};for(let key of Object.keys(args)){let value=args[key];value!==void 0&&(out[key]=value)}return out}var warmers=new Map;function registerPromptCacheWarmer(api,warmer){warmers.set(api,warmer)}function getPromptCacheWarmer(api){return warmers.get(api)}async function warmPromptCache(model,context,options={}){if(isOpenAIResponsesPromptCacheModel(model)){if((options.cacheRetention??model.cacheRetention)==="none")return{supported:!1};let warmer=getPromptCacheWarmer(model.api);if(warmer===void 0)return{supported:!1};let{usage,usageRaw:usageRaw2}=await warmer(model,context,options);return{supported:!0,usage:{input:usage.input,output:usage.output,cacheRead:usage.cacheRead,cacheWrite:usage.cacheWrite,cost:usage.cost},usageRaw:usageRaw2}}if(model.api!=="anthropic-messages"||!isAnthropicApiBaseUrl(model.baseUrl))return{supported:!1};let anthropicModel=model,[{default:Anthropic},{buildAnthropicWarmPromptCacheParams}]=await Promise.all([import("./sdk-3UTSBCRC.js"),import("./anthropic-messages-2IQD75YN.js")]),headers=providerHeadersToRecord(options.headers),client=new Anthropic({apiKey:options.apiKey??null,baseURL:anthropicModel.baseUrl,dangerouslyAllowBrowser:!0,fetch:getAnthropicCompat(anthropicModel).supportsGzipRequestBody?withGzipRequestBodies(options.fetch):options.fetch,defaultHeaders:{...anthropicModel.headers,...headers}}),params=buildAnthropicWarmPromptCacheParams(anthropicModel,context,options),transformed=await options.onPayload?.(params,anthropicModel,{model:anthropicModel,headers});transformed!==void 0&&(params=transformed);let sanitized={...params};delete sanitized.stream,delete sanitized.thinking,delete sanitized.output_config,delete sanitized.tool_choice,sanitized.max_tokens=0;let usageRaw=(await client.beta.messages.create(sanitized,{maxRetries:0,...options.signal?{signal:options.signal}:{},...options.timeoutMs!==void 0?{timeout:options.timeoutMs}:{}})).usage;return{supported:!0,usage:{input:usageRaw.input_tokens,output:usageRaw.output_tokens,cacheRead:usageRaw.cache_read_input_tokens??0,cacheWrite:usageRaw.cache_creation_input_tokens??0},usageRaw}}var DEFAULT_API="faux",DEFAULT_PROVIDER="faux",DEFAULT_MODEL_ID="faux-1",DEFAULT_MODEL_NAME="Faux Model",DEFAULT_BASE_URL="http://localhost:0",DEFAULT_MIN_TOKEN_SIZE=3,DEFAULT_MAX_TOKEN_SIZE=5,DEFAULT_USAGE={input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};function fauxText(text){return{type:"text",text}}function fauxThinking(thinking){return{type:"thinking",thinking}}function fauxToolCall(name,arguments_,options={}){return{type:"toolCall",id:options.id??randomId("tool"),name,arguments:arguments_}}function normalizeFauxAssistantContent(content){return typeof content=="string"?[fauxText(content)]:Array.isArray(content)?content:[content]}function fauxAssistantMessage(content,options={}){return{role:"assistant",content:normalizeFauxAssistantContent(content),api:DEFAULT_API,provider:DEFAULT_PROVIDER,model:DEFAULT_MODEL_ID,usage:DEFAULT_USAGE,stopReason:options.stopReason??"stop",...options.stopDetails===void 0?{}:{stopDetails:options.stopDetails},...options.deferred===void 0?{}:{deferred:options.deferred},...options.errorMessage===void 0?{}:{errorMessage:options.errorMessage},...options.abortSource===void 0?{}:{abortSource:options.abortSource},...options.responseId===void 0?{}:{responseId:options.responseId},timestamp:options.timestamp??Date.now()}}function estimateTokens(text){return Math.ceil(text.length/4)}function randomId(prefix){return`${prefix}:${Date.now()}:${Math.random().toString(36).slice(2)}`}function cloneStreamOptionsForLog(options){if(options)return{...options}}function cloneToolForLog(tool){return{name:tool.name,description:tool.description,parameters:structuredClone(tool.parameters),...tool.freeform?{freeform:structuredClone(tool.freeform)}:{}}}function toLoggedContext(transcript){let systemPrompt=getCurrentSystemPrompt(transcript.messages),tools=getCurrentTools(transcript.messages);return{...systemPrompt?{systemPrompt}:{},messages:structuredClone(transcript.messages.filter(message=>message.role!=="system")),...tools.length>0?{tools:tools.map(cloneToolForLog)}:{},...transcript.activeToolNames?{activeToolNames:[...transcript.activeToolNames]}:{}}}function contentToText(content){return typeof content=="string"?content:content.map(block=>block.type==="text"?block.text:`[image:${block.mimeType}:${block.data.length}]`).join(`
|
|
144
144
|
`)}function assistantContentToText(content){return content.map(block=>block.type==="text"?block.text:block.type==="thinking"?block.thinking:block.type==="providerNative"?"":`${block.name}:${JSON.stringify(block.arguments)}`).join(`
|
|
145
145
|
`)}function toolResultToText2(message){return[message.toolName,...message.content.map(block=>contentToText([block]))].join(`
|
|
146
146
|
`)}function messageToText(message){return message.role==="system"?[getSystemMessageText(message),...message.toolsRemoved?.map(tool=>`tool-:${JSON.stringify(tool)}`)??[],...message.toolsAdded?.map(tool=>`tool+:${JSON.stringify(tool)}`)??[]].filter(part=>part.length>0).join(`
|
|
147
147
|
`):message.role==="user"?contentToText(message.content):message.role==="assistant"?assistantContentToText(message.content):message.role==="configurationUpdate"?"":toolResultToText2(message)}function serializeContext(context){return context.messages.map(message=>`${message.role}:${messageToText(message)}`).join(`
|
|
148
148
|
|
|
149
|
-
`)}function commonPrefixLength(a,b){let length=Math.min(a.length,b.length),index=0;for(;index<length&&a[index]===b[index];)index++;return index}function withUsageEstimate(message,context,options,promptCache){let promptText=serializeContext(context),promptTokens=estimateTokens(promptText),outputTokens=estimateTokens(assistantContentToText(message.content)),input=promptTokens,cacheRead=0,cacheWrite=0,sessionId=options?.sessionId;if(sessionId&&options?.cacheRetention!=="none"){let previousPrompt=promptCache.get(sessionId);if(previousPrompt){let cachedChars=commonPrefixLength(previousPrompt,promptText);cacheRead=estimateTokens(previousPrompt.slice(0,cachedChars)),cacheWrite=estimateTokens(promptText.slice(cachedChars)),input=Math.max(0,promptTokens-cacheRead)}else cacheWrite=promptTokens;promptCache.set(sessionId,promptText)}return{...message,usage:{input,output:outputTokens,cacheRead,cacheWrite,totalTokens:input+outputTokens+cacheRead+cacheWrite,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}}function splitStringByTokenSize(text,minTokenSize,maxTokenSize){let chunks=[],index=0;for(;index<text.length;){let tokenSize=minTokenSize+Math.floor(Math.random()*(maxTokenSize-minTokenSize+1)),charSize=Math.max(1,tokenSize*4);chunks.push(text.slice(index,index+charSize)),index+=charSize}return chunks.length>0?chunks:[""]}function cloneMessage(message,api,provider,modelId){let cloned=structuredClone(message);return{...cloned,api,provider,model:modelId,timestamp:cloned.timestamp??Date.now(),usage:cloned.usage??DEFAULT_USAGE}}function createDeferredMessage(model,handle){return{role:"assistant",content:[],api:model.api,provider:model.provider,model:model.id,usage:DEFAULT_USAGE,stopReason:"deferred",deferred:handle,timestamp:Date.now()}}function createErrorMessage(error,api,provider,modelId){return{role:"assistant",content:[],api,provider,model:modelId,usage:DEFAULT_USAGE,stopReason:"error",errorMessage:error instanceof Error?error.message:String(error),timestamp:Date.now()}}function createAbortedMessage(partial){return{...partial,stopReason:"aborted",errorMessage:"Request was aborted",timestamp:Date.now()}}function scheduleChunk(chunk,tokensPerSecond,schedulerHook){if(schedulerHook)return Promise.resolve(schedulerHook());if(!tokensPerSecond||tokensPerSecond<=0)return new Promise(resolve=>queueMicrotask(resolve));let delayMs=estimateTokens(chunk)/tokensPerSecond*1e3;return new Promise(resolve=>setTimeout(resolve,delayMs))}async function streamWithDeltas(stream,message,minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,signal){let partial={...message,content:[],stopReason:"pending"};if(signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}stream.push({type:"start",partial:{...partial}});for(let index=0;index<message.content.length;index++){if(signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}let block=message.content[index];if(block.type==="thinking"){partial.content=[...partial.content,{type:"thinking",thinking:""}],stream.push({type:"thinking_start",contentIndex:index,partial:{...partial}});for(let chunk of splitStringByTokenSize(block.thinking,minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond,schedulerHook),signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}partial.content[index].thinking+=chunk,stream.push({type:"thinking_delta",contentIndex:index,delta:chunk,partial:{...partial}})}stream.push({type:"thinking_end",contentIndex:index,content:block.thinking,partial:{...partial}});continue}if(block.type==="text"){partial.content=[...partial.content,{type:"text",text:""}],stream.push({type:"text_start",contentIndex:index,partial:{...partial}});for(let chunk of splitStringByTokenSize(block.text,minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond,schedulerHook),signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}partial.content[index].text+=chunk,stream.push({type:"text_delta",contentIndex:index,delta:chunk,partial:{...partial}})}stream.push({type:"text_end",contentIndex:index,content:block.text,partial:{...partial}});continue}if(block.type!=="providerNative"){partial.content=[...partial.content,{type:"toolCall",id:block.id,name:block.name,arguments:{}}],stream.push({type:"toolcall_start",contentIndex:index,partial:{...partial}});for(let chunk of splitStringByTokenSize(JSON.stringify(block.arguments),minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond,schedulerHook),signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}stream.push({type:"toolcall_delta",contentIndex:index,delta:chunk,partial:{...partial}})}partial.content[index].arguments=block.arguments,stream.push({type:"toolcall_end",contentIndex:index,toolCall:block,partial:{...partial}})}}if(message.stopReason==="pending")throw new Error("Faux response ended without a stop reason");if(message.stopReason==="error"||message.stopReason==="aborted"){stream.push({type:"error",reason:message.stopReason,error:message}),stream.end(message);return}stream.push({type:"done",reason:message.stopReason,message}),stream.end(message)}function createFauxCore(options){let api=options.api??randomId(DEFAULT_API),provider=options.provider??DEFAULT_PROVIDER,responseHeaders=options.responseHeaders??{},minTokenSize=Math.max(1,Math.min(options.tokenSize?.min??DEFAULT_MIN_TOKEN_SIZE,options.tokenSize?.max??DEFAULT_MAX_TOKEN_SIZE)),maxTokenSize=Math.max(minTokenSize,options.tokenSize?.max??DEFAULT_MAX_TOKEN_SIZE),pendingResponses=[],tokensPerSecond=options.tokensPerSecond,schedulerHook=options.schedulerHook,state={callCount:0,deferredFetchCount:0,cancelledDeferred:[]},promptCache=new Map,callLog=[],deferredResponses=new Map,models=(options.models?.length?options.models:[{id:DEFAULT_MODEL_ID,name:DEFAULT_MODEL_NAME,reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384}]).map(definition=>({id:definition.id,name:definition.name??definition.id,api,provider,baseUrl:DEFAULT_BASE_URL,reasoning:definition.reasoning??!1,input:definition.input??["text","image"],inputLimits:definition.inputLimits,cost:definition.cost??{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:definition.contextWindow??128e3,maxTokens:definition.maxTokens??16384})),resolveResponse=async(step,context,streamOptions,requestModel)=>{let resolved=typeof step=="function"?await step(context,streamOptions,state,requestModel):step;return withUsageEstimate(cloneMessage(resolved,api,provider,requestModel.id),context,streamOptions,promptCache)},stream=(requestModel,context,streamOptions)=>{let outer=createAssistantMessageEventStream(),step=pendingResponses.shift();return state.callCount++,callLog.push({context:toLoggedContext(context),options:cloneStreamOptionsForLog(streamOptions),timestamp:Date.now(),modelId:requestModel.id}),queueMicrotask(async()=>{try{if(await streamOptions?.onResponse?.({status:200,headers:{...responseHeaders}},requestModel),!step){let message2=createErrorMessage(new Error("No more faux responses queued"),api,provider,requestModel.id);message2=withUsageEstimate(message2,context,streamOptions,promptCache),outer.push({type:"error",reason:"error",error:message2}),outer.end(message2);return}if(streamOptions?.deferred){let handle={provider:requestModel.provider,modelId:requestModel.id,api:requestModel.api,id:randomId("deferred"),...options.deferred?.pollAfterMs!==void 0?{pollAfterMs:options.deferred.pollAfterMs}:{}};deferredResponses.set(handle.id,{handle,step,context,options:streamOptions,model:requestModel,pendingFetches:Math.max(0,Math.floor(options.deferred?.pendingFetches??0)),cancelled:!1}),await streamWithDeltas(outer,createDeferredMessage(requestModel,handle),minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,streamOptions.signal);return}let message=await resolveResponse(step,context,streamOptions,requestModel);await streamWithDeltas(outer,message,minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,streamOptions?.signal)}catch(error){let message=createErrorMessage(error,api,provider,requestModel.id);outer.push({type:"error",reason:"error",error:message}),outer.end(message)}}),outer},streamSimple=(streamModel,context,streamOptions)=>stream(streamModel,context,streamOptions),fetchDeferred=(requestModel,handle,fetchOptions)=>{let outer=createAssistantMessageEventStream();return state.deferredFetchCount++,queueMicrotask(async()=>{try{await fetchOptions?.onResponse?.({status:200,headers:{...responseHeaders}},requestModel);let entry=deferredResponses.get(handle.id);if(!entry||entry.handle.provider!==handle.provider||entry.handle.modelId!==handle.modelId||entry.handle.api!==handle.api)throw new Error(`Unknown faux deferred response: ${handle.id}`);if(entry.cancelled)throw new Error(`Faux deferred response was cancelled: ${handle.id}`);if(entry.pendingFetches>0){entry.pendingFetches--,await streamWithDeltas(outer,createDeferredMessage(requestModel,entry.handle),minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,fetchOptions?.signal);return}if(!entry.final){let{deferred:_deferred,signal:_submissionSignal,onResponse:_submissionOnResponse,...submissionOptions}=entry.options??{};try{entry.final=await resolveResponse(entry.step,entry.context,submissionOptions,entry.model)}catch(error){entry.final=createErrorMessage(error,api,provider,entry.model.id)}}await streamWithDeltas(outer,entry.final,minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,fetchOptions?.signal)}catch(error){let message=createErrorMessage(error,api,provider,requestModel.id);outer.push({type:"error",reason:"error",error:message}),outer.end(message)}}),outer},cancelDeferred=async(requestModel,handle,cancelOptions)=>{state.cancelledDeferred.push(structuredClone(handle));let entry=deferredResponses.get(handle.id);entry&&(entry.cancelled=!0),await cancelOptions?.onResponse?.({status:200,headers:{...responseHeaders}},requestModel)};function getModel(requestedModelId){return requestedModelId?models.find(candidate=>candidate.id===requestedModelId):models[0]}return{api,provider,models,stream,streamSimple,fetchDeferred,cancelDeferred,getModel,state,setResponses(responses){pendingResponses=[...responses]},appendResponses(responses){pendingResponses.push(...responses)},getPendingResponseCount(){return pendingResponses.length},getCallLog(){return callLog.map(entry=>({context:structuredClone(entry.context),options:cloneStreamOptionsForLog(entry.options),timestamp:entry.timestamp,modelId:entry.modelId}))}}}var registeredFauxProviders=new Map;function getRegisteredFauxProvider(api){return registeredFauxProviders.get(api)}function fauxOverflowError(provider,message){return fauxAssistantMessage([],{stopReason:"error",errorMessage:`${provider}: ${message}`})}function fauxProvider(options={}){let core=createFauxCore(options);return{provider:createProvider({id:core.provider,auth:{apiKey:{name:"Faux",resolve:async()=>({auth:{}})}},models:core.models,api:{stream:core.stream,streamSimple:core.streamSimple,fetchDeferred:core.fetchDeferred,cancelDeferred:core.cancelDeferred}}),api:core.api,models:core.models,getModel:core.getModel,state:core.state,setResponses:core.setResponses,appendResponses:core.appendResponses,getPendingResponseCount:core.getPendingResponseCount,getCallLog:core.getCallLog}}var apiProviderRegistry=new Map,builtinApiProviderRegistry=new Map,getProviderScope=()=>{},providerScopeStrictMode=!1;function installProviderScopeAccessor(accessor){getProviderScope=accessor}function getActiveProviderScope(){let scope=getProviderScope();if(scope?.state==="closed")throw new Error("Provider scope is closed");if(!scope&&providerScopeStrictMode)throw new Error("Provider scope is required in strict mode");return scope}function wrapStream(api,stream){return(model,context,options)=>{if(model.api!==api)throw new Error(`Mismatched api: ${model.api} expected ${api}`);return stream(model,context,options)}}function wrapStreamSimple(api,streamSimple){return(model,context,options)=>{if(model.api!==api)throw new Error(`Mismatched api: ${model.api} expected ${api}`);return streamSimple(model,context,options)}}function createRegisteredProvider(provider,sourceId,survivesClear){return{provider:{api:provider.api,stream:wrapStream(provider.api,provider.stream),streamSimple:wrapStreamSimple(provider.api,provider.streamSimple)},sourceId,...survivesClear?{survivesClear}:{}}}function registerApiProvider(provider,sourceId,options){let scope=getActiveProviderScope();(scope?scope.overlay:apiProviderRegistry).set(provider.api,createRegisteredProvider(provider,sourceId,options?.survivesClear))}function registerBuiltinApiProvider(provider){let registered=builtinApiProviderRegistry.get(provider.api)??createRegisteredProvider(provider);builtinApiProviderRegistry.set(provider.api,registered),apiProviderRegistry.has(provider.api)||apiProviderRegistry.set(provider.api,registered)}function getApiProvider(api){let scope=getActiveProviderScope();if(scope)return scope.overlay.get(api)?.provider??builtinApiProviderRegistry.get(api)?.provider;let faux=getRegisteredFauxProvider(api);return faux?{api:faux.api,stream:wrapStream(faux.api,faux.stream),streamSimple:wrapStreamSimple(faux.api,faux.streamSimple)}:apiProviderRegistry.get(api)?.provider}function getApiProviders(){let scope=getActiveProviderScope();if(scope){let providers=new Map(builtinApiProviderRegistry);for(let[api,entry]of scope.overlay)providers.set(api,entry);return Array.from(providers.values(),entry=>entry.provider)}return Array.from(apiProviderRegistry.values(),entry=>entry.provider)}function unregisterApiProviders(sourceId){let scope=getActiveProviderScope(),registry=scope?scope.overlay:apiProviderRegistry;for(let[api,entry]of registry.entries()){if(entry.sourceId!==sourceId)continue;registry.delete(api);let builtin=builtinApiProviderRegistry.get(api);!scope&&builtin&®istry.set(api,builtin)}}function clearApiProviders(){let scope=getActiveProviderScope(),registry=scope?scope.overlay:apiProviderRegistry;for(let[api,entry]of registry)entry.survivesClear||registry.delete(api)}function envApiKeyAuth(name,envVars){return{name,login:async interaction=>{interaction.signal.throwIfAborted();let key=await interaction.prompt({type:"secret",message:`Enter ${name}`});return interaction.signal.throwIfAborted(),{type:"api_key",key}},resolve:async({ctx,credential,signal})=>{if(signal.throwIfAborted(),credential?.key)return{auth:{apiKey:credential.key},env:credential.env,source:"stored credential"};for(let envVar of envVars){let value=await ctx.env(envVar);if(signal.throwIfAborted(),value)return{auth:{apiKey:value},source:envVar}}}}}function lazyOAuth(input){let promise,loaded=()=>(promise??=input.load(),promise);return{name:input.name,isSubscription:input.isSubscription,loginLabel:input.loginLabel,...input.rejectedTokenStatuses===void 0?{}:{rejectedTokenStatuses:input.rejectedTokenStatuses},login:async(interaction,options)=>(await loaded()).login(interaction,options),refresh:async(credential,signal)=>(await loaded()).refresh(credential,signal),toAuth:async credential=>(await loaded()).toAuth(credential)}}var cursor_variant_aliases_default={$schema:"cursor-variant-aliases/v1",source:"union of GetUsableModels live capture (204 ids) and cursor-agent CLI listing capture (203 ids), 2026-08-18",aliases:{"claude-4-sonnet":{targetId:"claude-4-sonnet",legacyVariantId:"claude-4-sonnet",encoding:"legacy-variant"},"claude-4-sonnet-thinking":{targetId:"claude-4-sonnet-thinking",legacyVariantId:"claude-4-sonnet-thinking",encoding:"legacy-variant"},"claude-4.5-opus-high":{targetId:"claude-4.5-opus",level:"high",legacyVariantId:"claude-4.5-opus-high",encoding:"legacy-variant"},"claude-4.5-opus-high-thinking":{targetId:"claude-4.5-opus-thinking",level:"high",legacyVariantId:"claude-4.5-opus-high-thinking",encoding:"legacy-variant"},"claude-4.5-sonnet":{targetId:"claude-4.5-sonnet",legacyVariantId:"claude-4.5-sonnet",encoding:"legacy-variant"},"claude-4.5-sonnet-thinking":{targetId:"claude-4.5-sonnet-thinking",legacyVariantId:"claude-4.5-sonnet-thinking",encoding:"legacy-variant"},"claude-4.6-opus-high":{targetId:"claude-4.6-opus",level:"high",legacyVariantId:"claude-4.6-opus-high",encoding:"legacy-variant"},"claude-4.6-opus-max":{targetId:"claude-4.6-opus",level:"max",legacyVariantId:"claude-4.6-opus-max",encoding:"legacy-variant"},"claude-4.6-opus-high-thinking":{targetId:"claude-4.6-opus-thinking",level:"high",legacyVariantId:"claude-4.6-opus-high-thinking",encoding:"legacy-variant"},"claude-4.6-opus-max-thinking":{targetId:"claude-4.6-opus-thinking",level:"max",legacyVariantId:"claude-4.6-opus-max-thinking",encoding:"legacy-variant"},"claude-4.6-sonnet-medium":{targetId:"claude-4.6-sonnet",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium",encoding:"legacy-variant"},"claude-4.6-sonnet-medium-thinking":{targetId:"claude-4.6-sonnet-thinking",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium-thinking",encoding:"legacy-variant"},"claude-fable-5-high":{targetId:"claude-fable-5",level:"high",legacyVariantId:"claude-fable-5-high",encoding:"legacy-variant"},"claude-fable-5-low":{targetId:"claude-fable-5",level:"low",legacyVariantId:"claude-fable-5-low",encoding:"legacy-variant"},"claude-fable-5-max":{targetId:"claude-fable-5",level:"max",legacyVariantId:"claude-fable-5-max",encoding:"legacy-variant"},"claude-fable-5-medium":{targetId:"claude-fable-5",level:"medium",legacyVariantId:"claude-fable-5-medium",encoding:"legacy-variant"},"claude-fable-5-xhigh":{targetId:"claude-fable-5",level:"xhigh",legacyVariantId:"claude-fable-5-xhigh",encoding:"legacy-variant"},"claude-fable-5-thinking-high":{targetId:"claude-fable-5-thinking",level:"high",legacyVariantId:"claude-fable-5-thinking-high",encoding:"legacy-variant"},"claude-fable-5-thinking-low":{targetId:"claude-fable-5-thinking",level:"low",legacyVariantId:"claude-fable-5-thinking-low",encoding:"legacy-variant"},"claude-fable-5-thinking-max":{targetId:"claude-fable-5-thinking",level:"max",legacyVariantId:"claude-fable-5-thinking-max",encoding:"legacy-variant"},"claude-fable-5-thinking-medium":{targetId:"claude-fable-5-thinking",level:"medium",legacyVariantId:"claude-fable-5-thinking-medium",encoding:"legacy-variant"},"claude-fable-5-thinking-xhigh":{targetId:"claude-fable-5-thinking",level:"xhigh",legacyVariantId:"claude-fable-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high":{targetId:"claude-opus-4-7",level:"high",legacyVariantId:"claude-opus-4-7-high",encoding:"legacy-variant"},"claude-opus-4-7-low":{targetId:"claude-opus-4-7",level:"low",legacyVariantId:"claude-opus-4-7-low",encoding:"legacy-variant"},"claude-opus-4-7-max":{targetId:"claude-opus-4-7",level:"max",legacyVariantId:"claude-opus-4-7-max",encoding:"legacy-variant"},"claude-opus-4-7-medium":{targetId:"claude-opus-4-7",level:"medium",legacyVariantId:"claude-opus-4-7-medium",encoding:"legacy-variant"},"claude-opus-4-7-xhigh":{targetId:"claude-opus-4-7",level:"xhigh",legacyVariantId:"claude-opus-4-7-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high-fast":{targetId:"claude-opus-4-7-high-fast",legacyVariantId:"claude-opus-4-7-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-low-fast":{targetId:"claude-opus-4-7-low-fast",legacyVariantId:"claude-opus-4-7-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-max-fast":{targetId:"claude-opus-4-7-max-fast",legacyVariantId:"claude-opus-4-7-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-medium-fast":{targetId:"claude-opus-4-7-medium-fast",legacyVariantId:"claude-opus-4-7-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-xhigh-fast":{targetId:"claude-opus-4-7-xhigh-fast",legacyVariantId:"claude-opus-4-7-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high":{targetId:"claude-opus-4-7-thinking",level:"high",legacyVariantId:"claude-opus-4-7-thinking-high",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low":{targetId:"claude-opus-4-7-thinking",level:"low",legacyVariantId:"claude-opus-4-7-thinking-low",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max":{targetId:"claude-opus-4-7-thinking",level:"max",legacyVariantId:"claude-opus-4-7-thinking-max",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium":{targetId:"claude-opus-4-7-thinking",level:"medium",legacyVariantId:"claude-opus-4-7-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh":{targetId:"claude-opus-4-7-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-7-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high-fast":{targetId:"claude-opus-4-7-thinking-high-fast",legacyVariantId:"claude-opus-4-7-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low-fast":{targetId:"claude-opus-4-7-thinking-low-fast",legacyVariantId:"claude-opus-4-7-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max-fast":{targetId:"claude-opus-4-7-thinking-max-fast",legacyVariantId:"claude-opus-4-7-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium-fast":{targetId:"claude-opus-4-7-thinking-medium-fast",legacyVariantId:"claude-opus-4-7-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh-fast":{targetId:"claude-opus-4-7-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-7-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-high":{targetId:"claude-opus-4-8",level:"high",legacyVariantId:"claude-opus-4-8-high",encoding:"legacy-variant"},"claude-opus-4-8-low":{targetId:"claude-opus-4-8",level:"low",legacyVariantId:"claude-opus-4-8-low",encoding:"legacy-variant"},"claude-opus-4-8-max":{targetId:"claude-opus-4-8",level:"max",legacyVariantId:"claude-opus-4-8-max",encoding:"legacy-variant"},"claude-opus-4-8-medium":{targetId:"claude-opus-4-8",level:"medium",legacyVariantId:"claude-opus-4-8-medium",encoding:"legacy-variant"},"claude-opus-4-8-xhigh":{targetId:"claude-opus-4-8",level:"xhigh",legacyVariantId:"claude-opus-4-8-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-high-fast":{targetId:"claude-opus-4-8-high-fast",legacyVariantId:"claude-opus-4-8-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-low-fast":{targetId:"claude-opus-4-8-low-fast",legacyVariantId:"claude-opus-4-8-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-max-fast":{targetId:"claude-opus-4-8-max-fast",legacyVariantId:"claude-opus-4-8-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-medium-fast":{targetId:"claude-opus-4-8-medium-fast",legacyVariantId:"claude-opus-4-8-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-xhigh-fast":{targetId:"claude-opus-4-8-xhigh-fast",legacyVariantId:"claude-opus-4-8-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high":{targetId:"claude-opus-4-8-thinking",level:"high",legacyVariantId:"claude-opus-4-8-thinking-high",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low":{targetId:"claude-opus-4-8-thinking",level:"low",legacyVariantId:"claude-opus-4-8-thinking-low",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max":{targetId:"claude-opus-4-8-thinking",level:"max",legacyVariantId:"claude-opus-4-8-thinking-max",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium":{targetId:"claude-opus-4-8-thinking",level:"medium",legacyVariantId:"claude-opus-4-8-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh":{targetId:"claude-opus-4-8-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-8-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high-fast":{targetId:"claude-opus-4-8-thinking-high-fast",legacyVariantId:"claude-opus-4-8-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low-fast":{targetId:"claude-opus-4-8-thinking-low-fast",legacyVariantId:"claude-opus-4-8-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max-fast":{targetId:"claude-opus-4-8-thinking-max-fast",legacyVariantId:"claude-opus-4-8-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium-fast":{targetId:"claude-opus-4-8-thinking-medium-fast",legacyVariantId:"claude-opus-4-8-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh-fast":{targetId:"claude-opus-4-8-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-8-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-5-high":{targetId:"claude-opus-5",level:"high",legacyVariantId:"claude-opus-5-high",encoding:"legacy-variant"},"claude-opus-5-low":{targetId:"claude-opus-5",level:"low",legacyVariantId:"claude-opus-5-low",encoding:"legacy-variant"},"claude-opus-5-medium":{targetId:"claude-opus-5",level:"medium",legacyVariantId:"claude-opus-5-medium",encoding:"legacy-variant"},"claude-opus-5-max":{targetId:"claude-opus-5",level:"max",legacyVariantId:"claude-opus-5-max",encoding:"legacy-variant"},"claude-opus-5-high-fast":{targetId:"claude-opus-5-high-fast",legacyVariantId:"claude-opus-5-high-fast",encoding:"legacy-variant"},"claude-opus-5-low-fast":{targetId:"claude-opus-5-low-fast",legacyVariantId:"claude-opus-5-low-fast",encoding:"legacy-variant"},"claude-opus-5-medium-fast":{targetId:"claude-opus-5-medium-fast",legacyVariantId:"claude-opus-5-medium-fast",encoding:"legacy-variant"},"claude-opus-5-max-fast":{targetId:"claude-opus-5-max-fast",legacyVariantId:"claude-opus-5-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-high":{targetId:"claude-opus-5-thinking",level:"high",legacyVariantId:"claude-opus-5-thinking-high",encoding:"legacy-variant"},"claude-opus-5-thinking-low":{targetId:"claude-opus-5-thinking",level:"low",legacyVariantId:"claude-opus-5-thinking-low",encoding:"legacy-variant"},"claude-opus-5-thinking-max":{targetId:"claude-opus-5-thinking",level:"max",legacyVariantId:"claude-opus-5-thinking-max",encoding:"legacy-variant"},"claude-opus-5-thinking-medium":{targetId:"claude-opus-5-thinking",level:"medium",legacyVariantId:"claude-opus-5-thinking-medium",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh":{targetId:"claude-opus-5-thinking",level:"xhigh",legacyVariantId:"claude-opus-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-5-thinking-high-fast":{targetId:"claude-opus-5-thinking-high-fast",legacyVariantId:"claude-opus-5-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-low-fast":{targetId:"claude-opus-5-thinking-low-fast",legacyVariantId:"claude-opus-5-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-max-fast":{targetId:"claude-opus-5-thinking-max-fast",legacyVariantId:"claude-opus-5-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-medium-fast":{targetId:"claude-opus-5-thinking-medium-fast",legacyVariantId:"claude-opus-5-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh-fast":{targetId:"claude-opus-5-thinking-xhigh-fast",legacyVariantId:"claude-opus-5-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-sonnet-5-high":{targetId:"claude-sonnet-5",level:"high",legacyVariantId:"claude-sonnet-5-high",encoding:"legacy-variant"},"claude-sonnet-5-low":{targetId:"claude-sonnet-5",level:"low",legacyVariantId:"claude-sonnet-5-low",encoding:"legacy-variant"},"claude-sonnet-5-max":{targetId:"claude-sonnet-5",level:"max",legacyVariantId:"claude-sonnet-5-max",encoding:"legacy-variant"},"claude-sonnet-5-medium":{targetId:"claude-sonnet-5",level:"medium",legacyVariantId:"claude-sonnet-5-medium",encoding:"legacy-variant"},"claude-sonnet-5-xhigh":{targetId:"claude-sonnet-5",level:"xhigh",legacyVariantId:"claude-sonnet-5-xhigh",encoding:"legacy-variant"},"claude-sonnet-5-thinking-high":{targetId:"claude-sonnet-5-thinking",level:"high",legacyVariantId:"claude-sonnet-5-thinking-high",encoding:"legacy-variant"},"claude-sonnet-5-thinking-low":{targetId:"claude-sonnet-5-thinking",level:"low",legacyVariantId:"claude-sonnet-5-thinking-low",encoding:"legacy-variant"},"claude-sonnet-5-thinking-max":{targetId:"claude-sonnet-5-thinking",level:"max",legacyVariantId:"claude-sonnet-5-thinking-max",encoding:"legacy-variant"},"claude-sonnet-5-thinking-medium":{targetId:"claude-sonnet-5-thinking",level:"medium",legacyVariantId:"claude-sonnet-5-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-5-thinking-xhigh":{targetId:"claude-sonnet-5-thinking",level:"xhigh",legacyVariantId:"claude-sonnet-5-thinking-xhigh",encoding:"legacy-variant"},"composer-2.5":{targetId:"composer-2.5",legacyVariantId:"composer-2.5",encoding:"legacy-variant"},"composer-2.5-fast":{targetId:"composer-2.5-fast",legacyVariantId:"composer-2.5-fast",encoding:"legacy-variant"},"cursor-grok-4.5-high":{targetId:"cursor-grok-4.5",level:"high",legacyVariantId:"cursor-grok-4.5-high",encoding:"legacy-variant"},"cursor-grok-4.5-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-low",encoding:"legacy-variant"},"cursor-grok-4.5-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-medium",encoding:"legacy-variant"},"cursor-grok-4.5-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-max",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.5-high-fast":{targetId:"cursor-grok-4.5-high-fast",legacyVariantId:"cursor-grok-4.5-high-fast",encoding:"legacy-variant"},"cursor-grok-4.5-low-fast":{targetId:"cursor-grok-4.5-low-fast",legacyVariantId:"cursor-grok-4.5-low-fast",encoding:"legacy-variant"},"cursor-grok-4.5-medium-fast":{targetId:"cursor-grok-4.5-medium-fast",legacyVariantId:"cursor-grok-4.5-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.5-max-fast":{targetId:"cursor-grok-4.5-max-fast",legacyVariantId:"cursor-grok-4.5-max-fast",encoding:"legacy-variant"},"cursor-grok-4.6-high":{targetId:"cursor-grok-4.6",level:"high",legacyVariantId:"cursor-grok-4.6-high",encoding:"legacy-variant"},"cursor-grok-4.6-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-low",encoding:"legacy-variant"},"cursor-grok-4.6-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-medium",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh":{targetId:"cursor-grok-4.6",level:"xhigh",legacyVariantId:"cursor-grok-4.6-xhigh",encoding:"legacy-variant"},"cursor-grok-4.6-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-max",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.6-high-fast":{targetId:"cursor-grok-4.6-high-fast",legacyVariantId:"cursor-grok-4.6-high-fast",encoding:"legacy-variant"},"cursor-grok-4.6-low-fast":{targetId:"cursor-grok-4.6-low-fast",legacyVariantId:"cursor-grok-4.6-low-fast",encoding:"legacy-variant"},"cursor-grok-4.6-medium-fast":{targetId:"cursor-grok-4.6-medium-fast",legacyVariantId:"cursor-grok-4.6-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh-fast":{targetId:"cursor-grok-4.6-xhigh-fast",legacyVariantId:"cursor-grok-4.6-xhigh-fast",encoding:"legacy-variant"},"cursor-grok-4.6-max-fast":{targetId:"cursor-grok-4.6-max-fast",legacyVariantId:"cursor-grok-4.6-max-fast",encoding:"legacy-variant"},default:{targetId:"default",legacyVariantId:"default",encoding:"legacy-variant"},"gemini-3-flash":{targetId:"gemini-3-flash",legacyVariantId:"gemini-3-flash",encoding:"legacy-variant"},"gemini-3.1-pro":{targetId:"gemini-3.1-pro",legacyVariantId:"gemini-3.1-pro",encoding:"legacy-variant"},"gemini-3.5-flash":{targetId:"gemini-3.5-flash",legacyVariantId:"gemini-3.5-flash",encoding:"legacy-variant"},"gemini-3.6-flash-high":{targetId:"gemini-3.6-flash",level:"high",legacyVariantId:"gemini-3.6-flash-high",encoding:"legacy-variant"},"gemini-3.6-flash-low":{targetId:"gemini-3.6-flash",level:"low",legacyVariantId:"gemini-3.6-flash-low",encoding:"legacy-variant"},"gemini-3.6-flash-medium":{targetId:"gemini-3.6-flash",level:"medium",legacyVariantId:"gemini-3.6-flash-medium",encoding:"legacy-variant"},"gemini-3.6-flash-minimal":{targetId:"gemini-3.6-flash",level:"minimal",legacyVariantId:"gemini-3.6-flash-minimal",encoding:"legacy-variant"},"gemini-3.7-flash-high":{targetId:"gemini-3.7-flash",level:"high",legacyVariantId:"gemini-3.7-flash-high",encoding:"legacy-variant"},"gemini-3.7-flash-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-low",encoding:"legacy-variant"},"gemini-3.7-flash-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-medium",encoding:"legacy-variant"},"gemini-3.7-flash-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-max",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-thinking-low",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-thinking-max",encoding:"legacy-variant"},"glm-5.2-high":{targetId:"glm-5.2",level:"high",legacyVariantId:"glm-5.2-high",encoding:"legacy-variant"},"glm-5.2-max":{targetId:"glm-5.2",level:"max",legacyVariantId:"glm-5.2-max",encoding:"legacy-variant"},"gpt-5-mini":{targetId:"gpt-5-mini",legacyVariantId:"gpt-5-mini",encoding:"legacy-variant"},"gpt-5.1":{targetId:"gpt-5.1",legacyVariantId:"gpt-5.1",encoding:"legacy-variant"},"gpt-5.1-high":{targetId:"gpt-5.1",level:"high",legacyVariantId:"gpt-5.1-high",encoding:"legacy-variant"},"gpt-5.1-low":{targetId:"gpt-5.1",level:"low",legacyVariantId:"gpt-5.1-low",encoding:"legacy-variant"},"gpt-5.2":{targetId:"gpt-5.2",legacyVariantId:"gpt-5.2",encoding:"legacy-variant"},"gpt-5.2-high":{targetId:"gpt-5.2",level:"high",legacyVariantId:"gpt-5.2-high",encoding:"legacy-variant"},"gpt-5.2-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-low",encoding:"legacy-variant"},"gpt-5.2-xhigh":{targetId:"gpt-5.2",level:"xhigh",legacyVariantId:"gpt-5.2-xhigh",encoding:"legacy-variant"},"gpt-5.2-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-medium",encoding:"legacy-variant"},"gpt-5.2-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-max",encoding:"legacy-variant"},"gpt-5.2-thinking-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-thinking-low",encoding:"legacy-variant"},"gpt-5.2-thinking-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-thinking-medium",encoding:"legacy-variant"},"gpt-5.2-thinking-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-thinking-max",encoding:"legacy-variant"},"gpt-5.2-fast":{targetId:"gpt-5.2-fast",legacyVariantId:"gpt-5.2-fast",encoding:"legacy-variant"},"gpt-5.2-high-fast":{targetId:"gpt-5.2-high-fast",legacyVariantId:"gpt-5.2-high-fast",encoding:"legacy-variant"},"gpt-5.2-low-fast":{targetId:"gpt-5.2-low-fast",legacyVariantId:"gpt-5.2-low-fast",encoding:"legacy-variant"},"gpt-5.2-xhigh-fast":{targetId:"gpt-5.2-xhigh-fast",legacyVariantId:"gpt-5.2-xhigh-fast",encoding:"legacy-variant"},"gpt-5.2-medium-fast":{targetId:"gpt-5.2-medium-fast",legacyVariantId:"gpt-5.2-medium-fast",encoding:"legacy-variant"},"gpt-5.2-max-fast":{targetId:"gpt-5.2-max-fast",legacyVariantId:"gpt-5.2-max-fast",encoding:"legacy-variant"},"gpt-5.3-codex":{targetId:"gpt-5.3-codex",legacyVariantId:"gpt-5.3-codex",encoding:"legacy-variant"},"gpt-5.3-codex-high":{targetId:"gpt-5.3-codex",level:"high",legacyVariantId:"gpt-5.3-codex-high",encoding:"legacy-variant"},"gpt-5.3-codex-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-low",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh":{targetId:"gpt-5.3-codex",level:"xhigh",legacyVariantId:"gpt-5.3-codex-xhigh",encoding:"legacy-variant"},"gpt-5.3-codex-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-medium",encoding:"legacy-variant"},"gpt-5.3-codex-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-max",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.3-codex-fast":{targetId:"gpt-5.3-codex-fast",legacyVariantId:"gpt-5.3-codex-fast",encoding:"legacy-variant"},"gpt-5.3-codex-high-fast":{targetId:"gpt-5.3-codex-high-fast",legacyVariantId:"gpt-5.3-codex-high-fast",encoding:"legacy-variant"},"gpt-5.3-codex-low-fast":{targetId:"gpt-5.3-codex-low-fast",legacyVariantId:"gpt-5.3-codex-low-fast",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh-fast":{targetId:"gpt-5.3-codex-xhigh-fast",legacyVariantId:"gpt-5.3-codex-xhigh-fast",encoding:"legacy-variant"},"gpt-5.3-codex-medium-fast":{targetId:"gpt-5.3-codex-medium-fast",legacyVariantId:"gpt-5.3-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.3-codex-max-fast":{targetId:"gpt-5.3-codex-max-fast",legacyVariantId:"gpt-5.3-codex-max-fast",encoding:"legacy-variant"},"gpt-5.4-high":{targetId:"gpt-5.4",level:"high",legacyVariantId:"gpt-5.4-high",encoding:"legacy-variant"},"gpt-5.4-low":{targetId:"gpt-5.4",level:"low",legacyVariantId:"gpt-5.4-low",encoding:"legacy-variant"},"gpt-5.4-medium":{targetId:"gpt-5.4",level:"medium",legacyVariantId:"gpt-5.4-medium",encoding:"legacy-variant"},"gpt-5.4-xhigh":{targetId:"gpt-5.4",level:"xhigh",legacyVariantId:"gpt-5.4-xhigh",encoding:"legacy-variant"},"gpt-5.4-high-fast":{targetId:"gpt-5.4-high-fast",legacyVariantId:"gpt-5.4-high-fast",encoding:"legacy-variant"},"gpt-5.4-medium-fast":{targetId:"gpt-5.4-medium-fast",legacyVariantId:"gpt-5.4-medium-fast",encoding:"legacy-variant"},"gpt-5.4-xhigh-fast":{targetId:"gpt-5.4-xhigh-fast",legacyVariantId:"gpt-5.4-xhigh-fast",encoding:"legacy-variant"},"gpt-5.4-mini-high":{targetId:"gpt-5.4-mini",level:"high",legacyVariantId:"gpt-5.4-mini-high",encoding:"legacy-variant"},"gpt-5.4-mini-low":{targetId:"gpt-5.4-mini",level:"low",legacyVariantId:"gpt-5.4-mini-low",encoding:"legacy-variant"},"gpt-5.4-mini-medium":{targetId:"gpt-5.4-mini",level:"medium",legacyVariantId:"gpt-5.4-mini-medium",encoding:"legacy-variant"},"gpt-5.4-mini-none":{targetId:"gpt-5.4-mini",level:"off",legacyVariantId:"gpt-5.4-mini-none",encoding:"legacy-variant"},"gpt-5.4-mini-xhigh":{targetId:"gpt-5.4-mini",level:"xhigh",legacyVariantId:"gpt-5.4-mini-xhigh",encoding:"legacy-variant"},"gpt-5.4-nano-high":{targetId:"gpt-5.4-nano",level:"high",legacyVariantId:"gpt-5.4-nano-high",encoding:"legacy-variant"},"gpt-5.4-nano-low":{targetId:"gpt-5.4-nano",level:"low",legacyVariantId:"gpt-5.4-nano-low",encoding:"legacy-variant"},"gpt-5.4-nano-medium":{targetId:"gpt-5.4-nano",level:"medium",legacyVariantId:"gpt-5.4-nano-medium",encoding:"legacy-variant"},"gpt-5.4-nano-none":{targetId:"gpt-5.4-nano",level:"off",legacyVariantId:"gpt-5.4-nano-none",encoding:"legacy-variant"},"gpt-5.4-nano-xhigh":{targetId:"gpt-5.4-nano",level:"xhigh",legacyVariantId:"gpt-5.4-nano-xhigh",encoding:"legacy-variant"},"gpt-5.5-extra-high":{targetId:"gpt-5.5",level:"extra-high",legacyVariantId:"gpt-5.5-extra-high",encoding:"legacy-variant"},"gpt-5.5-high":{targetId:"gpt-5.5",level:"high",legacyVariantId:"gpt-5.5-high",encoding:"legacy-variant"},"gpt-5.5-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-low",encoding:"legacy-variant"},"gpt-5.5-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-medium",encoding:"legacy-variant"},"gpt-5.5-none":{targetId:"gpt-5.5",level:"off",legacyVariantId:"gpt-5.5-none",encoding:"legacy-variant"},"gpt-5.5-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-max",encoding:"legacy-variant"},"gpt-5.5-thinking-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-thinking-low",encoding:"legacy-variant"},"gpt-5.5-thinking-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-thinking-medium",encoding:"legacy-variant"},"gpt-5.5-thinking-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-thinking-max",encoding:"legacy-variant"},"gpt-5.5-extra-high-fast":{targetId:"gpt-5.5-extra-high-fast",legacyVariantId:"gpt-5.5-extra-high-fast",encoding:"legacy-variant"},"gpt-5.5-high-fast":{targetId:"gpt-5.5-high-fast",legacyVariantId:"gpt-5.5-high-fast",encoding:"legacy-variant"},"gpt-5.5-low-fast":{targetId:"gpt-5.5-low-fast",legacyVariantId:"gpt-5.5-low-fast",encoding:"legacy-variant"},"gpt-5.5-medium-fast":{targetId:"gpt-5.5-medium-fast",legacyVariantId:"gpt-5.5-medium-fast",encoding:"legacy-variant"},"gpt-5.5-none-fast":{targetId:"gpt-5.5-none-fast",legacyVariantId:"gpt-5.5-none-fast",encoding:"legacy-variant"},"gpt-5.5-max-fast":{targetId:"gpt-5.5-max-fast",legacyVariantId:"gpt-5.5-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-high":{targetId:"gpt-5.6-luna",level:"high",legacyVariantId:"gpt-5.6-luna-high",encoding:"legacy-variant"},"gpt-5.6-luna-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-low",encoding:"legacy-variant"},"gpt-5.6-luna-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-max",encoding:"legacy-variant"},"gpt-5.6-luna-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-medium",encoding:"legacy-variant"},"gpt-5.6-luna-none":{targetId:"gpt-5.6-luna",level:"off",legacyVariantId:"gpt-5.6-luna-none",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh":{targetId:"gpt-5.6-luna",level:"xhigh",legacyVariantId:"gpt-5.6-luna-xhigh",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-thinking-low",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-thinking-max",encoding:"legacy-variant"},"gpt-5.6-luna-high-fast":{targetId:"gpt-5.6-luna-high-fast",legacyVariantId:"gpt-5.6-luna-high-fast",encoding:"legacy-variant"},"gpt-5.6-luna-low-fast":{targetId:"gpt-5.6-luna-low-fast",legacyVariantId:"gpt-5.6-luna-low-fast",encoding:"legacy-variant"},"gpt-5.6-luna-max-fast":{targetId:"gpt-5.6-luna-max-fast",legacyVariantId:"gpt-5.6-luna-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-medium-fast":{targetId:"gpt-5.6-luna-medium-fast",legacyVariantId:"gpt-5.6-luna-medium-fast",encoding:"legacy-variant"},"gpt-5.6-luna-none-fast":{targetId:"gpt-5.6-luna-none-fast",legacyVariantId:"gpt-5.6-luna-none-fast",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh-fast":{targetId:"gpt-5.6-luna-xhigh-fast",legacyVariantId:"gpt-5.6-luna-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-sol-high":{targetId:"gpt-5.6-sol",level:"high",legacyVariantId:"gpt-5.6-sol-high",encoding:"legacy-variant"},"gpt-5.6-sol-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-low",encoding:"legacy-variant"},"gpt-5.6-sol-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-max",encoding:"legacy-variant"},"gpt-5.6-sol-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-medium",encoding:"legacy-variant"},"gpt-5.6-sol-none":{targetId:"gpt-5.6-sol",level:"off",legacyVariantId:"gpt-5.6-sol-none",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh":{targetId:"gpt-5.6-sol",level:"xhigh",legacyVariantId:"gpt-5.6-sol-xhigh",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-thinking-low",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-thinking-max",encoding:"legacy-variant"},"gpt-5.6-sol-high-fast":{targetId:"gpt-5.6-sol-high-fast",legacyVariantId:"gpt-5.6-sol-high-fast",encoding:"legacy-variant"},"gpt-5.6-sol-low-fast":{targetId:"gpt-5.6-sol-low-fast",legacyVariantId:"gpt-5.6-sol-low-fast",encoding:"legacy-variant"},"gpt-5.6-sol-max-fast":{targetId:"gpt-5.6-sol-max-fast",legacyVariantId:"gpt-5.6-sol-max-fast",encoding:"legacy-variant"},"gpt-5.6-sol-medium-fast":{targetId:"gpt-5.6-sol-medium-fast",legacyVariantId:"gpt-5.6-sol-medium-fast",encoding:"legacy-variant"},"gpt-5.6-sol-none-fast":{targetId:"gpt-5.6-sol-none-fast",legacyVariantId:"gpt-5.6-sol-none-fast",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh-fast":{targetId:"gpt-5.6-sol-xhigh-fast",legacyVariantId:"gpt-5.6-sol-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-terra-high":{targetId:"gpt-5.6-terra",level:"high",legacyVariantId:"gpt-5.6-terra-high",encoding:"legacy-variant"},"gpt-5.6-terra-low":{targetId:"gpt-5.6-terra",level:"low",legacyVariantId:"gpt-5.6-terra-low",encoding:"legacy-variant"},"gpt-5.6-terra-max":{targetId:"gpt-5.6-terra",level:"max",legacyVariantId:"gpt-5.6-terra-max",encoding:"legacy-variant"},"gpt-5.6-terra-medium":{targetId:"gpt-5.6-terra",level:"medium",legacyVariantId:"gpt-5.6-terra-medium",encoding:"legacy-variant"},"gpt-5.6-terra-none":{targetId:"gpt-5.6-terra",level:"off",legacyVariantId:"gpt-5.6-terra-none",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh":{targetId:"gpt-5.6-terra",level:"xhigh",legacyVariantId:"gpt-5.6-terra-xhigh",encoding:"legacy-variant"},"gpt-5.6-terra-high-fast":{targetId:"gpt-5.6-terra-high-fast",legacyVariantId:"gpt-5.6-terra-high-fast",encoding:"legacy-variant"},"gpt-5.6-terra-low-fast":{targetId:"gpt-5.6-terra-low-fast",legacyVariantId:"gpt-5.6-terra-low-fast",encoding:"legacy-variant"},"gpt-5.6-terra-max-fast":{targetId:"gpt-5.6-terra-max-fast",legacyVariantId:"gpt-5.6-terra-max-fast",encoding:"legacy-variant"},"gpt-5.6-terra-medium-fast":{targetId:"gpt-5.6-terra-medium-fast",legacyVariantId:"gpt-5.6-terra-medium-fast",encoding:"legacy-variant"},"gpt-5.6-terra-none-fast":{targetId:"gpt-5.6-terra-none-fast",legacyVariantId:"gpt-5.6-terra-none-fast",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh-fast":{targetId:"gpt-5.6-terra-xhigh-fast",legacyVariantId:"gpt-5.6-terra-xhigh-fast",encoding:"legacy-variant"},"kimi-k2.7-code":{targetId:"kimi-k2.7-code",legacyVariantId:"kimi-k2.7-code",encoding:"legacy-variant"},"kimi-k3-high":{targetId:"kimi-k3",level:"high",legacyVariantId:"kimi-k3-high",encoding:"legacy-variant"},"kimi-k3-low":{targetId:"kimi-k3",level:"low",legacyVariantId:"kimi-k3-low",encoding:"legacy-variant"},"kimi-k3-max":{targetId:"kimi-k3",level:"max",legacyVariantId:"kimi-k3-max",encoding:"legacy-variant"},auto:{targetId:"auto",legacyVariantId:"auto",encoding:"legacy-variant"},"claude-fable-5-low-fast":{targetId:"claude-fable-5-low-fast",legacyVariantId:"claude-fable-5-low-fast",encoding:"legacy-variant"},"claude-fable-5-medium-fast":{targetId:"claude-fable-5-medium-fast",legacyVariantId:"claude-fable-5-medium-fast",encoding:"legacy-variant"},"claude-fable-5-max-fast":{targetId:"claude-fable-5-max-fast",legacyVariantId:"claude-fable-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-5-low-fast":{targetId:"claude-sonnet-5-low-fast",legacyVariantId:"claude-sonnet-5-low-fast",encoding:"legacy-variant"},"claude-sonnet-5-medium-fast":{targetId:"claude-sonnet-5-medium-fast",legacyVariantId:"claude-sonnet-5-medium-fast",encoding:"legacy-variant"},"claude-sonnet-5-max-fast":{targetId:"claude-sonnet-5-max-fast",legacyVariantId:"claude-sonnet-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-low":{targetId:"claude-sonnet-4-7",level:"low",legacyVariantId:"claude-sonnet-4-7-low",encoding:"legacy-variant"},"claude-sonnet-4-7-medium":{targetId:"claude-sonnet-4-7",level:"medium",legacyVariantId:"claude-sonnet-4-7-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-max":{targetId:"claude-sonnet-4-7",level:"max",legacyVariantId:"claude-sonnet-4-7-max",encoding:"legacy-variant"},"claude-sonnet-4-7-low-fast":{targetId:"claude-sonnet-4-7-low-fast",legacyVariantId:"claude-sonnet-4-7-low-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-medium-fast":{targetId:"claude-sonnet-4-7-medium-fast",legacyVariantId:"claude-sonnet-4-7-medium-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-max-fast":{targetId:"claude-sonnet-4-7-max-fast",legacyVariantId:"claude-sonnet-4-7-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-low":{targetId:"claude-sonnet-4-7-thinking",level:"low",legacyVariantId:"claude-sonnet-4-7-thinking-low",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-medium":{targetId:"claude-sonnet-4-7-thinking",level:"medium",legacyVariantId:"claude-sonnet-4-7-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-max":{targetId:"claude-sonnet-4-7-thinking",level:"max",legacyVariantId:"claude-sonnet-4-7-thinking-max",encoding:"legacy-variant"},"claude-mythos-5-low":{targetId:"claude-mythos-5",level:"low",legacyVariantId:"claude-mythos-5-low",encoding:"legacy-variant"},"claude-mythos-5-medium":{targetId:"claude-mythos-5",level:"medium",legacyVariantId:"claude-mythos-5-medium",encoding:"legacy-variant"},"claude-mythos-5-max":{targetId:"claude-mythos-5",level:"max",legacyVariantId:"claude-mythos-5-max",encoding:"legacy-variant"},"claude-mythos-5-low-fast":{targetId:"claude-mythos-5-low-fast",legacyVariantId:"claude-mythos-5-low-fast",encoding:"legacy-variant"},"claude-mythos-5-medium-fast":{targetId:"claude-mythos-5-medium-fast",legacyVariantId:"claude-mythos-5-medium-fast",encoding:"legacy-variant"},"claude-mythos-5-max-fast":{targetId:"claude-mythos-5-max-fast",legacyVariantId:"claude-mythos-5-max-fast",encoding:"legacy-variant"},"claude-mythos-5-thinking-low":{targetId:"claude-mythos-5-thinking",level:"low",legacyVariantId:"claude-mythos-5-thinking-low",encoding:"legacy-variant"},"claude-mythos-5-thinking-medium":{targetId:"claude-mythos-5-thinking",level:"medium",legacyVariantId:"claude-mythos-5-thinking-medium",encoding:"legacy-variant"},"claude-mythos-5-thinking-max":{targetId:"claude-mythos-5-thinking",level:"max",legacyVariantId:"claude-mythos-5-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-low",encoding:"legacy-variant"},"gpt-5.4-codex-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-medium",encoding:"legacy-variant"},"gpt-5.4-codex-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-max",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low-fast":{targetId:"gpt-5.4-codex-low-fast",legacyVariantId:"gpt-5.4-codex-low-fast",encoding:"legacy-variant"},"gpt-5.4-codex-medium-fast":{targetId:"gpt-5.4-codex-medium-fast",legacyVariantId:"gpt-5.4-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.4-codex-max-fast":{targetId:"gpt-5.4-codex-max-fast",legacyVariantId:"gpt-5.4-codex-max-fast",encoding:"legacy-variant"},"gemini-3.7-flash-low-fast":{targetId:"gemini-3.7-flash-low-fast",legacyVariantId:"gemini-3.7-flash-low-fast",encoding:"legacy-variant"},"gemini-3.7-flash-medium-fast":{targetId:"gemini-3.7-flash-medium-fast",legacyVariantId:"gemini-3.7-flash-medium-fast",encoding:"legacy-variant"},"gemini-3.7-flash-max-fast":{targetId:"gemini-3.7-flash-max-fast",legacyVariantId:"gemini-3.7-flash-max-fast",encoding:"legacy-variant"},"gemini-3.7-pro-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-low",encoding:"legacy-variant"},"gemini-3.7-pro-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-medium",encoding:"legacy-variant"},"gemini-3.7-pro-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-max",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.7-pro-low-fast":{targetId:"gemini-3.7-pro-low-fast",legacyVariantId:"gemini-3.7-pro-low-fast",encoding:"legacy-variant"},"gemini-3.7-pro-medium-fast":{targetId:"gemini-3.7-pro-medium-fast",legacyVariantId:"gemini-3.7-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.7-pro-max-fast":{targetId:"gemini-3.7-pro-max-fast",legacyVariantId:"gemini-3.7-pro-max-fast",encoding:"legacy-variant"},"gemini-3.6-pro-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-low",encoding:"legacy-variant"},"gemini-3.6-pro-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-medium",encoding:"legacy-variant"},"gemini-3.6-pro-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-max",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.6-pro-low-fast":{targetId:"gemini-3.6-pro-low-fast",legacyVariantId:"gemini-3.6-pro-low-fast",encoding:"legacy-variant"},"gemini-3.6-pro-medium-fast":{targetId:"gemini-3.6-pro-medium-fast",legacyVariantId:"gemini-3.6-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.6-pro-max-fast":{targetId:"gemini-3.6-pro-max-fast",legacyVariantId:"gemini-3.6-pro-max-fast",encoding:"legacy-variant"},"gemini-3.5-pro-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-low",encoding:"legacy-variant"},"gemini-3.5-pro-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-medium",encoding:"legacy-variant"},"gemini-3.5-pro-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-max",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.5-pro-low-fast":{targetId:"gemini-3.5-pro-low-fast",legacyVariantId:"gemini-3.5-pro-low-fast",encoding:"legacy-variant"},"gemini-3.5-pro-medium-fast":{targetId:"gemini-3.5-pro-medium-fast",legacyVariantId:"gemini-3.5-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.5-pro-max-fast":{targetId:"gemini-3.5-pro-max-fast",legacyVariantId:"gemini-3.5-pro-max-fast",encoding:"legacy-variant"},"composer-2.6-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-low",encoding:"legacy-variant"},"composer-2.6-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-medium",encoding:"legacy-variant"},"composer-2.6-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-max",encoding:"legacy-variant"},"composer-2.6-thinking-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-thinking-low",encoding:"legacy-variant"},"composer-2.6-thinking-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-thinking-medium",encoding:"legacy-variant"},"composer-2.6-thinking-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-thinking-max",encoding:"legacy-variant"},"composer-2.6-low-fast":{targetId:"composer-2.6-low-fast",legacyVariantId:"composer-2.6-low-fast",encoding:"legacy-variant"},"composer-2.6-medium-fast":{targetId:"composer-2.6-medium-fast",legacyVariantId:"composer-2.6-medium-fast",encoding:"legacy-variant"},"composer-2.6-max-fast":{targetId:"composer-2.6-max-fast",legacyVariantId:"composer-2.6-max-fast",encoding:"legacy-variant"},"composer-2.6-lite-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-low",encoding:"legacy-variant"},"composer-2.6-lite-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-medium",encoding:"legacy-variant"},"composer-2.6-lite-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-max",encoding:"legacy-variant"},"composer-2.6-lite-thinking-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-thinking-low",encoding:"legacy-variant"},"composer-2.6-lite-thinking-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-thinking-medium",encoding:"legacy-variant"},"composer-2.6-lite-thinking-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-thinking-max",encoding:"legacy-variant"},"composer-2.6-lite-low-fast":{targetId:"composer-2.6-lite-low-fast",legacyVariantId:"composer-2.6-lite-low-fast",encoding:"legacy-variant"},"composer-2.6-lite-medium-fast":{targetId:"composer-2.6-lite-medium-fast",legacyVariantId:"composer-2.6-lite-medium-fast",encoding:"legacy-variant"},"composer-2.6-lite-max-fast":{targetId:"composer-2.6-lite-max-fast",legacyVariantId:"composer-2.6-lite-max-fast",encoding:"legacy-variant"},"deepseek-v4-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-low",encoding:"legacy-variant"},"deepseek-v4-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-medium",encoding:"legacy-variant"},"deepseek-v4-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-max",encoding:"legacy-variant"},"deepseek-v4-thinking-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-thinking-low",encoding:"legacy-variant"},"deepseek-v4-thinking-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-thinking-medium",encoding:"legacy-variant"},"deepseek-v4-thinking-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-thinking-max",encoding:"legacy-variant"},"deepseek-v4-low-fast":{targetId:"deepseek-v4-low-fast",legacyVariantId:"deepseek-v4-low-fast",encoding:"legacy-variant"},"deepseek-v4-medium-fast":{targetId:"deepseek-v4-medium-fast",legacyVariantId:"deepseek-v4-medium-fast",encoding:"legacy-variant"},"deepseek-v4-max-fast":{targetId:"deepseek-v4-max-fast",legacyVariantId:"deepseek-v4-max-fast",encoding:"legacy-variant"}}};var P="parameters",V="variant-id";function ladder(values,encoding=P){let out={};for(let value of values)out[value==="none"?"off":value]={value,encoding};return out}var CLAUDE_ORDER=["thinking","context","effort"],GPT_ORDER=["context","reasoning","fast"];function claude(window,maxWindow,levels,defaultContext){return{evidence:"available-models",window,maxWindow,parameterOrder:CLAUDE_ORDER,defaultContext,requestContext:window>=1e6?"1m":defaultContext,levels:ladder(levels)}}function gpt(levels,order=GPT_ORDER,window=4e5,maxWindow=4e5){return{evidence:"available-models",window,maxWindow,parameterOrder:order,defaultContext:"272k",requestContext:order.includes("context")&&window>=1e6?"1m":void 0,levels:ladder(levels)}}var CURSOR_MODEL_CAPABILITIES={"claude-fable-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-sonnet-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-7":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-8":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-4.6-opus":claude(1e6,1e6,["high","max"],"200k"),"claude-4.6-sonnet":claude(1e6,1e6,["medium"],"200k"),"claude-4.5-opus":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{high:{value:"high",encoding:V}}},"gpt-5.6-sol":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-luna":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-terra":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,272e3,272e3),"gpt-5.5":{...gpt(["none","low","medium","high"],GPT_ORDER,1e6,1e6),levels:{...ladder(["none","low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.3-codex":{...gpt([],["reasoning","fast"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.1":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["low","high"])},"gpt-5.2":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:ladder(["none","low","medium","high","xhigh"],V)},"gpt-5.4-nano":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["none","low","medium","high","xhigh"])},"gemini-3.7-flash":{evidence:"cli-live",window:1048576,parameterOrder:["effort"],levels:ladder(["low","medium","high"])},"gemini-3.6-flash":{evidence:"suffix-only",window:1048576,parameterOrder:[],levels:ladder(["minimal","low","medium","high"],V)},"cursor-grok-4.6":{evidence:"available-models",window:5e5,parameterOrder:["effort","fast"],levels:ladder(["low","medium","high","xhigh"])},"cursor-grok-4.5":{evidence:"suffix-only",window:5e5,parameterOrder:[],levels:ladder(["low","medium","high"],V)},"glm-5.2":{evidence:"available-models",window:1e6,parameterOrder:["reasoning"],levels:ladder(["high","max"])},"kimi-k3":{evidence:"available-models",window:1048576,parameterOrder:["reasoning"],levels:ladder(["low","high","max"])},"composer-2.5":{evidence:"available-models",window:2e5,parameterOrder:["fast"],levels:{}},"claude-haiku-4-5":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{}},"claude-4-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"claude-4.5-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"kimi-k2.7-code":{evidence:"available-models",window:262144,parameterOrder:[],levels:{}},"gemini-3-flash":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.1-pro":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.5-flash":{evidence:"available-models",window:1048576,parameterOrder:[],levels:{}},"gpt-5-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:{}}},ALIASES=cursor_variant_aliases_default.aliases,LEVEL_TOKENS=["minimal","low","medium","high","extra-high","xhigh","max","none"];function parseCursorVariantId(originalId){let rest=originalId,fast=!1;rest.endsWith("-fast")&&(fast=!0,rest=rest.slice(0,-5));let level,thinking,alternation=LEVEL_TOKENS.join("|"),patterns=[[new RegExp(`-thinking-(${alternation})$`),!0],[new RegExp(`-(${alternation})-thinking$`),!0]];for(let[pattern,flag]of patterns){let match=rest.match(pattern);if(match)return level=match[1],thinking=flag,rest=rest.slice(0,match.index),{baseId:rest,level,thinking,fast,originalId}}if(rest.endsWith("-thinking"))return{baseId:rest.slice(0,-9),level,thinking:!0,fast,originalId};let levelMatch=rest.match(new RegExp(`-(${alternation})$`));return levelMatch&&(level=levelMatch[1],thinking=!1,rest=rest.slice(0,levelMatch.index)),{baseId:rest,level,thinking,fast,originalId}}function getCursorVariantAlias(originalId){return ALIASES[originalId]}function getCursorBaseIdForVariant(originalId){let alias=ALIASES[originalId];if(alias)return parseCursorVariantId(alias.targetId).baseId}function getCursorCapabilityForBase(baseId){return CURSOR_MODEL_CAPABILITIES[baseId]}var ALL_LEVELS=["off","minimal","low","medium","high","xhigh","max"],FALLBACK_WINDOW=2e5,STATIC_TARGETS=new Set(Object.values(cursor_variant_aliases_default.aliases).map(alias=>alias.targetId));function isClaude(baseId){return baseId.startsWith("claude-")}function cleanName(members,baseId,thinkingMode){let levelWords=/(Minimal|Low|Medium|High|Extra High|XHigh|Max|None)/g,name=(members.find(member=>member.level==="high")??members.find(member=>member.level==="medium")??members.find(member=>member.level==="low")??members[0]).raw.name;return name=name.replace(/\s*\(NO ZDR\)\s*/g," ").trim(),name=name.replace(new RegExp(`\\s+${levelWords.source}\\b`,"g"),""),name=name.replace(/\s+Fast\b/g,""),thinkingMode!==!0&&(name=name.replace(/\s+Thinking\b/g,"")),name=name.replace(/\u0001/g,"(NO ZDR)").replace(/\s+/g," ").trim(),name.length===0&&(name=baseId),name}function buildLevelMap(members,capability){let observed=new Set(members.map(member=>member.level).filter(level=>level!==void 0)),map={};for(let level of ALL_LEVELS){if(level==="off"){let offSpec=capability?.levels.off;map.off=offSpec!==void 0&&observed.has("none")?offSpec.value:null;continue}let spec=capability?.levels[level];map[level]=spec!==void 0&&(observed.has(level)||observed.has(spec.value))?spec.value:null}return map}function pickRepresentative(members){let withLevels=members.filter(member=>member.level!==void 0&&member.level!=="none"),pool=withLevels.length>0?withLevels:members,order=["medium","low","minimal","high","xhigh","extra-high","max","none"];return[...pool].sort((a,b)=>{let ai=order.indexOf(a.level??"none"),bi=order.indexOf(b.level??"none");return ai!==bi?ai-bi:a.alias.legacyVariantId.localeCompare(b.alias.legacyVariantId)})[0].alias.legacyVariantId}function normalizeDerivedLevel(token){switch(token){case"none":return"off";case"extra-high":return"xhigh";case"minimal":case"low":case"medium":case"high":case"xhigh":case"max":return token;default:return}}function buildDerivedLevelMap(members){let map=Object.fromEntries(ALL_LEVELS.map(level=>[level,null]));for(let member of members){let level=member.alias.level;level!==void 0&&member.level!==void 0&&map[level]===null&&(map[level]=member.level)}return map}function buildDerivedVariantIds(members){let map={};for(let member of members){let level=member.alias.level;level!==void 0&&map[level]===void 0&&(map[level]=member.raw.id)}return map}function deriveCursorVariantAliases(ids){let families=new Map,rawIds=new Set(ids);for(let id of ids){if(getCursorVariantAlias(id)!==void 0)continue;let parsed=parseCursorVariantId(id);if(parsed.fast||parsed.level===void 0||parsed.baseId==="")continue;let level=normalizeDerivedLevel(parsed.level);if(level===void 0)continue;let targetId=parsed.thinking===!0?`${parsed.baseId}-thinking`:parsed.baseId,family=families.get(targetId)??{targetId,levels:new Set,members:[]};family.levels.add(level),family.members.push([id,level,parsed.level]),families.set(targetId,family)}let derived=new Map;for(let family of families.values()){if(family.levels.size<2||STATIC_TARGETS.has(family.targetId)||getCursorVariantAlias(family.targetId)!==void 0||rawIds.has(family.targetId))continue;let chosen=new Map;for(let[id,level,suffix]of family.members){let previous=chosen.get(level);if(previous===void 0){chosen.set(level,id);continue}let previousSuffix=parseCursorVariantId(previous).level;(suffix===level&&previousSuffix!==level||suffix===level==(previousSuffix===level)&&id<previous)&&chosen.set(level,id)}for(let[level,id]of chosen)derived.set(id,{targetId:family.targetId,legacyVariantId:id,encoding:"legacy-variant",level})}return derived}function normalizeCursorCatalog(rawEntries){let derived=deriveCursorVariantAliases(rawEntries.map(raw=>raw.id)),groups=new Map,order=[];for(let raw of rawEntries){let alias=getCursorVariantAlias(raw.id)??derived.get(raw.id);if(!alias){let parsed2=parseCursorVariantId(raw.id),key2=`unknown${parsed2.baseId}${raw.id}`;groups.has(key2)||order.push(key2);let member={raw,alias:{targetId:raw.id,legacyVariantId:raw.id,encoding:"legacy-variant"},level:parsed2.level,thinking:parsed2.thinking,fast:parsed2.fast};groups.set(key2,[member]);continue}let parsed=parseCursorVariantId(raw.id),key=`${alias.targetId}${parsed.fast}`;groups.has(key)||(order.push(key),groups.set(key,[])),groups.get(key).push({raw,alias,level:parsed.level,thinking:parsed.thinking,fast:parsed.fast})}let out=[];for(let key of order){let members=groups.get(key),first=members[0],baseParsed=parseCursorVariantId(first.alias.targetId),derivedGroup=members.every(member=>derived.has(member.raw.id)),baseId=derivedGroup?parseCursorVariantId(first.raw.id).baseId:baseParsed.baseId,capability=CURSOR_MODEL_CAPABILITIES[baseId],isGrouped=members.length>1||first.alias.targetId!==first.raw.id,efforts=members.filter(member=>member.level!==void 0&&member.level!=="none");if(isGrouped&&efforts.length>0&&!first.fast){let thinkingMode=isClaude(baseId)?first.thinking===!0:void 0;out.push({id:first.alias.targetId,name:cleanName(members,baseId,thinkingMode),reasoning:!0,thinkingLevelMap:derivedGroup?buildDerivedLevelMap(members):buildLevelMap(members,capability),window:capability?.window??FALLBACK_WINDOW,...capability?.maxWindow!==void 0?{maxWindow:capability.maxWindow}:{},input:[...new Set(members.flatMap(member=>member.raw.input))],cursorMaxMode:members.some(member=>member.raw.cursorMaxMode),capabilityId:baseId,...thinkingMode!==void 0?{thinkingMode}:{},representativeVariantId:pickRepresentative(members),legacyAliases:members.map(member=>member.alias.legacyVariantId).sort(),...derivedGroup?{variantIds:buildDerivedVariantIds(members)}:{}});continue}for(let member of members){let memberBase=parseCursorVariantId(member.raw.id).baseId,memberCapability=CURSOR_MODEL_CAPABILITIES[memberBase];out.push({id:member.raw.id,name:member.raw.name,reasoning:!1,window:memberCapability?.window??FALLBACK_WINDOW,...memberCapability?.maxWindow!==void 0?{maxWindow:memberCapability.maxWindow}:{},input:[...member.raw.input],cursorMaxMode:member.raw.cursorMaxMode,legacyAliases:[member.alias.legacyVariantId]})}}return out}function identityCompat(model){return model.compat?.cursorReasoning}function suffixAliasId(compat,level,spec){let suffixes=level==="off"?["none"]:spec.value===level?[spec.value]:[spec.value,level];for(let suffix of suffixes){let candidates=compat.thinkingMode===!0?[`${compat.capabilityId}-thinking-${suffix}`,`${compat.capabilityId}-${suffix}-thinking`]:[`${compat.capabilityId}-${suffix}`];for(let candidate of candidates){let alias=getCursorVariantAlias(candidate);if(alias)return alias.legacyVariantId}}}function buildParameters(capabilityId,value,thinkingMode){let capability=CURSOR_MODEL_CAPABILITIES[capabilityId];if(!capability)return[];let out=[];for(let id of capability.parameterOrder)switch(id){case"thinking":out.push({id,value:thinkingMode===!0?"true":"false"});break;case"context":{let context=capability.requestContext??capability.defaultContext;context!==void 0&&out.push({id,value:context});break}case"effort":case"reasoning":out.push({id,value});break;case"fast":out.push({id,value:"false"});break}return out}function resolveCursorSelectionDescriptor(model,selection){let compat=identityCompat(model),fallback={modelId:model.upstreamModelId??model.id,parameters:[]};if(!compat)return fallback;if(selection===void 0)return{modelId:compat.representativeVariantId,parameters:[]};if(selection.source==="legacy-variant"){let legacyId=selection.legacyVariantId;return legacyId!==void 0&&(getCursorVariantAlias(legacyId)!==void 0||Object.values(compat.variantIds??{}).includes(legacyId))?{modelId:legacyId,parameters:[]}:{modelId:compat.representativeVariantId,parameters:[]}}let derivedVariantId=compat.variantIds?.[selection.level];if(derivedVariantId!==void 0)return{modelId:derivedVariantId,parameters:[]};if(compat.variantIds!==void 0)return{modelId:compat.representativeVariantId,parameters:[]};let capability=CURSOR_MODEL_CAPABILITIES[compat.capabilityId],spec=capability?.levels[selection.level];if(!capability||!spec)return{modelId:compat.representativeVariantId,parameters:[]};let suffixId=suffixAliasId(compat,selection.level,spec);return suffixId!==void 0?{modelId:suffixId,parameters:[]}:spec.encoding==="variant-id"?{modelId:compat.representativeVariantId,parameters:[]}:{modelId:compat.capabilityId,parameters:buildParameters(compat.capabilityId,spec.value,compat.thinkingMode)}}function renderCursorCliModelString(model,selection){let resolved=resolveCursorSelectionDescriptor(model,selection);if(resolved.parameters.length===0)return resolved.modelId;let args=resolved.parameters.map(parameter=>`${parameter.id}=${parameter.value}`).join(",");return`${resolved.modelId}[${args}]`}var THINKING_LEVELS=["off","minimal","low","medium","high","xhigh","max"],LEVEL_BY_NAME=new Map([["none","off"],["off","off"],["minimal","minimal"],["low","low"],["medium","medium"],["high","high"],["xhigh","xhigh"],["max","max"]]);function readEntry(entry){if(typeof entry=="string")return entry.trim()?{value:entry,isDefault:!1}:void 0;if(typeof entry!="object"||entry===null||!("value"in entry))return;let{value}=entry,isDefault="default"in entry&&entry.default===!0;return typeof value=="string"&&value.trim()?{value,isDefault}:void 0}function parseEndpointReasoningEfforts(value){if(!Array.isArray(value))return;let advertised=new Map,unmapped=[],defaultThinkingLevel;for(let raw of value){let entry=readEntry(raw);if(!entry)continue;let level=LEVEL_BY_NAME.get(entry.value.trim().toLowerCase());if(!level){unmapped.includes(entry.value)||unmapped.push(entry.value);continue}advertised.has(level)||advertised.set(level,entry.value),entry.isDefault&&defaultThinkingLevel===void 0&&(defaultThinkingLevel=level)}if(advertised.size===0)return{unmapped};let thinkingLevelMap={};for(let level of THINKING_LEVELS)thinkingLevelMap[level]=advertised.get(level)??null;return defaultThinkingLevel===void 0?{thinkingLevelMap,unmapped}:{thinkingLevelMap,defaultThinkingLevel,unmapped}}function modelSupportsAssistantPrefill(model,settings){return model.supportsAssistantPrefill!==!0?!1:!(model.api==="anthropic-messages"&&settings.thinkingEnabled)}function emit(segments,text,scan,recoveryBoundary=!1){if(text.length===0)return;let previous=segments.at(-1);previous?.scan===scan&&!previous.recoveryBoundary&&!recoveryBoundary?segments[segments.length-1]={text:previous.text+text,scan}:segments.push(recoveryBoundary?{text,scan,recoveryBoundary:!0}:{text,scan})}function isLineBreak(character){return character==="\r"||character===`
|
|
149
|
+
`)}function commonPrefixLength(a,b){let length=Math.min(a.length,b.length),index=0;for(;index<length&&a[index]===b[index];)index++;return index}function withUsageEstimate(message,context,options,promptCache){let promptText=serializeContext(context),promptTokens=estimateTokens(promptText),outputTokens=estimateTokens(assistantContentToText(message.content)),input=promptTokens,cacheRead=0,cacheWrite=0,sessionId=options?.sessionId;if(sessionId&&options?.cacheRetention!=="none"){let previousPrompt=promptCache.get(sessionId);if(previousPrompt){let cachedChars=commonPrefixLength(previousPrompt,promptText);cacheRead=estimateTokens(previousPrompt.slice(0,cachedChars)),cacheWrite=estimateTokens(promptText.slice(cachedChars)),input=Math.max(0,promptTokens-cacheRead)}else cacheWrite=promptTokens;promptCache.set(sessionId,promptText)}return{...message,usage:{input,output:outputTokens,cacheRead,cacheWrite,totalTokens:input+outputTokens+cacheRead+cacheWrite,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}}function splitStringByTokenSize(text,minTokenSize,maxTokenSize){let chunks=[],index=0;for(;index<text.length;){let tokenSize=minTokenSize+Math.floor(Math.random()*(maxTokenSize-minTokenSize+1)),charSize=Math.max(1,tokenSize*4);chunks.push(text.slice(index,index+charSize)),index+=charSize}return chunks.length>0?chunks:[""]}function cloneMessage(message,api,provider,modelId){let cloned=structuredClone(message);return{...cloned,api,provider,model:modelId,timestamp:cloned.timestamp??Date.now(),usage:cloned.usage??DEFAULT_USAGE}}function createDeferredMessage(model,handle){return{role:"assistant",content:[],api:model.api,provider:model.provider,model:model.id,usage:DEFAULT_USAGE,stopReason:"deferred",deferred:handle,timestamp:Date.now()}}function createErrorMessage(error,api,provider,modelId){return{role:"assistant",content:[],api,provider,model:modelId,usage:DEFAULT_USAGE,stopReason:"error",errorMessage:error instanceof Error?error.message:String(error),timestamp:Date.now()}}function createAbortedMessage(partial){return{...partial,stopReason:"aborted",errorMessage:"Request was aborted",timestamp:Date.now()}}function scheduleChunk(chunk,tokensPerSecond,schedulerHook){if(schedulerHook)return Promise.resolve(schedulerHook());if(!tokensPerSecond||tokensPerSecond<=0)return new Promise(resolve=>queueMicrotask(resolve));let delayMs=estimateTokens(chunk)/tokensPerSecond*1e3;return new Promise(resolve=>setTimeout(resolve,delayMs))}async function streamWithDeltas(stream,message,minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,signal){let partial={...message,content:[],stopReason:"pending"};if(signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}stream.push({type:"start",partial:{...partial}});for(let index=0;index<message.content.length;index++){if(signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}let block=message.content[index];if(block.type==="thinking"){partial.content=[...partial.content,{type:"thinking",thinking:""}],stream.push({type:"thinking_start",contentIndex:index,partial:{...partial}});for(let chunk of splitStringByTokenSize(block.thinking,minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond,schedulerHook),signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}partial.content[index].thinking+=chunk,stream.push({type:"thinking_delta",contentIndex:index,delta:chunk,partial:{...partial}})}stream.push({type:"thinking_end",contentIndex:index,content:block.thinking,partial:{...partial}});continue}if(block.type==="text"){partial.content=[...partial.content,{type:"text",text:""}],stream.push({type:"text_start",contentIndex:index,partial:{...partial}});for(let chunk of splitStringByTokenSize(block.text,minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond,schedulerHook),signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}partial.content[index].text+=chunk,stream.push({type:"text_delta",contentIndex:index,delta:chunk,partial:{...partial}})}stream.push({type:"text_end",contentIndex:index,content:block.text,partial:{...partial}});continue}if(block.type!=="providerNative"){partial.content=[...partial.content,{type:"toolCall",id:block.id,name:block.name,arguments:{}}],stream.push({type:"toolcall_start",contentIndex:index,partial:{...partial}});for(let chunk of splitStringByTokenSize(JSON.stringify(block.arguments),minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond,schedulerHook),signal?.aborted){let aborted=createAbortedMessage(partial);stream.push({type:"error",reason:"aborted",error:aborted}),stream.end(aborted);return}stream.push({type:"toolcall_delta",contentIndex:index,delta:chunk,partial:{...partial}})}partial.content[index].arguments=block.arguments,stream.push({type:"toolcall_end",contentIndex:index,toolCall:block,partial:{...partial}})}}if(message.stopReason==="pending")throw new Error("Faux response ended without a stop reason");if(message.stopReason==="error"||message.stopReason==="aborted"){stream.push({type:"error",reason:message.stopReason,error:message}),stream.end(message);return}stream.push({type:"done",reason:message.stopReason,message}),stream.end(message)}function createFauxCore(options){let api=options.api??randomId(DEFAULT_API),provider=options.provider??DEFAULT_PROVIDER,responseHeaders=options.responseHeaders??{},minTokenSize=Math.max(1,Math.min(options.tokenSize?.min??DEFAULT_MIN_TOKEN_SIZE,options.tokenSize?.max??DEFAULT_MAX_TOKEN_SIZE)),maxTokenSize=Math.max(minTokenSize,options.tokenSize?.max??DEFAULT_MAX_TOKEN_SIZE),pendingResponses=[],tokensPerSecond=options.tokensPerSecond,schedulerHook=options.schedulerHook,state={callCount:0,deferredFetchCount:0,cancelledDeferred:[]},promptCache=new Map,callLog=[],deferredResponses=new Map,models=(options.models?.length?options.models:[{id:DEFAULT_MODEL_ID,name:DEFAULT_MODEL_NAME,reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384}]).map(definition=>({id:definition.id,name:definition.name??definition.id,api,provider,baseUrl:DEFAULT_BASE_URL,reasoning:definition.reasoning??!1,input:definition.input??["text","image"],inputLimits:definition.inputLimits,cost:definition.cost??{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:definition.contextWindow??128e3,maxTokens:definition.maxTokens??16384})),resolveResponse=async(step,context,streamOptions,requestModel)=>{let resolved=typeof step=="function"?await step(context,streamOptions,state,requestModel):step;return withUsageEstimate(cloneMessage(resolved,api,provider,requestModel.id),context,streamOptions,promptCache)},stream=(requestModel,context,streamOptions)=>{let outer=createAssistantMessageEventStream(),step=pendingResponses.shift();return state.callCount++,callLog.push({context:toLoggedContext(context),options:cloneStreamOptionsForLog(streamOptions),timestamp:Date.now(),modelId:requestModel.id}),queueMicrotask(async()=>{try{if(await streamOptions?.onResponse?.({status:200,headers:{...responseHeaders}},requestModel),!step){let message2=createErrorMessage(new Error("No more faux responses queued"),api,provider,requestModel.id);message2=withUsageEstimate(message2,context,streamOptions,promptCache),outer.push({type:"error",reason:"error",error:message2}),outer.end(message2);return}if(streamOptions?.deferred){let handle={provider:requestModel.provider,modelId:requestModel.id,api:requestModel.api,id:randomId("deferred"),...options.deferred?.pollAfterMs!==void 0?{pollAfterMs:options.deferred.pollAfterMs}:{}};deferredResponses.set(handle.id,{handle,step,context,options:streamOptions,model:requestModel,pendingFetches:Math.max(0,Math.floor(options.deferred?.pendingFetches??0)),cancelled:!1}),await streamWithDeltas(outer,createDeferredMessage(requestModel,handle),minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,streamOptions.signal);return}let message=await resolveResponse(step,context,streamOptions,requestModel);await streamWithDeltas(outer,message,minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,streamOptions?.signal)}catch(error){let message=createErrorMessage(error,api,provider,requestModel.id);outer.push({type:"error",reason:"error",error:message}),outer.end(message)}}),outer},streamSimple=(streamModel,context,streamOptions)=>stream(streamModel,context,streamOptions),fetchDeferred=(requestModel,handle,fetchOptions)=>{let outer=createAssistantMessageEventStream();return state.deferredFetchCount++,queueMicrotask(async()=>{try{await fetchOptions?.onResponse?.({status:200,headers:{...responseHeaders}},requestModel);let entry=deferredResponses.get(handle.id);if(!entry||entry.handle.provider!==handle.provider||entry.handle.modelId!==handle.modelId||entry.handle.api!==handle.api)throw new Error(`Unknown faux deferred response: ${handle.id}`);if(entry.cancelled)throw new Error(`Faux deferred response was cancelled: ${handle.id}`);if(entry.pendingFetches>0){entry.pendingFetches--,await streamWithDeltas(outer,createDeferredMessage(requestModel,entry.handle),minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,fetchOptions?.signal);return}if(!entry.final){let{deferred:_deferred,signal:_submissionSignal,onResponse:_submissionOnResponse,...submissionOptions}=entry.options??{};try{entry.final=await resolveResponse(entry.step,entry.context,submissionOptions,entry.model)}catch(error){entry.final=createErrorMessage(error,api,provider,entry.model.id)}}await streamWithDeltas(outer,entry.final,minTokenSize,maxTokenSize,tokensPerSecond,schedulerHook,fetchOptions?.signal)}catch(error){let message=createErrorMessage(error,api,provider,requestModel.id);outer.push({type:"error",reason:"error",error:message}),outer.end(message)}}),outer},cancelDeferred=async(requestModel,handle,cancelOptions)=>{state.cancelledDeferred.push(structuredClone(handle));let entry=deferredResponses.get(handle.id);entry&&(entry.cancelled=!0),await cancelOptions?.onResponse?.({status:200,headers:{...responseHeaders}},requestModel)};function getModel(requestedModelId){return requestedModelId?models.find(candidate=>candidate.id===requestedModelId):models[0]}return{api,provider,models,stream,streamSimple,fetchDeferred,cancelDeferred,getModel,state,setResponses(responses){pendingResponses=[...responses]},appendResponses(responses){pendingResponses.push(...responses)},getPendingResponseCount(){return pendingResponses.length},getCallLog(){return callLog.map(entry=>({context:structuredClone(entry.context),options:cloneStreamOptionsForLog(entry.options),timestamp:entry.timestamp,modelId:entry.modelId}))}}}var registeredFauxProviders=new Map;function getRegisteredFauxProvider(api){return registeredFauxProviders.get(api)}function fauxOverflowError(provider,message){return fauxAssistantMessage([],{stopReason:"error",errorMessage:`${provider}: ${message}`})}function fauxProvider(options={}){let core=createFauxCore(options);return{provider:createProvider({id:core.provider,auth:{apiKey:{name:"Faux",resolve:async()=>({auth:{}})}},models:core.models,api:{stream:core.stream,streamSimple:core.streamSimple,fetchDeferred:core.fetchDeferred,cancelDeferred:core.cancelDeferred}}),api:core.api,models:core.models,getModel:core.getModel,state:core.state,setResponses:core.setResponses,appendResponses:core.appendResponses,getPendingResponseCount:core.getPendingResponseCount,getCallLog:core.getCallLog}}var apiProviderRegistry=new Map,builtinApiProviderRegistry=new Map,getProviderScope=()=>{},providerScopeStrictMode=!1;function installProviderScopeAccessor(accessor){getProviderScope=accessor}function getActiveProviderScope(){let scope=getProviderScope();if(scope?.state==="closed")throw new Error("Provider scope is closed");if(!scope&&providerScopeStrictMode)throw new Error("Provider scope is required in strict mode");return scope}function wrapStream(api,stream){return(model,context,options)=>{if(model.api!==api)throw new Error(`Mismatched api: ${model.api} expected ${api}`);return stream(model,context,options)}}function wrapStreamSimple(api,streamSimple){return(model,context,options)=>{if(model.api!==api)throw new Error(`Mismatched api: ${model.api} expected ${api}`);return streamSimple(model,context,options)}}function createRegisteredProvider(provider,sourceId,survivesClear){return{provider:{api:provider.api,stream:wrapStream(provider.api,provider.stream),streamSimple:wrapStreamSimple(provider.api,provider.streamSimple)},sourceId,...survivesClear?{survivesClear}:{}}}function registerApiProvider(provider,sourceId,options){let scope=getActiveProviderScope();(scope?scope.overlay:apiProviderRegistry).set(provider.api,createRegisteredProvider(provider,sourceId,options?.survivesClear))}function registerBuiltinApiProvider(provider){let registered=builtinApiProviderRegistry.get(provider.api)??createRegisteredProvider(provider);builtinApiProviderRegistry.set(provider.api,registered),apiProviderRegistry.has(provider.api)||apiProviderRegistry.set(provider.api,registered)}function getApiProvider(api){let scope=getActiveProviderScope();if(scope)return scope.overlay.get(api)?.provider??builtinApiProviderRegistry.get(api)?.provider;let faux=getRegisteredFauxProvider(api);return faux?{api:faux.api,stream:wrapStream(faux.api,faux.stream),streamSimple:wrapStreamSimple(faux.api,faux.streamSimple)}:apiProviderRegistry.get(api)?.provider}function getApiProviders(){let scope=getActiveProviderScope();if(scope){let providers=new Map(builtinApiProviderRegistry);for(let[api,entry]of scope.overlay)providers.set(api,entry);return Array.from(providers.values(),entry=>entry.provider)}return Array.from(apiProviderRegistry.values(),entry=>entry.provider)}function unregisterApiProviders(sourceId){let scope=getActiveProviderScope(),registry=scope?scope.overlay:apiProviderRegistry;for(let[api,entry]of registry.entries()){if(entry.sourceId!==sourceId)continue;registry.delete(api);let builtin=builtinApiProviderRegistry.get(api);!scope&&builtin&®istry.set(api,builtin)}}function clearApiProviders(){let scope=getActiveProviderScope(),registry=scope?scope.overlay:apiProviderRegistry;for(let[api,entry]of registry)entry.survivesClear||registry.delete(api)}function envApiKeyAuth(name,envVars){return{name,login:async interaction=>{interaction.signal.throwIfAborted();let key=await interaction.prompt({type:"secret",message:`Enter ${name}`});return interaction.signal.throwIfAborted(),{type:"api_key",key}},resolve:async({ctx,credential,signal})=>{if(signal.throwIfAborted(),credential?.key)return{auth:{apiKey:credential.key},env:credential.env,source:"stored credential"};for(let envVar of envVars){let value=await ctx.env(envVar);if(signal.throwIfAborted(),value)return{auth:{apiKey:value},source:envVar}}}}}function lazyOAuth(input){let promise,loaded=()=>(promise??=input.load(),promise);return{name:input.name,isSubscription:input.isSubscription,loginLabel:input.loginLabel,...input.rejectedTokenStatuses===void 0?{}:{rejectedTokenStatuses:input.rejectedTokenStatuses},login:async(interaction,options)=>(await loaded()).login(interaction,options),refresh:async(credential,signal)=>(await loaded()).refresh(credential,signal),toAuth:async credential=>(await loaded()).toAuth(credential)}}var cursor_variant_aliases_default={$schema:"cursor-variant-aliases/v1",source:"union of GetUsableModels live capture (204 ids) and cursor-agent CLI listing capture (203 ids), 2026-08-18",aliases:{"claude-4-sonnet":{targetId:"claude-4-sonnet",legacyVariantId:"claude-4-sonnet",encoding:"legacy-variant"},"claude-4-sonnet-thinking":{targetId:"claude-4-sonnet-thinking",legacyVariantId:"claude-4-sonnet-thinking",encoding:"legacy-variant"},"claude-4.5-opus-high":{targetId:"claude-4.5-opus",level:"high",legacyVariantId:"claude-4.5-opus-high",encoding:"legacy-variant"},"claude-4.5-opus-high-thinking":{targetId:"claude-4.5-opus-thinking",level:"high",legacyVariantId:"claude-4.5-opus-high-thinking",encoding:"legacy-variant"},"claude-4.5-sonnet":{targetId:"claude-4.5-sonnet",legacyVariantId:"claude-4.5-sonnet",encoding:"legacy-variant"},"claude-4.5-sonnet-thinking":{targetId:"claude-4.5-sonnet-thinking",legacyVariantId:"claude-4.5-sonnet-thinking",encoding:"legacy-variant"},"claude-4.6-opus-high":{targetId:"claude-4.6-opus",level:"high",legacyVariantId:"claude-4.6-opus-high",encoding:"legacy-variant"},"claude-4.6-opus-max":{targetId:"claude-4.6-opus",level:"max",legacyVariantId:"claude-4.6-opus-max",encoding:"legacy-variant"},"claude-4.6-opus-high-thinking":{targetId:"claude-4.6-opus-thinking",level:"high",legacyVariantId:"claude-4.6-opus-high-thinking",encoding:"legacy-variant"},"claude-4.6-opus-max-thinking":{targetId:"claude-4.6-opus-thinking",level:"max",legacyVariantId:"claude-4.6-opus-max-thinking",encoding:"legacy-variant"},"claude-4.6-sonnet-medium":{targetId:"claude-4.6-sonnet",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium",encoding:"legacy-variant"},"claude-4.6-sonnet-medium-thinking":{targetId:"claude-4.6-sonnet-thinking",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium-thinking",encoding:"legacy-variant"},"claude-fable-5-high":{targetId:"claude-fable-5",level:"high",legacyVariantId:"claude-fable-5-high",encoding:"legacy-variant"},"claude-fable-5-low":{targetId:"claude-fable-5",level:"low",legacyVariantId:"claude-fable-5-low",encoding:"legacy-variant"},"claude-fable-5-max":{targetId:"claude-fable-5",level:"max",legacyVariantId:"claude-fable-5-max",encoding:"legacy-variant"},"claude-fable-5-medium":{targetId:"claude-fable-5",level:"medium",legacyVariantId:"claude-fable-5-medium",encoding:"legacy-variant"},"claude-fable-5-xhigh":{targetId:"claude-fable-5",level:"xhigh",legacyVariantId:"claude-fable-5-xhigh",encoding:"legacy-variant"},"claude-fable-5-thinking-high":{targetId:"claude-fable-5-thinking",level:"high",legacyVariantId:"claude-fable-5-thinking-high",encoding:"legacy-variant"},"claude-fable-5-thinking-low":{targetId:"claude-fable-5-thinking",level:"low",legacyVariantId:"claude-fable-5-thinking-low",encoding:"legacy-variant"},"claude-fable-5-thinking-max":{targetId:"claude-fable-5-thinking",level:"max",legacyVariantId:"claude-fable-5-thinking-max",encoding:"legacy-variant"},"claude-fable-5-thinking-medium":{targetId:"claude-fable-5-thinking",level:"medium",legacyVariantId:"claude-fable-5-thinking-medium",encoding:"legacy-variant"},"claude-fable-5-thinking-xhigh":{targetId:"claude-fable-5-thinking",level:"xhigh",legacyVariantId:"claude-fable-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high":{targetId:"claude-opus-4-7",level:"high",legacyVariantId:"claude-opus-4-7-high",encoding:"legacy-variant"},"claude-opus-4-7-low":{targetId:"claude-opus-4-7",level:"low",legacyVariantId:"claude-opus-4-7-low",encoding:"legacy-variant"},"claude-opus-4-7-max":{targetId:"claude-opus-4-7",level:"max",legacyVariantId:"claude-opus-4-7-max",encoding:"legacy-variant"},"claude-opus-4-7-medium":{targetId:"claude-opus-4-7",level:"medium",legacyVariantId:"claude-opus-4-7-medium",encoding:"legacy-variant"},"claude-opus-4-7-xhigh":{targetId:"claude-opus-4-7",level:"xhigh",legacyVariantId:"claude-opus-4-7-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high-fast":{targetId:"claude-opus-4-7-high-fast",legacyVariantId:"claude-opus-4-7-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-low-fast":{targetId:"claude-opus-4-7-low-fast",legacyVariantId:"claude-opus-4-7-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-max-fast":{targetId:"claude-opus-4-7-max-fast",legacyVariantId:"claude-opus-4-7-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-medium-fast":{targetId:"claude-opus-4-7-medium-fast",legacyVariantId:"claude-opus-4-7-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-xhigh-fast":{targetId:"claude-opus-4-7-xhigh-fast",legacyVariantId:"claude-opus-4-7-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high":{targetId:"claude-opus-4-7-thinking",level:"high",legacyVariantId:"claude-opus-4-7-thinking-high",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low":{targetId:"claude-opus-4-7-thinking",level:"low",legacyVariantId:"claude-opus-4-7-thinking-low",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max":{targetId:"claude-opus-4-7-thinking",level:"max",legacyVariantId:"claude-opus-4-7-thinking-max",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium":{targetId:"claude-opus-4-7-thinking",level:"medium",legacyVariantId:"claude-opus-4-7-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh":{targetId:"claude-opus-4-7-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-7-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high-fast":{targetId:"claude-opus-4-7-thinking-high-fast",legacyVariantId:"claude-opus-4-7-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low-fast":{targetId:"claude-opus-4-7-thinking-low-fast",legacyVariantId:"claude-opus-4-7-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max-fast":{targetId:"claude-opus-4-7-thinking-max-fast",legacyVariantId:"claude-opus-4-7-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium-fast":{targetId:"claude-opus-4-7-thinking-medium-fast",legacyVariantId:"claude-opus-4-7-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh-fast":{targetId:"claude-opus-4-7-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-7-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-high":{targetId:"claude-opus-4-8",level:"high",legacyVariantId:"claude-opus-4-8-high",encoding:"legacy-variant"},"claude-opus-4-8-low":{targetId:"claude-opus-4-8",level:"low",legacyVariantId:"claude-opus-4-8-low",encoding:"legacy-variant"},"claude-opus-4-8-max":{targetId:"claude-opus-4-8",level:"max",legacyVariantId:"claude-opus-4-8-max",encoding:"legacy-variant"},"claude-opus-4-8-medium":{targetId:"claude-opus-4-8",level:"medium",legacyVariantId:"claude-opus-4-8-medium",encoding:"legacy-variant"},"claude-opus-4-8-xhigh":{targetId:"claude-opus-4-8",level:"xhigh",legacyVariantId:"claude-opus-4-8-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-high-fast":{targetId:"claude-opus-4-8-high-fast",legacyVariantId:"claude-opus-4-8-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-low-fast":{targetId:"claude-opus-4-8-low-fast",legacyVariantId:"claude-opus-4-8-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-max-fast":{targetId:"claude-opus-4-8-max-fast",legacyVariantId:"claude-opus-4-8-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-medium-fast":{targetId:"claude-opus-4-8-medium-fast",legacyVariantId:"claude-opus-4-8-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-xhigh-fast":{targetId:"claude-opus-4-8-xhigh-fast",legacyVariantId:"claude-opus-4-8-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high":{targetId:"claude-opus-4-8-thinking",level:"high",legacyVariantId:"claude-opus-4-8-thinking-high",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low":{targetId:"claude-opus-4-8-thinking",level:"low",legacyVariantId:"claude-opus-4-8-thinking-low",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max":{targetId:"claude-opus-4-8-thinking",level:"max",legacyVariantId:"claude-opus-4-8-thinking-max",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium":{targetId:"claude-opus-4-8-thinking",level:"medium",legacyVariantId:"claude-opus-4-8-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh":{targetId:"claude-opus-4-8-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-8-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high-fast":{targetId:"claude-opus-4-8-thinking-high-fast",legacyVariantId:"claude-opus-4-8-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low-fast":{targetId:"claude-opus-4-8-thinking-low-fast",legacyVariantId:"claude-opus-4-8-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max-fast":{targetId:"claude-opus-4-8-thinking-max-fast",legacyVariantId:"claude-opus-4-8-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium-fast":{targetId:"claude-opus-4-8-thinking-medium-fast",legacyVariantId:"claude-opus-4-8-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh-fast":{targetId:"claude-opus-4-8-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-8-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-5-high":{targetId:"claude-opus-5",level:"high",legacyVariantId:"claude-opus-5-high",encoding:"legacy-variant"},"claude-opus-5-low":{targetId:"claude-opus-5",level:"low",legacyVariantId:"claude-opus-5-low",encoding:"legacy-variant"},"claude-opus-5-medium":{targetId:"claude-opus-5",level:"medium",legacyVariantId:"claude-opus-5-medium",encoding:"legacy-variant"},"claude-opus-5-max":{targetId:"claude-opus-5",level:"max",legacyVariantId:"claude-opus-5-max",encoding:"legacy-variant"},"claude-opus-5-high-fast":{targetId:"claude-opus-5-high-fast",legacyVariantId:"claude-opus-5-high-fast",encoding:"legacy-variant"},"claude-opus-5-low-fast":{targetId:"claude-opus-5-low-fast",legacyVariantId:"claude-opus-5-low-fast",encoding:"legacy-variant"},"claude-opus-5-medium-fast":{targetId:"claude-opus-5-medium-fast",legacyVariantId:"claude-opus-5-medium-fast",encoding:"legacy-variant"},"claude-opus-5-max-fast":{targetId:"claude-opus-5-max-fast",legacyVariantId:"claude-opus-5-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-high":{targetId:"claude-opus-5-thinking",level:"high",legacyVariantId:"claude-opus-5-thinking-high",encoding:"legacy-variant"},"claude-opus-5-thinking-low":{targetId:"claude-opus-5-thinking",level:"low",legacyVariantId:"claude-opus-5-thinking-low",encoding:"legacy-variant"},"claude-opus-5-thinking-max":{targetId:"claude-opus-5-thinking",level:"max",legacyVariantId:"claude-opus-5-thinking-max",encoding:"legacy-variant"},"claude-opus-5-thinking-medium":{targetId:"claude-opus-5-thinking",level:"medium",legacyVariantId:"claude-opus-5-thinking-medium",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh":{targetId:"claude-opus-5-thinking",level:"xhigh",legacyVariantId:"claude-opus-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-5-thinking-high-fast":{targetId:"claude-opus-5-thinking-high-fast",legacyVariantId:"claude-opus-5-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-low-fast":{targetId:"claude-opus-5-thinking-low-fast",legacyVariantId:"claude-opus-5-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-max-fast":{targetId:"claude-opus-5-thinking-max-fast",legacyVariantId:"claude-opus-5-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-medium-fast":{targetId:"claude-opus-5-thinking-medium-fast",legacyVariantId:"claude-opus-5-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh-fast":{targetId:"claude-opus-5-thinking-xhigh-fast",legacyVariantId:"claude-opus-5-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-sonnet-5-high":{targetId:"claude-sonnet-5",level:"high",legacyVariantId:"claude-sonnet-5-high",encoding:"legacy-variant"},"claude-sonnet-5-low":{targetId:"claude-sonnet-5",level:"low",legacyVariantId:"claude-sonnet-5-low",encoding:"legacy-variant"},"claude-sonnet-5-max":{targetId:"claude-sonnet-5",level:"max",legacyVariantId:"claude-sonnet-5-max",encoding:"legacy-variant"},"claude-sonnet-5-medium":{targetId:"claude-sonnet-5",level:"medium",legacyVariantId:"claude-sonnet-5-medium",encoding:"legacy-variant"},"claude-sonnet-5-xhigh":{targetId:"claude-sonnet-5",level:"xhigh",legacyVariantId:"claude-sonnet-5-xhigh",encoding:"legacy-variant"},"claude-sonnet-5-thinking-high":{targetId:"claude-sonnet-5-thinking",level:"high",legacyVariantId:"claude-sonnet-5-thinking-high",encoding:"legacy-variant"},"claude-sonnet-5-thinking-low":{targetId:"claude-sonnet-5-thinking",level:"low",legacyVariantId:"claude-sonnet-5-thinking-low",encoding:"legacy-variant"},"claude-sonnet-5-thinking-max":{targetId:"claude-sonnet-5-thinking",level:"max",legacyVariantId:"claude-sonnet-5-thinking-max",encoding:"legacy-variant"},"claude-sonnet-5-thinking-medium":{targetId:"claude-sonnet-5-thinking",level:"medium",legacyVariantId:"claude-sonnet-5-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-5-thinking-xhigh":{targetId:"claude-sonnet-5-thinking",level:"xhigh",legacyVariantId:"claude-sonnet-5-thinking-xhigh",encoding:"legacy-variant"},"composer-2.5":{targetId:"composer-2.5",legacyVariantId:"composer-2.5",encoding:"legacy-variant"},"composer-2.5-fast":{targetId:"composer-2.5-fast",legacyVariantId:"composer-2.5-fast",encoding:"legacy-variant"},"cursor-grok-4.5-high":{targetId:"cursor-grok-4.5",level:"high",legacyVariantId:"cursor-grok-4.5-high",encoding:"legacy-variant"},"cursor-grok-4.5-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-low",encoding:"legacy-variant"},"cursor-grok-4.5-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-medium",encoding:"legacy-variant"},"cursor-grok-4.5-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-max",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.5-high-fast":{targetId:"cursor-grok-4.5-high-fast",legacyVariantId:"cursor-grok-4.5-high-fast",encoding:"legacy-variant"},"cursor-grok-4.5-low-fast":{targetId:"cursor-grok-4.5-low-fast",legacyVariantId:"cursor-grok-4.5-low-fast",encoding:"legacy-variant"},"cursor-grok-4.5-medium-fast":{targetId:"cursor-grok-4.5-medium-fast",legacyVariantId:"cursor-grok-4.5-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.5-max-fast":{targetId:"cursor-grok-4.5-max-fast",legacyVariantId:"cursor-grok-4.5-max-fast",encoding:"legacy-variant"},"cursor-grok-4.6-high":{targetId:"cursor-grok-4.6",level:"high",legacyVariantId:"cursor-grok-4.6-high",encoding:"legacy-variant"},"cursor-grok-4.6-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-low",encoding:"legacy-variant"},"cursor-grok-4.6-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-medium",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh":{targetId:"cursor-grok-4.6",level:"xhigh",legacyVariantId:"cursor-grok-4.6-xhigh",encoding:"legacy-variant"},"cursor-grok-4.6-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-max",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.6-high-fast":{targetId:"cursor-grok-4.6-high-fast",legacyVariantId:"cursor-grok-4.6-high-fast",encoding:"legacy-variant"},"cursor-grok-4.6-low-fast":{targetId:"cursor-grok-4.6-low-fast",legacyVariantId:"cursor-grok-4.6-low-fast",encoding:"legacy-variant"},"cursor-grok-4.6-medium-fast":{targetId:"cursor-grok-4.6-medium-fast",legacyVariantId:"cursor-grok-4.6-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh-fast":{targetId:"cursor-grok-4.6-xhigh-fast",legacyVariantId:"cursor-grok-4.6-xhigh-fast",encoding:"legacy-variant"},"cursor-grok-4.6-max-fast":{targetId:"cursor-grok-4.6-max-fast",legacyVariantId:"cursor-grok-4.6-max-fast",encoding:"legacy-variant"},default:{targetId:"default",legacyVariantId:"default",encoding:"legacy-variant"},"gemini-3-flash":{targetId:"gemini-3-flash",legacyVariantId:"gemini-3-flash",encoding:"legacy-variant"},"gemini-3.1-pro":{targetId:"gemini-3.1-pro",legacyVariantId:"gemini-3.1-pro",encoding:"legacy-variant"},"gemini-3.5-flash":{targetId:"gemini-3.5-flash",legacyVariantId:"gemini-3.5-flash",encoding:"legacy-variant"},"gemini-3.6-flash-high":{targetId:"gemini-3.6-flash",level:"high",legacyVariantId:"gemini-3.6-flash-high",encoding:"legacy-variant"},"gemini-3.6-flash-low":{targetId:"gemini-3.6-flash",level:"low",legacyVariantId:"gemini-3.6-flash-low",encoding:"legacy-variant"},"gemini-3.6-flash-medium":{targetId:"gemini-3.6-flash",level:"medium",legacyVariantId:"gemini-3.6-flash-medium",encoding:"legacy-variant"},"gemini-3.6-flash-minimal":{targetId:"gemini-3.6-flash",level:"minimal",legacyVariantId:"gemini-3.6-flash-minimal",encoding:"legacy-variant"},"gemini-3.7-flash-high":{targetId:"gemini-3.7-flash",level:"high",legacyVariantId:"gemini-3.7-flash-high",encoding:"legacy-variant"},"gemini-3.7-flash-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-low",encoding:"legacy-variant"},"gemini-3.7-flash-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-medium",encoding:"legacy-variant"},"gemini-3.7-flash-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-max",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-thinking-low",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-thinking-max",encoding:"legacy-variant"},"glm-5.2-high":{targetId:"glm-5.2",level:"high",legacyVariantId:"glm-5.2-high",encoding:"legacy-variant"},"glm-5.2-max":{targetId:"glm-5.2",level:"max",legacyVariantId:"glm-5.2-max",encoding:"legacy-variant"},"gpt-5-mini":{targetId:"gpt-5-mini",legacyVariantId:"gpt-5-mini",encoding:"legacy-variant"},"gpt-5.1":{targetId:"gpt-5.1",legacyVariantId:"gpt-5.1",encoding:"legacy-variant"},"gpt-5.1-high":{targetId:"gpt-5.1",level:"high",legacyVariantId:"gpt-5.1-high",encoding:"legacy-variant"},"gpt-5.1-low":{targetId:"gpt-5.1",level:"low",legacyVariantId:"gpt-5.1-low",encoding:"legacy-variant"},"gpt-5.2":{targetId:"gpt-5.2",legacyVariantId:"gpt-5.2",encoding:"legacy-variant"},"gpt-5.2-high":{targetId:"gpt-5.2",level:"high",legacyVariantId:"gpt-5.2-high",encoding:"legacy-variant"},"gpt-5.2-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-low",encoding:"legacy-variant"},"gpt-5.2-xhigh":{targetId:"gpt-5.2",level:"xhigh",legacyVariantId:"gpt-5.2-xhigh",encoding:"legacy-variant"},"gpt-5.2-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-medium",encoding:"legacy-variant"},"gpt-5.2-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-max",encoding:"legacy-variant"},"gpt-5.2-thinking-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-thinking-low",encoding:"legacy-variant"},"gpt-5.2-thinking-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-thinking-medium",encoding:"legacy-variant"},"gpt-5.2-thinking-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-thinking-max",encoding:"legacy-variant"},"gpt-5.2-fast":{targetId:"gpt-5.2-fast",legacyVariantId:"gpt-5.2-fast",encoding:"legacy-variant"},"gpt-5.2-high-fast":{targetId:"gpt-5.2-high-fast",legacyVariantId:"gpt-5.2-high-fast",encoding:"legacy-variant"},"gpt-5.2-low-fast":{targetId:"gpt-5.2-low-fast",legacyVariantId:"gpt-5.2-low-fast",encoding:"legacy-variant"},"gpt-5.2-xhigh-fast":{targetId:"gpt-5.2-xhigh-fast",legacyVariantId:"gpt-5.2-xhigh-fast",encoding:"legacy-variant"},"gpt-5.2-medium-fast":{targetId:"gpt-5.2-medium-fast",legacyVariantId:"gpt-5.2-medium-fast",encoding:"legacy-variant"},"gpt-5.2-max-fast":{targetId:"gpt-5.2-max-fast",legacyVariantId:"gpt-5.2-max-fast",encoding:"legacy-variant"},"gpt-5.3-codex":{targetId:"gpt-5.3-codex",legacyVariantId:"gpt-5.3-codex",encoding:"legacy-variant"},"gpt-5.3-codex-high":{targetId:"gpt-5.3-codex",level:"high",legacyVariantId:"gpt-5.3-codex-high",encoding:"legacy-variant"},"gpt-5.3-codex-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-low",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh":{targetId:"gpt-5.3-codex",level:"xhigh",legacyVariantId:"gpt-5.3-codex-xhigh",encoding:"legacy-variant"},"gpt-5.3-codex-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-medium",encoding:"legacy-variant"},"gpt-5.3-codex-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-max",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.3-codex-fast":{targetId:"gpt-5.3-codex-fast",legacyVariantId:"gpt-5.3-codex-fast",encoding:"legacy-variant"},"gpt-5.3-codex-high-fast":{targetId:"gpt-5.3-codex-high-fast",legacyVariantId:"gpt-5.3-codex-high-fast",encoding:"legacy-variant"},"gpt-5.3-codex-low-fast":{targetId:"gpt-5.3-codex-low-fast",legacyVariantId:"gpt-5.3-codex-low-fast",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh-fast":{targetId:"gpt-5.3-codex-xhigh-fast",legacyVariantId:"gpt-5.3-codex-xhigh-fast",encoding:"legacy-variant"},"gpt-5.3-codex-medium-fast":{targetId:"gpt-5.3-codex-medium-fast",legacyVariantId:"gpt-5.3-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.3-codex-max-fast":{targetId:"gpt-5.3-codex-max-fast",legacyVariantId:"gpt-5.3-codex-max-fast",encoding:"legacy-variant"},"gpt-5.4-high":{targetId:"gpt-5.4",level:"high",legacyVariantId:"gpt-5.4-high",encoding:"legacy-variant"},"gpt-5.4-low":{targetId:"gpt-5.4",level:"low",legacyVariantId:"gpt-5.4-low",encoding:"legacy-variant"},"gpt-5.4-medium":{targetId:"gpt-5.4",level:"medium",legacyVariantId:"gpt-5.4-medium",encoding:"legacy-variant"},"gpt-5.4-xhigh":{targetId:"gpt-5.4",level:"xhigh",legacyVariantId:"gpt-5.4-xhigh",encoding:"legacy-variant"},"gpt-5.4-high-fast":{targetId:"gpt-5.4-high-fast",legacyVariantId:"gpt-5.4-high-fast",encoding:"legacy-variant"},"gpt-5.4-medium-fast":{targetId:"gpt-5.4-medium-fast",legacyVariantId:"gpt-5.4-medium-fast",encoding:"legacy-variant"},"gpt-5.4-xhigh-fast":{targetId:"gpt-5.4-xhigh-fast",legacyVariantId:"gpt-5.4-xhigh-fast",encoding:"legacy-variant"},"gpt-5.4-mini-high":{targetId:"gpt-5.4-mini",level:"high",legacyVariantId:"gpt-5.4-mini-high",encoding:"legacy-variant"},"gpt-5.4-mini-low":{targetId:"gpt-5.4-mini",level:"low",legacyVariantId:"gpt-5.4-mini-low",encoding:"legacy-variant"},"gpt-5.4-mini-medium":{targetId:"gpt-5.4-mini",level:"medium",legacyVariantId:"gpt-5.4-mini-medium",encoding:"legacy-variant"},"gpt-5.4-mini-none":{targetId:"gpt-5.4-mini",level:"off",legacyVariantId:"gpt-5.4-mini-none",encoding:"legacy-variant"},"gpt-5.4-mini-xhigh":{targetId:"gpt-5.4-mini",level:"xhigh",legacyVariantId:"gpt-5.4-mini-xhigh",encoding:"legacy-variant"},"gpt-5.4-nano-high":{targetId:"gpt-5.4-nano",level:"high",legacyVariantId:"gpt-5.4-nano-high",encoding:"legacy-variant"},"gpt-5.4-nano-low":{targetId:"gpt-5.4-nano",level:"low",legacyVariantId:"gpt-5.4-nano-low",encoding:"legacy-variant"},"gpt-5.4-nano-medium":{targetId:"gpt-5.4-nano",level:"medium",legacyVariantId:"gpt-5.4-nano-medium",encoding:"legacy-variant"},"gpt-5.4-nano-none":{targetId:"gpt-5.4-nano",level:"off",legacyVariantId:"gpt-5.4-nano-none",encoding:"legacy-variant"},"gpt-5.4-nano-xhigh":{targetId:"gpt-5.4-nano",level:"xhigh",legacyVariantId:"gpt-5.4-nano-xhigh",encoding:"legacy-variant"},"gpt-5.5-extra-high":{targetId:"gpt-5.5",level:"extra-high",legacyVariantId:"gpt-5.5-extra-high",encoding:"legacy-variant"},"gpt-5.5-high":{targetId:"gpt-5.5",level:"high",legacyVariantId:"gpt-5.5-high",encoding:"legacy-variant"},"gpt-5.5-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-low",encoding:"legacy-variant"},"gpt-5.5-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-medium",encoding:"legacy-variant"},"gpt-5.5-none":{targetId:"gpt-5.5",level:"off",legacyVariantId:"gpt-5.5-none",encoding:"legacy-variant"},"gpt-5.5-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-max",encoding:"legacy-variant"},"gpt-5.5-thinking-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-thinking-low",encoding:"legacy-variant"},"gpt-5.5-thinking-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-thinking-medium",encoding:"legacy-variant"},"gpt-5.5-thinking-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-thinking-max",encoding:"legacy-variant"},"gpt-5.5-extra-high-fast":{targetId:"gpt-5.5-extra-high-fast",legacyVariantId:"gpt-5.5-extra-high-fast",encoding:"legacy-variant"},"gpt-5.5-high-fast":{targetId:"gpt-5.5-high-fast",legacyVariantId:"gpt-5.5-high-fast",encoding:"legacy-variant"},"gpt-5.5-low-fast":{targetId:"gpt-5.5-low-fast",legacyVariantId:"gpt-5.5-low-fast",encoding:"legacy-variant"},"gpt-5.5-medium-fast":{targetId:"gpt-5.5-medium-fast",legacyVariantId:"gpt-5.5-medium-fast",encoding:"legacy-variant"},"gpt-5.5-none-fast":{targetId:"gpt-5.5-none-fast",legacyVariantId:"gpt-5.5-none-fast",encoding:"legacy-variant"},"gpt-5.5-max-fast":{targetId:"gpt-5.5-max-fast",legacyVariantId:"gpt-5.5-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-high":{targetId:"gpt-5.6-luna",level:"high",legacyVariantId:"gpt-5.6-luna-high",encoding:"legacy-variant"},"gpt-5.6-luna-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-low",encoding:"legacy-variant"},"gpt-5.6-luna-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-max",encoding:"legacy-variant"},"gpt-5.6-luna-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-medium",encoding:"legacy-variant"},"gpt-5.6-luna-none":{targetId:"gpt-5.6-luna",level:"off",legacyVariantId:"gpt-5.6-luna-none",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh":{targetId:"gpt-5.6-luna",level:"xhigh",legacyVariantId:"gpt-5.6-luna-xhigh",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-thinking-low",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-thinking-max",encoding:"legacy-variant"},"gpt-5.6-luna-high-fast":{targetId:"gpt-5.6-luna-high-fast",legacyVariantId:"gpt-5.6-luna-high-fast",encoding:"legacy-variant"},"gpt-5.6-luna-low-fast":{targetId:"gpt-5.6-luna-low-fast",legacyVariantId:"gpt-5.6-luna-low-fast",encoding:"legacy-variant"},"gpt-5.6-luna-max-fast":{targetId:"gpt-5.6-luna-max-fast",legacyVariantId:"gpt-5.6-luna-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-medium-fast":{targetId:"gpt-5.6-luna-medium-fast",legacyVariantId:"gpt-5.6-luna-medium-fast",encoding:"legacy-variant"},"gpt-5.6-luna-none-fast":{targetId:"gpt-5.6-luna-none-fast",legacyVariantId:"gpt-5.6-luna-none-fast",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh-fast":{targetId:"gpt-5.6-luna-xhigh-fast",legacyVariantId:"gpt-5.6-luna-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-sol-high":{targetId:"gpt-5.6-sol",level:"high",legacyVariantId:"gpt-5.6-sol-high",encoding:"legacy-variant"},"gpt-5.6-sol-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-low",encoding:"legacy-variant"},"gpt-5.6-sol-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-max",encoding:"legacy-variant"},"gpt-5.6-sol-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-medium",encoding:"legacy-variant"},"gpt-5.6-sol-none":{targetId:"gpt-5.6-sol",level:"off",legacyVariantId:"gpt-5.6-sol-none",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh":{targetId:"gpt-5.6-sol",level:"xhigh",legacyVariantId:"gpt-5.6-sol-xhigh",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-thinking-low",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-thinking-max",encoding:"legacy-variant"},"gpt-5.6-sol-high-fast":{targetId:"gpt-5.6-sol-high-fast",legacyVariantId:"gpt-5.6-sol-high-fast",encoding:"legacy-variant"},"gpt-5.6-sol-low-fast":{targetId:"gpt-5.6-sol-low-fast",legacyVariantId:"gpt-5.6-sol-low-fast",encoding:"legacy-variant"},"gpt-5.6-sol-max-fast":{targetId:"gpt-5.6-sol-max-fast",legacyVariantId:"gpt-5.6-sol-max-fast",encoding:"legacy-variant"},"gpt-5.6-sol-medium-fast":{targetId:"gpt-5.6-sol-medium-fast",legacyVariantId:"gpt-5.6-sol-medium-fast",encoding:"legacy-variant"},"gpt-5.6-sol-none-fast":{targetId:"gpt-5.6-sol-none-fast",legacyVariantId:"gpt-5.6-sol-none-fast",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh-fast":{targetId:"gpt-5.6-sol-xhigh-fast",legacyVariantId:"gpt-5.6-sol-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-terra-high":{targetId:"gpt-5.6-terra",level:"high",legacyVariantId:"gpt-5.6-terra-high",encoding:"legacy-variant"},"gpt-5.6-terra-low":{targetId:"gpt-5.6-terra",level:"low",legacyVariantId:"gpt-5.6-terra-low",encoding:"legacy-variant"},"gpt-5.6-terra-max":{targetId:"gpt-5.6-terra",level:"max",legacyVariantId:"gpt-5.6-terra-max",encoding:"legacy-variant"},"gpt-5.6-terra-medium":{targetId:"gpt-5.6-terra",level:"medium",legacyVariantId:"gpt-5.6-terra-medium",encoding:"legacy-variant"},"gpt-5.6-terra-none":{targetId:"gpt-5.6-terra",level:"off",legacyVariantId:"gpt-5.6-terra-none",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh":{targetId:"gpt-5.6-terra",level:"xhigh",legacyVariantId:"gpt-5.6-terra-xhigh",encoding:"legacy-variant"},"gpt-5.6-terra-high-fast":{targetId:"gpt-5.6-terra-high-fast",legacyVariantId:"gpt-5.6-terra-high-fast",encoding:"legacy-variant"},"gpt-5.6-terra-low-fast":{targetId:"gpt-5.6-terra-low-fast",legacyVariantId:"gpt-5.6-terra-low-fast",encoding:"legacy-variant"},"gpt-5.6-terra-max-fast":{targetId:"gpt-5.6-terra-max-fast",legacyVariantId:"gpt-5.6-terra-max-fast",encoding:"legacy-variant"},"gpt-5.6-terra-medium-fast":{targetId:"gpt-5.6-terra-medium-fast",legacyVariantId:"gpt-5.6-terra-medium-fast",encoding:"legacy-variant"},"gpt-5.6-terra-none-fast":{targetId:"gpt-5.6-terra-none-fast",legacyVariantId:"gpt-5.6-terra-none-fast",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh-fast":{targetId:"gpt-5.6-terra-xhigh-fast",legacyVariantId:"gpt-5.6-terra-xhigh-fast",encoding:"legacy-variant"},"kimi-k2.7-code":{targetId:"kimi-k2.7-code",legacyVariantId:"kimi-k2.7-code",encoding:"legacy-variant"},"kimi-k3-high":{targetId:"kimi-k3",level:"high",legacyVariantId:"kimi-k3-high",encoding:"legacy-variant"},"kimi-k3-low":{targetId:"kimi-k3",level:"low",legacyVariantId:"kimi-k3-low",encoding:"legacy-variant"},"kimi-k3-max":{targetId:"kimi-k3",level:"max",legacyVariantId:"kimi-k3-max",encoding:"legacy-variant"},auto:{targetId:"auto",legacyVariantId:"auto",encoding:"legacy-variant"},"claude-fable-5-low-fast":{targetId:"claude-fable-5-low-fast",legacyVariantId:"claude-fable-5-low-fast",encoding:"legacy-variant"},"claude-fable-5-medium-fast":{targetId:"claude-fable-5-medium-fast",legacyVariantId:"claude-fable-5-medium-fast",encoding:"legacy-variant"},"claude-fable-5-max-fast":{targetId:"claude-fable-5-max-fast",legacyVariantId:"claude-fable-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-5-low-fast":{targetId:"claude-sonnet-5-low-fast",legacyVariantId:"claude-sonnet-5-low-fast",encoding:"legacy-variant"},"claude-sonnet-5-medium-fast":{targetId:"claude-sonnet-5-medium-fast",legacyVariantId:"claude-sonnet-5-medium-fast",encoding:"legacy-variant"},"claude-sonnet-5-max-fast":{targetId:"claude-sonnet-5-max-fast",legacyVariantId:"claude-sonnet-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-low":{targetId:"claude-sonnet-4-7",level:"low",legacyVariantId:"claude-sonnet-4-7-low",encoding:"legacy-variant"},"claude-sonnet-4-7-medium":{targetId:"claude-sonnet-4-7",level:"medium",legacyVariantId:"claude-sonnet-4-7-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-max":{targetId:"claude-sonnet-4-7",level:"max",legacyVariantId:"claude-sonnet-4-7-max",encoding:"legacy-variant"},"claude-sonnet-4-7-low-fast":{targetId:"claude-sonnet-4-7-low-fast",legacyVariantId:"claude-sonnet-4-7-low-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-medium-fast":{targetId:"claude-sonnet-4-7-medium-fast",legacyVariantId:"claude-sonnet-4-7-medium-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-max-fast":{targetId:"claude-sonnet-4-7-max-fast",legacyVariantId:"claude-sonnet-4-7-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-low":{targetId:"claude-sonnet-4-7-thinking",level:"low",legacyVariantId:"claude-sonnet-4-7-thinking-low",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-medium":{targetId:"claude-sonnet-4-7-thinking",level:"medium",legacyVariantId:"claude-sonnet-4-7-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-max":{targetId:"claude-sonnet-4-7-thinking",level:"max",legacyVariantId:"claude-sonnet-4-7-thinking-max",encoding:"legacy-variant"},"claude-mythos-5-low":{targetId:"claude-mythos-5",level:"low",legacyVariantId:"claude-mythos-5-low",encoding:"legacy-variant"},"claude-mythos-5-medium":{targetId:"claude-mythos-5",level:"medium",legacyVariantId:"claude-mythos-5-medium",encoding:"legacy-variant"},"claude-mythos-5-max":{targetId:"claude-mythos-5",level:"max",legacyVariantId:"claude-mythos-5-max",encoding:"legacy-variant"},"claude-mythos-5-low-fast":{targetId:"claude-mythos-5-low-fast",legacyVariantId:"claude-mythos-5-low-fast",encoding:"legacy-variant"},"claude-mythos-5-medium-fast":{targetId:"claude-mythos-5-medium-fast",legacyVariantId:"claude-mythos-5-medium-fast",encoding:"legacy-variant"},"claude-mythos-5-max-fast":{targetId:"claude-mythos-5-max-fast",legacyVariantId:"claude-mythos-5-max-fast",encoding:"legacy-variant"},"claude-mythos-5-thinking-low":{targetId:"claude-mythos-5-thinking",level:"low",legacyVariantId:"claude-mythos-5-thinking-low",encoding:"legacy-variant"},"claude-mythos-5-thinking-medium":{targetId:"claude-mythos-5-thinking",level:"medium",legacyVariantId:"claude-mythos-5-thinking-medium",encoding:"legacy-variant"},"claude-mythos-5-thinking-max":{targetId:"claude-mythos-5-thinking",level:"max",legacyVariantId:"claude-mythos-5-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-low",encoding:"legacy-variant"},"gpt-5.4-codex-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-medium",encoding:"legacy-variant"},"gpt-5.4-codex-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-max",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low-fast":{targetId:"gpt-5.4-codex-low-fast",legacyVariantId:"gpt-5.4-codex-low-fast",encoding:"legacy-variant"},"gpt-5.4-codex-medium-fast":{targetId:"gpt-5.4-codex-medium-fast",legacyVariantId:"gpt-5.4-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.4-codex-max-fast":{targetId:"gpt-5.4-codex-max-fast",legacyVariantId:"gpt-5.4-codex-max-fast",encoding:"legacy-variant"},"gemini-3.7-flash-low-fast":{targetId:"gemini-3.7-flash-low-fast",legacyVariantId:"gemini-3.7-flash-low-fast",encoding:"legacy-variant"},"gemini-3.7-flash-medium-fast":{targetId:"gemini-3.7-flash-medium-fast",legacyVariantId:"gemini-3.7-flash-medium-fast",encoding:"legacy-variant"},"gemini-3.7-flash-max-fast":{targetId:"gemini-3.7-flash-max-fast",legacyVariantId:"gemini-3.7-flash-max-fast",encoding:"legacy-variant"},"gemini-3.7-pro-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-low",encoding:"legacy-variant"},"gemini-3.7-pro-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-medium",encoding:"legacy-variant"},"gemini-3.7-pro-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-max",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.7-pro-low-fast":{targetId:"gemini-3.7-pro-low-fast",legacyVariantId:"gemini-3.7-pro-low-fast",encoding:"legacy-variant"},"gemini-3.7-pro-medium-fast":{targetId:"gemini-3.7-pro-medium-fast",legacyVariantId:"gemini-3.7-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.7-pro-max-fast":{targetId:"gemini-3.7-pro-max-fast",legacyVariantId:"gemini-3.7-pro-max-fast",encoding:"legacy-variant"},"gemini-3.6-pro-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-low",encoding:"legacy-variant"},"gemini-3.6-pro-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-medium",encoding:"legacy-variant"},"gemini-3.6-pro-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-max",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.6-pro-low-fast":{targetId:"gemini-3.6-pro-low-fast",legacyVariantId:"gemini-3.6-pro-low-fast",encoding:"legacy-variant"},"gemini-3.6-pro-medium-fast":{targetId:"gemini-3.6-pro-medium-fast",legacyVariantId:"gemini-3.6-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.6-pro-max-fast":{targetId:"gemini-3.6-pro-max-fast",legacyVariantId:"gemini-3.6-pro-max-fast",encoding:"legacy-variant"},"gemini-3.5-pro-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-low",encoding:"legacy-variant"},"gemini-3.5-pro-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-medium",encoding:"legacy-variant"},"gemini-3.5-pro-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-max",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.5-pro-low-fast":{targetId:"gemini-3.5-pro-low-fast",legacyVariantId:"gemini-3.5-pro-low-fast",encoding:"legacy-variant"},"gemini-3.5-pro-medium-fast":{targetId:"gemini-3.5-pro-medium-fast",legacyVariantId:"gemini-3.5-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.5-pro-max-fast":{targetId:"gemini-3.5-pro-max-fast",legacyVariantId:"gemini-3.5-pro-max-fast",encoding:"legacy-variant"},"composer-2.6-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-low",encoding:"legacy-variant"},"composer-2.6-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-medium",encoding:"legacy-variant"},"composer-2.6-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-max",encoding:"legacy-variant"},"composer-2.6-thinking-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-thinking-low",encoding:"legacy-variant"},"composer-2.6-thinking-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-thinking-medium",encoding:"legacy-variant"},"composer-2.6-thinking-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-thinking-max",encoding:"legacy-variant"},"composer-2.6-low-fast":{targetId:"composer-2.6-low-fast",legacyVariantId:"composer-2.6-low-fast",encoding:"legacy-variant"},"composer-2.6-medium-fast":{targetId:"composer-2.6-medium-fast",legacyVariantId:"composer-2.6-medium-fast",encoding:"legacy-variant"},"composer-2.6-max-fast":{targetId:"composer-2.6-max-fast",legacyVariantId:"composer-2.6-max-fast",encoding:"legacy-variant"},"composer-2.6-lite-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-low",encoding:"legacy-variant"},"composer-2.6-lite-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-medium",encoding:"legacy-variant"},"composer-2.6-lite-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-max",encoding:"legacy-variant"},"composer-2.6-lite-thinking-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-thinking-low",encoding:"legacy-variant"},"composer-2.6-lite-thinking-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-thinking-medium",encoding:"legacy-variant"},"composer-2.6-lite-thinking-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-thinking-max",encoding:"legacy-variant"},"composer-2.6-lite-low-fast":{targetId:"composer-2.6-lite-low-fast",legacyVariantId:"composer-2.6-lite-low-fast",encoding:"legacy-variant"},"composer-2.6-lite-medium-fast":{targetId:"composer-2.6-lite-medium-fast",legacyVariantId:"composer-2.6-lite-medium-fast",encoding:"legacy-variant"},"composer-2.6-lite-max-fast":{targetId:"composer-2.6-lite-max-fast",legacyVariantId:"composer-2.6-lite-max-fast",encoding:"legacy-variant"},"deepseek-v4-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-low",encoding:"legacy-variant"},"deepseek-v4-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-medium",encoding:"legacy-variant"},"deepseek-v4-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-max",encoding:"legacy-variant"},"deepseek-v4-thinking-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-thinking-low",encoding:"legacy-variant"},"deepseek-v4-thinking-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-thinking-medium",encoding:"legacy-variant"},"deepseek-v4-thinking-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-thinking-max",encoding:"legacy-variant"},"deepseek-v4-low-fast":{targetId:"deepseek-v4-low-fast",legacyVariantId:"deepseek-v4-low-fast",encoding:"legacy-variant"},"deepseek-v4-medium-fast":{targetId:"deepseek-v4-medium-fast",legacyVariantId:"deepseek-v4-medium-fast",encoding:"legacy-variant"},"deepseek-v4-max-fast":{targetId:"deepseek-v4-max-fast",legacyVariantId:"deepseek-v4-max-fast",encoding:"legacy-variant"}}};var ZERO_WIDTH=/[\u200B-\u200D\uFEFF]/g,LEVEL_WORDS=/\s+(Minimal|Low|Medium|High|Extra High|XHigh|Max|None)\b/g;function sanitizeCursorDisplayName(name){return name.replace(ZERO_WIDTH,"").replace(/\s+/g," ").trim()}function cleanCursorGroupName(members,baseId,thinkingMode){let representative=members.find(member=>member.level==="high")??members.find(member=>member.level==="medium")??members.find(member=>member.level==="low")??members[0],name=sanitizeCursorDisplayName(representative.raw.name);return name=name.replace(/\s*\(NO ZDR\)\s*/g," ").trim(),name=name.replace(LEVEL_WORDS,""),name=name.replace(/\s+Fast\b/g,""),thinkingMode!==!0?name=name.replace(/\s+No Thinking\b/g,"").replace(/\s+Thinking\b/g,""):/\bThinking\b/.test(name)||(name=name.includes("")?name.replace(" "," Thinking "):`${name} Thinking`),name=sanitizeCursorDisplayName(name.replaceAll("","(NO ZDR)")),name.length===0?baseId:name}function dropUnservedSizeToken(name,capability){return capability?.evidence!=="served-checkpoint"||capability.window>=1e6?name:sanitizeCursorDisplayName(name.replace(/\s+1M\b/g,""))}var P="parameters",V="variant-id";function ladder(values,encoding=P){let out={};for(let value of values)out[value==="none"?"off":value]={value,encoding};return out}var CLAUDE_ORDER=["thinking","context","effort"],GPT_ORDER=["context","reasoning","fast"];function claude(window,maxWindow,levels,defaultContext){return{evidence:"available-models",window,maxWindow,parameterOrder:CLAUDE_ORDER,defaultContext,requestContext:window>=1e6?"1m":defaultContext,levels:ladder(levels)}}function gpt(levels,order=GPT_ORDER,window=4e5,maxWindow=4e5){return{evidence:"available-models",window,maxWindow,parameterOrder:order,defaultContext:"272k",requestContext:order.includes("context")&&window>=1e6?"1m":void 0,levels:ladder(levels)}}var LEVELS_LOW_MAX=["low","medium","high","xhigh","max"],CONTEXT_TOKEN={3e5:"300k",256e3:"256k"};function served(window,maxWindow,order,levels){let context=order.includes("context")?CONTEXT_TOKEN[window]:void 0;return{evidence:"served-checkpoint",window,...maxWindow!==void 0?{maxWindow}:{},parameterOrder:order,...context!==void 0?{defaultContext:context,requestContext:context}:{},levels:ladder(levels)}}var CURSOR_MODEL_CAPABILITIES={"claude-fable-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-sonnet-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-7":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-8":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-4.6-opus":claude(1e6,1e6,["high","max"],"200k"),"claude-4.6-sonnet":claude(1e6,1e6,["medium"],"200k"),"claude-4.5-opus":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{high:{value:"high",encoding:V}}},"gpt-5.6-sol":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-luna":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-terra":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,272e3,272e3),"gpt-5.5":{...gpt(["none","low","medium","high"],GPT_ORDER,1e6,1e6),levels:{...ladder(["none","low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.3-codex":{...gpt([],["reasoning","fast"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.1":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["low","high"])},"gpt-5.2":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:ladder(["none","low","medium","high","xhigh"],V)},"gpt-5.4-nano":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["none","low","medium","high","xhigh"])},"gemini-3.7-flash":{evidence:"cli-live",window:1048576,parameterOrder:["effort"],levels:ladder(["low","medium","high"])},"gemini-3.6-flash":{evidence:"suffix-only",window:1048576,parameterOrder:[],levels:ladder(["minimal","low","medium","high"],V)},"cursor-grok-4.6":{evidence:"available-models",window:5e5,parameterOrder:["effort","fast"],levels:ladder(["low","medium","high","xhigh"])},"cursor-grok-4.5":{evidence:"suffix-only",window:5e5,parameterOrder:[],levels:ladder(["low","medium","high"],V)},"glm-5.2":{evidence:"available-models",window:1e6,parameterOrder:["reasoning"],levels:ladder(["high","max"])},"kimi-k3":{evidence:"available-models",window:1048576,parameterOrder:["reasoning"],levels:ladder(["low","high","max"])},"composer-2.5":{evidence:"available-models",window:2e5,parameterOrder:["fast"],levels:{}},"claude-haiku-4-5":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{}},"claude-4-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"claude-4.5-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"kimi-k2.7-code":{evidence:"available-models",window:262144,parameterOrder:[],levels:{}},"gemini-3-flash":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.1-pro":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.5-flash":{evidence:"available-models",window:1048576,parameterOrder:[],levels:{}},"gpt-5-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:{}},"claude-opus-5-5":served(3e5,1e6,["context","effort","fast"],LEVELS_LOW_MAX),"claude-fable-5-1":served(3e5,1e6,["thinking","context","effort"],LEVELS_LOW_MAX),"claude-sonnet-5-5":served(3e5,1e6,["context","reasoning_effort"],LEVELS_LOW_MAX),"claude-haiku-5-5":served(3e5,1e6,["thinking","context","reasoning_effort"],LEVELS_LOW_MAX),"muse-wonder-1.0":served(3e5,1e6,["context","reasoning_effort"],["minimal",...LEVELS_LOW_MAX]),"muse-spark-1.3":served(3e5,1e6,["context","effort"],["minimal",...LEVELS_LOW_MAX]),"grok-4.7":served(256e3,5e5,["context","reasoning_effort","fast"],["low","medium","high","xhigh"]),"gemini-4-argon":served(2e5,void 0,["reasoning_effort"],["low","medium","high"]),"gemini-3.8-flash":served(2e5,void 0,["reasoning_effort"],["low","medium","high"]),default:served(256e3,void 0,[],[])};var ALIASES=cursor_variant_aliases_default.aliases,LEVEL_TOKENS=["minimal","low","medium","high","extra-high","xhigh","max","none"];function parseCursorVariantId(originalId){let rest=originalId,fast=!1;rest.endsWith("-fast")&&(fast=!0,rest=rest.slice(0,-5));let level,thinking,alternation=LEVEL_TOKENS.join("|"),patterns=[[new RegExp(`-thinking-(${alternation})$`),!0],[new RegExp(`-(${alternation})-thinking$`),!0]];for(let[pattern,flag]of patterns){let match=rest.match(pattern);if(match)return level=match[1],thinking=flag,rest=rest.slice(0,match.index),{baseId:rest,level,thinking,fast,originalId}}if(rest.endsWith("-thinking"))return{baseId:rest.slice(0,-9),level,thinking:!0,fast,originalId};let levelMatch=rest.match(new RegExp(`-(${alternation})$`));return levelMatch&&(level=levelMatch[1],thinking=!1,rest=rest.slice(0,levelMatch.index)),{baseId:rest,level,thinking,fast,originalId}}function getCursorVariantAlias(originalId){return ALIASES[originalId]}function getCursorBaseIdForVariant(originalId){let alias=ALIASES[originalId];if(alias)return parseCursorVariantId(alias.targetId).baseId}function getCursorCapabilityForBase(baseId){return CURSOR_MODEL_CAPABILITIES[baseId]}var ALL_LEVELS=["off","minimal","low","medium","high","xhigh","max"],FALLBACK_WINDOW=2e5,STATIC_TARGETS=new Set(Object.values(cursor_variant_aliases_default.aliases).map(alias=>alias.targetId));function buildLevelMap(members,capability){let observed=new Set(members.map(member=>member.level).filter(level=>level!==void 0)),map={};for(let level of ALL_LEVELS){if(level==="off"){let offSpec=capability?.levels.off;map.off=offSpec!==void 0&&observed.has("none")?offSpec.value:null;continue}let spec=capability?.levels[level];map[level]=spec!==void 0&&(observed.has(level)||observed.has(spec.value))?spec.value:null}return map}function pickRepresentative(members){let withLevels=members.filter(member=>member.level!==void 0&&member.level!=="none"),pool=withLevels.length>0?withLevels:members,order=["medium","low","minimal","high","xhigh","extra-high","max","none"];return[...pool].sort((a,b)=>{let ai=order.indexOf(a.level??"none"),bi=order.indexOf(b.level??"none");return ai!==bi?ai-bi:a.alias.legacyVariantId.localeCompare(b.alias.legacyVariantId)})[0].alias.legacyVariantId}function normalizeDerivedLevel(token){switch(token){case"none":return"off";case"extra-high":return"xhigh";case"minimal":case"low":case"medium":case"high":case"xhigh":case"max":return token;default:return}}function buildDerivedLevelMap(members){let map=Object.fromEntries(ALL_LEVELS.map(level=>[level,null]));for(let member of members){let level=member.alias.level;level!==void 0&&member.level!==void 0&&map[level]===null&&(map[level]=member.level)}return map}function buildDerivedVariantIds(members){let map={};for(let member of members){let level=member.alias.level;level!==void 0&&map[level]===void 0&&(map[level]=member.raw.id)}return map}function deriveCursorVariantAliases(ids){let families=new Map,rawIds=new Set(ids);for(let id of ids){if(getCursorVariantAlias(id)!==void 0)continue;let parsed=parseCursorVariantId(id);if(parsed.fast||parsed.level===void 0||parsed.baseId==="")continue;let level=normalizeDerivedLevel(parsed.level);if(level===void 0)continue;let targetId=parsed.thinking===!0?`${parsed.baseId}-thinking`:parsed.baseId,family=families.get(targetId)??{targetId,levels:new Set,members:[]};family.levels.add(level),family.members.push([id,level,parsed.level]),families.set(targetId,family)}let derived=new Map;for(let family of families.values()){if(family.levels.size<2||STATIC_TARGETS.has(family.targetId)||getCursorVariantAlias(family.targetId)!==void 0||rawIds.has(family.targetId))continue;let chosen=new Map;for(let[id,level,suffix]of family.members){let previous=chosen.get(level);if(previous===void 0){chosen.set(level,id);continue}let previousSuffix=parseCursorVariantId(previous).level;(suffix===level&&previousSuffix!==level||suffix===level==(previousSuffix===level)&&id<previous)&&chosen.set(level,id)}for(let[level,id]of chosen)derived.set(id,{targetId:family.targetId,legacyVariantId:id,encoding:"legacy-variant",level})}return derived}function normalizeCursorCatalog(rawEntries){let derived=deriveCursorVariantAliases(rawEntries.map(raw=>raw.id)),groups=new Map,order=[];for(let raw of rawEntries){let alias=getCursorVariantAlias(raw.id)??derived.get(raw.id);if(!alias){let parsed2=parseCursorVariantId(raw.id),key2=`unknown${parsed2.baseId}${raw.id}`;groups.has(key2)||order.push(key2);let member={raw,alias:{targetId:raw.id,legacyVariantId:raw.id,encoding:"legacy-variant"},level:parsed2.level,thinking:parsed2.thinking,fast:parsed2.fast};groups.set(key2,[member]);continue}let parsed=parseCursorVariantId(raw.id),key=`${alias.targetId}${parsed.fast}`;groups.has(key)||(order.push(key),groups.set(key,[])),groups.get(key).push({raw,alias,level:parsed.level,thinking:parsed.thinking,fast:parsed.fast})}let out=[];for(let key of order){let members=groups.get(key),first=members[0],baseParsed=parseCursorVariantId(first.alias.targetId),derivedGroup=members.every(member=>derived.has(member.raw.id)),baseId=derivedGroup?parseCursorVariantId(first.raw.id).baseId:baseParsed.baseId,capability=CURSOR_MODEL_CAPABILITIES[baseId],isGrouped=members.length>1||first.alias.targetId!==first.raw.id,efforts=members.filter(member=>member.level!==void 0&&member.level!=="none");if(isGrouped&&efforts.length>0&&!first.fast){let thinkingMode=baseId.startsWith("claude-")?first.thinking===!0:void 0;out.push({id:first.alias.targetId,name:dropUnservedSizeToken(cleanCursorGroupName(members,baseId,thinkingMode),capability),reasoning:!0,thinkingLevelMap:derivedGroup?buildDerivedLevelMap(members):buildLevelMap(members,capability),window:capability?.window??FALLBACK_WINDOW,...capability?.maxWindow!==void 0?{maxWindow:capability.maxWindow}:{},input:[...new Set(members.flatMap(member=>member.raw.input))],cursorMaxMode:members.some(member=>member.raw.cursorMaxMode),capabilityId:baseId,...thinkingMode!==void 0?{thinkingMode}:{},representativeVariantId:pickRepresentative(members),legacyAliases:members.map(member=>member.alias.legacyVariantId).sort(),...derivedGroup?{variantIds:buildDerivedVariantIds(members)}:{}});continue}for(let member of members){let memberBase=parseCursorVariantId(member.raw.id).baseId,memberCapability=CURSOR_MODEL_CAPABILITIES[memberBase];out.push({id:member.raw.id,name:dropUnservedSizeToken(sanitizeCursorDisplayName(member.raw.name),memberCapability),reasoning:!1,window:memberCapability?.window??FALLBACK_WINDOW,...memberCapability?.maxWindow!==void 0?{maxWindow:memberCapability.maxWindow}:{},input:[...member.raw.input],cursorMaxMode:member.raw.cursorMaxMode,legacyAliases:[member.alias.legacyVariantId]})}}return out}function identityCompat(model){return model.compat?.cursorReasoning}function suffixAliasId(compat,level,spec){let suffixes=level==="off"?["none"]:spec.value===level?[spec.value]:[spec.value,level];for(let suffix of suffixes){let candidates=compat.thinkingMode===!0?[`${compat.capabilityId}-thinking-${suffix}`,`${compat.capabilityId}-${suffix}-thinking`]:[`${compat.capabilityId}-${suffix}`];for(let candidate of candidates){let alias=getCursorVariantAlias(candidate);if(alias)return alias.legacyVariantId}}}function buildParameters(capabilityId,value,thinkingMode){let capability=CURSOR_MODEL_CAPABILITIES[capabilityId];if(!capability)return[];let out=[];for(let id of capability.parameterOrder)switch(id){case"thinking":out.push({id,value:thinkingMode===!0?"true":"false"});break;case"context":{let context=capability.requestContext??capability.defaultContext;context!==void 0&&out.push({id,value:context});break}case"effort":case"reasoning":case"reasoning_effort":out.push({id,value});break;case"fast":out.push({id,value:"false"});break}return out}function resolveCursorSelectionDescriptor(model,selection){let compat=identityCompat(model),fallback={modelId:model.upstreamModelId??model.id,parameters:[]};if(!compat)return fallback;if(selection===void 0)return{modelId:compat.representativeVariantId,parameters:[]};if(selection.source==="legacy-variant"){let legacyId=selection.legacyVariantId;return legacyId!==void 0&&(getCursorVariantAlias(legacyId)!==void 0||Object.values(compat.variantIds??{}).includes(legacyId))?{modelId:legacyId,parameters:[]}:{modelId:compat.representativeVariantId,parameters:[]}}let derivedVariantId=compat.variantIds?.[selection.level];if(derivedVariantId!==void 0)return{modelId:derivedVariantId,parameters:[]};if(compat.variantIds!==void 0)return{modelId:compat.representativeVariantId,parameters:[]};let capability=CURSOR_MODEL_CAPABILITIES[compat.capabilityId],spec=capability?.levels[selection.level];if(!capability||!spec)return{modelId:compat.representativeVariantId,parameters:[]};let suffixId=suffixAliasId(compat,selection.level,spec);return suffixId!==void 0?{modelId:suffixId,parameters:[]}:spec.encoding==="variant-id"?{modelId:compat.representativeVariantId,parameters:[]}:{modelId:compat.capabilityId,parameters:buildParameters(compat.capabilityId,spec.value,compat.thinkingMode)}}function renderCursorCliModelString(model,selection){let resolved=resolveCursorSelectionDescriptor(model,selection);if(resolved.parameters.length===0)return resolved.modelId;let args=resolved.parameters.map(parameter=>`${parameter.id}=${parameter.value}`).join(",");return`${resolved.modelId}[${args}]`}var THINKING_LEVELS=["off","minimal","low","medium","high","xhigh","max"],LEVEL_BY_NAME=new Map([["none","off"],["off","off"],["minimal","minimal"],["low","low"],["medium","medium"],["high","high"],["xhigh","xhigh"],["max","max"]]);function readEntry(entry){if(typeof entry=="string")return entry.trim()?{value:entry,isDefault:!1}:void 0;if(typeof entry!="object"||entry===null||!("value"in entry))return;let{value}=entry,isDefault="default"in entry&&entry.default===!0;return typeof value=="string"&&value.trim()?{value,isDefault}:void 0}function parseEndpointReasoningEfforts(value){if(!Array.isArray(value))return;let advertised=new Map,unmapped=[],defaultThinkingLevel;for(let raw of value){let entry=readEntry(raw);if(!entry)continue;let level=LEVEL_BY_NAME.get(entry.value.trim().toLowerCase());if(!level){unmapped.includes(entry.value)||unmapped.push(entry.value);continue}advertised.has(level)||advertised.set(level,entry.value),entry.isDefault&&defaultThinkingLevel===void 0&&(defaultThinkingLevel=level)}if(advertised.size===0)return{unmapped};let thinkingLevelMap={};for(let level of THINKING_LEVELS)thinkingLevelMap[level]=advertised.get(level)??null;return defaultThinkingLevel===void 0?{thinkingLevelMap,unmapped}:{thinkingLevelMap,defaultThinkingLevel,unmapped}}function modelSupportsAssistantPrefill(model,settings){return model.supportsAssistantPrefill!==!0?!1:!(model.api==="anthropic-messages"&&settings.thinkingEnabled)}function emit(segments,text,scan,recoveryBoundary=!1){if(text.length===0)return;let previous=segments.at(-1);previous?.scan===scan&&!previous.recoveryBoundary&&!recoveryBoundary?segments[segments.length-1]={text:previous.text+text,scan}:segments.push(recoveryBoundary?{text,scan,recoveryBoundary:!0}:{text,scan})}function isLineBreak(character){return character==="\r"||character===`
|
|
150
150
|
`}function createRecoveryCodeMask(){let state={kind:"plain"},atLineStart=!0,leadingSpaces=0,plainIndent="",pendingTickCount=0,pendingDeferredTicks=0,pendingAtLineStart=!1,finished=!1;function flushPlainIndent(segments,scan,recoveryBoundary=!1){emit(segments,plainIndent,scan,recoveryBoundary),plainIndent=""}function updateLinePosition(character){isLineBreak(character)?(atLineStart=!0,leadingSpaces=0):atLineStart=!1}function completePendingTicks(segments){if(pendingTickCount===0)return;let tickCount=pendingTickCount,startedAtLineStart=pendingAtLineStart;pendingTickCount=0,pendingAtLineStart=!1,state.kind==="plain"?startedAtLineStart&&tickCount>=3?(flushPlainIndent(segments,!1,!0),state={kind:"fenced",delimiterLength:tickCount,closingLine:!1}):(flushPlainIndent(segments,!0),pendingDeferredTicks>0&&emit(segments,"`".repeat(pendingDeferredTicks),!1,!0),state={kind:"inline",delimiterLength:tickCount}):state.kind==="inline"?tickCount===state.delimiterLength&&(state={kind:"plain"}):startedAtLineStart&&tickCount>=state.delimiterLength&&(state.closingLine=!0),pendingDeferredTicks=0,atLineStart=!1,leadingSpaces=0}function appendTicks(segments,ticks){pendingTickCount===0&&(pendingAtLineStart=atLineStart),pendingTickCount+=ticks.length;let offset=0;if(state.kind==="plain"&&pendingAtLineStart&&plainIndent.length>0&&pendingDeferredTicks<3){let deferred=Math.min(3-pendingDeferredTicks,ticks.length);pendingDeferredTicks+=deferred,offset=deferred,pendingDeferredTicks===3&&(flushPlainIndent(segments,!1,!0),emit(segments,"```",!1),pendingDeferredTicks=0)}offset<ticks.length&&emit(segments,ticks.slice(offset),!1,state.kind==="plain"&&pendingTickCount===ticks.length)}function processPlainCharacter(segments,character){if(atLineStart&&character===" "&&leadingSpaces<3){plainIndent+=character,leadingSpaces+=1;return}flushPlainIndent(segments,!0),emit(segments,character,!0),updateLinePosition(character)}function processInlineCharacter(segments,character){emit(segments,character,!1),isLineBreak(character)&&(state={kind:"plain"}),updateLinePosition(character)}function processFencedCharacter(segments,character){if(state.kind==="fenced"){if(atLineStart&&character===" "&&leadingSpaces<3){emit(segments,character,!1),leadingSpaces+=1;return}emit(segments,character,!1),state.closingLine&&isLineBreak(character)&&(state={kind:"plain"}),updateLinePosition(character)}}function processText(segments,text){for(let index=0;index<text.length;){if(text[index]==="`"){let end=index+1;for(;text[end]==="`";)end+=1;appendTicks(segments,text.slice(index,end)),index=end;continue}completePendingTicks(segments);let character=text.charAt(index);state.kind==="plain"?processPlainCharacter(segments,character):state.kind==="inline"?processInlineCharacter(segments,character):processFencedCharacter(segments,character),index+=1}}function trackActiveText(text){for(let index=0;index<text.length;index+=1)updateLinePosition(text.charAt(index))}return{feed(text,options){if(finished)throw new Error("Recovery code mask is finished");let segments=[];return options?.activeInvoke?(completePendingTicks(segments),flushPlainIndent(segments,!0),emit(segments,text,!0),trackActiveText(text)):processText(segments,text),segments},finish(){if(finished)return[];let segments=[];return completePendingTicks(segments),state.kind==="plain"&&flushPlainIndent(segments,!0),finished=!0,segments}}}var XTML_TOOLS_OPEN="<|open|>tools<|sep|>",XTML_TOOLS_CLOSE="<|close|>tools<|sep|>",XTML_CALL_OPEN="<|open|>call ",XTML_CALL_CLOSE="<|close|>call<|sep|>",XTML_ARGUMENT_OPEN="<|open|>argument ",XTML_ARGUMENT_CLOSE="<|close|>argument<|sep|>",XTML_SEP="<|sep|>",XTML_OPEN_PREFIX="<|open|>",XTML_CLOSE_PREFIX="<|close|>",CHANNEL_NAME="[a-zA-Z_][a-zA-Z0-9_]*",STRUCTURAL_CHANNEL_NAME="(?:call|argument)\\b",SEPLESS_CHANNEL_NAME=`(?!${STRUCTURAL_CHANNEL_NAME})${CHANNEL_NAME}`,XTML_CHANNEL_MARKER_PATTERN=new RegExp([`<\\|(?:open|close)\\|>(?:${CHANNEL_NAME})?<\\|sep\\|>`,`<\\|(?:open|close)\\|>(?:${SEPLESS_CHANNEL_NAME})?(?=$|[^a-zA-Z0-9_])`,"<\\|sep\\|>"].join("|"),"g"),ANCHORED_CHANNEL_MARKER_PATTERN=new RegExp(`^(?:${XTML_CHANNEL_MARKER_PATTERN.source})`);function matchXtmlChannelMarker(text){return ANCHORED_CHANNEL_MARKER_PATTERN.exec(text)?.[0]}var ATTRIBUTE_PATTERN=/([\w-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s<]+))/g;function parseXtmlAttributes(header){let attributes={};for(let match of header.matchAll(ATTRIBUTE_PATTERN)){let key=match[1];key&&(attributes[key]=match[2]??match[3]??match[4]??"")}return attributes}function getPartialXtmlSuffix(text,tokens){for(let token of tokens)for(let length=token.length-1;length>0;length-=1){let prefix=token.slice(0,length);if(text.endsWith(prefix))return prefix}return""}function coerceXtmlArgumentValue(raw,type){switch(type){case void 0:case"string":return{ok:!0,value:raw};case"number":{let parsed=Number(raw);return Number.isNaN(parsed)?{ok:!1}:{ok:!0,value:parsed}}case"boolean":return raw==="true"?{ok:!0,value:!0}:raw==="false"?{ok:!0,value:!1}:{ok:!1};case"object":case"array":try{return{ok:!0,value:JSON.parse(raw)}}catch{return{ok:!1}}default:return{ok:!0,value:raw}}}function parseCallBody(body,tool,options){let args={},rest=body;for(;rest=rest.replace(/^\s+/,""),!!rest.startsWith(XTML_ARGUMENT_OPEN);){let headerEnd=rest.indexOf(XTML_SEP,XTML_ARGUMENT_OPEN.length);if(headerEnd===-1)break;let attributes=parseXtmlAttributes(rest.slice(XTML_ARGUMENT_OPEN.length,headerEnd)),key=attributes.key,valueStart=headerEnd+XTML_SEP.length,valueEnd=rest.indexOf(XTML_ARGUMENT_CLOSE,valueStart);if(valueEnd===-1||!key)break;let coerced=coerceXtmlArgumentValue(rest.slice(valueStart,valueEnd),attributes.type);if(!coerced.ok)return options?.onError?.(`kimi-xtml: invalid value for argument "${key}" on tool "${tool.name}".`,{toolCall:rest.slice(0,valueEnd+XTML_ARGUMENT_CLOSE.length)}),null;args[key]=coerced.value,rest=rest.slice(valueEnd+XTML_ARGUMENT_CLOSE.length)}return args}function parseKimiXtmlGeneratedText(text,tools,options){let parsed=[],cursor=0;for(;cursor<text.length;){let blockStart=text.indexOf(XTML_TOOLS_OPEN,cursor);if(blockStart===-1)break;let bodyStart=blockStart+XTML_TOOLS_OPEN.length,blockEnd=text.indexOf(XTML_TOOLS_CLOSE,bodyStart),block=blockEnd===-1?text.slice(bodyStart):text.slice(bodyStart,blockEnd);cursor=blockEnd===-1?text.length:blockEnd+XTML_TOOLS_CLOSE.length;let callCursor=0;for(;callCursor<block.length;){let callStart=block.indexOf(XTML_CALL_OPEN,callCursor);if(callStart===-1)break;let headerEnd=block.indexOf(XTML_SEP,callStart+XTML_CALL_OPEN.length);if(headerEnd===-1)break;let attributes=parseXtmlAttributes(block.slice(callStart+XTML_CALL_OPEN.length,headerEnd)),bodyEnd=block.indexOf(XTML_CALL_CLOSE,headerEnd+XTML_SEP.length),callBody=bodyEnd===-1?block.slice(headerEnd+XTML_SEP.length):block.slice(headerEnd+XTML_SEP.length,bodyEnd);callCursor=bodyEnd===-1?block.length:bodyEnd+XTML_CALL_CLOSE.length;let name=attributes.tool,tool=name?tools.find(candidate=>candidate.name===name):void 0;if(!tool){options?.onError?.(`kimi-xtml: call for unknown tool "${name??""}".`,{toolCall:callBody});continue}let args=parseCallBody(callBody,tool,options);args&&parsed.push({name:tool.name,arguments:args})}}return parsed}var MARKER_PREFIXES=[XTML_OPEN_PREFIX,XTML_CLOSE_PREFIX,XTML_SEP];function findMarkerStart(text){return MARKER_PREFIXES.map(prefix=>text.indexOf(prefix)).filter(index=>index!==-1).sort((a,b)=>a-b)[0]}function couldExtendMarker(buffer,marker){if(marker.endsWith(XTML_SEP))return!1;let rest=buffer.slice(marker.length);return rest.length===0||XTML_SEP.startsWith(rest)}var STRUCTURAL_MARKER_OPENS=[XTML_CALL_OPEN,XTML_ARGUMENT_OPEN];function startsCompleteStructuralMarker(buffer){return STRUCTURAL_MARKER_OPENS.some(open=>buffer.startsWith(open))}function startsPartialStructuralMarker(buffer){return STRUCTURAL_MARKER_OPENS.some(open=>buffer.length<open.length&&open.startsWith(buffer))}function createXtmlRecoveryStreamParser(tools,options){let mask=createRecoveryCodeMask(),buffer="",mode="text",callIndex=-1,callName="",callArgs={},callStarted=!1,callInvalidReason=null,argumentKey="",argumentType;function resetCall(){callName="",callArgs={},callStarted=!1,callInvalidReason=null,argumentKey="",argumentType=void 0}function endCall(events,incomplete){if(!callStarted){resetCall();return}let event={type:"toolcall_end",index:callIndex,name:callName,id:`recovered-xtml-${callIndex}`,arguments:callArgs};incomplete&&(event.incomplete=!0,callInvalidReason&&(event.errorMessage=callInvalidReason)),events.push(event),resetCall(),mode="tools"}function processText(events){let markerIndex=findMarkerStart(buffer);if(markerIndex===void 0){let partial=getPartialXtmlSuffix(buffer,MARKER_PREFIXES),flushable=partial?buffer.slice(0,-partial.length):buffer;return flushable&&events.push({type:"text",text:flushable}),buffer=partial,!1}if(markerIndex>0)return events.push({type:"text",text:buffer.slice(0,markerIndex)}),buffer=buffer.slice(markerIndex),!0;if(startsCompleteStructuralMarker(buffer))return mode="tools",!0;if(startsPartialStructuralMarker(buffer))return!1;let marker=matchXtmlChannelMarker(buffer);return marker?couldExtendMarker(buffer,marker)?!1:(buffer=buffer.slice(marker.length),marker===XTML_TOOLS_OPEN&&(mode="tools"),!0):(events.push({type:"text",text:buffer.slice(0,2)}),buffer=buffer.slice(2),!0)}function process2(events){for(;;){if(mode==="text"){if(!processText(events))return;continue}if(mode==="tools"){let callStart=buffer.indexOf(XTML_CALL_OPEN),toolsEnd=buffer.indexOf(XTML_TOOLS_CLOSE);if(toolsEnd!==-1&&(callStart===-1||toolsEnd<callStart)){buffer=buffer.slice(toolsEnd+XTML_TOOLS_CLOSE.length),mode="text";continue}if(callStart===-1)return;buffer=buffer.slice(callStart+XTML_CALL_OPEN.length),mode="call-header";continue}if(mode==="call-header"||mode==="argument-header"){let sepIndex=buffer.indexOf(XTML_SEP);if(sepIndex===-1)return;let attributes=parseXtmlAttributes(buffer.slice(0,sepIndex));if(buffer=buffer.slice(sepIndex+XTML_SEP.length),mode==="call-header"){let name=attributes.tool??"";if(!tools.some(candidate=>candidate.name===name)){options?.onError?.(`kimi-xtml recovery: call for unknown tool "${name}".`,{}),mode="discard-call";continue}callIndex+=1,callName=name,callStarted=!0,events.push({type:"toolcall_start",index:callIndex,name,id:`recovered-xtml-${callIndex}`}),mode="call-body";continue}argumentKey=attributes.key??"",argumentType=attributes.type,mode="argument-value";continue}if(mode==="call-body"){let argStart=buffer.indexOf(XTML_ARGUMENT_OPEN),callEnd2=buffer.indexOf(XTML_CALL_CLOSE);if(callEnd2!==-1&&(argStart===-1||callEnd2<argStart)){buffer=buffer.slice(callEnd2+XTML_CALL_CLOSE.length),endCall(events,callInvalidReason!==null);continue}if(argStart===-1)return;buffer=buffer.slice(argStart+XTML_ARGUMENT_OPEN.length),mode="argument-header";continue}if(mode==="argument-value"){let valueEnd=buffer.indexOf(XTML_ARGUMENT_CLOSE);if(valueEnd===-1)return;let coerced=coerceXtmlArgumentValue(buffer.slice(0,valueEnd),argumentType);buffer=buffer.slice(valueEnd+XTML_ARGUMENT_CLOSE.length),coerced.ok?argumentKey&&(callArgs[argumentKey]=coerced.value,events.push({type:"toolcall_delta",index:callIndex,argumentsDelta:JSON.stringify(callArgs)})):(callInvalidReason=`kimi-xtml recovery: invalid value for argument "${argumentKey}".`,options?.onError?.(callInvalidReason,{toolCall:callName})),mode="call-body";continue}let callEnd=buffer.indexOf(XTML_CALL_CLOSE);if(callEnd===-1)return;buffer=buffer.slice(callEnd+XTML_CALL_CLOSE.length),resetCall(),mode="tools"}}function consume(segments){let events=[];for(let segment of segments){if(segment.scan){buffer+=segment.text,process2(events);continue}mode==="text"&&buffer&&(events.push({type:"text",text:buffer}),buffer=""),mode==="text"?events.push({type:"text",text:segment.text}):buffer+=segment.text}return events}return{feed(textDelta){return consume(mask.feed(textDelta))},interrupt(){let events=[];return mode==="text"&&buffer&&(events.push({type:"text",text:buffer}),buffer=""),events},finish(){let events=consume(mask.finish());if(mode==="text"){let rest=buffer;for(;;){let marker=matchXtmlChannelMarker(rest);if(!marker)break;rest=rest.slice(marker.length)}XTML_SEP.startsWith(rest)&&rest.length>0&&(rest=""),rest&&events.push({type:"text",text:rest})}else callStarted&&endCall(events,!0);return buffer="",mode="text",events}}}var NAMED_MARKER_PATTERN=/^<\|(open|close)\|>([a-zA-Z_][a-zA-Z0-9_]*)?/;function recoverThinkingContent(input){let mask=createRecoveryCodeMask(),channel="thinking",thinking="",response="",changed=!1,recoveredResponse=!1,append=text=>{channel==="response"?response+=text:thinking+=text},scan=text=>{let offset=0;for(let match of text.matchAll(XTML_CHANNEL_MARKER_PATTERN)){let index=match.index;if(index===void 0)continue;append(text.slice(offset,index));let named=NAMED_MARKER_PATTERN.exec(match[0]),action=named?.[1],name=named?.[2];changed=!0,action==="open"&&name==="response"?(channel="response",recoveredResponse=!0):(action==="open"&&name==="think"||action==="close"&&name==="response")&&(channel="thinking"),offset=index+match[0].length}append(text.slice(offset))};for(let segment of[...mask.feed(input),...mask.finish()])segment.scan?scan(segment.text):append(segment.text);return{thinking,response,changed,recoveredResponse}}function recoveredThinkingBlock(block,thinking){return{...block,thinking}}function strippedVisibleText(input){let mask=createRecoveryCodeMask(),text="",changed=!1;for(let segment of[...mask.feed(input),...mask.finish()]){if(!segment.scan){text+=segment.text;continue}let stripped=segment.text.replace(XTML_CHANNEL_MARKER_PATTERN,"");stripped!==segment.text&&(changed=!0),text+=stripped}return{text,changed}}function recoverKimiXtmlThinking(message){let changed=!1,thinkingChanged=!1,recoveredResponse=!1,content=[];for(let block of message.content){if(block.type==="text"){let stripped=strippedVisibleText(block.text);changed=changed||stripped.changed,content.push(stripped.changed?{...block,text:stripped.text}:block);continue}if(block.type!=="thinking"){content.push(block);continue}let recovered=recoverThinkingContent(block.thinking);changed=changed||recovered.changed,thinkingChanged=thinkingChanged||recovered.changed,recoveredResponse=recoveredResponse||recovered.recoveredResponse,content.push(recoveredThinkingBlock(block,recovered.thinking)),recovered.response.length>0&&content.push({type:"text",text:recovered.response})}return changed?{...message,content,diagnostics:thinkingChanged?[...message.diagnostics??[],{type:"kimi_xtml_thinking_recovery",timestamp:Date.now(),details:{recoveredResponse}}]:message.diagnostics}:message}function wrapStreamWithKimiThinkingRecovery(innerStream){let outerStream=new AssistantMessageEventStream;return(async()=>{try{for await(let event of innerStream){if(event.type==="done"){let message=recoverKimiXtmlThinking(event.message);outerStream.push({type:"done",reason:event.reason,message}),outerStream.end();return}if(event.type==="error"){outerStream.push(event),outerStream.end();return}outerStream.push(event)}outerStream.end(recoverKimiXtmlThinking(await innerStream.result()))}catch(error){outerStream.fail(error)}})(),outerStream}function encodeXmlText(value){return value.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}function encodeXmlLineBreaks(value){return value.replaceAll("\r"," ").replaceAll(`
|
|
151
151
|
`," ")}function encodeXmlParameterText(value){let encoded=encodeXmlText(value),contentStart=0;for(;encoded[contentStart]==="\r"||encoded[contentStart]===`
|
|
152
152
|
`;)contentStart+=1;let contentEnd=encoded.length;for(;contentEnd>contentStart&&(encoded[contentEnd-1]==="\r"||encoded[contentEnd-1]===`
|