@crewx/sdk 0.9.0-rc.88 → 0.9.0-rc.89

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.
@@ -5,8 +5,8 @@ export declare const EFFORT_LEVELS: readonly ["none", "minimal", "low", "medium"
5
5
  export type EffortLevel = (typeof EFFORT_LEVELS)[number];
6
6
  export type KnownEffortLevel = EffortLevel;
7
7
  export declare const PROVIDER_ARGV_EFFORTS: Record<string, readonly string[]>;
8
- export declare const MODEL_CATALOG_VERSION = 21;
9
- export declare const MODEL_CATALOG_UPDATED = "2026-09-02T00:00:00Z";
8
+ export declare const MODEL_CATALOG_VERSION = 22;
9
+ export declare const MODEL_CATALOG_UPDATED = "2026-09-04T00:00:00Z";
10
10
  export interface ModelCatalogEntry {
11
11
  id: string;
12
12
  name: string;
@@ -1,6 +1,6 @@
1
1
  import type { ModelPricing } from './pricing.types.js';
2
2
  export declare const MODEL_PRICING: Record<string, ModelPricing>;
3
- export declare const MODEL_PRICING_VERSION = 21;
4
- export declare const MODEL_PRICING_UPDATED = "2026-09-02T00:00:00Z";
3
+ export declare const MODEL_PRICING_VERSION = 22;
4
+ export declare const MODEL_PRICING_UPDATED = "2026-09-04T00:00:00Z";
5
5
  export declare const UNPUBLISHED_MODEL_IDS: ReadonlySet<string>;
6
6
  export declare const CATALOG_MODEL_IDS: ReadonlySet<string>;
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import*as _e from'path';import _e__default,{join,resolve,dirname,isAbsolute,basename,normalize,delimiter}from'path';import {fileURLToPath}from'url';import*as Rg from'fs';import {existsSync,readFileSync,mkdirSync,writeFileSync,statSync,renameSync,readdirSync,chmodSync,rmSync,unlinkSync,appendFileSync,promises}from'fs';import {createHash,randomUUID,randomBytes}from'crypto';import {spawn,execFile,execFileSync}from'child_process';import {StringDecoder}from'string_decoder';import {ndJsonStream,ClientSideConnection}from'@agentclientprotocol/sdk';import {load,dump}from'js-yaml';import {getEncoding}from'js-tiktoken';import {Tiktoken}from'js-tiktoken/lite';import ld from'js-tiktoken/ranks/o200k_base';import {z as z$1}from'zod';import*as bc from'os';import bc__default,{homedir,tmpdir}from'os';import {createRequire}from'module';import*as Qt from'handlebars';import Qt__default from'handlebars';import {readFile,access,readdir}from'fs/promises';import {EventEmitter}from'events';import {AsyncLocalStorage}from'async_hooks';import {sql,eq,desc,and,isNull,lt as lt$1,or,notLike,asc,like,inArray,gte,isNotNull,ne}from'drizzle-orm';import {sqliteTable,integer,text,real,index,check,uniqueIndex,unique,primaryKey}from'drizzle-orm/sqlite-core';import {McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import {WebStandardStreamableHTTPServerTransport}from'@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js';import {performance as performance$1}from'perf_hooks';var ed=Object.defineProperty;var Vh=Object.getOwnPropertyDescriptor;var Jh=Object.getOwnPropertyNames;var Kh=Object.prototype.hasOwnProperty;var Ye=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var z=(t,e)=>()=>(t&&(e=t(t=0)),e);var ts=(t,e)=>{for(var n in e)ed(t,n,{get:e[n],enumerable:true});},Xh=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Jh(e))!Kh.call(t,o)&&o!==n&&ed(t,o,{get:()=>e[o],enumerable:!(r=Vh(e,o))||r.enumerable});return t};var pu=t=>Xh(ed({},"__esModule",{value:true}),t);var gu,Zh,T,w,p=z(()=>{gu=()=>fileURLToPath(import.meta.url),Zh=()=>_e__default.dirname(gu()),T=Zh(),w=gu();});var fu,td,Ao,nd,mu,jr=z(()=>{p();fu=["flagship","balanced","speed"],td=["none","minimal","low","medium","high","xhigh","max","ultra"],Ao={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]},nd={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-5.6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["minimal","low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}},mu={version:1,providers:{"cli/codex":{model:"gpt-5.6-sol",query:{mode:"agent",effort:"high"},execute:{mode:"agent-full-access",effort:"xhigh"}},"cli/claude":{model:"claude-opus-5",query:{mode:"default",effort:"high"},execute:{mode:"bypassPermissions",effort:"xhigh"}},"cli/grok":{model:"grok-4.6",query:{mode:"default",effort:"high",providerOptions:{alwaysApprove:true,sandbox:"off"}},execute:{mode:"default",effort:"xhigh",providerOptions:{alwaysApprove:true,sandbox:"off"}}}}},Object.fromEntries(Object.entries(nd).map(([t,e])=>[t,e.models]));});var ir,rd,hu,od=z(()=>{p();ir={"claude-fable-5-1":{input:10,cachedInput:.25,output:50},"claude-fable-5":{input:10,cachedInput:1,output:50},"claude-opus-5":{input:5,cachedInput:.5,output:25},"claude-opus-4-8":{input:5,cachedInput:.5,output:25},"claude-opus-4-7":{input:5,cachedInput:.5,output:25},"claude-opus-4-6":{input:5,cachedInput:.5,output:25},"claude-sonnet-5":{input:2,cachedInput:.2,output:10},"claude-sonnet-4-6":{input:3,cachedInput:.3,output:15},"claude-haiku-4-5":{input:1,cachedInput:.1,output:5},"gpt-5.6-sol":{input:5,cachedInput:.5,output:30},"gpt-5.6-terra":{input:2,cachedInput:.2,output:12},"gpt-5.6-luna":{input:.2,cachedInput:.02,output:1.2},"gpt-5.5":{input:5,cachedInput:.5,output:30},"gpt-5.4":{input:2.5,cachedInput:.25,output:15},"gpt-5.4-mini":{input:.75,cachedInput:.075,output:4.5},"gpt-5.3-codex":{input:1.75,cachedInput:.175,output:14},"gpt-5-mini":{input:.4,cachedInput:.1,output:1.6},"gpt-4.1":{input:2,cachedInput:.5,output:8},"gpt-4o":{input:2.5,cachedInput:1.25,output:10},"glm-5.2":{input:1.4,cachedInput:.26,output:4.4},"glm-5.1":{input:1.4,cachedInput:.26,output:4.4},"gemini-3.7-flash":{input:1.5,cachedInput:.15,output:7.5},"gemini-3.6-flash":{input:1.5,cachedInput:.15,output:7.5},"grok-4.6":{input:2,cachedInput:.5,output:6},"grok-4.5":{input:2,cachedInput:.3,output:6}},rd=new Set(["gpt-5.3-codex-spark"]),hu=new Set(["auto","claude-fable-5","claude-fable-5-1","claude-haiku-4-5","claude-opus-4-6-thinking","claude-opus-4-6[1m]","claude-opus-4-7[1m]","claude-opus-4-8[1m]","claude-opus-5","claude-sonnet-4-6","claude-sonnet-4-6[1m]","claude-sonnet-5","gemini-3.1-pro","gemini-3.5-flash","gemini-3.6-flash","gemini-3.7-flash","gpt-5.3-codex","gpt-5.3-codex-spark","gpt-5.4","gpt-5.4-mini","gpt-5.5","gpt-5.6-luna","gpt-5.6-sol","gpt-5.6-terra","gpt-oss-120b","grok-4.5","grok-4.6"]);});function _u(t){Co=t;}function Tu(t){yu=Object.fromEntries(Object.entries(t).map(([e,n])=>[e,{...n}]));}function id(t){let e=t.toLowerCase().trim();e=e.replace(/\[[^\]]*\]$/g,"");let n=e.lastIndexOf("/");return n>=0&&(e=e.slice(n+1)),e=e.replace(/-\d{8}$/,""),e}function ny(t){if(!t)return;let e="inputPerMillionTokensUsd"in t?t.inputPerMillionTokensUsd:t.input,n="outputPerMillionTokensUsd"in t?t.outputPerMillionTokensUsd:t.output;if(!(!Number.isFinite(e)||e<=0||!Number.isFinite(n)||n<=0))return {inputPerMillionTokensUsd:e,outputPerMillionTokensUsd:n}}function wu(t){if(!t)return;let e=t.replace(/\[[^\]]*\]$/g,"");return ny(yu[e]??ir[e])}function ry(t){if(!t)return console.warn("[pricing] missing model id; cost is being recorded as 0"),xo;let e=id(t),n=ty[e];if(n)return Co[n]??ir[n]??xo;if(Co[e])return Co[e];if(ir[e])return ir[e];if(rd.has(e))return console.warn(`[pricing] unpublished model pricing: ${t}, cost_usd=0`),xo;if(hu.has(e))return console.warn(`[pricing] missing catalog pricing: ${t}, cost_usd=0`),xo;let r={...ir,...Co};for(let o of Object.keys(r))if(e.includes(o))return r[o];return console.warn(`[pricing] Unknown model: ${t}, cost_usd=0`),xo}function oy(t,e,n,r=0,o){let i=ry(n),s=Math.min(r,t),d=(t-s)*i.input/1e6,c=s*i.cachedInput/1e6,l=e*i.output/1e6;return d+c+l}function ku(t,e,n,r,o,i){return t&&t>0?t:!e&&!n?0:oy(e??0,n??0,o,r??0)}var ty,xo,Co,yu,Br=z(()=>{p();od();od();ty={opus:"claude-opus-4-8",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5","codex-mini":"gpt-5.3-codex",codex:"gpt-5.3-codex"},xo={input:0,cachedInput:0,output:0},Co={},yu={};});function ns(t){return ay[t]??t}function Iu(t){return dy.get(t)??t}function rs(t){if(!t)return {};let e=cy.get(t);return e?{...e}:{model:t}}function So(t,e){return t==="antigravity"||t==="cli/antigravity"?rs(e):e===void 0?{}:{model:Iu(e)}}var iy,sy,vu,ay,dy,Eu,cy,qr=z(()=>{p();iy="claude-opus-4-8",sy="claude-opus-4-8[1m]",vu=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}],ay={"accept-edits":"acceptEdits",yolo:"bypassPermissions","agent-full-access":"bypassPermissions"};dy=new Map(vu.map(({baseModelId:t,catalogModelId:e})=>[t,e]));Eu=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],cy=new Map(Eu.map(({legacyId:t,model:e,effort:n})=>[t,n===void 0?{model:e}:{model:e,effort:n}]));});function bu(){return {models:[],modes:[],effort:[],modelOverrides:{},providerOptions:[]}}function ly(t){return Array.isArray(t)?{models:t,modes:[],effort:[],modelOverrides:{},providerOptions:[]}:t?{models:t.models??[],modes:t.modes??[],effort:t.effort??[],modelOverrides:t.modelOverrides??{},providerOptions:t.providerOptions??[]}:bu()}function os(t){sd=Object.fromEntries(Object.entries(t).map(([e,n])=>[e,ly(n)]));}function uy(){sd={};}function Gr(t){Ru={...t};}function xt(t){return Ct(t).models}function Ct(t){return sd[t]??nd[t]??bu()}function is(t){return Ru[t]??mu.providers[t]}function Po(t){return Ct(t).modes}function hn(t,e){let n=Ct(t);if(e){if(Object.prototype.hasOwnProperty.call(n.modelOverrides,e))return n.modelOverrides[e]?.effort??n.effort;let r=So(t,e);return r.model===void 0?n.effort:n.modelOverrides[r.model]?.effort??n.effort}return n.effort}function ss(t){return Ct(t).modelOverrides}function Oo(){return xt("claude")}function ad(){return xt("codex")}function dd(){return xt("copilot")}function cd(){return xt("antigravity")}function No(t,e){let n=new Map;for(let r of [...t,...e]){let o=n.get(r.id);if(!o){let{apiPricing:i,recommended:s,...a}=r;n.set(r.id,{...a,...s===true?{recommended:true}:{},...i!=null?{apiPricing:{...i}}:{}});continue}!o.name&&r.name&&(o.name=r.name),o.description==null&&r.description!=null&&(o.description=r.description),o.contextWindowTokens==null&&r.contextWindowTokens!=null&&(o.contextWindowTokens=r.contextWindowTokens),o.tier==null&&r.tier!=null&&(o.tier=r.tier),o.recommended!==true&&r.recommended===true&&(o.recommended=true),o.apiPricing==null&&r.apiPricing!=null&&(o.apiPricing={...r.apiPricing});}return Array.from(n.values())}function Do(t){return t.map(e=>{let{apiPricing:n,...r}=e,o=wu(e.id);return o?{...r,apiPricing:o}:r})}var sd,Ru,lt=z(()=>{p();jr();Br();qr();sd={},Ru={};});function Ts(t){return typeof t!="string"?void 0:t.trim()||void 0}function ws(t){return Ts(t)?.toLowerCase()??""}function Vr(t){try{return statSync(t).isFile()}catch{return false}}function e_(t,e){if(t===e)return true;let n=_e__default.relative(t,e);return n!==""&&!n.startsWith("..")&&!_e__default.isAbsolute(n)}function t_(t,e){if(_e__default.basename(t)!==".bin")return false;let n=_e__default.dirname(t);if(_e__default.basename(n)!=="node_modules")return false;let r=_e__default.dirname(n);return e_(r,e)}function Jr(t,e={}){if(t.includes("/")||t.includes("\\")||_e__default.isAbsolute(t))return t;let n=e.platform??process.platform,r=e.env??process.env,o=_e__default.resolve(e.cwd??process.cwd()),i=(e.resolution??"global_first")==="global_first",s=r.PATH??r.Path??process.env.PATH??process.env.Path??"",a=n==="win32"?";":":",d=s.split(a).map(f=>f.trim()).filter(Boolean),c=_e__default.extname(t).length>0,l=r.PATHEXT??r.Pathext??process.env.PATHEXT??process.env.Pathext??".EXE;.CMD;.BAT;.COM",u=n==="win32"?c?[""]:l.split(";").map(f=>f.trim()).filter(Boolean).map(f=>f.startsWith(".")?f:`.${f}`):[""];for(let f of d){let m=_e__default.resolve(o,f);if(!(i&&t_(m,o)))for(let _ of u){let h=ws(_),I=_.toUpperCase();for(let y of [_,h,I]){let k=_e__default.join(m,`${t}${y}`);if(Vr(k))return k}}}return t}function n_(t,e){return Jr(t,{env:e,platform:"win32",resolution:"local_first"})}function r_(t){if(!Vr(t))return null;try{let e=readFileSync(t,"utf8"),n=_e__default.dirname(t),r=[];for(let a of e.matchAll(/"([^"\r\n]*)"/g)){let l=(a[1]??"").match(/%~?dp0%?\s*[\\/]*(.*)$/i)?.[1]?.trim();if(!l)continue;let u=l.replace(/[\\/]+/g,_e__default.sep).replace(/^[\\/]+/,""),f=_e__default.resolve(n,u);Vr(f)&&r.push(f);}let o=[],i=new Map;for(let a of e.matchAll(/SET\s+"(\w+)=%~?dp0%?[\\/]?([^"]+)"/gi)){let d=a[1].toUpperCase(),c=a[2].trim().replace(/[\\/]+/g,_e__default.sep).replace(/^[\\/]+/,"");i.set(d,_e__default.resolve(n,c));}for(let a of e.split(/\r?\n/))if(a.includes("%*"))for(let d of a.matchAll(/"%(\w+)%"/g)){let c=i.get(d[1].toUpperCase());c&&Vr(c)&&o.push(c);}let s=a=>a.find(d=>{let c=ws(_e__default.basename(d));return c!=="node.exe"&&c!=="node"})??null;return s(o)??s(r)}catch{return null}}function o_(t,e){if(typeof e=="string")return Ts(e)||null;if(!e||typeof e!="object")return null;if(t){let n=e[t],r=typeof n=="string"?Ts(n):void 0;if(r)return r}for(let n of Object.values(e)){let r=typeof n=="string"?Ts(n):void 0;if(r)return r}return null}function i_(t,e){if(!e)return null;let n=_e__default.dirname(t),r=[_e__default.resolve(n,"..",e),_e__default.resolve(n,"node_modules",e)];for(let o of r){let i=_e__default.join(o,"package.json");if(Vr(i))try{let s=JSON.parse(readFileSync(i,"utf8")),a=o_(e,s.bin);if(!a)continue;let d=_e__default.resolve(o,a);if(Vr(d))return d}catch{}}return null}function s_(t){let e=t.platform??process.platform,n=t.env??process.env,r=t.execPath??process.execPath,o=t.cwd,i=t.resolution;if(e!=="win32")return {command:Jr(t.command,{cwd:o,env:n,platform:e,resolution:i}),leadingArgv:[],resolution:"direct"};let s=Jr(t.command,{cwd:o,env:n,platform:e,resolution:i}),a=ws(_e__default.extname(s));if(a===".js"||a===".cjs"||a===".mjs")return {command:r,leadingArgv:[s],resolution:"node-entrypoint",windowsHide:true};if(a===".cmd"||a===".bat"){let d=r_(s)??i_(s,t.packageName);return d?ws(_e__default.extname(d))===".exe"?{command:d,leadingArgv:[],resolution:"exe-entrypoint",windowsHide:true}:{command:r,leadingArgv:[d],resolution:"node-entrypoint",windowsHide:true}:{command:s,leadingArgv:[],resolution:"unresolved-wrapper"}}return {command:s,leadingArgv:[],resolution:"direct"}}function a_(t){if(t.candidate.resolution!=="unresolved-wrapper")return {command:t.candidate.command,leadingArgv:t.candidate.leadingArgv,resolution:t.candidate.resolution,windowsHide:t.candidate.windowsHide};if(t.allowShellFallback===true)return {command:t.candidate.command,leadingArgv:[],resolution:"shell-fallback",shell:true};throw new Error(`${_e__default.basename(t.candidate.command)} wrapper resolved, but no executable/Node entrypoint could be resolved without shell execution.`)}function pr(t){let e=s_(t);return a_({candidate:e,allowShellFallback:t.allowShellFallback})}function gr(t,e){return {command:t.command,argv:[...t.leadingArgv,...e],resolution:t.resolution,shell:t.shell,windowsHide:t.windowsHide}}var Kr=z(()=>{p();});function d_(t){if(t.type!=="usage"||!("input_tokens"in t))return null;let e=Number(t.input_tokens??0),n=Number(t.output_tokens??0),o="cache_read_input_tokens"in t?Number(t.cache_read_input_tokens):void 0,i="cached_input_tokens"in t?Number(t.cached_input_tokens):void 0,s=o!==void 0?o:i??0;return {inputTokens:o!==void 0?e+o:e,outputTokens:n,cachedInputTokens:s}}function c_(t){let e=t.usage;if(!e||typeof e!="object"||Array.isArray(e))return null;let n=e;if(!("input_tokens"in n))return null;let r=Number(n.input_tokens??0),o=Number(n.output_tokens??0),s="cache_read_input_tokens"in n?Number(n.cache_read_input_tokens):void 0,a="cached_input_tokens"in n?Number(n.cached_input_tokens):void 0,d=s!==void 0?s:a??0;return {inputTokens:s!==void 0?r+s:r,outputTokens:o,cachedInputTokens:d}}function l_(t){if(t.type!=="step_finish")return null;let n=t.part?.tokens;if(!n)return null;let r=Number(n.input??0),o=Number(n.output??0),i=n.cache,s=i?Number(i.read??0):0;return {inputTokens:r+s,outputTokens:o,cachedInputTokens:s}}function zu(t){let e=new Map,n;for(let i of t.split(`
1
+ import*as _e from'path';import _e__default,{join,resolve,dirname,isAbsolute,basename,normalize,delimiter}from'path';import {fileURLToPath}from'url';import*as Rg from'fs';import {existsSync,readFileSync,mkdirSync,writeFileSync,statSync,renameSync,readdirSync,chmodSync,rmSync,unlinkSync,appendFileSync,promises}from'fs';import {createHash,randomUUID,randomBytes}from'crypto';import {spawn,execFile,execFileSync}from'child_process';import {StringDecoder}from'string_decoder';import {ndJsonStream,ClientSideConnection}from'@agentclientprotocol/sdk';import {load,dump}from'js-yaml';import {getEncoding}from'js-tiktoken';import {Tiktoken}from'js-tiktoken/lite';import ld from'js-tiktoken/ranks/o200k_base';import {z as z$1}from'zod';import*as bc from'os';import bc__default,{homedir,tmpdir}from'os';import {createRequire}from'module';import*as Qt from'handlebars';import Qt__default from'handlebars';import {readFile,access,readdir}from'fs/promises';import {EventEmitter}from'events';import {AsyncLocalStorage}from'async_hooks';import {sql,eq,desc,and,isNull,lt as lt$1,or,notLike,asc,like,inArray,gte,isNotNull,ne}from'drizzle-orm';import {sqliteTable,integer,text,real,index,check,uniqueIndex,unique,primaryKey}from'drizzle-orm/sqlite-core';import {McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import {WebStandardStreamableHTTPServerTransport}from'@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js';import {performance as performance$1}from'perf_hooks';var ed=Object.defineProperty;var Vh=Object.getOwnPropertyDescriptor;var Jh=Object.getOwnPropertyNames;var Kh=Object.prototype.hasOwnProperty;var Ye=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var z=(t,e)=>()=>(t&&(e=t(t=0)),e);var ts=(t,e)=>{for(var n in e)ed(t,n,{get:e[n],enumerable:true});},Xh=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Jh(e))!Kh.call(t,o)&&o!==n&&ed(t,o,{get:()=>e[o],enumerable:!(r=Vh(e,o))||r.enumerable});return t};var pu=t=>Xh(ed({},"__esModule",{value:true}),t);var gu,Zh,T,w,p=z(()=>{gu=()=>fileURLToPath(import.meta.url),Zh=()=>_e__default.dirname(gu()),T=Zh(),w=gu();});var fu,td,Ao,nd,mu,jr=z(()=>{p();fu=["flagship","balanced","speed"],td=["none","minimal","low","medium","high","xhigh","max","ultra"],Ao={claude:["low","medium","high","xhigh","max"],codex:["minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]},nd={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}},mu={version:1,providers:{"cli/codex":{model:"gpt-5.6-sol",query:{mode:"agent",effort:"high"},execute:{mode:"agent-full-access",effort:"xhigh"}},"cli/claude":{model:"claude-opus-5",query:{mode:"default",effort:"high"},execute:{mode:"bypassPermissions",effort:"xhigh"}},"cli/grok":{model:"grok-4.6",query:{mode:"default",effort:"high",providerOptions:{alwaysApprove:true,sandbox:"off"}},execute:{mode:"default",effort:"xhigh",providerOptions:{alwaysApprove:true,sandbox:"off"}}}}},Object.fromEntries(Object.entries(nd).map(([t,e])=>[t,e.models]));});var ir,rd,hu,od=z(()=>{p();ir={"claude-fable-5-1":{input:10,cachedInput:.25,output:50},"claude-fable-5":{input:10,cachedInput:1,output:50},"claude-opus-5":{input:5,cachedInput:.5,output:25},"claude-opus-4-8":{input:5,cachedInput:.5,output:25},"claude-opus-4-7":{input:5,cachedInput:.5,output:25},"claude-opus-4-6":{input:5,cachedInput:.5,output:25},"claude-sonnet-5":{input:2,cachedInput:.2,output:10},"claude-sonnet-4-6":{input:3,cachedInput:.3,output:15},"claude-haiku-4-5":{input:1,cachedInput:.1,output:5},"gpt-6-astra":{input:10,cachedInput:1,output:50},"gpt-5.6-sol":{input:5,cachedInput:.5,output:30},"gpt-5.6-terra":{input:2,cachedInput:.2,output:12},"gpt-5.6-luna":{input:.2,cachedInput:.02,output:1.2},"gpt-5.5":{input:5,cachedInput:.5,output:30},"gpt-5.4":{input:2.5,cachedInput:.25,output:15},"gpt-5.4-mini":{input:.75,cachedInput:.075,output:4.5},"gpt-5.3-codex":{input:1.75,cachedInput:.175,output:14},"gpt-5-mini":{input:.4,cachedInput:.1,output:1.6},"gpt-4.1":{input:2,cachedInput:.5,output:8},"gpt-4o":{input:2.5,cachedInput:1.25,output:10},"glm-5.2":{input:1.4,cachedInput:.26,output:4.4},"glm-5.1":{input:1.4,cachedInput:.26,output:4.4},"gemini-3.7-flash":{input:1.5,cachedInput:.15,output:7.5},"gemini-3.6-flash":{input:1.5,cachedInput:.15,output:7.5},"grok-4.6":{input:2,cachedInput:.5,output:6},"grok-4.5":{input:2,cachedInput:.3,output:6}},rd=new Set(["gpt-5.3-codex-spark"]),hu=new Set(["auto","claude-fable-5","claude-fable-5-1","claude-haiku-4-5","claude-opus-4-6-thinking","claude-opus-4-6[1m]","claude-opus-4-7[1m]","claude-opus-4-8[1m]","claude-opus-5","claude-sonnet-4-6","claude-sonnet-4-6[1m]","claude-sonnet-5","gemini-3.1-pro","gemini-3.5-flash","gemini-3.6-flash","gemini-3.7-flash","gpt-5.3-codex","gpt-5.3-codex-spark","gpt-5.4","gpt-5.4-mini","gpt-5.5","gpt-5.6-luna","gpt-5.6-sol","gpt-5.6-terra","gpt-6-astra","gpt-oss-120b","grok-4.5","grok-4.6"]);});function _u(t){Co=t;}function Tu(t){yu=Object.fromEntries(Object.entries(t).map(([e,n])=>[e,{...n}]));}function id(t){let e=t.toLowerCase().trim();e=e.replace(/\[[^\]]*\]$/g,"");let n=e.lastIndexOf("/");return n>=0&&(e=e.slice(n+1)),e=e.replace(/-\d{8}$/,""),e}function ny(t){if(!t)return;let e="inputPerMillionTokensUsd"in t?t.inputPerMillionTokensUsd:t.input,n="outputPerMillionTokensUsd"in t?t.outputPerMillionTokensUsd:t.output;if(!(!Number.isFinite(e)||e<=0||!Number.isFinite(n)||n<=0))return {inputPerMillionTokensUsd:e,outputPerMillionTokensUsd:n}}function wu(t){if(!t)return;let e=t.replace(/\[[^\]]*\]$/g,"");return ny(yu[e]??ir[e])}function ry(t){if(!t)return console.warn("[pricing] missing model id; cost is being recorded as 0"),xo;let e=id(t),n=ty[e];if(n)return Co[n]??ir[n]??xo;if(Co[e])return Co[e];if(ir[e])return ir[e];if(rd.has(e))return console.warn(`[pricing] unpublished model pricing: ${t}, cost_usd=0`),xo;if(hu.has(e))return console.warn(`[pricing] missing catalog pricing: ${t}, cost_usd=0`),xo;let r={...ir,...Co};for(let o of Object.keys(r))if(e.includes(o))return r[o];return console.warn(`[pricing] Unknown model: ${t}, cost_usd=0`),xo}function oy(t,e,n,r=0,o){let i=ry(n),s=Math.min(r,t),d=(t-s)*i.input/1e6,c=s*i.cachedInput/1e6,l=e*i.output/1e6;return d+c+l}function ku(t,e,n,r,o,i){return t&&t>0?t:!e&&!n?0:oy(e??0,n??0,o,r??0)}var ty,xo,Co,yu,Br=z(()=>{p();od();od();ty={opus:"claude-opus-4-8",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5","codex-mini":"gpt-5.3-codex",codex:"gpt-5.3-codex"},xo={input:0,cachedInput:0,output:0},Co={},yu={};});function ns(t){return ay[t]??t}function Iu(t){return dy.get(t)??t}function rs(t){if(!t)return {};let e=cy.get(t);return e?{...e}:{model:t}}function So(t,e){return t==="antigravity"||t==="cli/antigravity"?rs(e):e===void 0?{}:{model:Iu(e)}}var iy,sy,vu,ay,dy,Eu,cy,qr=z(()=>{p();iy="claude-opus-4-8",sy="claude-opus-4-8[1m]",vu=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}],ay={"accept-edits":"acceptEdits",yolo:"bypassPermissions","agent-full-access":"bypassPermissions"};dy=new Map(vu.map(({baseModelId:t,catalogModelId:e})=>[t,e]));Eu=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],cy=new Map(Eu.map(({legacyId:t,model:e,effort:n})=>[t,n===void 0?{model:e}:{model:e,effort:n}]));});function bu(){return {models:[],modes:[],effort:[],modelOverrides:{},providerOptions:[]}}function ly(t){return Array.isArray(t)?{models:t,modes:[],effort:[],modelOverrides:{},providerOptions:[]}:t?{models:t.models??[],modes:t.modes??[],effort:t.effort??[],modelOverrides:t.modelOverrides??{},providerOptions:t.providerOptions??[]}:bu()}function os(t){sd=Object.fromEntries(Object.entries(t).map(([e,n])=>[e,ly(n)]));}function uy(){sd={};}function Gr(t){Ru={...t};}function xt(t){return Ct(t).models}function Ct(t){return sd[t]??nd[t]??bu()}function is(t){return Ru[t]??mu.providers[t]}function Po(t){return Ct(t).modes}function hn(t,e){let n=Ct(t);if(e){if(Object.prototype.hasOwnProperty.call(n.modelOverrides,e))return n.modelOverrides[e]?.effort??n.effort;let r=So(t,e);return r.model===void 0?n.effort:n.modelOverrides[r.model]?.effort??n.effort}return n.effort}function ss(t){return Ct(t).modelOverrides}function Oo(){return xt("claude")}function ad(){return xt("codex")}function dd(){return xt("copilot")}function cd(){return xt("antigravity")}function No(t,e){let n=new Map;for(let r of [...t,...e]){let o=n.get(r.id);if(!o){let{apiPricing:i,recommended:s,...a}=r;n.set(r.id,{...a,...s===true?{recommended:true}:{},...i!=null?{apiPricing:{...i}}:{}});continue}!o.name&&r.name&&(o.name=r.name),o.description==null&&r.description!=null&&(o.description=r.description),o.contextWindowTokens==null&&r.contextWindowTokens!=null&&(o.contextWindowTokens=r.contextWindowTokens),o.tier==null&&r.tier!=null&&(o.tier=r.tier),o.recommended!==true&&r.recommended===true&&(o.recommended=true),o.apiPricing==null&&r.apiPricing!=null&&(o.apiPricing={...r.apiPricing});}return Array.from(n.values())}function Do(t){return t.map(e=>{let{apiPricing:n,...r}=e,o=wu(e.id);return o?{...r,apiPricing:o}:r})}var sd,Ru,lt=z(()=>{p();jr();Br();qr();sd={},Ru={};});function Ts(t){return typeof t!="string"?void 0:t.trim()||void 0}function ws(t){return Ts(t)?.toLowerCase()??""}function Vr(t){try{return statSync(t).isFile()}catch{return false}}function e_(t,e){if(t===e)return true;let n=_e__default.relative(t,e);return n!==""&&!n.startsWith("..")&&!_e__default.isAbsolute(n)}function t_(t,e){if(_e__default.basename(t)!==".bin")return false;let n=_e__default.dirname(t);if(_e__default.basename(n)!=="node_modules")return false;let r=_e__default.dirname(n);return e_(r,e)}function Jr(t,e={}){if(t.includes("/")||t.includes("\\")||_e__default.isAbsolute(t))return t;let n=e.platform??process.platform,r=e.env??process.env,o=_e__default.resolve(e.cwd??process.cwd()),i=(e.resolution??"global_first")==="global_first",s=r.PATH??r.Path??process.env.PATH??process.env.Path??"",a=n==="win32"?";":":",d=s.split(a).map(f=>f.trim()).filter(Boolean),c=_e__default.extname(t).length>0,l=r.PATHEXT??r.Pathext??process.env.PATHEXT??process.env.Pathext??".EXE;.CMD;.BAT;.COM",u=n==="win32"?c?[""]:l.split(";").map(f=>f.trim()).filter(Boolean).map(f=>f.startsWith(".")?f:`.${f}`):[""];for(let f of d){let m=_e__default.resolve(o,f);if(!(i&&t_(m,o)))for(let _ of u){let h=ws(_),I=_.toUpperCase();for(let y of [_,h,I]){let k=_e__default.join(m,`${t}${y}`);if(Vr(k))return k}}}return t}function n_(t,e){return Jr(t,{env:e,platform:"win32",resolution:"local_first"})}function r_(t){if(!Vr(t))return null;try{let e=readFileSync(t,"utf8"),n=_e__default.dirname(t),r=[];for(let a of e.matchAll(/"([^"\r\n]*)"/g)){let l=(a[1]??"").match(/%~?dp0%?\s*[\\/]*(.*)$/i)?.[1]?.trim();if(!l)continue;let u=l.replace(/[\\/]+/g,_e__default.sep).replace(/^[\\/]+/,""),f=_e__default.resolve(n,u);Vr(f)&&r.push(f);}let o=[],i=new Map;for(let a of e.matchAll(/SET\s+"(\w+)=%~?dp0%?[\\/]?([^"]+)"/gi)){let d=a[1].toUpperCase(),c=a[2].trim().replace(/[\\/]+/g,_e__default.sep).replace(/^[\\/]+/,"");i.set(d,_e__default.resolve(n,c));}for(let a of e.split(/\r?\n/))if(a.includes("%*"))for(let d of a.matchAll(/"%(\w+)%"/g)){let c=i.get(d[1].toUpperCase());c&&Vr(c)&&o.push(c);}let s=a=>a.find(d=>{let c=ws(_e__default.basename(d));return c!=="node.exe"&&c!=="node"})??null;return s(o)??s(r)}catch{return null}}function o_(t,e){if(typeof e=="string")return Ts(e)||null;if(!e||typeof e!="object")return null;if(t){let n=e[t],r=typeof n=="string"?Ts(n):void 0;if(r)return r}for(let n of Object.values(e)){let r=typeof n=="string"?Ts(n):void 0;if(r)return r}return null}function i_(t,e){if(!e)return null;let n=_e__default.dirname(t),r=[_e__default.resolve(n,"..",e),_e__default.resolve(n,"node_modules",e)];for(let o of r){let i=_e__default.join(o,"package.json");if(Vr(i))try{let s=JSON.parse(readFileSync(i,"utf8")),a=o_(e,s.bin);if(!a)continue;let d=_e__default.resolve(o,a);if(Vr(d))return d}catch{}}return null}function s_(t){let e=t.platform??process.platform,n=t.env??process.env,r=t.execPath??process.execPath,o=t.cwd,i=t.resolution;if(e!=="win32")return {command:Jr(t.command,{cwd:o,env:n,platform:e,resolution:i}),leadingArgv:[],resolution:"direct"};let s=Jr(t.command,{cwd:o,env:n,platform:e,resolution:i}),a=ws(_e__default.extname(s));if(a===".js"||a===".cjs"||a===".mjs")return {command:r,leadingArgv:[s],resolution:"node-entrypoint",windowsHide:true};if(a===".cmd"||a===".bat"){let d=r_(s)??i_(s,t.packageName);return d?ws(_e__default.extname(d))===".exe"?{command:d,leadingArgv:[],resolution:"exe-entrypoint",windowsHide:true}:{command:r,leadingArgv:[d],resolution:"node-entrypoint",windowsHide:true}:{command:s,leadingArgv:[],resolution:"unresolved-wrapper"}}return {command:s,leadingArgv:[],resolution:"direct"}}function a_(t){if(t.candidate.resolution!=="unresolved-wrapper")return {command:t.candidate.command,leadingArgv:t.candidate.leadingArgv,resolution:t.candidate.resolution,windowsHide:t.candidate.windowsHide};if(t.allowShellFallback===true)return {command:t.candidate.command,leadingArgv:[],resolution:"shell-fallback",shell:true};throw new Error(`${_e__default.basename(t.candidate.command)} wrapper resolved, but no executable/Node entrypoint could be resolved without shell execution.`)}function pr(t){let e=s_(t);return a_({candidate:e,allowShellFallback:t.allowShellFallback})}function gr(t,e){return {command:t.command,argv:[...t.leadingArgv,...e],resolution:t.resolution,shell:t.shell,windowsHide:t.windowsHide}}var Kr=z(()=>{p();});function d_(t){if(t.type!=="usage"||!("input_tokens"in t))return null;let e=Number(t.input_tokens??0),n=Number(t.output_tokens??0),o="cache_read_input_tokens"in t?Number(t.cache_read_input_tokens):void 0,i="cached_input_tokens"in t?Number(t.cached_input_tokens):void 0,s=o!==void 0?o:i??0;return {inputTokens:o!==void 0?e+o:e,outputTokens:n,cachedInputTokens:s}}function c_(t){let e=t.usage;if(!e||typeof e!="object"||Array.isArray(e))return null;let n=e;if(!("input_tokens"in n))return null;let r=Number(n.input_tokens??0),o=Number(n.output_tokens??0),s="cache_read_input_tokens"in n?Number(n.cache_read_input_tokens):void 0,a="cached_input_tokens"in n?Number(n.cached_input_tokens):void 0,d=s!==void 0?s:a??0;return {inputTokens:s!==void 0?r+s:r,outputTokens:o,cachedInputTokens:d}}function l_(t){if(t.type!=="step_finish")return null;let n=t.part?.tokens;if(!n)return null;let r=Number(n.input??0),o=Number(n.output??0),i=n.cache,s=i?Number(i.read??0):0;return {inputTokens:r+s,outputTokens:o,cachedInputTokens:s}}function zu(t){let e=new Map,n;for(let i of t.split(`
2
2
  `))if(i.trim())try{let s=JSON.parse(i);if(s.type!=="assistant")continue;let a=s.message,d=a?.id,c=a?.usage;if(typeof d!="string"||!c)continue;let l=Number(c.input_tokens??0),u=Number(c.cache_read_input_tokens??0);e.set(d,{inputTokens:l+u,cachedInputTokens:u});let f=a?.model;typeof f=="string"&&f&&(n=f);}catch{}if(e.size===0)return;let r=0,o=0;for(let i of e.values())r+=i.inputTokens,o+=i.cachedInputTokens;return {inputTokens:r,cachedInputTokens:o,model:n}}function _n(t){if(!t||!t.trim())return;let e=null,n=null;for(let r of t.split(`
3
3
  `))if(r.trim())try{let o=JSON.parse(r),i=l_(o);if(i){n||(n={inputTokens:0,outputTokens:0,cachedInputTokens:0}),n.inputTokens+=i.inputTokens,n.outputTokens+=i.outputTokens,n.cachedInputTokens+=i.cachedInputTokens;continue}let s=d_(o)??c_(o);s&&(e=s);}catch{}return n||(e??void 0)}var fr=z(()=>{p();});var M,mr,hr,yr=z(()=>{p();M=class extends Error{constructor(n,r,o){super(n);this.providerStr=r;this.name="ProviderError",this.code=o?.code??"UNKNOWN",this.kind=o?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=o?.retryAfterMs;}providerStr;code;kind;retryAfterMs;stdout},mr=class extends M{constructor(e,n){super(e,n,{code:"TIMEOUT_IDLE",kind:"permanent"}),this.name="IdleTimeoutError";}},hr=class extends M{constructor(e,n){super(e,n,{code:"TIMEOUT_TOTAL",kind:"permanent"}),this.name="TotalTimeoutError";}};});var Xt,ks=z(()=>{p();yr();Xt=class extends M{name="RateLimitError";constructor(e,n="cli/claude"){super(e,n,{code:"QUOTA_EXHAUSTED",kind:"transient"});}};});function St(t){return /crewx\s+(q|query|x|execute)\s/.test(t)}function Pt(t,e,n){let r=e.match(/@(\S+)/);return {timestamp:t,type:"agent_call",targetAgent:r?.[1]?.replace(/["']/g,""),toolInput:e,...typeof n=="string"&&n.length>0?{toolUseId:n}:{}}}var Xr=z(()=>{p();});function Ju(t){m_(t);let e={schema:1};return t.taskId!==void 0&&(e.taskId=t.taskId),t.agentId!==void 0&&(e.agentId=t.agentId),e.isError=t.isError,`${vs}${JSON.stringify(e)}]]`}function Es(t){let e=h_(t),n=e.map((i,s)=>({line:i,index:s})).filter(({line:i})=>__(i.value)),r=y_(e);return {result:n.length===1&&n[0].index===r?T_(n[0].line.value):null,resultPreview:k_(e,n),hasReservedLine:n.length>0}}function Ku(t){return Es(t).resultPreview}function Ot(t,e){let n=Es(t);return {resultPreview:n.resultPreview,isError:e||n.result?.isError===true,...n.hasReservedLine?{delegationResult:n.result}:{}}}function m_(t){if(t.schema!==void 0&&t.schema!==1)throw new TypeError("Delegation result schema must be 1");if(typeof t.isError!="boolean")throw new TypeError("Delegation result isError must be boolean");let e=t.taskId!==void 0,n=t.agentId!==void 0;if(e!==n)throw new TypeError("Delegation result taskId and agentId must be provided together");if(!e&&!t.isError)throw new TypeError("Successful delegation results require taskId and agentId");if(e&&(!Is(t.taskId)||!Is(t.agentId)))throw new TypeError("Delegation result taskId and agentId must be non-empty strings")}function h_(t){let e=[],n=0;for(let r=0;r<t.length;r++){let o=t[r];if(o!==`
4
4
  `&&o!=="\r")continue;let i=o==="\r"&&t[r+1]===`
@@ -299,7 +299,7 @@ ${r.join(`
299
299
  `),l=a.length>kn;return {edges:a.slice(0,kn).map(u=>({callerAgentId:u.caller_agent_id??null,agentId:u.agent_id,taskCount:u.task_count,totalTokens:u.input_tokens+u.output_tokens,outputTokens:u.output_tokens})),truncated:l}}catch(s){throw new p("DB_ERROR","Failed to get delegation matrix",s)}finally{o.close();}}findTaskEvidence(e){if(!this.dbExists())return [];let n=this.openHandle(false);try{let r=[];e.workspaceId&&r.push(eq(d.workspace_id,e.workspaceId)),e.agents&&e.agents.length>0&&r.push(inArray(d.agent_id,e.agents)),e.statuses&&e.statuses.length>0&&r.push(inArray(d.status,e.statuses)),e.from&&r.push(gte(d.started_at,e.from)),e.to&&r.push(lt$1(d.started_at,e.to));let o=r.length>0?and(...r):void 0,s=(e.order??"DESC")==="ASC"?asc(d.started_at):desc(d.started_at),i={id:d.id,agent_id:d.agent_id,status:d.status,prompt:d.prompt,started_at:d.started_at,completed_at:d.completed_at,thread_id:d.thread_id};return e.limit?n.db.select(i).from(d).where(o).orderBy(s).limit(e.limit).all():n.db.select(i).from(d).where(o).orderBy(s).all()}catch(r){throw new p("DB_ERROR","Failed to find task evidence",r)}finally{n.close();}}findThreadChains(e){if(!this.dbExists())return [];let n=this.openHandle(false);try{let r=e.maxThreads??8,o=e.maxTurnsPerThread??4,s=[isNotNull(d.thread_id),isNull(d.parent_task_id),isNull(d.caller_agent_id),or(isNull(d.platform),ne$1(d.platform,"workflow")),or(isNull(d.metadata),and(notLike(d.metadata,'%"kind":"workflow_card"%'),notLike(d.metadata,'%"kind":"workflow_ui_instance"%'))),or(isNull(d.metadata),notLike(d.metadata,'%"retriedFromTaskId"%'))];e.workspaceId&&s.push(eq(d.workspace_id,e.workspaceId)),e.from&&s.push(gte(d.started_at,e.from)),e.to&&s.push(lt$1(d.started_at,e.to));let i=n.db.select({id:d.id,agent_id:d.agent_id,status:d.status,prompt:d.prompt,started_at:d.started_at,completed_at:d.completed_at,thread_id:d.thread_id}).from(d).where(and(...s)).orderBy(asc(d.started_at),asc(d.id)).all(),a=new Map;for(let c of i){if(!c.thread_id)continue;let u={id:c.id,agentId:c.agent_id,status:c.status,prompt:c.prompt,startedAt:c.started_at,completedAt:c.completed_at},g=a.get(c.thread_id);g?g.push(u):a.set(c.thread_id,[u]);}let l=[];for(let[c,u]of a){let g=u.filter(h=>h.agentId===e.targetAgentId).length;g<2||l.push({threadId:c,targetAgentTurnCount:g,turns:u});}return l.sort((c,u)=>{let g=c.turns[c.turns.length-1].startedAt,h=u.turns[u.turns.length-1].startedAt;return g<h?1:g>h?-1:0}),l.slice(0,r).map(c=>({threadId:c.threadId,targetAgentTurnCount:c.targetAgentTurnCount,turns:c.turns.slice(-o)}))}catch(r){throw new p("DB_ERROR","Failed to find thread chains",r)}finally{n.close();}}};var z=class extends Error{constructor(n,r,o){super(n);this.providerStr=r;this.name="ProviderError",this.code=o?.code??"UNKNOWN",this.kind=o?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=o?.retryAfterMs;}providerStr;code;kind;retryAfterMs;stdout};var De=class extends z{name="RateLimitError";constructor(e,n="cli/claude"){super(e,n,{code:"QUOTA_EXHAUSTED",kind:"transient"});}};function ye(t){return /crewx\s+(q|query|x|execute)\s/.test(t)}function we(t,e,n){let r=e.match(/@(\S+)/);return {timestamp:t,type:"agent_call",targetAgent:r?.[1]?.replace(/["']/g,""),toolInput:e,...typeof n=="string"&&n.length>0?{toolUseId:n}:{}}}var Or="[[crewx:delegation-result ",si="[[crewx:delegation-result";var ii=new Set(["schema","taskId","agentId","isError"]);function ai(t){let e=di(t),n=e.map((s,i)=>({line:s,index:i})).filter(({line:s})=>ci(s.value)),r=li(e);return {result:n.length===1&&n[0].index===r?ui(n[0].line.value):null,resultPreview:fi(e,n),hasReservedLine:n.length>0}}function Pe(t,e){let n=ai(t);return {resultPreview:n.resultPreview,isError:e||n.result?.isError===true,...n.hasReservedLine?{delegationResult:n.result}:{}}}function di(t){let e=[],n=0;for(let r=0;r<t.length;r++){let o=t[r];if(o!==`
300
300
  `&&o!=="\r")continue;let s=o==="\r"&&t[r+1]===`
301
301
  `?`\r
302
- `:o;e.push({value:t.slice(n,r),separator:s}),r+=s.length-1,n=r+1;}return e.push({value:t.slice(n),separator:""}),e}function li(t){for(let e=t.length-1;e>=0;e--)if(t[e].value.trim())return e;return -1}function ci(t){return t.trimStart().startsWith(si)}function ui(t){let e=t.trim();if(!e.startsWith(Or)||!e.endsWith("]]"))return null;let n=e.slice(Or.length,-2);if(!n)return null;try{return pi(JSON.parse(n))}catch{return null}}function pi(t){return gi(t)?Object.prototype.hasOwnProperty.call(t,"taskId")?{schema:1,taskId:t.taskId,agentId:t.agentId,isError:t.isError}:{schema:1,isError:true}:null}function gi(t){if(!hi(t)||Object.keys(t).some(r=>!ii.has(r))||t.schema!==1||typeof t.isError!="boolean")return false;let e=Object.prototype.hasOwnProperty.call(t,"taskId"),n=Object.prototype.hasOwnProperty.call(t,"agentId");return e!==n?false:e?Cr(t.taskId)&&Cr(t.agentId):t.isError===true}function fi(t,e){if(e.length===0)return t.map(r=>r.value+r.separator).join("");let n=new Set(e.map(({index:r})=>r));return t.map((r,o)=>n.has(o)?"":r.value+r.separator).join("")}function Cr(t){return typeof t=="string"&&t.trim().length>0}function hi(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ee(t){if(typeof t=="string")return t;if(!t||typeof t!="object")return JSON.stringify(t??{});let e=t;return typeof e.command=="string"?e.command:typeof e.file_path=="string"?e.file_path:typeof e.filePath=="string"?e.filePath:typeof e.path=="string"?e.path:typeof e.query=="string"?e.query:typeof e.pattern=="string"?e.pattern:typeof e.url=="string"?e.url:typeof e.prompt=="string"?e.prompt.length>200?e.prompt.slice(0,200)+"\u2026":e.prompt:typeof e.description=="string"?e.description:JSON.stringify(e)}var br=["none","minimal","low","medium","high","xhigh","max","ultra"],qt={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]};var wn={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-5.6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["minimal","low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(wn).map(([t,e])=>[t,e.models]));var mi=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}],_i={"accept-edits":"acceptEdits",yolo:"bypassPermissions","agent-full-access":"bypassPermissions"};function En(t){return _i[t]??t}var ki=new Map(mi.map(({baseModelId:t,catalogModelId:e})=>[t,e]));function Ti(t){return ki.get(t)??t}var yi=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],wi=new Map(yi.map(({legacyId:t,model:e,effort:n})=>[t,n===void 0?{model:e}:{model:e,effort:n}]));function Rn(t){if(!t)return {};let e=wi.get(t);return e?{...e}:{model:t}}function In(t,e){return t==="antigravity"||t==="cli/antigravity"?Rn(e):e===void 0?{}:{model:Ti(e)}}var Ei={};function Ri(){return {models:[],modes:[],effort:[],modelOverrides:{},providerOptions:[]}}function je(t){return Bt(t).models}function Bt(t){return Ei[t]??wn[t]??Ri()}function mt(t,e){let n=Bt(t);if(e){if(Object.prototype.hasOwnProperty.call(n.modelOverrides,e))return n.modelOverrides[e]?.effort??n.effort;let r=In(t,e);return r.model===void 0?n.effort:n.modelOverrides[r.model]?.effort??n.effort}return n.effort}function Nr(t){return Bt(t).modelOverrides}function Dr(){return je("claude")}function Pr(){return je("codex")}function Lr(){return je("copilot")}function Mr(){return je("antigravity")}var Ii={auto:"default"};function $r(t){return Ii[t]??t}var vi=new Set(br);function jt(t,e){return (qt[t]??[]).includes(e)}function Ge(t){if(!t)return {};let e=t.match(/^(.+?)\[([^\]]+)\]$/);if(e){let n=e[2].toLowerCase();return vi.has(n)?{model:e[1],effort:n}:{model:t}}return {model:t}}function Hr(t){switch(t){case "agent-full-access":case "yolo":return ["--dangerously-bypass-approvals-and-sandbox"];case "read-only":case "plan":return ["--sandbox","read-only"];case "agent":return ["--sandbox","workspace-write"];default:return []}}function Ur(t){switch(t){case "agent-full-access":case "yolo":return ["--dangerously-bypass-approvals-and-sandbox"];case "read-only":case "plan":return ["-c","sandbox_mode=read-only"];case "agent":return ["-c","sandbox_mode=workspace-write"];default:return []}}function Fr(t){return !t||!jt("codex",t)?[]:["-c",`model_reasoning_effort=${t}`]}function qr(t){if(!t)return [];let e=new Set(["acceptEdits","bypassPermissions","default","delegate","dontAsk","plan"]),n=$r(t);return e.has(n)?["--permission-mode",n]:[]}function Br(t){return t?jt("claude",t)?["--effort",t]:[]:[]}var Ai=new Set(["default","acceptEdits","auto","dontAsk","bypassPermissions","plan"]);function jr(t){return t==="default"?[]:t&&Ai.has(t)?["--permission-mode",t]:[]}function Gr(t){return t===true?["--always-approve"]:[]}function Wr(t,e=n=>console.warn(n)){return t===void 0?[]:t==="workspace"||t==="read-only"||t==="off"?["--sandbox",t]:(e(`[grok] Invalid sandbox value ${JSON.stringify(t)}; using workspace.`),["--sandbox","workspace"])}function zr(t){return t?jt("grok",t)?["--effort",t]:[]:[]}function Vr(t){if(!t)return [];switch(En(t)){case "default":return [];case "plan":return ["--mode","plan"];case "acceptEdits":return ["--mode","accept-edits"];case "bypassPermissions":return ["--dangerously-skip-permissions"];default:return []}}function Jr(t){return t?jt("antigravity",t)?["--effort",t]:[]:[]}function xi(t){if(t.type!=="usage"||!("input_tokens"in t))return null;let e=Number(t.input_tokens??0),n=Number(t.output_tokens??0),o="cache_read_input_tokens"in t?Number(t.cache_read_input_tokens):void 0,s="cached_input_tokens"in t?Number(t.cached_input_tokens):void 0,i=o!==void 0?o:s??0;return {inputTokens:o!==void 0?e+o:e,outputTokens:n,cachedInputTokens:i}}function Si(t){let e=t.usage;if(!e||typeof e!="object"||Array.isArray(e))return null;let n=e;if(!("input_tokens"in n))return null;let r=Number(n.input_tokens??0),o=Number(n.output_tokens??0),i="cache_read_input_tokens"in n?Number(n.cache_read_input_tokens):void 0,a="cached_input_tokens"in n?Number(n.cached_input_tokens):void 0,l=i!==void 0?i:a??0;return {inputTokens:i!==void 0?r+i:r,outputTokens:o,cachedInputTokens:l}}function Oi(t){if(t.type!=="step_finish")return null;let n=t.part?.tokens;if(!n)return null;let r=Number(n.input??0),o=Number(n.output??0),s=n.cache,i=s?Number(s.read??0):0;return {inputTokens:r+i,outputTokens:o,cachedInputTokens:i}}function Kr(t){let e=new Map,n;for(let s of t.split(`
302
+ `:o;e.push({value:t.slice(n,r),separator:s}),r+=s.length-1,n=r+1;}return e.push({value:t.slice(n),separator:""}),e}function li(t){for(let e=t.length-1;e>=0;e--)if(t[e].value.trim())return e;return -1}function ci(t){return t.trimStart().startsWith(si)}function ui(t){let e=t.trim();if(!e.startsWith(Or)||!e.endsWith("]]"))return null;let n=e.slice(Or.length,-2);if(!n)return null;try{return pi(JSON.parse(n))}catch{return null}}function pi(t){return gi(t)?Object.prototype.hasOwnProperty.call(t,"taskId")?{schema:1,taskId:t.taskId,agentId:t.agentId,isError:t.isError}:{schema:1,isError:true}:null}function gi(t){if(!hi(t)||Object.keys(t).some(r=>!ii.has(r))||t.schema!==1||typeof t.isError!="boolean")return false;let e=Object.prototype.hasOwnProperty.call(t,"taskId"),n=Object.prototype.hasOwnProperty.call(t,"agentId");return e!==n?false:e?Cr(t.taskId)&&Cr(t.agentId):t.isError===true}function fi(t,e){if(e.length===0)return t.map(r=>r.value+r.separator).join("");let n=new Set(e.map(({index:r})=>r));return t.map((r,o)=>n.has(o)?"":r.value+r.separator).join("")}function Cr(t){return typeof t=="string"&&t.trim().length>0}function hi(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ee(t){if(typeof t=="string")return t;if(!t||typeof t!="object")return JSON.stringify(t??{});let e=t;return typeof e.command=="string"?e.command:typeof e.file_path=="string"?e.file_path:typeof e.filePath=="string"?e.filePath:typeof e.path=="string"?e.path:typeof e.query=="string"?e.query:typeof e.pattern=="string"?e.pattern:typeof e.url=="string"?e.url:typeof e.prompt=="string"?e.prompt.length>200?e.prompt.slice(0,200)+"\u2026":e.prompt:typeof e.description=="string"?e.description:JSON.stringify(e)}var br=["none","minimal","low","medium","high","xhigh","max","ultra"],qt={claude:["low","medium","high","xhigh","max"],codex:["minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]};var wn={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(wn).map(([t,e])=>[t,e.models]));var mi=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}],_i={"accept-edits":"acceptEdits",yolo:"bypassPermissions","agent-full-access":"bypassPermissions"};function En(t){return _i[t]??t}var ki=new Map(mi.map(({baseModelId:t,catalogModelId:e})=>[t,e]));function Ti(t){return ki.get(t)??t}var yi=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],wi=new Map(yi.map(({legacyId:t,model:e,effort:n})=>[t,n===void 0?{model:e}:{model:e,effort:n}]));function Rn(t){if(!t)return {};let e=wi.get(t);return e?{...e}:{model:t}}function In(t,e){return t==="antigravity"||t==="cli/antigravity"?Rn(e):e===void 0?{}:{model:Ti(e)}}var Ei={};function Ri(){return {models:[],modes:[],effort:[],modelOverrides:{},providerOptions:[]}}function je(t){return Bt(t).models}function Bt(t){return Ei[t]??wn[t]??Ri()}function mt(t,e){let n=Bt(t);if(e){if(Object.prototype.hasOwnProperty.call(n.modelOverrides,e))return n.modelOverrides[e]?.effort??n.effort;let r=In(t,e);return r.model===void 0?n.effort:n.modelOverrides[r.model]?.effort??n.effort}return n.effort}function Nr(t){return Bt(t).modelOverrides}function Dr(){return je("claude")}function Pr(){return je("codex")}function Lr(){return je("copilot")}function Mr(){return je("antigravity")}var Ii={auto:"default"};function $r(t){return Ii[t]??t}var vi=new Set(br);function jt(t,e){return (qt[t]??[]).includes(e)}function Ge(t){if(!t)return {};let e=t.match(/^(.+?)\[([^\]]+)\]$/);if(e){let n=e[2].toLowerCase();return vi.has(n)?{model:e[1],effort:n}:{model:t}}return {model:t}}function Hr(t){switch(t){case "agent-full-access":case "yolo":return ["--dangerously-bypass-approvals-and-sandbox"];case "read-only":case "plan":return ["--sandbox","read-only"];case "agent":return ["--sandbox","workspace-write"];default:return []}}function Ur(t){switch(t){case "agent-full-access":case "yolo":return ["--dangerously-bypass-approvals-and-sandbox"];case "read-only":case "plan":return ["-c","sandbox_mode=read-only"];case "agent":return ["-c","sandbox_mode=workspace-write"];default:return []}}function Fr(t){return !t||!jt("codex",t)?[]:["-c",`model_reasoning_effort=${t}`]}function qr(t){if(!t)return [];let e=new Set(["acceptEdits","bypassPermissions","default","delegate","dontAsk","plan"]),n=$r(t);return e.has(n)?["--permission-mode",n]:[]}function Br(t){return t?jt("claude",t)?["--effort",t]:[]:[]}var Ai=new Set(["default","acceptEdits","auto","dontAsk","bypassPermissions","plan"]);function jr(t){return t==="default"?[]:t&&Ai.has(t)?["--permission-mode",t]:[]}function Gr(t){return t===true?["--always-approve"]:[]}function Wr(t,e=n=>console.warn(n)){return t===void 0?[]:t==="workspace"||t==="read-only"||t==="off"?["--sandbox",t]:(e(`[grok] Invalid sandbox value ${JSON.stringify(t)}; using workspace.`),["--sandbox","workspace"])}function zr(t){return t?jt("grok",t)?["--effort",t]:[]:[]}function Vr(t){if(!t)return [];switch(En(t)){case "default":return [];case "plan":return ["--mode","plan"];case "acceptEdits":return ["--mode","accept-edits"];case "bypassPermissions":return ["--dangerously-skip-permissions"];default:return []}}function Jr(t){return t?jt("antigravity",t)?["--effort",t]:[]:[]}function xi(t){if(t.type!=="usage"||!("input_tokens"in t))return null;let e=Number(t.input_tokens??0),n=Number(t.output_tokens??0),o="cache_read_input_tokens"in t?Number(t.cache_read_input_tokens):void 0,s="cached_input_tokens"in t?Number(t.cached_input_tokens):void 0,i=o!==void 0?o:s??0;return {inputTokens:o!==void 0?e+o:e,outputTokens:n,cachedInputTokens:i}}function Si(t){let e=t.usage;if(!e||typeof e!="object"||Array.isArray(e))return null;let n=e;if(!("input_tokens"in n))return null;let r=Number(n.input_tokens??0),o=Number(n.output_tokens??0),i="cache_read_input_tokens"in n?Number(n.cache_read_input_tokens):void 0,a="cached_input_tokens"in n?Number(n.cached_input_tokens):void 0,l=i!==void 0?i:a??0;return {inputTokens:i!==void 0?r+i:r,outputTokens:o,cachedInputTokens:l}}function Oi(t){if(t.type!=="step_finish")return null;let n=t.part?.tokens;if(!n)return null;let r=Number(n.input??0),o=Number(n.output??0),s=n.cache,i=s?Number(s.read??0):0;return {inputTokens:r+i,outputTokens:o,cachedInputTokens:i}}function Kr(t){let e=new Map,n;for(let s of t.split(`
303
303
  `))if(s.trim())try{let i=JSON.parse(s);if(i.type!=="assistant")continue;let a=i.message,l=a?.id,c=a?.usage;if(typeof l!="string"||!c)continue;let u=Number(c.input_tokens??0),g=Number(c.cache_read_input_tokens??0);e.set(l,{inputTokens:u+g,cachedInputTokens:g});let h=a?.model;typeof h=="string"&&h&&(n=h);}catch{}if(e.size===0)return;let r=0,o=0;for(let s of e.values())r+=s.inputTokens,o+=s.cachedInputTokens;return {inputTokens:r,cachedInputTokens:o,model:n}}function et(t){if(!t||!t.trim())return;let e=null,n=null;for(let r of t.split(`
304
304
  `))if(r.trim())try{let o=JSON.parse(r),s=Oi(o);if(s){n||(n={inputTokens:0,outputTokens:0,cachedInputTokens:0}),n.inputTokens+=s.inputTokens,n.outputTokens+=s.outputTokens,n.cachedInputTokens+=s.cachedInputTokens;continue}let i=xi(o)??Si(o);i&&(e=i);}catch{}return n||(e??void 0)}var Ci=new Set(["tool_progress"]);function Yr(t){let e=t.split(`
305
305
  `).filter(o=>o.trim()),n=[],r=null;for(let o of e)try{let s=JSON.parse(o);if(s.type==="assistant"&&Array.isArray(s.message?.content))for(let i of s.message.content)i.type==="text"&&typeof i.text=="string"&&i.text.trim()&&n.push(i.text.trim());s.type==="result"&&typeof s.result=="string"&&(r=s.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var vn={command:"claude",meta:{displayName:"Claude",models:Dr(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:o}=Ge(e.model),s=e.effort??o,i=qr(e.mode),a=Br(s),l=r?["--model",r]:[],c=e.resumeSessionId?["--resume",e.resumeSessionId]:[];if(e.additionalArgs!==void 0){let g=[...e.additionalArgs];return g.indexOf("-p")!==-1?{args:["--output-format","stream-json","--verbose",...c,...i,...a,...l,...g],stdinMessage:t}:{args:["--output-format","stream-json","--verbose",...c,...i,...a,...l,...g],stdinMessage:t}}return {args:["-p","--output-format","stream-json","--verbose",...c,...i,...a,...l],stdinMessage:t}},extractText(t){return Yr(t)??t.trim()},extractPartialText(t){return Yr(t)},extractFailure(t){try{let e=JSON.parse(t);if(e.type==="rate_limit_event"){let n=e.rate_limit_info??{};if(n.status==="rejected")return new De(`Claude rate limit: ${n.rateLimitType??"unknown"} (status: ${n.status})`)}if(e.error==="rate_limit"){let n=bi(e);return new De(n?`Claude rate limit: ${n}`:"Claude rate limit")}if(e.type==="result"&&e.is_error===!0){let n=typeof e.result=="string"?e.result:"";if(Ni(n))return new De(`Claude rate limit: ${n}`)}}catch{}return null},parseResultMeta(t){let e=t.split(`
@@ -1 +1 @@
1
- function f(){let e=[];return {events:e,async log(t,o){e.push({event:t,payload:o});}}}function h(){let e={debug:[],info:[],warn:[],error:[]};return {entries:e,debug(t,o){e.debug.push({msg:t,meta:o});},info(t,o){e.info.push({msg:t,meta:o});},warn(t,o){e.warn.push({msg:t,meta:o});},error(t,o){e.error.push({msg:t,meta:o});}}}function A(){let e=200,t,o,n={},i={status(r){return e=r,i},set(r,a){return n[r]=a,i},send(r){return o=r,i},json(r){return t=r,i},end(){return i},getStatusCode:()=>e,getJsonBody:()=>t,getSentBody:()=>o,getHeaders:()=>({...n})};return i}function y(){let e=[];return {routes:e,registerRoute(o,n,i){e.push({path:o,handler:n,opts:i});},async simulate(o,n,i=Buffer.alloc(0),r={},a={},p={}){let c=e.find(m=>m.path===n);if(!c)return {status:404,body:{error:"Not found"},headers:{}};let g={method:o,url:n,headers:r,body:i,params:a,query:p},u=A();return await c.handler(g,u),{status:u.getStatusCode(),body:u.getJsonBody()??u.getSentBody(),headers:u.getHeaders()}}}}function P(e){let t=new Map,o=n=>n.startsWith(`${e}::`)?n:`${e}::${n}`;return {async get(n){let i=t.get(o(n));return i?i.value:void 0},async set(n,i){t.set(o(n),{value:i});},async delete(n){return t.delete(o(n))},async list(n){let i=n?o(n):`${e}::`,r=[];for(let a of t.keys())a.startsWith(i)&&r.push(a.slice(e.length+2));return r}}}function x(e){return P(e)}function M(){let e=new Map;return {blobs:e,async put(t,o,n){return e.set(t,{data:o,contentType:n}),t},async get(t){let o=e.get(t);return o?o.data:void 0},async delete(t){return e.delete(t)}}}function C(e){let t=e.instanceId??"mock-instance",o=f(),n=h(),i=y(),r=x(t),a=M(),p=[],c=[],g=[],u={run:async()=>({output:""}),...e.agentRunner},m=new AbortController,v=async l=>(p.push(l),{accepted:true}),w=async l=>(c.push(l),{accepted:true}),E=async(l,R)=>{g.push({messageId:l,patch:R});},b=async l=>({userId:l,displayName:l}),O=async()=>{},I=async()=>({messageId:"mock-proactive",sentAt:Date.now()});return {instanceId:t,installationId:e.installationId,config:e.config,capabilities:new Set(e.capabilities??[]),log:n,agentRunner:u,db:r,storage:a,audit:o,abortSignal:e.abortSignal??m.signal,httpRouter:i,router:i,inbound:v,emitEvent:w,updateMessage:E,resolveUser:b,respondSync:O,proactive:I,inboundCalls:p,emittedEvents:c,sentMessages:g}}function D(){}var k={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-5.6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["minimal","low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(k).map(([e,t])=>[e,t.models]));var _=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];new Map(_.map(({baseModelId:e,catalogModelId:t})=>[e,t]));var G=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}];new Map(G.map(({legacyId:e,model:t,effort:o})=>[e,o===void 0?{model:t}:{model:t,effort:o}]));function B(){}export{f as createMockAudit,C as createMockContext,h as createMockLogger,y as createMockRouter,M as createMockStorage,x as createMockStore,B as resetModelsOverride,D as resetPricingOverride};
1
+ function f(){let e=[];return {events:e,async log(t,o){e.push({event:t,payload:o});}}}function h(){let e={debug:[],info:[],warn:[],error:[]};return {entries:e,debug(t,o){e.debug.push({msg:t,meta:o});},info(t,o){e.info.push({msg:t,meta:o});},warn(t,o){e.warn.push({msg:t,meta:o});},error(t,o){e.error.push({msg:t,meta:o});}}}function A(){let e=200,t,o,n={},i={status(r){return e=r,i},set(r,a){return n[r]=a,i},send(r){return o=r,i},json(r){return t=r,i},end(){return i},getStatusCode:()=>e,getJsonBody:()=>t,getSentBody:()=>o,getHeaders:()=>({...n})};return i}function y(){let e=[];return {routes:e,registerRoute(o,n,i){e.push({path:o,handler:n,opts:i});},async simulate(o,n,i=Buffer.alloc(0),r={},a={},p={}){let c=e.find(m=>m.path===n);if(!c)return {status:404,body:{error:"Not found"},headers:{}};let g={method:o,url:n,headers:r,body:i,params:a,query:p},u=A();return await c.handler(g,u),{status:u.getStatusCode(),body:u.getJsonBody()??u.getSentBody(),headers:u.getHeaders()}}}}function P(e){let t=new Map,o=n=>n.startsWith(`${e}::`)?n:`${e}::${n}`;return {async get(n){let i=t.get(o(n));return i?i.value:void 0},async set(n,i){t.set(o(n),{value:i});},async delete(n){return t.delete(o(n))},async list(n){let i=n?o(n):`${e}::`,r=[];for(let a of t.keys())a.startsWith(i)&&r.push(a.slice(e.length+2));return r}}}function x(e){return P(e)}function M(){let e=new Map;return {blobs:e,async put(t,o,n){return e.set(t,{data:o,contentType:n}),t},async get(t){let o=e.get(t);return o?o.data:void 0},async delete(t){return e.delete(t)}}}function C(e){let t=e.instanceId??"mock-instance",o=f(),n=h(),i=y(),r=x(t),a=M(),p=[],c=[],g=[],u={run:async()=>({output:""}),...e.agentRunner},m=new AbortController,v=async l=>(p.push(l),{accepted:true}),w=async l=>(c.push(l),{accepted:true}),E=async(l,R)=>{g.push({messageId:l,patch:R});},b=async l=>({userId:l,displayName:l}),O=async()=>{},I=async()=>({messageId:"mock-proactive",sentAt:Date.now()});return {instanceId:t,installationId:e.installationId,config:e.config,capabilities:new Set(e.capabilities??[]),log:n,agentRunner:u,db:r,storage:a,audit:o,abortSignal:e.abortSignal??m.signal,httpRouter:i,router:i,inbound:v,emitEvent:w,updateMessage:E,resolveUser:b,respondSync:O,proactive:I,inboundCalls:p,emittedEvents:c,sentMessages:g}}function D(){}var k={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(k).map(([e,t])=>[e,t.models]));var _=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];new Map(_.map(({baseModelId:e,catalogModelId:t})=>[e,t]));var G=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}];new Map(G.map(({legacyId:e,model:t,effort:o})=>[e,o===void 0?{model:t}:{model:t,effort:o}]));function B(){}export{f as createMockAudit,C as createMockContext,h as createMockLogger,y as createMockRouter,M as createMockStorage,x as createMockStore,B as resetModelsOverride,D as resetPricingOverride};
@@ -1,6 +1,6 @@
1
- import {load}from'js-yaml';import'js-tiktoken';import'js-tiktoken/lite';import Ge from'js-tiktoken/ranks/o200k_base';import {z as z$1}from'zod';var T=class extends Error{constructor(e,n){let o=n.length>0?` Available: ${n.join(", ")}`:"";super(`Agent not found: "${e}".${o}`),this.name="AgentNotFoundError";}},fe={claude:{id:"claude",provider:"cli/claude"},copilot:{id:"copilot",provider:"cli/copilot"},codex:{id:"codex",provider:"cli/codex"}};function b(t,e){let n=t.startsWith("@")?t.slice(1):t,o=e.find(i=>i.id===n);if(o)return o;let r=fe[n];if(r)return r;throw new T(t,e.map(i=>i.id))}var g=class extends Error{constructor(n,o,r){super(n);this.providerStr=o;this.name="ProviderError",this.code=r?.code??"UNKNOWN",this.kind=r?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=r?.retryAfterMs;}providerStr;code;kind;retryAfterMs;stdout};var q=new Map;function M(t,e){q.set(t,e);}function P(t){let e=t.split("/");if(e.length!==2)throw new g(`Invalid provider format: "${t}". Expected namespace/id (e.g., api/webllm)`,t);let[n,o]=e,r=q.get(n);if(r)return r(o,t);throw new g(`Unsupported provider namespace: "${n}". Register a factory with registerProviderFactory('${n}', factory).`,t)}var me=new Function("u","return import(u)"),R=class t{_agents;_config;_tools=new Map;_apiProviders=new Map;constructor(e,n){this._agents=new Map(e.map(o=>[o.id,o])),this._config=n;}static async fromConfig(e,n){let o=new t(e.agents??[],e),r=e.agents??[],i=c=>Array.isArray(c.provider)?c.provider[0]:c.provider,d=r.filter(c=>i(c)==="api/webllm"),a=r.filter(c=>i(c)==="api/openrouter");if(d.length>0&&await o._initWebLLM(d,n?.onProgress),a.length>0){if(!n?.openrouterApiKey)throw new Error("openrouterApiKey is required when using api/openrouter provider");o._initOpenRouter(a,n.openrouterApiKey);}return o._apiProviders.size>0&&M("api",(c,l)=>{let u=o._apiProviders.get(c);if(!u)throw new g(`Unknown api provider: ${c}`,l);return u}),o}async _initWebLLM(e,n){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not available. Chrome 113+ or Edge 113+ required.");let o=await me("https://esm.run/@mlc-ai/web-llm"),r=e[0]?.inline?.model??"gemma-2-2b-it-q4f16_1-MLC",i=await o.CreateMLCEngine(r,{initProgressCallback:n?a=>n(a):void 0}),d=[];this._apiProviders.set("webllm",{async query(a,c){let l=[];c?.systemPrompt&&l.push({role:"system",content:c.systemPrompt}),l.push(...d),l.push({role:"user",content:a});let u="",m=await i.chat.completions.create({messages:l,stream:true,temperature:.7,max_tokens:4096});for await(let x of m){let _=x.choices?.[0]?.delta?.content??"";u+=_,c?.onOutput&&c.onOutput(u,"stdout");}return d.push({role:"user",content:a}),d.push({role:"assistant",content:u}),u},async execute(a,c){return this.query(a,c)}});}_initOpenRouter(e,n){let o=e[0]?.inline?.model??"google/gemma-2-2b-it",r=[];this._apiProviders.set("openrouter",{async query(i,d){let a=[];d?.systemPrompt&&a.push({role:"system",content:d.systemPrompt}),a.push(...r),a.push({role:"user",content:i});let c=await fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:d?.model||o,messages:a,stream:true})});if(!c.ok){let _=await c.text();throw new Error(`OpenRouter API error (${c.status}): ${_}`)}let l=c.body.getReader(),u=new TextDecoder,m="",x="";for(;;){let{done:_,value:pe}=await l.read();if(_)break;x+=u.decode(pe,{stream:true});let V=x.split(`
2
- `);x=V.pop();for(let ge of V){let O=ge.trim();if(!O||!O.startsWith("data: "))continue;let $=O.slice(6);if($!=="[DONE]")try{let K=JSON.parse($).choices?.[0]?.delta?.content??"";m+=K,K&&d?.onOutput&&d.onOutput(m,"stdout");}catch{}}}return r.push({role:"user",content:i}),r.push({role:"assistant",content:m}),m},async execute(i,d){return this.query(i,d)}});}get agents(){return this._agents}get config(){return this._config}get tools(){return this._tools}registerTool(e,n){this._tools.set(e,{name:e,...n});}async query(e,n,o){let r=Date.now(),i;try{i=b(e,Array.from(this._agents.values()));}catch(u){if(u instanceof T)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:u.message},meta:{agentId:e.replace(/^@/,""),provider:"",durationMs:Date.now()-r}};throw u}let d=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,a=o?.provider??d,c=o?.model??i.inline?.model,l;try{l=P(a);}catch(u){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}try{return {ok:!0,data:await l.query(n,{model:c,context:o?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt,onOutput:o?.onOutput?m=>o.onOutput(m):void 0}),meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}catch(u){return {ok:false,data:"",error:{code:"QUERY_FAILED",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}}async execute(e,n,o){let r=Date.now(),i;try{i=b(e,Array.from(this._agents.values()));}catch(u){if(u instanceof T)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:u.message},meta:{agentId:e.replace(/^@/,""),provider:"",durationMs:Date.now()-r}};throw u}let d=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,a=o?.provider??d,c=o?.model??i.inline?.model,l;try{l=P(a);}catch(u){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}try{return {ok:!0,data:await l.execute(n,{model:c,context:o?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt}),meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}catch(u){return {ok:false,data:"",error:{code:"EXECUTE_FAILED",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}}};var p="[REDACTED]",X="[PATH]";function w(t){if(typeof t!="string")return;let e=t.trim();if(e)return e=e.replace(/^\s*at\s+[^\r\n]+(?:\r?\n|$)/gim,""),e=e.replace(/(^|[\r\n])\s*(?:authorization|proxy-authorization|x-api-key|x-goog-api-key|x-auth-token|cookie|set-cookie)\s*:\s*[^\r\n]*/gim,`$1[HTTP HEADER ${p}]`),e=Te(e),e=e.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+\-/]+=*/gi,`${p}`),e=e.replace(/\bsk-[A-Za-z0-9][A-Za-z0-9_-]*/g,p),e=e.replace(/\bghp_[A-Za-z0-9][A-Za-z0-9_-]*/g,p),e=e.replace(/\bxoxb-[A-Za-z0-9-]+/g,p),e=e.replace(/\bxoxp-[A-Za-z0-9-]+/g,p),e=e.replace(/\bAKIA[0-9A-Z]{12,}\b/g,p),e=e.replace(/\bgithub_pat_[A-Za-z0-9_]+/g,p),e=e.replace(/\bgho_[A-Za-z0-9_]+/g,p),e=e.replace(/\bAIza[A-Za-z0-9_-]{20,}\b/g,p),e=e.replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,p),e=e.replace(/\b(?:authorization|api[_ -]?key|access[_ -]?token|auth[_ -]?token|refresh[_ -]?token|token|secret|password)\s*([:=])\s*["']?[^\s,;&"']+/gi,(n,o)=>`${p}${o}${p}`),e=e.replace(/([?&](?:api[_-]?key|access[_-]?token|token)=)[^&\s]+/gi,`$1${p}`),e=e.replace(/(?:\/(?:Users|home|private|var\/folders|tmp|workspace|workspaces|Volumes|opt|etc|srv|Applications)\/[^\s"'`),;]+)/g,X),e=e.replace(/\b[A-Z]:\\(?:Users|home|Windows|Program Files|workspace|workspaces)\\[^\s"'`),;]*/gi,X),e=e.replace(/[\r\n]{3,}/g,`
1
+ import {load}from'js-yaml';import'js-tiktoken';import'js-tiktoken/lite';import Ge from'js-tiktoken/ranks/o200k_base';import {z as z$1}from'zod';var T=class extends Error{constructor(e,n){let o=n.length>0?` Available: ${n.join(", ")}`:"";super(`Agent not found: "${e}".${o}`),this.name="AgentNotFoundError";}},fe={claude:{id:"claude",provider:"cli/claude"},copilot:{id:"copilot",provider:"cli/copilot"},codex:{id:"codex",provider:"cli/codex"}};function b(t,e){let n=t.startsWith("@")?t.slice(1):t,o=e.find(i=>i.id===n);if(o)return o;let r=fe[n];if(r)return r;throw new T(t,e.map(i=>i.id))}var g=class extends Error{constructor(n,o,r){super(n);this.providerStr=o;this.name="ProviderError",this.code=r?.code??"UNKNOWN",this.kind=r?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=r?.retryAfterMs;}providerStr;code;kind;retryAfterMs;stdout};var q=new Map;function M(t,e){q.set(t,e);}function P(t){let e=t.split("/");if(e.length!==2)throw new g(`Invalid provider format: "${t}". Expected namespace/id (e.g., api/webllm)`,t);let[n,o]=e,r=q.get(n);if(r)return r(o,t);throw new g(`Unsupported provider namespace: "${n}". Register a factory with registerProviderFactory('${n}', factory).`,t)}var me=new Function("u","return import(u)"),w=class t{_agents;_config;_tools=new Map;_apiProviders=new Map;constructor(e,n){this._agents=new Map(e.map(o=>[o.id,o])),this._config=n;}static async fromConfig(e,n){let o=new t(e.agents??[],e),r=e.agents??[],i=c=>Array.isArray(c.provider)?c.provider[0]:c.provider,d=r.filter(c=>i(c)==="api/webllm"),a=r.filter(c=>i(c)==="api/openrouter");if(d.length>0&&await o._initWebLLM(d,n?.onProgress),a.length>0){if(!n?.openrouterApiKey)throw new Error("openrouterApiKey is required when using api/openrouter provider");o._initOpenRouter(a,n.openrouterApiKey);}return o._apiProviders.size>0&&M("api",(c,l)=>{let u=o._apiProviders.get(c);if(!u)throw new g(`Unknown api provider: ${c}`,l);return u}),o}async _initWebLLM(e,n){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not available. Chrome 113+ or Edge 113+ required.");let o=await me("https://esm.run/@mlc-ai/web-llm"),r=e[0]?.inline?.model??"gemma-2-2b-it-q4f16_1-MLC",i=await o.CreateMLCEngine(r,{initProgressCallback:n?a=>n(a):void 0}),d=[];this._apiProviders.set("webllm",{async query(a,c){let l=[];c?.systemPrompt&&l.push({role:"system",content:c.systemPrompt}),l.push(...d),l.push({role:"user",content:a});let u="",m=await i.chat.completions.create({messages:l,stream:true,temperature:.7,max_tokens:4096});for await(let x of m){let _=x.choices?.[0]?.delta?.content??"";u+=_,c?.onOutput&&c.onOutput(u,"stdout");}return d.push({role:"user",content:a}),d.push({role:"assistant",content:u}),u},async execute(a,c){return this.query(a,c)}});}_initOpenRouter(e,n){let o=e[0]?.inline?.model??"google/gemma-2-2b-it",r=[];this._apiProviders.set("openrouter",{async query(i,d){let a=[];d?.systemPrompt&&a.push({role:"system",content:d.systemPrompt}),a.push(...r),a.push({role:"user",content:i});let c=await fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({model:d?.model||o,messages:a,stream:true})});if(!c.ok){let _=await c.text();throw new Error(`OpenRouter API error (${c.status}): ${_}`)}let l=c.body.getReader(),u=new TextDecoder,m="",x="";for(;;){let{done:_,value:pe}=await l.read();if(_)break;x+=u.decode(pe,{stream:true});let V=x.split(`
2
+ `);x=V.pop();for(let ge of V){let O=ge.trim();if(!O||!O.startsWith("data: "))continue;let $=O.slice(6);if($!=="[DONE]")try{let K=JSON.parse($).choices?.[0]?.delta?.content??"";m+=K,K&&d?.onOutput&&d.onOutput(m,"stdout");}catch{}}}return r.push({role:"user",content:i}),r.push({role:"assistant",content:m}),m},async execute(i,d){return this.query(i,d)}});}get agents(){return this._agents}get config(){return this._config}get tools(){return this._tools}registerTool(e,n){this._tools.set(e,{name:e,...n});}async query(e,n,o){let r=Date.now(),i;try{i=b(e,Array.from(this._agents.values()));}catch(u){if(u instanceof T)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:u.message},meta:{agentId:e.replace(/^@/,""),provider:"",durationMs:Date.now()-r}};throw u}let d=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,a=o?.provider??d,c=o?.model??i.inline?.model,l;try{l=P(a);}catch(u){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}try{return {ok:!0,data:await l.query(n,{model:c,context:o?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt,onOutput:o?.onOutput?m=>o.onOutput(m):void 0}),meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}catch(u){return {ok:false,data:"",error:{code:"QUERY_FAILED",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}}async execute(e,n,o){let r=Date.now(),i;try{i=b(e,Array.from(this._agents.values()));}catch(u){if(u instanceof T)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:u.message},meta:{agentId:e.replace(/^@/,""),provider:"",durationMs:Date.now()-r}};throw u}let d=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,a=o?.provider??d,c=o?.model??i.inline?.model,l;try{l=P(a);}catch(u){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}try{return {ok:!0,data:await l.execute(n,{model:c,context:o?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt}),meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}catch(u){return {ok:false,data:"",error:{code:"EXECUTE_FAILED",message:u.message,...u instanceof g?{providerCode:u.code}:{}},meta:{agentId:i.id,provider:a,model:c,durationMs:Date.now()-r}}}}};var p="[REDACTED]",X="[PATH]";function R(t){if(typeof t!="string")return;let e=t.trim();if(e)return e=e.replace(/^\s*at\s+[^\r\n]+(?:\r?\n|$)/gim,""),e=e.replace(/(^|[\r\n])\s*(?:authorization|proxy-authorization|x-api-key|x-goog-api-key|x-auth-token|cookie|set-cookie)\s*:\s*[^\r\n]*/gim,`$1[HTTP HEADER ${p}]`),e=Te(e),e=e.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+\-/]+=*/gi,`${p}`),e=e.replace(/\bsk-[A-Za-z0-9][A-Za-z0-9_-]*/g,p),e=e.replace(/\bghp_[A-Za-z0-9][A-Za-z0-9_-]*/g,p),e=e.replace(/\bxoxb-[A-Za-z0-9-]+/g,p),e=e.replace(/\bxoxp-[A-Za-z0-9-]+/g,p),e=e.replace(/\bAKIA[0-9A-Z]{12,}\b/g,p),e=e.replace(/\bgithub_pat_[A-Za-z0-9_]+/g,p),e=e.replace(/\bgho_[A-Za-z0-9_]+/g,p),e=e.replace(/\bAIza[A-Za-z0-9_-]{20,}\b/g,p),e=e.replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,p),e=e.replace(/\b(?:authorization|api[_ -]?key|access[_ -]?token|auth[_ -]?token|refresh[_ -]?token|token|secret|password)\s*([:=])\s*["']?[^\s,;&"']+/gi,(n,o)=>`${p}${o}${p}`),e=e.replace(/([?&](?:api[_-]?key|access[_-]?token|token)=)[^&\s]+/gi,`$1${p}`),e=e.replace(/(?:\/(?:Users|home|private|var\/folders|tmp|workspace|workspaces|Volumes|opt|etc|srv|Applications)\/[^\s"'`),;]+)/g,X),e=e.replace(/\b[A-Z]:\\(?:Users|home|Windows|Program Files|workspace|workspaces)\\[^\s"'`),;]*/gi,X),e=e.replace(/[\r\n]{3,}/g,`
3
3
 
4
4
  `).trim(),he(e,1024)||void 0}function he(t,e){let n=new TextEncoder;if(n.encode(t).byteLength<=e)return t;let o="",r=0;for(let i of t){let d=n.encode(i).byteLength;if(r+d>e)break;o+=i,r+=d;}return o}function Te(t){let e=/\b(?:request|response|http)?\s*body\s*[:=]\s*/gim,n="",o=0,r;for(;(r=e.exec(t))!==null;){if(r.index<o)continue;let i=r.index+r[0].length,d=ye(t,i),a=d>=0?d:t.indexOf(`
5
5
  `,i)>=0?t.indexOf(`
6
- `,i):t.length;n+=t.slice(o,r.index),n+=`[HTTP BODY ${p}]`,o=a;}return n+t.slice(o)}function ye(t,e){let n=t[e];if(n==='"'||n==="'")return Ee(t,e,n);if(n!=="{"&&n!=="[")return -1;let o=[],r,i=false;for(let d=e;d<t.length;d+=1){let a=t[d];if(r){i?i=false:a==="\\"?i=true:a===r&&(r=void 0);continue}if(a==='"'||a==="'"){r=a;continue}if(a==="{"||a==="["){o.push(a);continue}if(a!=="}"&&a!=="]")continue;let c=o.pop();if(a==="}"&&c!=="{"||a==="]"&&c!=="[")return -1;if(o.length===0)return d+1}return -1}function Ee(t,e,n){let o=false;for(let r=e+1;r<t.length;r+=1){let i=t[r];if(o)o=false;else if(i==="\\")o=true;else if(i===n)return r+1}return -1}var ve=new Set(["USAGE_LIMITED","CONTEXT_WINDOW_EXCEEDED","INPUT_TOO_LARGE","MODEL_NOT_SUPPORTED","MODEL_AT_CAPACITY","AUTH_REQUIRED","CLI_NOT_AVAILABLE","CLI_UPDATE_REQUIRED","AGENT_NOT_FOUND","PERMISSION_OR_TRUST","TIMEOUT_OR_STUCK","NETWORK_OR_PROVIDER_TRANSIENT","PROVIDER_CONFIGURATION","PROCESS_FAILED"]),xe={QUOTA_EXHAUSTED:"USAGE_LIMITED",RATE_LIMITED:"USAGE_LIMITED",AUTH_REQUIRED:"AUTH_REQUIRED",TIMEOUT_IDLE:"TIMEOUT_OR_STUCK",TIMEOUT_TOTAL:"TIMEOUT_OR_STUCK",PROVIDER_NOT_FOUND:"PROVIDER_CONFIGURATION",INVALID_PROVIDER_FORMAT:"PROVIDER_CONFIGURATION",PROVIDER_CRASHED:"PROCESS_FAILED",EMPTY_OUTPUT:"PROCESS_FAILED"},_e=[{code:"USAGE_LIMITED",pattern:/(?:rate[ _-]?limit|quota|usage[ /_-]?limit|usage exhausted|too many requests|429\b)/i},{code:"CONTEXT_WINDOW_EXCEEDED",pattern:/context (?:window|length)|maximum context|context[_ -]?window[_ -]?exceeded|too many tokens/i},{code:"INPUT_TOO_LARGE",pattern:/input[_ -]?(?:is[_ -]?)?too[_ -]?large|prompt (?:is )?too (?:large|long)|request[_ -]?(?:is[_ -]?)?too[_ -]?large|payload[_ -]?(?:is[_ -]?)?too[_ -]?large|maximum input/i},{code:"MODEL_AT_CAPACITY",pattern:/(?:model|service|provider).*(?:at capacity|overloaded|temporarily busy)|at capacity|overloaded/i},{code:"MODEL_NOT_SUPPORTED",pattern:/(?:model|invalid_request_error).*(?:not[ _-]?supported|unsupported|does[ _-]?not[ _-]?exist|not[ _-]?found|invalid)|model[_-]?not[_-]?(?:found|supported)/i},{code:"AUTH_REQUIRED",pattern:/(?:401\b|unauthori[sz]ed|not logged in|login required|sign[ -]?in required|api key (?:is )?(?:missing|invalid|required)|authentication required)/i},{code:"CLI_UPDATE_REQUIRED",pattern:/(?:requires? a newer version|update (?:your )?cli|cli version.*(?:old|outdated|unsupported)|version mismatch)/i},{code:"CLI_NOT_AVAILABLE",pattern:/(?:ENOENT|command not found|executable.*not found|cli.*(?:not installed|unavailable)|is .* installed\?)/i},{code:"AGENT_NOT_FOUND",pattern:/agent[_ -]?not[_ -]?found|unknown agent/i},{code:"PERMISSION_OR_TRUST",pattern:/(?:permission denied|operation not permitted|workspace trust|not trusted|access denied|EACCES|EPERM)/i},{code:"TIMEOUT_OR_STUCK",pattern:/(?:timeout|timed out|took too long|stuck|idle timeout|ETIMEDOUT)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:network (?:unreachable|error)|connection (?:reset|refused|closed)|ECONN(?:RESET|REFUSED|ABORTED)|service unavailable|upstream.*(?:5\d\d|error)|provider.*(?:5\d\d|unavailable|down)|\b5\d\d\b)/i},{code:"PROVIDER_CONFIGURATION",pattern:/(?:invalid provider|unsupported provider|provider namespace|provider configuration|provider config|missing provider)/i}];function Ce(t){try{if(!h(t)||t.status!=="failed")return S();let e=Ie(t.error);if(U(e.message))return S();let n=f(t.providerId)??e.provider??null,o=Pe(t.logs),r=Q(e.code);if(r)return C(r,n,e.message,e);let i=A(e.providerCode)??A(e.code),d=i?L(i,e.message):void 0;if(d)return C(d,n,e.message,e,i);let a=Ae(o);if(!ke(e)&&a&&(a.type==="user_stop"||U(a.message)))return S();if(a){let l=Oe(a.code,a.providerCode,a.message);if(l)return C(l,n,a.message??e.message,e,a.providerCode??a.code,a,a.structuredFailure?"terminal":"envelope")}let c=be(e.message,o);return c?C(c.code,n,c.message,e,c.terminal?.providerCode??c.terminal?.code,c.terminal,c.terminal?.structuredFailure?"terminal":"envelope"):C("PROCESS_FAILED",n,e.message,e)}catch{return {errorCode:"PROCESS_FAILED",errorProvider:null}}}function S(){return {errorCode:null,errorProvider:null}}function C(t,e,n,o,r,i,d="envelope"){let a={};if(i?.resetAt!==void 0&&(a.resetAt=i.resetAt),o?.model&&(a.model=o.model),i?.type&&(a.upstreamType=i.type),r&&(a.upstreamCode=r),t==="CLI_NOT_AVAILABLE"||t==="CLI_UPDATE_REQUIRED"){let m=e?.startsWith("cli/")?e.slice(4):void 0;m&&(a.cliName=m);}let c=d==="terminal"?n:o?.message,l=d==="terminal"?i?.structuredFailure?c:void 0:o?.isEnvelope?c:void 0,u=w(l);return u&&(a.technicalMessage=u),Object.keys(a).length>0?{errorCode:t,errorProvider:e,errorMeta:a}:{errorCode:t,errorProvider:e}}function Ie(t){let e=typeof t=="string"?E(t):t;return h(e)?{isEnvelope:true,code:f(e.code),providerCode:f(e.providerCode),message:f(e.message)??f(e.error),provider:f(e.provider)??f(e.errorProvider),model:f(e.model)}:{isEnvelope:false,...typeof t=="string"&&t.trim()?{message:t.trim()}:{}}}function E(t){try{return JSON.parse(t)}catch{return}}function ke(t){return !!(t.code||t.providerCode||t.message)}function Pe(t){let e=[];if(typeof t=="string"){let n=E(t);if(Array.isArray(n))e.push(...n);else for(let o of t.split(/\r?\n/)){let r=E(o.trim());r!==void 0&&e.push(r);}}else Array.isArray(t)?e.push(...t):h(t)&&e.push(t);return e.flatMap(y)}function y(t){if(!h(t))return [];let e=f(t.type),n=f(t.message);if(n&&!e){let r=E(n);if(Array.isArray(r))return r.flatMap(y);if(h(r))return y(r);let i=n.split(/\r?\n/).map(d=>E(d.trim())).filter(d=>h(d));return i.length>0?i.flatMap(y):t.level==="stderr"?[{type:"stderr",message:n,rank:1,structuredFailure:false}]:y({type:"info",content:n})}if(e==="rate_limit_event"){let r=Y(t.rate_limit_info);return f(r?.status)!=="rejected"?[]:[{type:e,code:"RATE_LIMITED",message:I(r?.message,t.message),resetAt:Me(r?.resetsAt),rank:4,structuredFailure:true}]}if(e==="turn.failed"||e==="error"){let r=Y(t.error),i=I(r?.message,r?.detail,t.message,t.errorMessage,t.content),d=I(r?.code,t.code,t.errorCode);return [{type:e,code:d,providerCode:I(r?.providerCode,t.providerCode),message:i,rank:e==="turn.failed"?3:2,structuredFailure:true}]}if(e==="text"&&typeof t.content=="string"){let r=E(t.content);if(h(r))return y(r)}let o=I(t.errorMessage,t.content);return o&&U(o)?[{type:"user_stop",message:o,rank:1,structuredFailure:false}]:o&&/(?:turn\.failed|type:error)/i.test(o)?[{type:o.match(/turn\.failed/i)?"turn.failed":"error",message:o,rank:3,structuredFailure:false}]:[]}function Ae(t){return [...t].sort((e,n)=>n.rank-e.rank)[0]}function Oe(t,e,n){let o=Q(t);if(o)return o;if(t){let r=L(t,n);if(r)return r}if(e){let r=L(e,n);if(r)return r}return D(n)}function be(t,e){let n=D(t);if(n)return {code:n,message:t};for(let o of [...e].sort((r,i)=>i.rank-r.rank)){let r=D(o.message);if(r)return {code:r,message:o.message,terminal:o}}}function D(t){if(!(typeof t!="string"||!t.trim()))return _e.find(e=>e.pattern.test(t))?.code}function L(t,e){let n=A(t)??t;if(n==="MODEL_UNAVAILABLE")return /(?:capacity|overloaded|busy)/i.test(e??"")?"MODEL_AT_CAPACITY":"MODEL_NOT_SUPPORTED";if(n!=="UNKNOWN")return xe[n]}function Q(t){let e=A(t);return e&&ve.has(e)?e:void 0}function A(t){return typeof t=="string"&&t.trim()?t.trim().toUpperCase():void 0}function U(t){return t?/\b(?:stopped|killed|aborted|cancelled|canceled)\s+by\s+user\b/i.test(t)||/사용자에 의해 중지됨/.test(t)||/\b(?:SIGTERM\s+143|143\s+SIGTERM)\b/i.test(t):false}function h(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Y(t){return h(t)?t:void 0}function f(t){return typeof t=="string"&&t.trim()?t.trim():void 0}function Me(t){return typeof t=="string"||typeof t=="number"&&Number.isFinite(t)?t:void 0}function I(...t){return t.map(f).find(e=>!!e)}var Re=["none","minimal","low","medium","high","xhigh","max","ultra"],we={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]};var Z={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-5.6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["minimal","low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(Z).map(([t,e])=>[t,e.models]));var Le="claude-opus-4-8",Ue="claude-opus-4-8[1m]",J=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];var Ne=new Map(J.map(({baseModelId:t,catalogModelId:e})=>[t,e]));function ee(t){return Ne.get(t)??t}var te=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],Fe=new Map(te.map(({legacyId:t,model:e,effort:n})=>[t,n===void 0?{model:e}:{model:e,effort:n}]));function ne(t){if(!t)return {};let e=Fe.get(t);return e?{...e}:{model:t}}function N(t,e){return t==="antigravity"||t==="cli/antigravity"?ne(e):e===void 0?{}:{model:ee(e)}}var re=30,oe=80;Object.keys(Ge.special_tokens);var Be=z$1.object({model:z$1.string().optional(),system_prompt:z$1.string().optional(),prompt:z$1.string().optional(),layout:z$1.union([z$1.string(),z$1.object({id:z$1.string(),props:z$1.record(z$1.unknown()).optional()}),z$1.object({props:z$1.record(z$1.unknown())}),z$1.object({template:z$1.string(),capabilities:z$1.object({semanticContinuity:z$1.boolean().optional(),continuity:z$1.boolean().optional(),continuitySlot:z$1.string().optional(),slot:z$1.string().optional()}).optional()})]).optional()}).catchall(z$1.unknown()),ze=z$1.object({include:z$1.array(z$1.string()).optional()}).optional(),je=z$1.object({id:z$1.string(),name:z$1.string().optional(),role:z$1.string().optional(),team:z$1.string().optional(),provider:z$1.union([z$1.string(),z$1.array(z$1.string())]),working_directory:z$1.string().optional(),description:z$1.string().optional(),tags:z$1.array(z$1.string()).optional(),inline:Be.optional(),skills:ze}).catchall(z$1.unknown());z$1.object({id:z$1.string(),name:z$1.string(),workflow_id:z$1.string(),description:z$1.string().optional(),goal_id:z$1.string().optional()});var We=z$1.number().finite().int().min(re).max(oe),Ve=z$1.object({inputBudgetPercent:We.optional()}).catchall(z$1.unknown()),$e=z$1.object({continuity:Ve.optional()}).catchall(z$1.unknown()),Ke=z$1.object({bin_resolution:z$1.enum(["global_first","local_first"]).optional(),dreaming:$e.optional(),wi:z$1.object({boards:z$1.array(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()),ie=z$1.object({agents:z$1.array(je).optional(),hooks:z$1.array(z$1.unknown()).optional(),settings:Ke.optional(),skills:z$1.unknown().optional(),layouts:z$1.record(z$1.unknown()).optional(),documents:z$1.record(z$1.unknown()).optional()}).catchall(z$1.unknown());var v=class extends Error{constructor(n,o){super(n);this.cause=o;this.name="ConfigLoadError";}cause};function Xe(t){if(!t||typeof t!="string"||!t.trim())throw new v("YAML content must be a non-empty string");let e;try{e=load(t);}catch(r){throw new v(`YAML parse error: ${r.message}`,r)}let n=Ye(e),o=ie.safeParse(n);if(!o.success)throw new v(`Config validation error: ${o.error.message}`);return o.data}function Ye(t){if(!t||typeof t!="object")return {agents:[]};let e=t;if(e.agents&&typeof e.agents=="object"&&!Array.isArray(e.agents)){let n=e.agents,o=Object.entries(n).map(([r,i])=>({id:r,...i&&typeof i=="object"?i:{}}));return {...e,agents:o}}return e.agents?e:{...e,agents:[]}}var Qe={auto:"default"};function Ze(t){return Qe[t]??t}var Je="crewx:fs:",F=class{prefix;store;constructor(e){this.prefix=e?.prefix??Je,this.store=e?.storage??new Map;}async readFile(e){let n=this.toKey(e),o=this.store.get(n);if(o===void 0)throw new Error(`BrowserFsAdapter: file not found: ${e}`);return o}async exists(e){return this.store.has(this.toKey(e))}resolvePath(...e){let n=e.map(d=>d.replace(/\\/g,"/")).join("/").replace(/\/+/g,"/"),o=n.split("/"),r=[];for(let d of o)d==="."||d===""||(d===".."?r.pop():r.push(d));let i=r.join("/");return n.startsWith("/")?`/${i}`:i}isAbsolute(e){return e.startsWith("/")}setItem(e,n){this.store.set(this.toKey(e),n);}removeItem(e){this.store.delete(this.toKey(e));}keys(){return Array.from(this.store.keys()).filter(e=>e.startsWith(this.prefix)).map(e=>e.slice(this.prefix.length))}async readdir(e){let n=e.replace(/\\/g,"/").replace(/\/$/,""),o=this.toKey(n+"/"),r=[];for(let i of this.store.keys())if(i.startsWith(o)){let a=i.slice(o.length).split("/")[0];a&&!r.includes(a)&&r.push(a);}return r}toKey(e){return `${this.prefix}${e.replace(/\\/g,"/")}`}};var H=["codex","claude","grok","opencode","antigravity","copilot"];function et(t){let e=t.indexOf("/");return e===-1?t:t.slice(e+1)}function G(t){let e=et(t),n=H.indexOf(e);return n===-1?H.length:n}function tt(t,e){return G(t)-G(e)}var nt=new Set(["claude","copilot","codex","grok","opencode"]);function rt(t){if(!t)return "";if(t.startsWith("acp/")){let e=t.slice(4);if(nt.has(e))return `cli/${e}`}return t}var ae=["urgent","high","medium","low"],de=["investigating","in-progress","in-review","on-hold","done"],k="custom:";var ot=new Set(ae),it=new Set(de),st={urgent:"U \uAE34\uAE09 Urgent",high:"P0 \uAE09\uD568 High",medium:"P1 \uC911\uC694 Medium",low:"P2 \uBCF4\uD1B5 Low"},B={investigating:"\uC870\uC0AC\uC911 Looking into","in-progress":"\uC9C4\uD589\uC911 In progress","in-review":"\uAC80\uD1A0\uC911 In review","on-hold":"\uBCF4\uB958 On hold",done:"\uC644\uB8CC Done"};function se(t,e){return !e||e.includes(t)?e??t:`${t} ${e}`}function z(t){return typeof t=="string"&&ot.has(t)}function j(t){if(typeof t!="string")return false;if(it.has(t))return true;if(t.startsWith("c_"))return t.length>2;if(!t.startsWith(k))return false;let e=t.slice(k.length);return e.length>=1&&e.length<=20}function ce(t){if(t.startsWith(k))return t.slice(k.length)}function W(t){if(!t)return null;try{let e=JSON.parse(t);return !e||typeof e!="object"||Array.isArray(e)?null:e}catch{return null}}function at(t){let e=W(t);return !!e&&Object.prototype.hasOwnProperty.call(e,"threadTitle")}function ue(t){let e=W(t);if(!e)return {};let n=e.threadTitle;if(!n||typeof n!="object"||Array.isArray(n))return {};let o=n,r={};return z(o.priority)&&(r.priority=o.priority),j(o.state)&&(r.state=o.state),r}function dt(t,e){let n=W(t)??{},o={...ue(t)};return e.priority===null?delete o.priority:e.priority!==void 0&&(o.priority=e.priority),e.state===null?delete o.state:e.state!==void 0&&(o.state=e.state),o.priority===void 0&&o.state===void 0?delete n.threadTitle:n.threadTitle=o,Object.keys(n).length===0?null:JSON.stringify(n)}function ct(t,e=new Map){let n=[];return t.priority&&n.push(se(st[t.priority],e.get(t.priority))),t.state&&(t.state.startsWith(k)?n.push(ce(t.state)??""):B[t.state]?n.push(se(B[t.state],e.get(t.state))):e.has(t.state)?n.push(t.state,e.get(t.state)??""):t.state.startsWith("c_")?n.push(t.state):n.push(B[t.state]??"")),n.filter(Boolean).join(" ")}function le(t,e){if(!t||t.trim().length===0)return;let n=new Set,o=false,r=false;for(let i of t.split(",")){let d=i.trim();if(d){if(d==="none"){o=true,r=true;continue}e(d)&&(n.add(d),r=true);}}if(r)return {values:n,includeNone:o}}function ut(t){return le(t,z)}function lt(t){return le(t,j)}function pt(t,e){return e?t?e.values.has(t):e.includeNone:true}export{te as ANTIGRAVITY_MODEL_COMPATIBILITY,de as BUILTIN_THREAD_STATES,F as BrowserFsAdapter,J as CLAUDE_MODEL_COMPATIBILITY_PAIRS,Le as CLAUDE_OPUS_4_8_BASE_MODEL_ID,Ue as CLAUDE_OPUS_4_8_LEGACY_MODEL_ID,v as ConfigLoadError,R as Crewx,Re as EFFORT_LEVELS,we as PROVIDER_ARGV_EFFORTS,H as PROVIDER_ORDER,g as ProviderError,ae as THREAD_PRIORITIES,Ce as classifyTaskError,tt as compareProviders,P as createProvider,ce as customStateLabel,at as hasThreadTitleKey,z as isThreadPriority,j as isThreadState,pt as matchesThreadTitleFilter,dt as mergeThreadTitleMeta,Ze as normalizeClaudeMode,rt as normalizeProviderId,ut as parseThreadPriorityFilter,lt as parseThreadStateFilter,Xe as parseYamlContent,G as providerRank,ue as readThreadTitleMeta,w as redactTechnicalMessage,M as registerProviderFactory,ne as resolveAntigravityModel,ee as resolveCatalogModelId,N as resolveProviderCatalogModel,ct as threadTitleSearchHaystack};
6
+ `,i):t.length;n+=t.slice(o,r.index),n+=`[HTTP BODY ${p}]`,o=a;}return n+t.slice(o)}function ye(t,e){let n=t[e];if(n==='"'||n==="'")return Ee(t,e,n);if(n!=="{"&&n!=="[")return -1;let o=[],r,i=false;for(let d=e;d<t.length;d+=1){let a=t[d];if(r){i?i=false:a==="\\"?i=true:a===r&&(r=void 0);continue}if(a==='"'||a==="'"){r=a;continue}if(a==="{"||a==="["){o.push(a);continue}if(a!=="}"&&a!=="]")continue;let c=o.pop();if(a==="}"&&c!=="{"||a==="]"&&c!=="[")return -1;if(o.length===0)return d+1}return -1}function Ee(t,e,n){let o=false;for(let r=e+1;r<t.length;r+=1){let i=t[r];if(o)o=false;else if(i==="\\")o=true;else if(i===n)return r+1}return -1}var ve=new Set(["USAGE_LIMITED","CONTEXT_WINDOW_EXCEEDED","INPUT_TOO_LARGE","MODEL_NOT_SUPPORTED","MODEL_AT_CAPACITY","AUTH_REQUIRED","CLI_NOT_AVAILABLE","CLI_UPDATE_REQUIRED","AGENT_NOT_FOUND","PERMISSION_OR_TRUST","TIMEOUT_OR_STUCK","NETWORK_OR_PROVIDER_TRANSIENT","PROVIDER_CONFIGURATION","PROCESS_FAILED"]),xe={QUOTA_EXHAUSTED:"USAGE_LIMITED",RATE_LIMITED:"USAGE_LIMITED",AUTH_REQUIRED:"AUTH_REQUIRED",TIMEOUT_IDLE:"TIMEOUT_OR_STUCK",TIMEOUT_TOTAL:"TIMEOUT_OR_STUCK",PROVIDER_NOT_FOUND:"PROVIDER_CONFIGURATION",INVALID_PROVIDER_FORMAT:"PROVIDER_CONFIGURATION",PROVIDER_CRASHED:"PROCESS_FAILED",EMPTY_OUTPUT:"PROCESS_FAILED"},_e=[{code:"USAGE_LIMITED",pattern:/(?:rate[ _-]?limit|quota|usage[ /_-]?limit|usage exhausted|too many requests|429\b)/i},{code:"CONTEXT_WINDOW_EXCEEDED",pattern:/context (?:window|length)|maximum context|context[_ -]?window[_ -]?exceeded|too many tokens/i},{code:"INPUT_TOO_LARGE",pattern:/input[_ -]?(?:is[_ -]?)?too[_ -]?large|prompt (?:is )?too (?:large|long)|request[_ -]?(?:is[_ -]?)?too[_ -]?large|payload[_ -]?(?:is[_ -]?)?too[_ -]?large|maximum input/i},{code:"MODEL_AT_CAPACITY",pattern:/(?:model|service|provider).*(?:at capacity|overloaded|temporarily busy)|at capacity|overloaded/i},{code:"MODEL_NOT_SUPPORTED",pattern:/(?:model|invalid_request_error).*(?:not[ _-]?supported|unsupported|does[ _-]?not[ _-]?exist|not[ _-]?found|invalid)|model[_-]?not[_-]?(?:found|supported)/i},{code:"AUTH_REQUIRED",pattern:/(?:401\b|unauthori[sz]ed|not logged in|login required|sign[ -]?in required|api key (?:is )?(?:missing|invalid|required)|authentication required)/i},{code:"CLI_UPDATE_REQUIRED",pattern:/(?:requires? a newer version|update (?:your )?cli|cli version.*(?:old|outdated|unsupported)|version mismatch)/i},{code:"CLI_NOT_AVAILABLE",pattern:/(?:ENOENT|command not found|executable.*not found|cli.*(?:not installed|unavailable)|is .* installed\?)/i},{code:"AGENT_NOT_FOUND",pattern:/agent[_ -]?not[_ -]?found|unknown agent/i},{code:"PERMISSION_OR_TRUST",pattern:/(?:permission denied|operation not permitted|workspace trust|not trusted|access denied|EACCES|EPERM)/i},{code:"TIMEOUT_OR_STUCK",pattern:/(?:timeout|timed out|took too long|stuck|idle timeout|ETIMEDOUT)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:network (?:unreachable|error)|connection (?:reset|refused|closed)|ECONN(?:RESET|REFUSED|ABORTED)|service unavailable|upstream.*(?:5\d\d|error)|provider.*(?:5\d\d|unavailable|down)|\b5\d\d\b)/i},{code:"PROVIDER_CONFIGURATION",pattern:/(?:invalid provider|unsupported provider|provider namespace|provider configuration|provider config|missing provider)/i}];function Ce(t){try{if(!h(t)||t.status!=="failed")return S();let e=Ie(t.error);if(U(e.message))return S();let n=f(t.providerId)??e.provider??null,o=Pe(t.logs),r=Q(e.code);if(r)return C(r,n,e.message,e);let i=A(e.providerCode)??A(e.code),d=i?L(i,e.message):void 0;if(d)return C(d,n,e.message,e,i);let a=Ae(o);if(!ke(e)&&a&&(a.type==="user_stop"||U(a.message)))return S();if(a){let l=Oe(a.code,a.providerCode,a.message);if(l)return C(l,n,a.message??e.message,e,a.providerCode??a.code,a,a.structuredFailure?"terminal":"envelope")}let c=be(e.message,o);return c?C(c.code,n,c.message,e,c.terminal?.providerCode??c.terminal?.code,c.terminal,c.terminal?.structuredFailure?"terminal":"envelope"):C("PROCESS_FAILED",n,e.message,e)}catch{return {errorCode:"PROCESS_FAILED",errorProvider:null}}}function S(){return {errorCode:null,errorProvider:null}}function C(t,e,n,o,r,i,d="envelope"){let a={};if(i?.resetAt!==void 0&&(a.resetAt=i.resetAt),o?.model&&(a.model=o.model),i?.type&&(a.upstreamType=i.type),r&&(a.upstreamCode=r),t==="CLI_NOT_AVAILABLE"||t==="CLI_UPDATE_REQUIRED"){let m=e?.startsWith("cli/")?e.slice(4):void 0;m&&(a.cliName=m);}let c=d==="terminal"?n:o?.message,l=d==="terminal"?i?.structuredFailure?c:void 0:o?.isEnvelope?c:void 0,u=R(l);return u&&(a.technicalMessage=u),Object.keys(a).length>0?{errorCode:t,errorProvider:e,errorMeta:a}:{errorCode:t,errorProvider:e}}function Ie(t){let e=typeof t=="string"?E(t):t;return h(e)?{isEnvelope:true,code:f(e.code),providerCode:f(e.providerCode),message:f(e.message)??f(e.error),provider:f(e.provider)??f(e.errorProvider),model:f(e.model)}:{isEnvelope:false,...typeof t=="string"&&t.trim()?{message:t.trim()}:{}}}function E(t){try{return JSON.parse(t)}catch{return}}function ke(t){return !!(t.code||t.providerCode||t.message)}function Pe(t){let e=[];if(typeof t=="string"){let n=E(t);if(Array.isArray(n))e.push(...n);else for(let o of t.split(/\r?\n/)){let r=E(o.trim());r!==void 0&&e.push(r);}}else Array.isArray(t)?e.push(...t):h(t)&&e.push(t);return e.flatMap(y)}function y(t){if(!h(t))return [];let e=f(t.type),n=f(t.message);if(n&&!e){let r=E(n);if(Array.isArray(r))return r.flatMap(y);if(h(r))return y(r);let i=n.split(/\r?\n/).map(d=>E(d.trim())).filter(d=>h(d));return i.length>0?i.flatMap(y):t.level==="stderr"?[{type:"stderr",message:n,rank:1,structuredFailure:false}]:y({type:"info",content:n})}if(e==="rate_limit_event"){let r=Y(t.rate_limit_info);return f(r?.status)!=="rejected"?[]:[{type:e,code:"RATE_LIMITED",message:I(r?.message,t.message),resetAt:Me(r?.resetsAt),rank:4,structuredFailure:true}]}if(e==="turn.failed"||e==="error"){let r=Y(t.error),i=I(r?.message,r?.detail,t.message,t.errorMessage,t.content),d=I(r?.code,t.code,t.errorCode);return [{type:e,code:d,providerCode:I(r?.providerCode,t.providerCode),message:i,rank:e==="turn.failed"?3:2,structuredFailure:true}]}if(e==="text"&&typeof t.content=="string"){let r=E(t.content);if(h(r))return y(r)}let o=I(t.errorMessage,t.content);return o&&U(o)?[{type:"user_stop",message:o,rank:1,structuredFailure:false}]:o&&/(?:turn\.failed|type:error)/i.test(o)?[{type:o.match(/turn\.failed/i)?"turn.failed":"error",message:o,rank:3,structuredFailure:false}]:[]}function Ae(t){return [...t].sort((e,n)=>n.rank-e.rank)[0]}function Oe(t,e,n){let o=Q(t);if(o)return o;if(t){let r=L(t,n);if(r)return r}if(e){let r=L(e,n);if(r)return r}return D(n)}function be(t,e){let n=D(t);if(n)return {code:n,message:t};for(let o of [...e].sort((r,i)=>i.rank-r.rank)){let r=D(o.message);if(r)return {code:r,message:o.message,terminal:o}}}function D(t){if(!(typeof t!="string"||!t.trim()))return _e.find(e=>e.pattern.test(t))?.code}function L(t,e){let n=A(t)??t;if(n==="MODEL_UNAVAILABLE")return /(?:capacity|overloaded|busy)/i.test(e??"")?"MODEL_AT_CAPACITY":"MODEL_NOT_SUPPORTED";if(n!=="UNKNOWN")return xe[n]}function Q(t){let e=A(t);return e&&ve.has(e)?e:void 0}function A(t){return typeof t=="string"&&t.trim()?t.trim().toUpperCase():void 0}function U(t){return t?/\b(?:stopped|killed|aborted|cancelled|canceled)\s+by\s+user\b/i.test(t)||/사용자에 의해 중지됨/.test(t)||/\b(?:SIGTERM\s+143|143\s+SIGTERM)\b/i.test(t):false}function h(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Y(t){return h(t)?t:void 0}function f(t){return typeof t=="string"&&t.trim()?t.trim():void 0}function Me(t){return typeof t=="string"||typeof t=="number"&&Number.isFinite(t)?t:void 0}function I(...t){return t.map(f).find(e=>!!e)}var we=["none","minimal","low","medium","high","xhigh","max","ultra"],Re={claude:["low","medium","high","xhigh","max"],codex:["minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]};var Z={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship",recommended:true},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindowTokens:4e5,tier:"speed"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindowTokens:4e5,tier:"flagship"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindowTokens:128e3,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"gpt-5.5",name:"GPT-5.5",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.4",name:"GPT-5.4",contextWindowTokens:105e4,tier:"flagship"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}};Object.fromEntries(Object.entries(Z).map(([t,e])=>[t,e.models]));var Le="claude-opus-4-8",Ue="claude-opus-4-8[1m]",J=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];var Ne=new Map(J.map(({baseModelId:t,catalogModelId:e})=>[t,e]));function ee(t){return Ne.get(t)??t}var te=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],Fe=new Map(te.map(({legacyId:t,model:e,effort:n})=>[t,n===void 0?{model:e}:{model:e,effort:n}]));function ne(t){if(!t)return {};let e=Fe.get(t);return e?{...e}:{model:t}}function N(t,e){return t==="antigravity"||t==="cli/antigravity"?ne(e):e===void 0?{}:{model:ee(e)}}var re=30,oe=80;Object.keys(Ge.special_tokens);var Be=z$1.object({model:z$1.string().optional(),system_prompt:z$1.string().optional(),prompt:z$1.string().optional(),layout:z$1.union([z$1.string(),z$1.object({id:z$1.string(),props:z$1.record(z$1.unknown()).optional()}),z$1.object({props:z$1.record(z$1.unknown())}),z$1.object({template:z$1.string(),capabilities:z$1.object({semanticContinuity:z$1.boolean().optional(),continuity:z$1.boolean().optional(),continuitySlot:z$1.string().optional(),slot:z$1.string().optional()}).optional()})]).optional()}).catchall(z$1.unknown()),ze=z$1.object({include:z$1.array(z$1.string()).optional()}).optional(),je=z$1.object({id:z$1.string(),name:z$1.string().optional(),role:z$1.string().optional(),team:z$1.string().optional(),provider:z$1.union([z$1.string(),z$1.array(z$1.string())]),working_directory:z$1.string().optional(),description:z$1.string().optional(),tags:z$1.array(z$1.string()).optional(),inline:Be.optional(),skills:ze}).catchall(z$1.unknown());z$1.object({id:z$1.string(),name:z$1.string(),workflow_id:z$1.string(),description:z$1.string().optional(),goal_id:z$1.string().optional()});var We=z$1.number().finite().int().min(re).max(oe),Ve=z$1.object({inputBudgetPercent:We.optional()}).catchall(z$1.unknown()),$e=z$1.object({continuity:Ve.optional()}).catchall(z$1.unknown()),Ke=z$1.object({bin_resolution:z$1.enum(["global_first","local_first"]).optional(),dreaming:$e.optional(),wi:z$1.object({boards:z$1.array(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()),ie=z$1.object({agents:z$1.array(je).optional(),hooks:z$1.array(z$1.unknown()).optional(),settings:Ke.optional(),skills:z$1.unknown().optional(),layouts:z$1.record(z$1.unknown()).optional(),documents:z$1.record(z$1.unknown()).optional()}).catchall(z$1.unknown());var v=class extends Error{constructor(n,o){super(n);this.cause=o;this.name="ConfigLoadError";}cause};function Xe(t){if(!t||typeof t!="string"||!t.trim())throw new v("YAML content must be a non-empty string");let e;try{e=load(t);}catch(r){throw new v(`YAML parse error: ${r.message}`,r)}let n=Ye(e),o=ie.safeParse(n);if(!o.success)throw new v(`Config validation error: ${o.error.message}`);return o.data}function Ye(t){if(!t||typeof t!="object")return {agents:[]};let e=t;if(e.agents&&typeof e.agents=="object"&&!Array.isArray(e.agents)){let n=e.agents,o=Object.entries(n).map(([r,i])=>({id:r,...i&&typeof i=="object"?i:{}}));return {...e,agents:o}}return e.agents?e:{...e,agents:[]}}var Qe={auto:"default"};function Ze(t){return Qe[t]??t}var Je="crewx:fs:",F=class{prefix;store;constructor(e){this.prefix=e?.prefix??Je,this.store=e?.storage??new Map;}async readFile(e){let n=this.toKey(e),o=this.store.get(n);if(o===void 0)throw new Error(`BrowserFsAdapter: file not found: ${e}`);return o}async exists(e){return this.store.has(this.toKey(e))}resolvePath(...e){let n=e.map(d=>d.replace(/\\/g,"/")).join("/").replace(/\/+/g,"/"),o=n.split("/"),r=[];for(let d of o)d==="."||d===""||(d===".."?r.pop():r.push(d));let i=r.join("/");return n.startsWith("/")?`/${i}`:i}isAbsolute(e){return e.startsWith("/")}setItem(e,n){this.store.set(this.toKey(e),n);}removeItem(e){this.store.delete(this.toKey(e));}keys(){return Array.from(this.store.keys()).filter(e=>e.startsWith(this.prefix)).map(e=>e.slice(this.prefix.length))}async readdir(e){let n=e.replace(/\\/g,"/").replace(/\/$/,""),o=this.toKey(n+"/"),r=[];for(let i of this.store.keys())if(i.startsWith(o)){let a=i.slice(o.length).split("/")[0];a&&!r.includes(a)&&r.push(a);}return r}toKey(e){return `${this.prefix}${e.replace(/\\/g,"/")}`}};var H=["codex","claude","grok","opencode","antigravity","copilot"];function et(t){let e=t.indexOf("/");return e===-1?t:t.slice(e+1)}function G(t){let e=et(t),n=H.indexOf(e);return n===-1?H.length:n}function tt(t,e){return G(t)-G(e)}var nt=new Set(["claude","copilot","codex","grok","opencode"]);function rt(t){if(!t)return "";if(t.startsWith("acp/")){let e=t.slice(4);if(nt.has(e))return `cli/${e}`}return t}var ae=["urgent","high","medium","low"],de=["investigating","in-progress","in-review","on-hold","done"],k="custom:";var ot=new Set(ae),it=new Set(de),st={urgent:"U \uAE34\uAE09 Urgent",high:"P0 \uAE09\uD568 High",medium:"P1 \uC911\uC694 Medium",low:"P2 \uBCF4\uD1B5 Low"},B={investigating:"\uC870\uC0AC\uC911 Looking into","in-progress":"\uC9C4\uD589\uC911 In progress","in-review":"\uAC80\uD1A0\uC911 In review","on-hold":"\uBCF4\uB958 On hold",done:"\uC644\uB8CC Done"};function se(t,e){return !e||e.includes(t)?e??t:`${t} ${e}`}function z(t){return typeof t=="string"&&ot.has(t)}function j(t){if(typeof t!="string")return false;if(it.has(t))return true;if(t.startsWith("c_"))return t.length>2;if(!t.startsWith(k))return false;let e=t.slice(k.length);return e.length>=1&&e.length<=20}function ce(t){if(t.startsWith(k))return t.slice(k.length)}function W(t){if(!t)return null;try{let e=JSON.parse(t);return !e||typeof e!="object"||Array.isArray(e)?null:e}catch{return null}}function at(t){let e=W(t);return !!e&&Object.prototype.hasOwnProperty.call(e,"threadTitle")}function ue(t){let e=W(t);if(!e)return {};let n=e.threadTitle;if(!n||typeof n!="object"||Array.isArray(n))return {};let o=n,r={};return z(o.priority)&&(r.priority=o.priority),j(o.state)&&(r.state=o.state),r}function dt(t,e){let n=W(t)??{},o={...ue(t)};return e.priority===null?delete o.priority:e.priority!==void 0&&(o.priority=e.priority),e.state===null?delete o.state:e.state!==void 0&&(o.state=e.state),o.priority===void 0&&o.state===void 0?delete n.threadTitle:n.threadTitle=o,Object.keys(n).length===0?null:JSON.stringify(n)}function ct(t,e=new Map){let n=[];return t.priority&&n.push(se(st[t.priority],e.get(t.priority))),t.state&&(t.state.startsWith(k)?n.push(ce(t.state)??""):B[t.state]?n.push(se(B[t.state],e.get(t.state))):e.has(t.state)?n.push(t.state,e.get(t.state)??""):t.state.startsWith("c_")?n.push(t.state):n.push(B[t.state]??"")),n.filter(Boolean).join(" ")}function le(t,e){if(!t||t.trim().length===0)return;let n=new Set,o=false,r=false;for(let i of t.split(",")){let d=i.trim();if(d){if(d==="none"){o=true,r=true;continue}e(d)&&(n.add(d),r=true);}}if(r)return {values:n,includeNone:o}}function ut(t){return le(t,z)}function lt(t){return le(t,j)}function pt(t,e){return e?t?e.values.has(t):e.includeNone:true}export{te as ANTIGRAVITY_MODEL_COMPATIBILITY,de as BUILTIN_THREAD_STATES,F as BrowserFsAdapter,J as CLAUDE_MODEL_COMPATIBILITY_PAIRS,Le as CLAUDE_OPUS_4_8_BASE_MODEL_ID,Ue as CLAUDE_OPUS_4_8_LEGACY_MODEL_ID,v as ConfigLoadError,w as Crewx,we as EFFORT_LEVELS,Re as PROVIDER_ARGV_EFFORTS,H as PROVIDER_ORDER,g as ProviderError,ae as THREAD_PRIORITIES,Ce as classifyTaskError,tt as compareProviders,P as createProvider,ce as customStateLabel,at as hasThreadTitleKey,z as isThreadPriority,j as isThreadState,pt as matchesThreadTitleFilter,dt as mergeThreadTitleMeta,Ze as normalizeClaudeMode,rt as normalizeProviderId,ut as parseThreadPriorityFilter,lt as parseThreadStateFilter,Xe as parseYamlContent,G as providerRank,ue as readThreadTitleMeta,R as redactTechnicalMessage,M as registerProviderFactory,ne as resolveAntigravityModel,ee as resolveCatalogModelId,N as resolveProviderCatalogModel,ct as threadTitleSearchHaystack};