@crewx/sdk 0.9.0-rc.216 → 0.9.0-rc.218

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var eU=require('os'),$t=require('path'),gr=require('fs'),child_process=require('child_process'),string_decoder=require('string_decoder'),IP=require('crypto'),promises=require('fs/promises'),fflate=require('fflate'),sdk=require('@agentclientprotocol/sdk'),sqliteCore=require('drizzle-orm/sqlite-core'),drizzleOrm=require('drizzle-orm'),net=require('net'),index_js=require('@agentclientprotocol/sdk/dist/schema/index.js'),zod_gen_js=require('@agentclientprotocol/sdk/dist/schema/zod.gen.js'),jW=require('js-yaml'),jsTiktoken=require('js-tiktoken'),lite=require('js-tiktoken/lite'),vw=require('js-tiktoken/ranks/o200k_base'),zod=require('zod'),module$1=require('module'),ms=require('handlebars'),events=require('events'),async_hooks=require('async_hooks'),mcp_js=require('@modelcontextprotocol/sdk/server/mcp.js'),webStandardStreamableHttp_js=require('@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js'),util=require('util');require('console'),require('stream');var YW=require('tar'),zlib=require('zlib'),perf_hooks=require('perf_hooks'),url=require('url'),dotenv=require('dotenv');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var eU__namespace=/*#__PURE__*/_interopNamespace(eU);var $t__namespace=/*#__PURE__*/_interopNamespace($t);var gr__namespace=/*#__PURE__*/_interopNamespace(gr);var IP__namespace=/*#__PURE__*/_interopNamespace(IP);var jW__namespace=/*#__PURE__*/_interopNamespace(jW);var vw__default=/*#__PURE__*/_interopDefault(vw);var ms__namespace=/*#__PURE__*/_interopNamespace(ms);var YW__namespace=/*#__PURE__*/_interopNamespace(YW);var hw=Object.defineProperty;var hJ=Object.getOwnPropertyDescriptor;var yJ=Object.getOwnPropertyNames;var _J=Object.prototype.hasOwnProperty;var Wn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var M=(e,t)=>()=>(e&&(t=e(e=0)),t);var Sf=(e,t)=>{for(var n in t)hw(e,n,{get:t[n],enumerable:true});},AJ=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yJ(t))!_J.call(e,o)&&o!==n&&hw(e,o,{get:()=>t[o],enumerable:!(r=hJ(t,o))||r.enumerable});return e};var IJ=e=>AJ(hw({},"__esModule",{value:true}),e);var m=M(()=>{});var NN;exports.EFFORT_LEVELS=void 0;exports.PROVIDER_ARGV_EFFORTS=void 0;var vf,Qh,Wa=M(()=>{m();NN=["flagship","balanced","speed"],exports.EFFORT_LEVELS=["none","minimal","low","medium","high","xhigh","max","ultra"],exports.PROVIDER_ARGV_EFFORTS={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]},vf={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-5",name:"Claude Opus 5.5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{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-5-5",name:"Claude Haiku 5.5",contextWindowTokens:1e6,tier:"speed"},{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-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5-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-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-6.1-terra",name:"GPT-6.1 Terra",contextWindowTokens:5e5,tier:"balanced"},{id:"gpt-6-sol",name:"GPT-6 Sol",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-6-luna",name:"GPT-6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,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"],defaultEffort:"xhigh"},"gpt-6.1-sol":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-6.1-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"max"},"gpt-6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"max"},"gpt-6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"medium"},"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:[],suggestedModels:[{id:"opencode-go/glm-5.3-flash",name:"GLM-5.3 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/qwen3.8-flash",name:"Qwen3.8 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/minimax-m3",name:"MiniMax M3",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"opencode-go/kimi-k2.7-code",name:"Kimi K2.7 Code",contextWindowTokens:262144,tier:"balanced",recommended:true}],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"}],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.8-flash",name:"Gemini 3.8 Flash",tier:"balanced"},{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.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5",tier:"balanced"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5",tier:"flagship"},{id:"gemini-4-argon",name:"Gemini 4 Argon",tier:"flagship"}],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.8-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"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-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"claude-opus-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-4-argon":{effort:["low","medium","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.7",name:"Grok 4.7",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship"},{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.7":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"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"]}]}},Qh={version:1,providers:{"cli/codex":{model:"gpt-6.1-sol",query:{mode:"agent",effort:"high"},execute:{mode:"agent-full-access",effort:"high"}},"cli/claude":{model:"claude-opus-5-5",query:{mode:"default",effort:"high"},execute:{mode:"bypassPermissions",effort:"xhigh"}},"cli/grok":{model:"grok-4.7",query:{mode:"default",effort:"high",providerOptions:{alwaysApprove:true,sandbox:"off"}},execute:{mode:"bypassPermissions",effort:"xhigh",providerOptions:{alwaysApprove:true,sandbox:"off"}}},"cli/antigravity":{model:"gemini-3.8-flash",query:{mode:"default",effort:"medium"},execute:{mode:"bypassPermissions",effort:"medium"}}}},Object.fromEntries(Object.entries(vf).map(([e,t])=>[e,t.models]));});var rc,Aw,xN,Iw=M(()=>{m();rc={"claude-fable-5-1":{input:10,cachedInput:.25,output:50},"claude-fable-5":{input:10,cachedInput:1,output:50},"claude-opus-5-5":{input:4,cachedInput:.2,output:20},"claude-opus-5-5-medium":{input:4,cachedInput:.2,output:20},"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-5":{input:2,cachedInput:.1,output:10},"claude-sonnet-5-5-medium":{input:2,cachedInput:.1,output:10},"claude-sonnet-5":{input:2,cachedInput:.2,output:10},"claude-sonnet-4-6":{input:3,cachedInput:.3,output:15},"claude-haiku-5-5":{input:.1,cachedInput:.01,output:.5},"claude-haiku-4-5":{input:1,cachedInput:.1,output:5},"gpt-6-astra":{input:10,cachedInput:1,output:50},"gpt-6.1-sol":{input:2,cachedInput:.1,output:10},"gpt-6.1-terra":{input:1,cachedInput:.05,output:5},"gpt-6-sol":{input:2,cachedInput:.2,output:10},"gpt-6-luna":{input:.1,cachedInput:.01,output:.5},"gpt-5.6-sol":{input:4,cachedInput:.4,output:20},"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.3-flash":{input:.15,cachedInput:.03,output:.5},"glm-5.2":{input:1.4,cachedInput:.26,output:4.4},"glm-5.1":{input:1.4,cachedInput:.26,output:4.4},"deepseek-v4.1-flash":{input:.3,cachedInput:.006,output:1.2},"qwen3.8-flash":{input:.164,cachedInput:.018,output:.514},"minimax-m3":{input:.3,cachedInput:.06,output:1.2},"kimi-k2.7-code":{input:.95,cachedInput:.19,output: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.7":{input:2,cachedInput:.5,output:6},"grok-4.6":{input:2,cachedInput:.5,output:6},"grok-4.5":{input:2,cachedInput:.3,output:6}},Aw=new Set(["gpt-5.3-codex-spark","claude-opus-4-6-thinking","gpt-oss-120b","glm-5.3-flash-free","deepseek-v4.1-flash-free"]),xN=new Set(["auto","claude-fable-5","claude-fable-5-1","claude-haiku-4-5","claude-haiku-5-5","claude-opus-4-6","claude-opus-4-6-thinking","claude-opus-4-6[1m]","claude-opus-4-7","claude-opus-4-7[1m]","claude-opus-4-8","claude-opus-4-8[1m]","claude-opus-5","claude-opus-5-5","claude-opus-5-5-medium","claude-sonnet-4-6","claude-sonnet-4-6[1m]","claude-sonnet-5","claude-sonnet-5-5","claude-sonnet-5-5-medium","deepseek-v4.1-flash","deepseek-v4.1-flash-free","gemini-3.1-pro","gemini-3.6-flash","gemini-3.7-flash","gemini-3.8-flash","gemini-4-argon","glm-5.1","glm-5.2","glm-5.3-flash","glm-5.3-flash-free","gpt-4.1","gpt-4o","gpt-5-mini","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-6-luna","gpt-6-sol","gpt-6.1-sol","gpt-6.1-terra","gpt-oss-120b","grok-4.5","grok-4.6","grok-4.7","kimi-k2.7-code","minimax-m3","qwen3.8-flash"]);});function LN(e){Of=e;}function MN(e){DN=Object.fromEntries(Object.entries(e).map(([t,n])=>[t,{...n}]));}function Ew(e){let t=e.toLowerCase().trim();t=t.replace(/\[[^\]]*\]$/g,"");let n=t.lastIndexOf("/");return n>=0&&(t=t.slice(n+1)),t=t.replace(/-\d{8}$/,""),t}function RJ(e){if(!e)return;let t="inputPerMillionTokensUsd"in e?e.inputPerMillionTokensUsd:e.input,n="outputPerMillionTokensUsd"in e?e.outputPerMillionTokensUsd:e.output;if(!(!Number.isFinite(t)||t<=0||!Number.isFinite(n)||n<=0))return {inputPerMillionTokensUsd:t,outputPerMillionTokensUsd:n}}function UN(e){if(!e)return;let t=e.replace(/\[[^\]]*\]$/g,"");return RJ(DN[t]??rc[t])}function kJ(e){if(!e)return console.warn("[pricing] missing model id; cost is being recorded as 0"),Cf;let t=Ew(e),n=wJ[t];if(n)return Of[n]??rc[n]??Cf;if(Of[t])return Of[t];if(rc[t])return rc[t];if(Aw.has(t))return console.warn(`[pricing] unpublished model pricing: ${e}, cost_usd=0`),Cf;if(xN.has(t))return console.warn(`[pricing] missing catalog pricing: ${e}, cost_usd=0`),Cf;let r={...rc,...Of};for(let o of Object.keys(r))if(t.includes(o))return r[o];return console.warn(`[pricing] Unknown model: ${e}, cost_usd=0`),Cf}function SJ(e,t,n,r=0,o){let i=kJ(n),s=Math.min(r,e),d=(e-s)*i.input/1e6,c=s*i.cachedInput/1e6,l=t*i.output/1e6;return d+c+l}function Zh(e,t,n,r,o,i){return e&&e>0?e:!t&&!n?0:SJ(t??0,n??0,o,r??0)}var wJ,Cf,Of,DN,oc=M(()=>{m();Iw();Iw();wJ={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"},Cf={input:0,cachedInput:0,output:0},Of={},DN={};});function ey(e){return CJ[e]??e}function BN(e){return OJ.get(e)??e}function nu(e){if(!e)return {};let t=PJ.get(e);return t?{...t}:{model:e}}function rs(e,t){return e==="antigravity"||e==="cli/antigravity"?nu(t):t===void 0?{}:{model:BN(t)}}exports.CLAUDE_OPUS_4_8_BASE_MODEL_ID=void 0;exports.CLAUDE_OPUS_4_8_LEGACY_MODEL_ID=void 0;exports.CLAUDE_MODEL_COMPATIBILITY_PAIRS=void 0;var CJ,OJ;exports.ANTIGRAVITY_MODEL_COMPATIBILITY=void 0;var PJ,Gs=M(()=>{m();exports.CLAUDE_OPUS_4_8_BASE_MODEL_ID="claude-opus-4-8",exports.CLAUDE_OPUS_4_8_LEGACY_MODEL_ID="claude-opus-4-8[1m]",exports.CLAUDE_MODEL_COMPATIBILITY_PAIRS=[{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]"}],CJ={"accept-edits":"acceptEdits",yolo:"bypassPermissions","agent-full-access":"bypassPermissions"};OJ=new Map(exports.CLAUDE_MODEL_COMPATIBILITY_PAIRS.map(({baseModelId:e,catalogModelId:t})=>[e,t]));exports.ANTIGRAVITY_MODEL_COMPATIBILITY=[{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"}],PJ=new Map(exports.ANTIGRAVITY_MODEL_COMPATIBILITY.map(({legacyId:e,model:t,effort:n})=>[e,n===void 0?{model:t}:{model:t,effort:n}]));});function $N(){return {models:[],modes:[],effort:[],modelOverrides:{},providerOptions:[]}}function NJ(e){return Array.isArray(e)?{models:e,modes:[],effort:[],modelOverrides:{},providerOptions:[]}:e?{models:e.models??[],...e.suggestedModels!==void 0?{suggestedModels:e.suggestedModels}:{},modes:e.modes??[],effort:e.effort??[],modelOverrides:e.modelOverrides??{},providerOptions:e.providerOptions??[]}:$N()}function ty(e){Tw=Object.fromEntries(Object.entries(e).map(([t,n])=>[t,NJ(n)]));}function xJ(){Tw={};}function ru(e){jN={...e};}function gi(e){return to(e).models}function to(e){let t=Tw[e],n=vf[e];return t?t.suggestedModels!==void 0||n?.suggestedModels===void 0?t:{...t,suggestedModels:n.suggestedModels}:n??$N()}function Ga(e){return jN[e]??Qh.providers[e]}function ic(e){return to(e).modes}function Hr(e,t){let n=to(e);if(t){if(Object.prototype.hasOwnProperty.call(n.modelOverrides,t))return n.modelOverrides[t]?.effort??n.effort;let r=rs(e,t);return r.model===void 0?n.effort:n.modelOverrides[r.model]?.effort??n.effort}return n.effort}function za(e){return to(e).modelOverrides}function Pf(){return gi("claude")}function ww(){return gi("codex")}function Rw(){return gi("copilot")}function kw(){return gi("antigravity")}function Nf(e,t){let n=new Map;for(let r of [...e,...t]){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 xf(e){return e.map(t=>{let{apiPricing:n,...r}=t,o=UN(t.id);return o?{...r,apiPricing:o}:r})}var Tw,jN,no=M(()=>{m();Wa();oc();Gs();Tw={},jN={};});exports.PROMPT_TAGS=void 0;exports.LEGACY_PROMPT_TAGS=void 0;var zs=M(()=>{m();exports.PROMPT_TAGS={crewxSystemPrompt:"crewx_system_prompt",systemPrompt:"system_prompt",threadContext:"crewx_thread_context",threadState:"thread_state",apps:"apps",appsGuidance:"apps_guidance",availableApps:"available_apps",crewxUiState:"crewx_ui_state",highlights:"highlights",highlight:"highlight",omittedTurns:"omitted_turns",messages:"messages",message:"message",userQuery:"user_query",execOutput:"exec_output"},exports.LEGACY_PROMPT_TAGS={conversationHistory:"conversation_history",semanticContinuity:"semantic_continuity",execOutput:"exec-output"};});function Ut(){if(process.env.CREWX_HOME){let e=$t__namespace.resolve(process.env.CREWX_HOME);try{return gr__namespace.realpathSync(e)}catch(t){if(t instanceof Error&&"code"in t&&t.code==="ENOENT")return e;throw t}}return process.platform!=="win32"&&process.env.XDG_CONFIG_HOME?$t__namespace.join(process.env.XDG_CONFIG_HOME,"crewx"):$t__namespace.join(eU__namespace.homedir(),".crewx")}var $o=M(()=>{m();});function fx(e,t){let n={};for(let[r,o]of Object.entries(e))o!==void 0&&(t.includes(r)||(n[r]=o));return n}function sr(e){return fx(e,exports.CREWX_RUNNER_IDENTITY_ENV)}function DK(e){return fx(e,xK)}exports.CREWX_RUNNER_IDENTITY_ENV=void 0;var xK,is=M(()=>{m();exports.CREWX_RUNNER_IDENTITY_ENV=["CREWX_ASSIGNED_TASK_ID","CREWX_DETACHED_RUNNER"],xK=["CREWX_AGENT_ID","CREWX_PARENT_TASK_ID","CREWX_CALLER_AGENT_ID"];});function hy(e){return typeof e!="string"?void 0:e.trim()||void 0}function yy(e){return hy(e)?.toLowerCase()??""}function cu(e){try{return gr.statSync(e).isFile()}catch{return false}}function MK(e,t){if(e===t)return true;let n=$t__namespace.default.relative(e,t);return n!==""&&!n.startsWith("..")&&!$t__namespace.default.isAbsolute(n)}function UK(e,t){if($t__namespace.default.basename(e)!==".bin")return false;let n=$t__namespace.default.dirname(e);if($t__namespace.default.basename(n)!=="node_modules")return false;let r=$t__namespace.default.dirname(n);return MK(r,t)}function lu(e,t={}){if(e.includes("/")||e.includes("\\")||$t__namespace.default.isAbsolute(e))return e;let n=t.platform??process.platform,r=t.env??process.env,o=$t__namespace.default.resolve(t.cwd??process.cwd()),i=(t.resolution??"global_first")==="global_first",s=r.PATH??r.Path??process.env.PATH??process.env.Path??"",a=n==="win32"?";":":",d=s.split(a).map(p=>p.trim()).filter(Boolean),c=$t__namespace.default.extname(e).length>0,l=r.PATHEXT??r.Pathext??process.env.PATHEXT??process.env.Pathext??".EXE;.CMD;.BAT;.COM",u=n==="win32"?c?[""]:l.split(";").map(p=>p.trim()).filter(Boolean).map(p=>p.startsWith(".")?p:`.${p}`):[""];for(let p of d){let f=$t__namespace.default.resolve(o,p);if(!(i&&UK(f,o)))for(let g of u){let y=yy(g),_=g.toUpperCase();for(let A of [g,y,_]){let E=$t__namespace.default.join(f,`${e}${A}`);if(cu(E))return E}}}return e}function FK(e,t){return lu(e,{env:t,platform:"win32",resolution:"local_first"})}function BK(e){if(!cu(e))return null;try{let t=gr.readFileSync(e,"utf8"),n=$t__namespace.default.dirname(e),r=[];for(let a of t.matchAll(/"([^"\r\n]*)"/g)){let l=(a[1]??"").match(/%~?dp0%?\s*[\\/]*(.*)$/i)?.[1]?.trim();if(!l)continue;let u=l.replace(/[\\/]+/g,$t__namespace.default.sep).replace(/^[\\/]+/,""),p=$t__namespace.default.resolve(n,u);cu(p)&&r.push(p);}let o=[],i=new Map;for(let a of t.matchAll(/SET\s+"(\w+)=%~?dp0%?[\\/]?([^"]+)"/gi)){let d=a[1].toUpperCase(),c=a[2].trim().replace(/[\\/]+/g,$t__namespace.default.sep).replace(/^[\\/]+/,"");i.set(d,$t__namespace.default.resolve(n,c));}for(let a of t.split(/\r?\n/))if(a.includes("%*"))for(let d of a.matchAll(/"%(\w+)%"/g)){let c=i.get(d[1].toUpperCase());c&&cu(c)&&o.push(c);}let s=a=>a.find(d=>{let c=yy($t__namespace.default.basename(d));return c!=="node.exe"&&c!=="node"})??null;return s(o)??s(r)}catch{return null}}function HK(e,t){if(typeof t=="string")return hy(t)||null;if(!t||typeof t!="object")return null;if(e){let n=t[e],r=typeof n=="string"?hy(n):void 0;if(r)return r}for(let n of Object.values(t)){let r=typeof n=="string"?hy(n):void 0;if(r)return r}return null}function jK(e,t){if(!t)return null;let n=$t__namespace.default.dirname(e),r=[$t__namespace.default.resolve(n,"..",t),$t__namespace.default.resolve(n,"node_modules",t)];for(let o of r){let i=$t__namespace.default.join(o,"package.json");if(cu(i))try{let s=JSON.parse(gr.readFileSync(i,"utf8")),a=HK(t,s.bin);if(!a)continue;let d=$t__namespace.default.resolve(o,a);if(cu(d))return d}catch{}}return null}function $K(e){let t=e.platform??process.platform,n=e.env??process.env,r=e.execPath??process.execPath,o=e.cwd,i=e.resolution;if(t!=="win32")return {command:lu(e.command,{cwd:o,env:n,platform:t,resolution:i}),leadingArgv:[],resolution:"direct"};let s=lu(e.command,{cwd:o,env:n,platform:t,resolution:i}),a=yy($t__namespace.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=BK(s)??jK(s,e.packageName);return d?yy($t__namespace.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",windowsHide:true}}function VK(e){if(e.candidate.resolution!=="unresolved-wrapper")return {command:e.candidate.command,leadingArgv:e.candidate.leadingArgv,resolution:e.candidate.resolution,windowsHide:e.candidate.windowsHide};if(e.allowShellFallback===true)return {command:e.candidate.command,leadingArgv:[],resolution:"shell-fallback",shell:true,windowsHide:true};throw new Error(`${$t__namespace.default.basename(e.candidate.command)} wrapper resolved, but no executable/Node entrypoint could be resolved without shell execution.`)}function fc(e){let t=$K(e);return VK({candidate:t,allowShellFallback:e.allowShellFallback})}function gc(e,t){return {command:e.command,argv:[...e.leadingArgv,...t],resolution:e.resolution,shell:e.shell,windowsHide:e.windowsHide}}var uu=M(()=>{m();});function jw(e){let t=0;for(let n of e)n===jf&&(t+=1);return t}function Ay(e,t){return jw(t)<jw(e)?t:e}function _x(e){let t=e.match(/(?:^|[^0-9])([0-9]{1,5})(?![0-9])/);if(!t)return null;let n=Number(t[1]);return Number.isInteger(n)&&n>0&&n<=65535?n:null}function GK(e){if(e!==65001)return WK.get(e)}function Ax(e){let t=GK(e);if(!t)return null;try{return new TextDecoder(t)}catch{return null}}function zK(){return new Promise(e=>{let t=false,n,r=o=>{t||(t=true,n&&clearTimeout(n),e(o));};n=setTimeout(()=>r(null),hx),n.unref();try{child_process.execFile("chcp.com",[],{encoding:"ascii",timeout:hx,windowsHide:!0},(i,s)=>{if(i){r(null);return}r(_x(String(s)));}).once("error",()=>r(null));}catch{r(null);}})}function $w(){return process.platform!=="win32"?Promise.resolve(null):(_y||(_y=zK(),_y.then(e=>{Hw=e;},()=>{Hw=null;})),_y)}function mc(){process.platform==="win32"&&$w();}function JK(){return Hw}function yx(e,t){if(t.length>=Bw)return t.subarray(t.length-Bw);let n=Bw-t.length,r=e.length>n?e.subarray(e.length-n):e;return Buffer.concat([r,t])}function $f(e,t={}){let n=Buffer.from(e),r=n.toString("utf8");if((t.platform??process.platform)!=="win32"||!r.includes(jf))return r;let i=t.codePage===void 0?JK():t.codePage;if(i==null)return mc(),r;let s=Ax(i);return s?Ay(r,s.decode(n)):r}async function Vw(e,t={}){let n=new exports.ConsoleDecoder(t);return `${await n.write(e)}${await n.end()}`}var jf,Bw,hx,WK,_y,Hw;exports.ConsoleDecoder=void 0;var Ya=M(()=>{m();jf="\uFFFD",Bw=8,hx=1e3,WK=new Map([[437,"ibm437"],[720,"ibm720"],[737,"ibm737"],[775,"ibm775"],[850,"ibm850"],[852,"ibm852"],[855,"ibm855"],[857,"ibm857"],[858,"ibm858"],[862,"ibm862"],[864,"ibm864"],[932,"shift_jis"],[936,"gb18030"],[949,"euc-kr"],[950,"big5"],[866,"ibm866"],[869,"ibm869"],[1250,"windows-1250"],[1251,"windows-1251"],[1252,"windows-1252"],[1253,"windows-1253"],[1254,"windows-1254"],[1255,"windows-1255"],[1256,"windows-1256"],[1257,"windows-1257"],[1258,"windows-1258"]]);exports.ConsoleDecoder=class{platform;detectCodePage;utf8Decoder=new string_decoder.StringDecoder("utf8");codePage;fallbackDecoder;replayTail=Buffer.alloc(0);pendingUtf8="";pendingFallback="";pendingBytes=Buffer.alloc(0);queue=Promise.resolve();ended=false;constructor(t={}){this.platform=t.platform??process.platform,this.detectCodePage=t.detectCodePage??$w,this.codePage=t.codePage;}write(t){let n=Buffer.from(t);return this.enqueue(()=>this.decodeChunk(n))}end(){return this.enqueue(()=>this.finish())}enqueue(t){let n=this.queue.then(t);return this.queue=n.then(()=>{},()=>{}),n}clearPendingCandidate(){this.pendingUtf8="",this.pendingFallback="",this.pendingBytes=Buffer.alloc(0);}async resolveCodePage(){if(this.codePage!==void 0)return this.codePage;try{this.codePage=await this.detectCodePage();}catch{this.codePage=null;}return this.codePage}async getFallbackDecoder(){if(this.fallbackDecoder!==void 0)return this.fallbackDecoder;let t=await this.resolveCodePage();return this.fallbackDecoder=t===null?null:Ax(t),this.fallbackDecoder}async decodeChunk(t){if(this.ended)return "";let n=this.utf8Decoder.write(t),r=n.includes(jf);if(r&&(this.utf8Decoder=new string_decoder.StringDecoder("utf8")),this.platform!=="win32")return n;if(this.fallbackDecoder){let d=this.fallbackDecoder.decode(t,{stream:true}),c=yx(this.pendingBytes,t);if(r){let l=this.pendingUtf8+n,u=this.pendingFallback+d;return this.clearPendingCandidate(),Ay(l,u)}if(jw(d)>0){let l=this.pendingUtf8+n;return this.clearPendingCandidate(),this.fallbackDecoder=void 0,this.replayTail=c,l}if(this.pendingUtf8||this.pendingFallback){if(this.pendingUtf8+=n,this.pendingFallback+=d,this.pendingBytes=c,n.length===0||d.length===0)return "";let l=this.pendingUtf8;return this.clearPendingCandidate(),l}return n.length===0&&d.length>0?(this.pendingUtf8=n,this.pendingFallback=d,this.pendingBytes=c,""):n}let o=this.replayTail;if(this.fallbackDecoder===void 0&&(this.replayTail=yx(this.replayTail,t)),!r)return n;let i=this.fallbackDecoder===void 0,s=await this.getFallbackDecoder();if(!s)return this.replayTail=Buffer.alloc(0),n;i&&o.length>0&&s.decode(o,{stream:true}),this.replayTail=Buffer.alloc(0);let a=s.decode(t,{stream:true});return Ay(n,a)}async finish(){if(this.ended)return "";this.ended=true;let t=this.utf8Decoder.end();if(this.platform!=="win32")return t;if(this.fallbackDecoder===void 0&&t.includes(jf)){let i=await this.getFallbackDecoder();i&&this.replayTail.length>0&&(i.decode(this.replayTail,{stream:true}),this.replayTail=Buffer.alloc(0));}let n=this.pendingUtf8+t,r=this.fallbackDecoder?.decode()??"",o=this.pendingFallback+r;return this.clearPendingCandidate(),n.includes(jf)?Ay(n,o):n}};mc();});function KK(e){if(e.type!=="usage"||!("input_tokens"in e))return null;let t=Number(e.input_tokens??0),n=Number(e.output_tokens??0),o="cache_read_input_tokens"in e?Number(e.cache_read_input_tokens):void 0,i="cached_input_tokens"in e?Number(e.cached_input_tokens):void 0,s=o!==void 0?o:i??0;return {inputTokens:o!==void 0?t+o:t,outputTokens:n,cachedInputTokens:s}}function XK(e){let t=e.usage;if(!t||typeof t!="object"||Array.isArray(t))return null;let n=t;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 YK(e){if(e.type!=="step_finish")return null;let n=e.part?.tokens;if(!n)return null;let r=Number(n.input??0),o=Number(n.output??0)+Number(n.reasoning??0),i=n.cache,s=i?Number(i.read??0):0;return {inputTokens:r+s,outputTokens:o,cachedInputTokens:s}}function Ix(e){let t=new Map,n;for(let i of e.split(`
1
+ 'use strict';var eU=require('os'),$t=require('path'),gr=require('fs'),child_process=require('child_process'),string_decoder=require('string_decoder'),IP=require('crypto'),promises=require('fs/promises'),fflate=require('fflate'),sdk=require('@agentclientprotocol/sdk'),sqliteCore=require('drizzle-orm/sqlite-core'),drizzleOrm=require('drizzle-orm'),net=require('net'),index_js=require('@agentclientprotocol/sdk/dist/schema/index.js'),zod_gen_js=require('@agentclientprotocol/sdk/dist/schema/zod.gen.js'),jW=require('js-yaml'),jsTiktoken=require('js-tiktoken'),lite=require('js-tiktoken/lite'),vw=require('js-tiktoken/ranks/o200k_base'),zod=require('zod'),module$1=require('module'),ms=require('handlebars'),events=require('events'),async_hooks=require('async_hooks'),mcp_js=require('@modelcontextprotocol/sdk/server/mcp.js'),webStandardStreamableHttp_js=require('@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js'),util=require('util');require('console'),require('stream');var YW=require('tar'),zlib=require('zlib'),perf_hooks=require('perf_hooks'),url=require('url'),dotenv=require('dotenv');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var eU__namespace=/*#__PURE__*/_interopNamespace(eU);var $t__namespace=/*#__PURE__*/_interopNamespace($t);var gr__namespace=/*#__PURE__*/_interopNamespace(gr);var IP__namespace=/*#__PURE__*/_interopNamespace(IP);var jW__namespace=/*#__PURE__*/_interopNamespace(jW);var vw__default=/*#__PURE__*/_interopDefault(vw);var ms__namespace=/*#__PURE__*/_interopNamespace(ms);var YW__namespace=/*#__PURE__*/_interopNamespace(YW);var hw=Object.defineProperty;var hJ=Object.getOwnPropertyDescriptor;var yJ=Object.getOwnPropertyNames;var _J=Object.prototype.hasOwnProperty;var Wn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var M=(e,t)=>()=>(e&&(t=e(e=0)),t);var Sf=(e,t)=>{for(var n in t)hw(e,n,{get:t[n],enumerable:true});},AJ=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yJ(t))!_J.call(e,o)&&o!==n&&hw(e,o,{get:()=>t[o],enumerable:!(r=hJ(t,o))||r.enumerable});return e};var IJ=e=>AJ(hw({},"__esModule",{value:true}),e);var m=M(()=>{});var NN;exports.EFFORT_LEVELS=void 0;exports.PROVIDER_ARGV_EFFORTS=void 0;var vf,Qh,Wa=M(()=>{m();NN=["flagship","balanced","speed"],exports.EFFORT_LEVELS=["none","minimal","low","medium","high","xhigh","max","ultra"],exports.PROVIDER_ARGV_EFFORTS={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]},vf={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-5",name:"Claude Opus 5.5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{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-5-5",name:"Claude Haiku 5.5",contextWindowTokens:1e6,tier:"speed"},{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-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5-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-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-6.1-terra",name:"GPT-6.1 Terra",contextWindowTokens:5e5,tier:"balanced"},{id:"gpt-6-sol",name:"GPT-6 Sol",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-6-luna",name:"GPT-6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,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"],defaultEffort:"xhigh"},"gpt-6.1-sol":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-6.1-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"max"},"gpt-6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"max"},"gpt-6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"medium"},"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:[],suggestedModels:[{id:"opencode-go/glm-5.3-flash",name:"GLM-5.3 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/qwen3.8-flash",name:"Qwen3.8 Flash",contextWindowTokens:1e6,tier:"speed",recommended:true},{id:"opencode-go/minimax-m3",name:"MiniMax M3",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"opencode-go/kimi-k2.7-code",name:"Kimi K2.7 Code",contextWindowTokens:262144,tier:"balanced",recommended:true}],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"}],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.8-flash",name:"Gemini 3.8 Flash",tier:"balanced"},{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.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-5-5-medium",name:"Claude Sonnet 5.5",tier:"balanced"},{id:"claude-opus-5-5-medium",name:"Claude Opus 5.5",tier:"flagship"},{id:"gemini-4-argon",name:"Gemini 4 Argon",tier:"flagship"}],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.8-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"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-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"claude-opus-5-5-medium":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-4-argon":{effort:["low","medium","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.7",name:"Grok 4.7",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship"},{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.7":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"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"]}]}},Qh={version:1,providers:{"cli/codex":{model:"gpt-6.1-sol",query:{mode:"agent",effort:"high"},execute:{mode:"agent-full-access",effort:"high"}},"cli/claude":{model:"claude-opus-5-5",query:{mode:"default",effort:"high"},execute:{mode:"bypassPermissions",effort:"xhigh"}},"cli/grok":{model:"grok-4.7",query:{mode:"default",effort:"high",providerOptions:{alwaysApprove:true,sandbox:"off"}},execute:{mode:"bypassPermissions",effort:"xhigh",providerOptions:{alwaysApprove:true,sandbox:"off"}}},"cli/antigravity":{model:"gemini-3.8-flash",query:{mode:"default",effort:"medium"},execute:{mode:"bypassPermissions",effort:"medium"}}}},Object.fromEntries(Object.entries(vf).map(([e,t])=>[e,t.models]));});var rc,Aw,xN,Iw=M(()=>{m();rc={"claude-fable-5-1":{input:10,cachedInput:.25,output:50},"claude-fable-5":{input:10,cachedInput:1,output:50},"claude-opus-5-5":{input:4,cachedInput:.2,output:20},"claude-opus-5-5-medium":{input:4,cachedInput:.2,output:20},"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-5":{input:2,cachedInput:.1,output:10},"claude-sonnet-5-5-medium":{input:2,cachedInput:.1,output:10},"claude-sonnet-5":{input:2,cachedInput:.2,output:10},"claude-sonnet-4-6":{input:3,cachedInput:.3,output:15},"claude-haiku-5-5":{input:.1,cachedInput:.01,output:.5},"claude-haiku-4-5":{input:1,cachedInput:.1,output:5},"gpt-6-astra":{input:10,cachedInput:1,output:50},"gpt-6.1-sol":{input:2,cachedInput:.1,output:10},"gpt-6.1-terra":{input:1,cachedInput:.05,output:5},"gpt-6-sol":{input:2,cachedInput:.2,output:10},"gpt-6-luna":{input:.1,cachedInput:.01,output:.5},"gpt-5.6-sol":{input:4,cachedInput:.4,output:20},"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.3-flash":{input:.15,cachedInput:.03,output:.5},"glm-5.2":{input:1.4,cachedInput:.26,output:4.4},"glm-5.1":{input:1.4,cachedInput:.26,output:4.4},"deepseek-v4.1-flash":{input:.3,cachedInput:.006,output:1.2},"qwen3.8-flash":{input:.164,cachedInput:.018,output:.514},"minimax-m3":{input:.3,cachedInput:.06,output:1.2},"kimi-k2.7-code":{input:.95,cachedInput:.19,output:4},"gemini-3.8-flash":{input:1.5,cachedInput:.15,output:7.5},"gemini-4-argon":{input:4,cachedInput:.2,output:20},"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.7":{input:2,cachedInput:.5,output:6},"grok-4.6":{input:2,cachedInput:.5,output:6},"grok-4.5":{input:2,cachedInput:.3,output:6}},Aw=new Set(["gpt-5.3-codex-spark","claude-opus-4-6-thinking","gpt-oss-120b","glm-5.3-flash-free","deepseek-v4.1-flash-free"]),xN=new Set(["auto","claude-fable-5","claude-fable-5-1","claude-haiku-4-5","claude-haiku-5-5","claude-opus-4-6","claude-opus-4-6-thinking","claude-opus-4-6[1m]","claude-opus-4-7","claude-opus-4-7[1m]","claude-opus-4-8","claude-opus-4-8[1m]","claude-opus-5","claude-opus-5-5","claude-opus-5-5-medium","claude-sonnet-4-6","claude-sonnet-4-6[1m]","claude-sonnet-5","claude-sonnet-5-5","claude-sonnet-5-5-medium","deepseek-v4.1-flash","deepseek-v4.1-flash-free","gemini-3.1-pro","gemini-3.6-flash","gemini-3.7-flash","gemini-3.8-flash","gemini-4-argon","glm-5.1","glm-5.2","glm-5.3-flash","glm-5.3-flash-free","gpt-4.1","gpt-4o","gpt-5-mini","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-6-luna","gpt-6-sol","gpt-6.1-sol","gpt-6.1-terra","gpt-oss-120b","grok-4.5","grok-4.6","grok-4.7","kimi-k2.7-code","minimax-m3","qwen3.8-flash"]);});function LN(e){Of=e;}function MN(e){DN=Object.fromEntries(Object.entries(e).map(([t,n])=>[t,{...n}]));}function Ew(e){let t=e.toLowerCase().trim();t=t.replace(/\[[^\]]*\]$/g,"");let n=t.lastIndexOf("/");return n>=0&&(t=t.slice(n+1)),t=t.replace(/-\d{8}$/,""),t}function RJ(e){if(!e)return;let t="inputPerMillionTokensUsd"in e?e.inputPerMillionTokensUsd:e.input,n="outputPerMillionTokensUsd"in e?e.outputPerMillionTokensUsd:e.output;if(!(!Number.isFinite(t)||t<=0||!Number.isFinite(n)||n<=0))return {inputPerMillionTokensUsd:t,outputPerMillionTokensUsd:n}}function UN(e){if(!e)return;let t=e.replace(/\[[^\]]*\]$/g,"");return RJ(DN[t]??rc[t])}function kJ(e){if(!e)return console.warn("[pricing] missing model id; cost is being recorded as 0"),Cf;let t=Ew(e),n=wJ[t];if(n)return Of[n]??rc[n]??Cf;if(Of[t])return Of[t];if(rc[t])return rc[t];if(Aw.has(t))return console.warn(`[pricing] unpublished model pricing: ${e}, cost_usd=0`),Cf;if(xN.has(t))return console.warn(`[pricing] missing catalog pricing: ${e}, cost_usd=0`),Cf;let r={...rc,...Of};for(let o of Object.keys(r))if(t.includes(o))return r[o];return console.warn(`[pricing] Unknown model: ${e}, cost_usd=0`),Cf}function SJ(e,t,n,r=0,o){let i=kJ(n),s=Math.min(r,e),d=(e-s)*i.input/1e6,c=s*i.cachedInput/1e6,l=t*i.output/1e6;return d+c+l}function Zh(e,t,n,r,o,i){return e&&e>0?e:!t&&!n?0:SJ(t??0,n??0,o,r??0)}var wJ,Cf,Of,DN,oc=M(()=>{m();Iw();Iw();wJ={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"},Cf={input:0,cachedInput:0,output:0},Of={},DN={};});function ey(e){return CJ[e]??e}function BN(e){return OJ.get(e)??e}function nu(e){if(!e)return {};let t=PJ.get(e);return t?{...t}:{model:e}}function rs(e,t){return e==="antigravity"||e==="cli/antigravity"?nu(t):t===void 0?{}:{model:BN(t)}}exports.CLAUDE_OPUS_4_8_BASE_MODEL_ID=void 0;exports.CLAUDE_OPUS_4_8_LEGACY_MODEL_ID=void 0;exports.CLAUDE_MODEL_COMPATIBILITY_PAIRS=void 0;var CJ,OJ;exports.ANTIGRAVITY_MODEL_COMPATIBILITY=void 0;var PJ,Gs=M(()=>{m();exports.CLAUDE_OPUS_4_8_BASE_MODEL_ID="claude-opus-4-8",exports.CLAUDE_OPUS_4_8_LEGACY_MODEL_ID="claude-opus-4-8[1m]",exports.CLAUDE_MODEL_COMPATIBILITY_PAIRS=[{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]"}],CJ={"accept-edits":"acceptEdits",yolo:"bypassPermissions","agent-full-access":"bypassPermissions"};OJ=new Map(exports.CLAUDE_MODEL_COMPATIBILITY_PAIRS.map(({baseModelId:e,catalogModelId:t})=>[e,t]));exports.ANTIGRAVITY_MODEL_COMPATIBILITY=[{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"}],PJ=new Map(exports.ANTIGRAVITY_MODEL_COMPATIBILITY.map(({legacyId:e,model:t,effort:n})=>[e,n===void 0?{model:t}:{model:t,effort:n}]));});function $N(){return {models:[],modes:[],effort:[],modelOverrides:{},providerOptions:[]}}function NJ(e){return Array.isArray(e)?{models:e,modes:[],effort:[],modelOverrides:{},providerOptions:[]}:e?{models:e.models??[],...e.suggestedModels!==void 0?{suggestedModels:e.suggestedModels}:{},modes:e.modes??[],effort:e.effort??[],modelOverrides:e.modelOverrides??{},providerOptions:e.providerOptions??[]}:$N()}function ty(e){Tw=Object.fromEntries(Object.entries(e).map(([t,n])=>[t,NJ(n)]));}function xJ(){Tw={};}function ru(e){jN={...e};}function gi(e){return to(e).models}function to(e){let t=Tw[e],n=vf[e];return t?t.suggestedModels!==void 0||n?.suggestedModels===void 0?t:{...t,suggestedModels:n.suggestedModels}:n??$N()}function Ga(e){return jN[e]??Qh.providers[e]}function ic(e){return to(e).modes}function Hr(e,t){let n=to(e);if(t){if(Object.prototype.hasOwnProperty.call(n.modelOverrides,t))return n.modelOverrides[t]?.effort??n.effort;let r=rs(e,t);return r.model===void 0?n.effort:n.modelOverrides[r.model]?.effort??n.effort}return n.effort}function za(e){return to(e).modelOverrides}function Pf(){return gi("claude")}function ww(){return gi("codex")}function Rw(){return gi("copilot")}function kw(){return gi("antigravity")}function Nf(e,t){let n=new Map;for(let r of [...e,...t]){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 xf(e){return e.map(t=>{let{apiPricing:n,...r}=t,o=UN(t.id);return o?{...r,apiPricing:o}:r})}var Tw,jN,no=M(()=>{m();Wa();oc();Gs();Tw={},jN={};});exports.PROMPT_TAGS=void 0;exports.LEGACY_PROMPT_TAGS=void 0;var zs=M(()=>{m();exports.PROMPT_TAGS={crewxSystemPrompt:"crewx_system_prompt",systemPrompt:"system_prompt",threadContext:"crewx_thread_context",threadState:"thread_state",apps:"apps",appsGuidance:"apps_guidance",availableApps:"available_apps",crewxUiState:"crewx_ui_state",highlights:"highlights",highlight:"highlight",omittedTurns:"omitted_turns",messages:"messages",message:"message",userQuery:"user_query",execOutput:"exec_output"},exports.LEGACY_PROMPT_TAGS={conversationHistory:"conversation_history",semanticContinuity:"semantic_continuity",execOutput:"exec-output"};});function Ut(){if(process.env.CREWX_HOME){let e=$t__namespace.resolve(process.env.CREWX_HOME);try{return gr__namespace.realpathSync(e)}catch(t){if(t instanceof Error&&"code"in t&&t.code==="ENOENT")return e;throw t}}return process.platform!=="win32"&&process.env.XDG_CONFIG_HOME?$t__namespace.join(process.env.XDG_CONFIG_HOME,"crewx"):$t__namespace.join(eU__namespace.homedir(),".crewx")}var $o=M(()=>{m();});function fx(e,t){let n={};for(let[r,o]of Object.entries(e))o!==void 0&&(t.includes(r)||(n[r]=o));return n}function sr(e){return fx(e,exports.CREWX_RUNNER_IDENTITY_ENV)}function DK(e){return fx(e,xK)}exports.CREWX_RUNNER_IDENTITY_ENV=void 0;var xK,is=M(()=>{m();exports.CREWX_RUNNER_IDENTITY_ENV=["CREWX_ASSIGNED_TASK_ID","CREWX_DETACHED_RUNNER"],xK=["CREWX_AGENT_ID","CREWX_PARENT_TASK_ID","CREWX_CALLER_AGENT_ID"];});function hy(e){return typeof e!="string"?void 0:e.trim()||void 0}function yy(e){return hy(e)?.toLowerCase()??""}function cu(e){try{return gr.statSync(e).isFile()}catch{return false}}function MK(e,t){if(e===t)return true;let n=$t__namespace.default.relative(e,t);return n!==""&&!n.startsWith("..")&&!$t__namespace.default.isAbsolute(n)}function UK(e,t){if($t__namespace.default.basename(e)!==".bin")return false;let n=$t__namespace.default.dirname(e);if($t__namespace.default.basename(n)!=="node_modules")return false;let r=$t__namespace.default.dirname(n);return MK(r,t)}function lu(e,t={}){if(e.includes("/")||e.includes("\\")||$t__namespace.default.isAbsolute(e))return e;let n=t.platform??process.platform,r=t.env??process.env,o=$t__namespace.default.resolve(t.cwd??process.cwd()),i=(t.resolution??"global_first")==="global_first",s=r.PATH??r.Path??process.env.PATH??process.env.Path??"",a=n==="win32"?";":":",d=s.split(a).map(p=>p.trim()).filter(Boolean),c=$t__namespace.default.extname(e).length>0,l=r.PATHEXT??r.Pathext??process.env.PATHEXT??process.env.Pathext??".EXE;.CMD;.BAT;.COM",u=n==="win32"?c?[""]:l.split(";").map(p=>p.trim()).filter(Boolean).map(p=>p.startsWith(".")?p:`.${p}`):[""];for(let p of d){let f=$t__namespace.default.resolve(o,p);if(!(i&&UK(f,o)))for(let g of u){let y=yy(g),_=g.toUpperCase();for(let A of [g,y,_]){let E=$t__namespace.default.join(f,`${e}${A}`);if(cu(E))return E}}}return e}function FK(e,t){return lu(e,{env:t,platform:"win32",resolution:"local_first"})}function BK(e){if(!cu(e))return null;try{let t=gr.readFileSync(e,"utf8"),n=$t__namespace.default.dirname(e),r=[];for(let a of t.matchAll(/"([^"\r\n]*)"/g)){let l=(a[1]??"").match(/%~?dp0%?\s*[\\/]*(.*)$/i)?.[1]?.trim();if(!l)continue;let u=l.replace(/[\\/]+/g,$t__namespace.default.sep).replace(/^[\\/]+/,""),p=$t__namespace.default.resolve(n,u);cu(p)&&r.push(p);}let o=[],i=new Map;for(let a of t.matchAll(/SET\s+"(\w+)=%~?dp0%?[\\/]?([^"]+)"/gi)){let d=a[1].toUpperCase(),c=a[2].trim().replace(/[\\/]+/g,$t__namespace.default.sep).replace(/^[\\/]+/,"");i.set(d,$t__namespace.default.resolve(n,c));}for(let a of t.split(/\r?\n/))if(a.includes("%*"))for(let d of a.matchAll(/"%(\w+)%"/g)){let c=i.get(d[1].toUpperCase());c&&cu(c)&&o.push(c);}let s=a=>a.find(d=>{let c=yy($t__namespace.default.basename(d));return c!=="node.exe"&&c!=="node"})??null;return s(o)??s(r)}catch{return null}}function HK(e,t){if(typeof t=="string")return hy(t)||null;if(!t||typeof t!="object")return null;if(e){let n=t[e],r=typeof n=="string"?hy(n):void 0;if(r)return r}for(let n of Object.values(t)){let r=typeof n=="string"?hy(n):void 0;if(r)return r}return null}function jK(e,t){if(!t)return null;let n=$t__namespace.default.dirname(e),r=[$t__namespace.default.resolve(n,"..",t),$t__namespace.default.resolve(n,"node_modules",t)];for(let o of r){let i=$t__namespace.default.join(o,"package.json");if(cu(i))try{let s=JSON.parse(gr.readFileSync(i,"utf8")),a=HK(t,s.bin);if(!a)continue;let d=$t__namespace.default.resolve(o,a);if(cu(d))return d}catch{}}return null}function $K(e){let t=e.platform??process.platform,n=e.env??process.env,r=e.execPath??process.execPath,o=e.cwd,i=e.resolution;if(t!=="win32")return {command:lu(e.command,{cwd:o,env:n,platform:t,resolution:i}),leadingArgv:[],resolution:"direct"};let s=lu(e.command,{cwd:o,env:n,platform:t,resolution:i}),a=yy($t__namespace.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=BK(s)??jK(s,e.packageName);return d?yy($t__namespace.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",windowsHide:true}}function VK(e){if(e.candidate.resolution!=="unresolved-wrapper")return {command:e.candidate.command,leadingArgv:e.candidate.leadingArgv,resolution:e.candidate.resolution,windowsHide:e.candidate.windowsHide};if(e.allowShellFallback===true)return {command:e.candidate.command,leadingArgv:[],resolution:"shell-fallback",shell:true,windowsHide:true};throw new Error(`${$t__namespace.default.basename(e.candidate.command)} wrapper resolved, but no executable/Node entrypoint could be resolved without shell execution.`)}function fc(e){let t=$K(e);return VK({candidate:t,allowShellFallback:e.allowShellFallback})}function gc(e,t){return {command:e.command,argv:[...e.leadingArgv,...t],resolution:e.resolution,shell:e.shell,windowsHide:e.windowsHide}}var uu=M(()=>{m();});function jw(e){let t=0;for(let n of e)n===jf&&(t+=1);return t}function Ay(e,t){return jw(t)<jw(e)?t:e}function _x(e){let t=e.match(/(?:^|[^0-9])([0-9]{1,5})(?![0-9])/);if(!t)return null;let n=Number(t[1]);return Number.isInteger(n)&&n>0&&n<=65535?n:null}function GK(e){if(e!==65001)return WK.get(e)}function Ax(e){let t=GK(e);if(!t)return null;try{return new TextDecoder(t)}catch{return null}}function zK(){return new Promise(e=>{let t=false,n,r=o=>{t||(t=true,n&&clearTimeout(n),e(o));};n=setTimeout(()=>r(null),hx),n.unref();try{child_process.execFile("chcp.com",[],{encoding:"ascii",timeout:hx,windowsHide:!0},(i,s)=>{if(i){r(null);return}r(_x(String(s)));}).once("error",()=>r(null));}catch{r(null);}})}function $w(){return process.platform!=="win32"?Promise.resolve(null):(_y||(_y=zK(),_y.then(e=>{Hw=e;},()=>{Hw=null;})),_y)}function mc(){process.platform==="win32"&&$w();}function JK(){return Hw}function yx(e,t){if(t.length>=Bw)return t.subarray(t.length-Bw);let n=Bw-t.length,r=e.length>n?e.subarray(e.length-n):e;return Buffer.concat([r,t])}function $f(e,t={}){let n=Buffer.from(e),r=n.toString("utf8");if((t.platform??process.platform)!=="win32"||!r.includes(jf))return r;let i=t.codePage===void 0?JK():t.codePage;if(i==null)return mc(),r;let s=Ax(i);return s?Ay(r,s.decode(n)):r}async function Vw(e,t={}){let n=new exports.ConsoleDecoder(t);return `${await n.write(e)}${await n.end()}`}var jf,Bw,hx,WK,_y,Hw;exports.ConsoleDecoder=void 0;var Ya=M(()=>{m();jf="\uFFFD",Bw=8,hx=1e3,WK=new Map([[437,"ibm437"],[720,"ibm720"],[737,"ibm737"],[775,"ibm775"],[850,"ibm850"],[852,"ibm852"],[855,"ibm855"],[857,"ibm857"],[858,"ibm858"],[862,"ibm862"],[864,"ibm864"],[932,"shift_jis"],[936,"gb18030"],[949,"euc-kr"],[950,"big5"],[866,"ibm866"],[869,"ibm869"],[1250,"windows-1250"],[1251,"windows-1251"],[1252,"windows-1252"],[1253,"windows-1253"],[1254,"windows-1254"],[1255,"windows-1255"],[1256,"windows-1256"],[1257,"windows-1257"],[1258,"windows-1258"]]);exports.ConsoleDecoder=class{platform;detectCodePage;utf8Decoder=new string_decoder.StringDecoder("utf8");codePage;fallbackDecoder;replayTail=Buffer.alloc(0);pendingUtf8="";pendingFallback="";pendingBytes=Buffer.alloc(0);queue=Promise.resolve();ended=false;constructor(t={}){this.platform=t.platform??process.platform,this.detectCodePage=t.detectCodePage??$w,this.codePage=t.codePage;}write(t){let n=Buffer.from(t);return this.enqueue(()=>this.decodeChunk(n))}end(){return this.enqueue(()=>this.finish())}enqueue(t){let n=this.queue.then(t);return this.queue=n.then(()=>{},()=>{}),n}clearPendingCandidate(){this.pendingUtf8="",this.pendingFallback="",this.pendingBytes=Buffer.alloc(0);}async resolveCodePage(){if(this.codePage!==void 0)return this.codePage;try{this.codePage=await this.detectCodePage();}catch{this.codePage=null;}return this.codePage}async getFallbackDecoder(){if(this.fallbackDecoder!==void 0)return this.fallbackDecoder;let t=await this.resolveCodePage();return this.fallbackDecoder=t===null?null:Ax(t),this.fallbackDecoder}async decodeChunk(t){if(this.ended)return "";let n=this.utf8Decoder.write(t),r=n.includes(jf);if(r&&(this.utf8Decoder=new string_decoder.StringDecoder("utf8")),this.platform!=="win32")return n;if(this.fallbackDecoder){let d=this.fallbackDecoder.decode(t,{stream:true}),c=yx(this.pendingBytes,t);if(r){let l=this.pendingUtf8+n,u=this.pendingFallback+d;return this.clearPendingCandidate(),Ay(l,u)}if(jw(d)>0){let l=this.pendingUtf8+n;return this.clearPendingCandidate(),this.fallbackDecoder=void 0,this.replayTail=c,l}if(this.pendingUtf8||this.pendingFallback){if(this.pendingUtf8+=n,this.pendingFallback+=d,this.pendingBytes=c,n.length===0||d.length===0)return "";let l=this.pendingUtf8;return this.clearPendingCandidate(),l}return n.length===0&&d.length>0?(this.pendingUtf8=n,this.pendingFallback=d,this.pendingBytes=c,""):n}let o=this.replayTail;if(this.fallbackDecoder===void 0&&(this.replayTail=yx(this.replayTail,t)),!r)return n;let i=this.fallbackDecoder===void 0,s=await this.getFallbackDecoder();if(!s)return this.replayTail=Buffer.alloc(0),n;i&&o.length>0&&s.decode(o,{stream:true}),this.replayTail=Buffer.alloc(0);let a=s.decode(t,{stream:true});return Ay(n,a)}async finish(){if(this.ended)return "";this.ended=true;let t=this.utf8Decoder.end();if(this.platform!=="win32")return t;if(this.fallbackDecoder===void 0&&t.includes(jf)){let i=await this.getFallbackDecoder();i&&this.replayTail.length>0&&(i.decode(this.replayTail,{stream:true}),this.replayTail=Buffer.alloc(0));}let n=this.pendingUtf8+t,r=this.fallbackDecoder?.decode()??"",o=this.pendingFallback+r;return this.clearPendingCandidate(),n.includes(jf)?Ay(n,o):n}};mc();});function KK(e){if(e.type!=="usage"||!("input_tokens"in e))return null;let t=Number(e.input_tokens??0),n=Number(e.output_tokens??0),o="cache_read_input_tokens"in e?Number(e.cache_read_input_tokens):void 0,i="cached_input_tokens"in e?Number(e.cached_input_tokens):void 0,s=o!==void 0?o:i??0;return {inputTokens:o!==void 0?t+o:t,outputTokens:n,cachedInputTokens:s}}function XK(e){let t=e.usage;if(!t||typeof t!="object"||Array.isArray(t))return null;let n=t;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 YK(e){if(e.type!=="step_finish")return null;let n=e.part?.tokens;if(!n)return null;let r=Number(n.input??0),o=Number(n.output??0)+Number(n.reasoning??0),i=n.cache,s=i?Number(i.read??0):0;return {inputTokens:r+s,outputTokens:o,cachedInputTokens:s}}function Ix(e){let t=new Map,n;for(let i of e.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);t.set(d,{inputTokens:l+u,cachedInputTokens:u});let p=a?.model;typeof p=="string"&&p&&(n=p);}catch{}if(t.size===0)return;let r=0,o=0;for(let i of t.values())r+=i.inputTokens,o+=i.cachedInputTokens;return {inputTokens:r,cachedInputTokens:o,model:n}}function Ks(e){if(!e||!e.trim())return;let t=null,n=null;for(let r of e.split(`
3
3
  `))if(r.trim())try{let o=JSON.parse(r),i=YK(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=KK(o)??XK(o);s&&(t=s);}catch{}return n||(t??void 0)}var hc=M(()=>{m();});var QK;exports.ProviderError=void 0;var yc,_c,Vf,ss=M(()=>{m();QK=new Set(["ACCOUNT_SETTING_REQUIRED","MODEL_RETIRED","SUBSCRIPTION_REQUIRED"]),exports.ProviderError=class extends Error{constructor(n,r,o){super(n);this.providerStr=r;this.name="ProviderError",this.code=o?.code??"UNKNOWN",this.kind=QK.has(this.code)?"config":o?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=o?.retryAfterMs,this.settingReason=o?.settingReason,this.replacementModel=o?.replacementModel,this.providerReason=o?.providerReason;}providerStr;code;kind;retryAfterMs;settingReason;replacementModel;providerReason;stdout},yc=class extends exports.ProviderError{constructor(t,n){super(t,n,{code:"TIMEOUT_IDLE",kind:"permanent"}),this.name="IdleTimeoutError";}},_c=class extends exports.ProviderError{constructor(t,n){super(t,n,{code:"TIMEOUT_TOTAL",kind:"permanent"}),this.name="TotalTimeoutError";}},Vf=class extends exports.ProviderError{constructor(t,n){super(t,n,{code:"TIMEOUT_RESUME",kind:"transient"}),this.name="ResumeTimeoutError";}};});exports.RateLimitError=void 0;var Iy=M(()=>{m();ss();exports.RateLimitError=class extends exports.ProviderError{name="RateLimitError";constructor(t,n="cli/claude"){super(t,n,{code:"QUOTA_EXHAUSTED",kind:"transient"});}};});function Ac(e){if(typeof e!="string")return;let t=e.trim();if(t)return t=t.replace(/^\s*at\s+[^\r\n]+(?:\r?\n|$)/gim,""),t=t.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 ${jr}]`),t=e2(t),t=t.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+\-/]+=*/gi,`${jr}`),t=t.replace(/\bsk-[A-Za-z0-9][A-Za-z0-9_-]*/g,jr),t=t.replace(/\bghp_[A-Za-z0-9][A-Za-z0-9_-]*/g,jr),t=t.replace(/\bxoxb-[A-Za-z0-9-]+/g,jr),t=t.replace(/\bxoxp-[A-Za-z0-9-]+/g,jr),t=t.replace(/\bAKIA[0-9A-Z]{12,}\b/g,jr),t=t.replace(/\bgithub_pat_[A-Za-z0-9_]+/g,jr),t=t.replace(/\bgho_[A-Za-z0-9_]+/g,jr),t=t.replace(/\bAIza[A-Za-z0-9_-]{20,}\b/g,jr),t=t.replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,jr),t=t.replace(/\b(?:authorization|api[_ -]?key|access[_ -]?token|auth[_ -]?token|refresh[_ -]?token|token|secret|password)\s*([:=])\s*["']?[^\s,;&"']+/gi,(n,r)=>`${jr}${r}${jr}`),t=t.replace(/([?&](?:api[_-]?key|access[_-]?token|token)=)[^&\s]+/gi,`$1${jr}`),t=t.replace(/(?:\/(?:Users|home|private|var\/folders|tmp|workspace|workspaces|Volumes|opt|etc|srv|Applications)\/[^\s"'`),;]+)/g,Ex),t=t.replace(/\b[A-Z]:\\(?:Users|home|Windows|Program Files|workspace|workspaces)\\[^\s"'`),;]*/gi,Ex),t=t.replace(/[\r\n]{3,}/g,`
4
4
 
@@ -39,7 +39,7 @@
39
39
  `);r.transaction(s=>{for(let a of s)o.run(a);})(n);}finally{r.close();}}function yX(e){if(!e)return [];let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(r==="-s"||r==="--session"){let o=e[n+1],i=o!==void 0&&!o.startsWith("-");t.push({sessionId:i?o:void 0}),i&&(n+=1);continue}(r.startsWith("--session=")||r.startsWith("-s="))&&t.push({sessionId:r.slice(r.indexOf("=")+1)||void 0});}return t}function _X(e){if(!e)return;let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(r==="-s"||r==="--session"){e[n+1]!==void 0&&!e[n+1].startsWith("-")&&(n+=1);continue}r.startsWith("--session=")||r.startsWith("-s=")||t.push(r);}return t}function Dy(e){let t=_X(e.additionalArgs);return {...e,...t===void 0?{}:{additionalArgs:t},resumeSessionId:void 0}}function AX(e,t){try{return !!e.prepare("SELECT id FROM session_v2 WHERE id = ?").get(t)}catch(n){if(n instanceof Error&&/no such table: session_v2/i.test(n.message))return false;throw n}}function IX(e,t,n){let r=new e(t,{readonly:true,fileMustExist:true});try{return AX(r,n)}finally{r.close();}}async function Ly(e,t={}){let n;try{n=await(t.loadSqlite??lX)();}catch{throw new exports.ProviderError("OpenCode isolation requires the optional better-sqlite3 dependency. Install it and retry.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}let r=t.crewxHome??Ut(),o=Rc(r),i=Tu(r),s=uX(i),a=pX(t.userDataHome),d=gX(n,a);if(d.length>0){if(!oD(n,s))try{await(t.initializeDatabase??mX)(o);}catch{throw new exports.ProviderError("Could not initialize the isolated OpenCode credential database.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}if(!oD(n,s))throw new exports.ProviderError("The isolated OpenCode credential database is unavailable.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"});try{hX(n,s,d);}catch{throw new exports.ProviderError("Could not copy API-key credentials into the isolated OpenCode database.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}}let c=yX(e.additionalArgs),l=c.map(p=>p.sessionId),u=c.length>0?l[l.length-1]:e.resumeSessionId;if(!u)return c.length>0?Dy(e):e;if(l.some(p=>p!==u)||!gr.existsSync(s))return Dy(e);try{return IX(n,s,u)?{...e,resumeSessionId:u}:Dy(e)}catch{throw new exports.ProviderError("Could not read the isolated OpenCode session database safely.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}}var My=M(()=>{m();ss();is();$o();});function wX(e){return e.charAt(0).toUpperCase()+e.slice(1)}function oR(e){if(typeof e!="object"||e===null)return "execution_failed";let t=e;return t.code==="ENOENT"?"command_not_found":t.code==="ERR_CHILD_PROCESS_STDIO_MAXBUFFER"?"execution_failed":t.code==="ETIMEDOUT"||t.killed===true?"timeout":typeof t.code=="number"&&t.code!==0?"nonzero_exit":"execution_failed"}function sD(e){let t=new exports.OpenCodeModelQueryError(e);return console.warn("[opencode] model query failed",{code:t.code,reason:t.reason,stage:t.stage}),t}function kX(e,t){let n=sD(t);if(e)throw n;return []}async function aD(e={}){let t=e.throwOnError===true;try{await Ly({});}catch{return kX(t,"preparation_failed")}return new Promise((n,r)=>{let o=false,i=s=>{if(o)return;o=true;let a=sD(s);t?r(a):n([]);};try{child_process.execFile("opencode",["models","--standalone"],{timeout:5e3,maxBuffer:1048576,encoding:null,env:{...sr(process.env),...Rc()}},(a,d)=>{if(!o){if(a){i(oR(a));return}Promise.resolve().then(()=>Vw(d)).then(c=>{if(o)return;let l=c.split(`
40
40
  `).map(u=>u.trim()).filter(u=>u.length>0).map(u=>({id:u}));o=!0,n(l);}).catch(()=>i("decode_failed"));}}).on("error",a=>i(oR(a)));}catch(s){i(oR(s));}})}function kc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Fy(){let e;try{let n=(await import('better-sqlite3')).default,r=$t.join(Tu(),"opencode.db");e=new n(r,{readonly:!0,fileMustExist:!0});let o=e.prepare("SELECT value FROM kv WHERE key = ?").get("models-dev:v2:catalog");if(!o||typeof o.value!="string")throw new Error("OpenCode model catalog row is unavailable");let i=JSON.parse(o.value);if(!kc(i))throw new Error("OpenCode model catalog shape is unavailable");let s=typeof i.body=="string"?JSON.parse(i.body):i.body;if(!kc(s))throw new Error("OpenCode model catalog body shape is unavailable");let a=new Map;for(let[d,c]of Object.entries(s)){if(!d||!kc(c)||!kc(c.models))throw new Error("OpenCode model provider shape is unavailable");for(let[l,u]of Object.entries(c.models)){if(!l||!kc(u))throw new Error("OpenCode model shape is unavailable");let p=u.capabilities;if(p===void 0)continue;if(!kc(p))throw new Error("OpenCode model capability shape is unavailable");let f=p.reasoning;if(f===void 0)continue;if(!kc(f))throw new Error("OpenCode reasoning capability shape is unavailable");let g=f.effort;(g===void 0||Array.isArray(g)&&g.every(y=>typeof y=="string"))&&a.set(`${d}/${l}`,Array.isArray(g)?g:[]);}}return a}catch{return console.debug("[opencode] could not read private model effort catalog; omitting effort choices"),new Map}finally{try{e?.close();}catch{}}}function SX(e,t,n){if(!t.meta)return null;let r=t.meta.capabilities??{},o=gi(e),i=o.length>0?o:t.meta.models??[],s=n!==void 0?Nf(n,i):i,a=Ga(`cli/${e}`),d=to(e).providerOptions??[];return {id:`cli/${e}`,name:t.meta.displayName??wX(e),modes:ic(e),effort:Hr(e),models:xf(s),modelOverrides:za(e),...d.length>0?{providerOptions:d}:{},...a!==void 0?{defaults:a}:{},capabilities:{loadSession:r.loadSession??false,resume:r.resume??false,image:r.image??false,audio:r.audio??false,mcp:r.mcp??false}}}async function bX(e={}){let t=e.includeOpencodeRuntimeModels?await aD():void 0,n=[];for(let[r,o]of Object.entries(exports.BUILTIN_ADAPTERS)){let s=SX(r,o,r==="opencode"?t:void 0);s&&n.push(s);}return n.sort((r,o)=>zf(r.id,o.id))}var RX;exports.OpenCodeModelQueryError=void 0;var iR=M(()=>{m();rd();xy();Ya();is();My();no();RX={preparation_failed:{code:"OPENCODE_MODELS_PREPARATION_FAILED",stage:"prepare",message:"OpenCode model query preparation failed."},command_not_found:{code:"OPENCODE_MODELS_COMMAND_NOT_FOUND",stage:"execute",message:"OpenCode CLI could not be started."},timeout:{code:"OPENCODE_MODELS_TIMEOUT",stage:"execute",message:"OpenCode model query timed out."},nonzero_exit:{code:"OPENCODE_MODELS_EXECUTION_FAILED",stage:"execute",message:"OpenCode model query failed."},execution_failed:{code:"OPENCODE_MODELS_EXECUTION_FAILED",stage:"execute",message:"OpenCode model query failed."},decode_failed:{code:"OPENCODE_MODELS_DECODE_FAILED",stage:"decode",message:"OpenCode model output could not be decoded."}},exports.OpenCodeModelQueryError=class extends Error{code;reason;stage;constructor(t){let n=RX[t];super(n.message),this.name="OpenCodeModelQueryError",this.code=n.code,this.reason=t,this.stage=n.stage;}};});function xX(e){return e?NX[e]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function Ko(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function dR(){let e;try{e=Tu();}catch{return Fy().catch(()=>new Map)}let t=Date.now();if(dD===e&&By&&By.expiresAt>t)return By.result;dD=e;let n=Fy().catch(()=>new Map);return By={expiresAt:t+PX,result:n},n}async function DX(e){let t=await Ly(e),n=e.additionalArgs??[],r=Ko(n,"--model")||Ko(n,"-m");if(!e.model||!e.effort||r)return t;let o=(await dR()).get(e.model);return !o||o.includes(e.effort)?t:(console.debug("[opencode] requested effort is not listed for this model; using OpenCode default"),{...t,effort:void 0})}function fD(e){let t=[],n=0,r=false,o=false,i=0;for(let a=0;a<e.length;a++){let d=e[a];if(o){o=false;continue}if(d==="\\"&&r){o=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let c=e.slice(i,a+1).trim();c&&t.push(c),i=a+1;}}}let s=e.slice(i).trim();return s&&t.push(s),t}function Rn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function gD(e){let t=Rn(e.part)?e.part:void 0;return e.type==="reasoning"||t?.type==="reasoning"}function LX(e){let t=Rn(e.part)?e.part:void 0;return (typeof t?.text=="string"?t.text:typeof e.text=="string"?e.text:void 0)?.trim()||void 0}function MX(e){let t=[],n=false;for(let r of e.split(/\r?\n/)){let o=r.trim();if(!o)continue;try{let s=JSON.parse(o);Rn(s)?t.push(s):n=!0;continue}catch{}let i=fD(o);i.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let s of i)try{let a=JSON.parse(s);Rn(a)?t.push(a):n=!0;}catch{n=true;}}return {events:t,malformed:n}}function cR(e){let t=Rn(e.error)?e.error:void 0,n=t&&Rn(t.data)?t.data:void 0,r=mD(t),o=zo(t?.name),i=zo(n?.message)??zo(t?.message)??sR(r)??zo(e.message)??zo(e.errorMessage)??zo(e.error),s=zo(e.ref),a=o&&i&&o!==i?`${o}: ${i}`:o??i??pD;return (s?`${a} (ref: ${s})`:a).slice(0,CX)}function cD(e){let t=Rn(e.error)?e.error:void 0,n=typeof t?.type=="string"?t.type:void 0,r=typeof t?.status=="number"?t.status:Number(t?.status),o=cR(e),i=mD(t),s=i&&Rn(i.error)?i.error:void 0,a=typeof s?.type=="string"?s.type:void 0,d=[o,sR(i)].filter(Boolean).join(`
41
41
  `);if(r===402||UX(d))return new exports.ProviderError(`OpenCode subscription is required: ${o}`,To,{code:"SUBSCRIPTION_REQUIRED",kind:"config",providerReason:Tc(o)});if(r===403&&(a==="RegionError"||a==="FreeTierError"))return new exports.ProviderError(`OpenCode account settings are required: ${o}`,To,{code:"ACCOUNT_SETTING_REQUIRED",kind:"config",settingReason:"access",providerReason:Tc(o)});if(n==="provider.auth"||r===401||r===403)return new exports.ProviderError(`OpenCode authentication is required: ${o}`,To,{code:"AUTH_REQUIRED",kind:"config"});if(r===410||a==="ModelDeprecated")return new exports.ProviderError(`OpenCode model has been retired: ${o}`,To,{code:"MODEL_RETIRED",kind:"config",replacementModel:FX(i,t,e),providerReason:Tc(o)});if(n==="provider.free-limit"||r===429){let c=BX(t);return new exports.ProviderError(`OpenCode rate limit reached: ${o}`,To,{code:"RATE_LIMITED",kind:"transient",...c===void 0?{}:{retryAfterMs:c}})}if(n==="provider.no-route")return new exports.ProviderError(`OpenCode model or variant unavailable: ${o}`,To,{code:"MODEL_UNAVAILABLE",kind:"config"});if(n==="provider.invalid-request"&&r===400){let c=[o,sR(i)].filter(f=>f!==void 0),l=c.find(f=>/requires global regions/i.test(f)),u=c.find(f=>/trains on request data/i.test(f)),p=l?"region":u?"training_consent":void 0;if(p)return new exports.ProviderError(`OpenCode account settings are required: ${o}`,To,{code:"ACCOUNT_SETTING_REQUIRED",kind:"config",settingReason:p,providerReason:Tc(l??u)})}return new exports.ProviderError(`OpenCode error: ${o}`,To,{code:"PROVIDER_CRASHED",kind:"transient"})}function mD(e){let n=(e&&Rn(e.response)?e.response:void 0)?.body;if(Rn(n))return n;if(typeof n=="string")try{let r=JSON.parse(n);return Rn(r)?r:void 0}catch{return}}function sR(e){let t=e&&Rn(e.error)?e.error:void 0;return zo(t?.message)??zo(e?.message)}function UX(e){return /insufficient\s+(?:balance|account funds)|credit\s+limit\s+exceeded|payment\s+required|account invoice is overdue|billing_error|please add or update your payment method|(?:GLM Coding Plan|enterprise) package has expired|your current subscription plan does not yet include access to/i.test(e)}function FX(e,t,n){let r=e&&Rn(e.metadata)?e.metadata:void 0,o=typeof r?.replacement=="string"?r.replacement.trim():void 0;if(!o)return;let i=[r?.model,t?.model,n.model,n.modelID].find(d=>typeof d=="string"&&d.trim().length>0)?.trim(),s=i&&i.includes("/")?i.slice(0,i.indexOf("/")):"opencode-go",a=o.includes("/")?o:`${s}/${o}`;return /^[A-Za-z0-9._/-]{1,128}$/.test(a)?a:void 0}function BX(e){let t=e?.retryAfterMs;if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return t;let r=(e&&Rn(e.response)?e.response:void 0)?.body,o=typeof r=="string"?HX(r):Rn(r)?r:void 0;if(o){let i=aR(o);if(i)return lD(i.value,i.key==="retryafterms")}if(typeof r=="string"){let i=r.match(/retry[-_]after(?:\s*[:=]\s*|\s+)["']?([^"'\s,;}]+)/i);if(i?.[1])return lD(i[1],false)}}function HX(e){try{let t=JSON.parse(e);return Rn(t)?t:void 0}catch{return}}function aR(e){if(Array.isArray(e)){for(let t of e){let n=aR(t);if(n)return n}return}if(Rn(e)){for(let[t,n]of Object.entries(e)){let r=t.toLowerCase().replace(/[-_]/g,"");if(r==="retryafterms"||r==="retryafter")return {value:n,key:r}}for(let t of Object.values(e)){let n=aR(t);if(n)return n}}}function lD(e,t){if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return t?e:Math.round(e*1e3);if(typeof e!="string"||!e.trim())return;let n=Number(e);if(Number.isFinite(n)&&n>=0)return t?n:Math.round(n*1e3);if(t)return;let r=Date.parse(e);return Number.isFinite(r)?Math.max(0,r-Date.now()):void 0}function uD(e){let t=MX(e),n=[],r=null,o=0,i=[],s=[],a,d=false;for(let c of t.events){if(gD(c))continue;let l=typeof c.type=="string"?c.type:void 0;if(l){if(l==="text"){let u=Rn(c.part)?c.part:void 0,p=typeof u?.text=="string"?u.text:void 0;p?.trim()&&n.push(p.trim());continue}if(l==="result"){typeof c.result=="string"&&(r=c.result);continue}if(l==="tool_use"){o++;continue}if(l==="error"){i.push(c),s.push(cR(c));continue}if(l==="step_finish"){d=true;let u=Rn(c.part)?c.part:void 0;a=typeof u?.reason=="string"?u.reason:void 0;}}}return {...t,texts:n,resultText:r,toolUseCount:o,errorEvents:i,errorMessages:s,terminalReason:a,hasTerminal:d}}function hD(e){return (e??"unknown").trim().toLowerCase().replace(/_/g,"-")}function jX(){return new exports.ProviderError("OpenCode returned no assistant output.",To,{code:"EMPTY_OUTPUT",kind:"transient"})}function $X(){return new exports.ProviderError("OpenCode emitted malformed JSON output.",To,{code:"PROVIDER_CRASHED",kind:"transient"})}function VX(e,t){switch(hD(e)){case "length":return new exports.ProviderError("OpenCode stopped because the context window was exceeded.",To,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new exports.ProviderError("OpenCode stopped because the content filter blocked the response.",To,{code:"UNKNOWN",kind:"permanent"});case "error":return new exports.ProviderError(`${pD} while generating a response.`,To,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var vX,To,pD,CX,OX,PX,dD,By,NX;exports.opencodeAdapter=void 0;var jy=M(()=>{m();ss();eR();hc();_u();td();iR();My();vX=new Set(["step_start","step_finish"]),To="cli/opencode",pD="OpenCode provider error",CX=240,OX="Follow the instructions provided on standard input.",PX=3e5,NX={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};exports.opencodeAdapter={command:"opencode",prepare:DX,meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(e,t,n){let r=t.additionalArgs,o=r!==void 0?[...r]:["run"];Ko(o,"--format")||o.push("--format","json"),Ko(o,"--thinking")||o.push("--thinking"),!Ko(o,"--standalone")&&!Ko(o,"--server")&&o.push("--standalone"),t.resumeSessionId&&!Ko(o,"-s")&&!Ko(o,"--session")&&o.push("-s",t.resumeSessionId);let{agent:i,autoApprove:s}=xX(t.mode);Ko(o,"--agent")||i!==void 0&&o.push("--agent",i),s&&!Ko(o,"--auto")&&o.push("--auto");let a=Ko(o,"--model")||Ko(o,"-m");if(t.model&&!a){let d=t.effort?`${t.model}#${t.effort}`:t.model;o.push("--model",d);}else t.effort&&!t.model&&!a&&console.debug("[opencode] ignoring effort because no model is configured");return o.push(OX),{args:o,stdinMessage:e,env:Rc()}},extractText(e){let t=uD(e),n=t.errorEvents[0];if(n)throw cD(n);let r=VX(t.terminalReason??"");if(r)throw r;let o=t.texts.length>0?t.texts[t.texts.length-1]:void 0;if(o!==void 0)return o;if(t.resultText?.trim())return t.resultText;if(t.malformed)throw $X();let i=hD(t.terminalReason);if(t.hasTerminal&&i==="tool-calls"&&t.toolUseCount>0)return "";throw jX()},interpretExit(e,t,n=""){if(e===0)return null;let o=uD(n).errorEvents[0];return o?cD(o):null},parseResultMeta(e){let t=Ks(e);return t?{usage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens,cachedInputTokens:t.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(e,t,n){let r=t??new Date().toISOString(),o=[],i=new Map,s;try{JSON.parse(e),s=[e];}catch{s=fD(e),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let a of s){let d;try{d=JSON.parse(a);}catch{continue}let c=oo(d,r),l=d.type;if(gD(d)){let u=LX(d);if(!u)continue;let p=Rn(d.part)?d.part:void 0,f=typeof p?.id=="string"?p.id:typeof d.id=="string"?d.id:void 0,g=u;if(f){let y=`opencode.reasoning:${f}`,_=n?.state.get(y),A=typeof _=="string"?_:i.get(f);if(typeof A=="string"&&(A===u||A.startsWith(u))||typeof A=="string"&&u.startsWith(A)&&(g=u.slice(A.length).trim(),!g))continue;i.set(f,u),n?.state.set(y,u);}o.push({timestamp:c,type:"thinking",content:g});continue}if(l){if(l==="text"){let p=d.part?.text;p&&o.push({timestamp:c,type:"text",content:p});continue}if(l==="tool_use"){let u=d.part;if(!u)continue;let p=String(u.tool||""),f=String(u.callID||u.id||""),g=u.state,y=String(g?.status||""),_=g?.input,A=Go(_);if(o.push({timestamp:c,type:"tool_use",toolName:p,toolUseId:f,toolInput:A}),y==="completed"&&g?.output!==void 0){let E=g.output,w=typeof E=="string"?E:JSON.stringify(E);o.push({timestamp:c,type:"tool_result",toolUseId:f,resultPreview:w,isError:false});}else y==="error"&&o.push({timestamp:c,type:"tool_result",toolUseId:f,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(l==="error"){let u=cR(d);o.push({timestamp:c,type:"error",content:u,errorMessage:u});continue}}}return o},suppressOutputLine(e){let t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return false;try{let r=JSON.parse(t).type;return r?vX.has(r):!1}catch{return false}}};});function yD(e,t){if(e===void 0||e==="")return t;let n=parseInt(e,10);return Number.isNaN(n)?t:n}function lR(e=process.env){let t=e.CREWX_TIMEOUT_IDLE;if(t===void 0||t==="")return;let n=parseInt(t,10);if(!(!Number.isFinite(n)||n<=0))return n}function _D(e=process.env){return {queryMs:yD(e.CREWX_TIMEOUT_QUERY,288e5),executeMs:yD(e.CREWX_TIMEOUT_EXECUTE,288e5),idleMs:lR(e)??6e5}}var Jf=M(()=>{m();});function $y(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function zX(e,t){let n=[];for(let r=0;r<e.length;r+=1){let o=e[r],i=[...t].find(s=>o===s||o.startsWith(`${s}=`));i?o===i&&r+1<e.length&&(r+=1):n.push(o);}return n}function JX(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n],o=r.indexOf("="),i=o>0?r.slice(0,o):r;if(!WX.has(i)){t.push(r);continue}r===i&&n+1<e.length&&!e[n+1].startsWith("-")&&(n+=1);}return t}function Xo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KX(e,t){if(!(e?qX.has(e)||gi(uR).some(i=>i.id===e):false)||!e)return t;let r=Hr(uR,e),o=za(uR)[e]?.defaultEffort;if(r.length!==0)return t?r.includes(t)?t:o&&r.includes(o)?o:void 0:o}function Xs(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0?e:void 0}function gR(e){return e.kind==="step_update"?typeof e.step.conversation_id=="string"?e.step.conversation_id:void 0:typeof e.envelope.conversation_id=="string"?e.envelope.conversation_id:void 0}function mR(e){return e.step.step_index}function An(e){if(typeof e!="string")return;let t=e.split(/\r?\n/,1)[0]?.trim();return t&&Ac(t)?.slice(0,500).trim()||void 0}function XX(e,t){let n=(e??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&GX.has(n))return n;let r=`${n} ${t??""}`.toLowerCase();return /quota|resource_exhausted|usage[ _-]?limit|credits?.{0,20}exhaust/.test(r)?"QUOTA_EXHAUSTED":/rate[ _-]?limit|throttl/.test(r)?"RATE_LIMITED":/auth|sign[ _-]?in|log(?:ged)?[ _-]?in|unauthori[sz]ed|credential/.test(r)?"AUTH_REQUIRED":[/unknown (?:flag|option)/,/flag provided but not defined/,/unrecognized (?:flag|option)/,/invalid value for (?:flag|option)/,/invalid (?:flag|option)/].some(i=>i.test(r))?"INVALID_PROVIDER_FORMAT":/invalid.{0,24}model|model.{0,24}(unknown|unavailable|not found|not recognized)|config/.test(r)?"MODEL_UNAVAILABLE":"UNKNOWN"}function YX(e){return e==="AUTH_REQUIRED"||e==="TIMEOUT_IDLE"||e==="TIMEOUT_TOTAL"||e==="TIMEOUT_RESUME"||e==="PROVIDER_CRASHED"?"permanent":e==="MODEL_UNAVAILABLE"||e==="INVALID_PROVIDER_FORMAT"||e==="PROVIDER_NOT_FOUND"?"config":"transient"}function ED(e){let t=Xo(e)?e:void 0,n=t&&Xo(t.error)?t.error:void 0,r=t?An(t.code)??An(t.error_code)??An(n?.code)??An(n?.error_code):void 0,o=typeof e=="string"?An(e):t?An(t.message)??An(t.error)??An(t.reason)??An(n?.message)??An(n?.error)??An(n?.reason):void 0,i=XX(r,o),s=t?Xs(t.retry_after_ms)??Xs(t.retryAfterMs)??Xs(n?.retry_after_ms)??Xs(n?.retryAfterMs):void 0;return {code:i,kind:YX(i),message:o??"Antigravity reported a terminal error.",...s===void 0?{}:{retryAfterMs:s}}}function qy(e){let t=ED(e);return new exports.ProviderError(t.message,"cli/antigravity",{code:t.code,kind:t.kind,...t.retryAfterMs===void 0?{}:{retryAfterMs:t.retryAfterMs}})}function hR(e){return new exports.ProviderError(e,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function QX(e){let t=new TextEncoder().encode(e).byteLength;if(!(t<=fR))throw new exports.ProviderError(`Input is too large: final provider initial input is ${t} UTF-8 bytes; budget is ${fR} bytes.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function pR(){return new exports.ProviderError("Antigravity CLI returned empty output with exit code 0. agy may have hidden an auth/quota/model error in its log file; inspect ~/.gemini/antigravity-cli/log for details.","cli/antigravity",{code:"EMPTY_OUTPUT",kind:"transient"})}function Wy(e){if(e.kind==="result"||e.kind==="legacy_result")return e.result}function Gy(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n&&(n.kind==="result"||n.kind==="legacy_result"||n.kind==="agy_error"))return {event:n,index:t}}}function ZX(e){let t=Gy(e);if(!t||t.event.kind==="agy_error"||t.index!==e.length-1||Wy(t.event)?.status!=="SUCCESS"||Vy(e))return false;let r=new Map;for(let o of e){if(o.kind!=="step_update"||o.step.step_type!=="agent_response")continue;let i=gR(o),s=mR(o);!i||!Number.isSafeInteger(s)||r.set(JSON.stringify([i,s]),o.step);}if(r.size===0)return false;for(let o of r.values())if(o.state!=="DONE"||!Xo(o.usage)||Xs(o.usage.input_tokens)===void 0||Xs(o.usage.output_tokens)===void 0)return false;return true}function eY(e,t){for(let n=t-1;n>=0;n-=1){let r=e[n];if(r?.kind==="agy_error")return r.error}}function tY(e,t){return Xo(e)&&Xo(t)?{...t,...e}:Xo(e)&&typeof t=="string"?{...e,message:t}:typeof e=="string"&&Xo(t)?{...t,message:e}:e??t}function nY(e){let t=Array.isArray(e.denied_actions)?e.denied_actions:[],n=[];for(let i of t){let s=Xo(i)?i:void 0,a=typeof i=="string"?An(i):An(s?.display_name)??An(s?.action);a&&!n.includes(a)&&n.length<5&&n.push(a.slice(0,80));}let r=Math.max(0,t.length-n.length),o=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new exports.ProviderError(`Permission denied: Antigravity blocked ${t.length} requested action${t.length===1?"":"s"}${o}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Vy(e){let t=Gy(e);if(!t)return;if(t.event.kind==="agy_error")return qy(t.event.error);let n=Wy(t.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return nY(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return hR("Antigravity returned a result with an unsupported status.");let r=n.error,o=tY(r==null||r===""?n:r,eY(e,t.index));return qy(o)}function TD(e){if(typeof e=="string")return e;if(e!=null)try{return JSON.stringify(e)}catch{return}}function rY(e){return `agy:${String(e.conversation_id)}:${String(e.step_index)}`}function oY(e,t){let n=typeof t?.name=="string"?t.name:e.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function wD(e){let t=TD(e);if(t)return t.length<=2e3?t:`${t.slice(0,1999)}\u2026`}function iY(e){let t=Xo(e)?e:void 0,n=t&&Xo(t.error)?t.error:void 0,r=typeof e=="string"?e.trim().match(/^([A-Z][A-Z0-9_]*)(?:[:\s]|$)/)?.[1]:void 0,o=(An(t?.type)??An(t?.code)??An(t?.error_type)??An(n?.type)??An(n?.code)??An(n?.error_type)??An(r)??"TOOL_ERROR").slice(0,60),i=ED(e).message.slice(0,250);return wD({type:o,message:i})??"Antigravity reported a tool error."}function AD(e,t){return e?e.state.has(t)?true:(e.state.set(t,true),false):false}function ID(e,t){return {timestamp:e,type:"error",content:t.message,errorMessage:t.message,isError:true}}var uR,qX,WX,fR,GX,yR,_R=M(()=>{m();ss();Jf();qf();Gs();no();Au();wy();uR="antigravity",qX=new Set(["claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b"]),WX=new Set(["--conversation","--resume","--continue"]),fR=18e4,GX=new Set(["QUOTA_EXHAUSTED","RATE_LIMITED","EMPTY_OUTPUT","AUTH_REQUIRED","MODEL_UNAVAILABLE","TIMEOUT_IDLE","TIMEOUT_TOTAL","TIMEOUT_RESUME","PROVIDER_NOT_FOUND","INVALID_PROVIDER_FORMAT","PROVIDER_CRASHED","UNKNOWN"]);yR={command:"agy",maxInitialInputBytes:fR,meta:{displayName:"Antigravity",models:kw(),defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(e){let t=gu(e);if(t?.kind!=="init")return null;let n=t.envelope.conversation_id;return typeof n=="string"&&n.trim().length>0?n.trim():null},buildArgs(e,t,n){QX(e);let{model:r,effort:o}=ds(t.model),i=nu(r),s=i.model,a=t.effort??o??i.effort,d=KX(s,a),c=t.additionalArgs??[],l=JX(zX(c,new Set(["--input-format","--output-format"]))),u=s&&!$y(c,"--model")?["--model",s]:[],p=$y(c,"--effort")?[]:Wx(d),f=$y(c,"--mode")||$y(c,"--dangerously-skip-permissions")?[]:qx(t.mode),g=typeof t.resumeSessionId=="string"&&t.resumeSessionId.trim().length>0?["--conversation",t.resumeSessionId]:[];return {args:["--input-format","stream-json","--output-format","stream-json",...u,...p,...f,...g,...l],stdinMessage:`${JSON.stringify({event:"user",message:{content:e}})}
42
- `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(e){let t=mu(e),n=Gy(t)?.event,r=Vy(t);if(r)throw r;let o=n?Wy(n):void 0;if(o){if(o.status!=="SUCCESS")throw hR("Antigravity returned a result with an unsupported status.");if(typeof o.response!="string")throw hR("Antigravity returned a successful result without a response string.");if(!o.response.trim())throw pR();return o.response}if(t.length>0)throw pR();let i=e.trim();if(!i)throw pR();return i},extractPartialText(e){let t=mu(e),n=Gy(t)?.event;if(!n||n.kind==="agy_error")return;let r=Wy(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(e,t,n){let r=mu(n??""),o=Vy(r);return o||(e!==0&&t.trim()?qy(t):null)},parseResultMeta(e){let t=mu(e),n=0,r=0,o=0,i=0,s=new Set;for(let d of t){if(d.kind!=="step_update"||d.step.state!=="DONE"||!Xo(d.step.usage))continue;let c=gR(d),l=mR(d);if(!c||!Number.isSafeInteger(l))continue;let u=JSON.stringify([c,l]);if(s.has(u))continue;let p=d.step.usage,f=Xs(p.input_tokens),g=Xs(p.output_tokens);f===void 0||g===void 0||(s.add(u),n+=f,r+=g,o+=Xs(p.cache_read_tokens)??0,i+=1);}return {usage:i===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:o,costUsd:0,complete:ZX(t)},model:null}},parseEvent(e,t,n){let r=gu(e);if(!r)return [];let o=t??new Date().toISOString();if(r.kind==="agy_error")return [ID(o,qy(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let f=Vy([r]);return f?[ID(o,f)]:[]}if(r.kind!=="step_update")return [];let{step:i}=r,s=gR(r)??"unknown",a=mR(r),d=`${s}:${a}`;if((i.state==="DONE"||i.state==="ERROR")&&AD(n,`antigravity:terminal:${d}`))return [];if(i.step_type==="agent_response")return typeof i.text_delta=="string"&&i.text_delta.length>0?[{timestamp:o,type:"text",content:i.text_delta}]:[];if(i.step_type!=="tool")return [];let c=Xo(i.tool_info)?i.tool_info:void 0,l=oY(i,c);if(!l)return [];let u=rY(i);if(i.state==="ACTIVE"){if(AD(n,`antigravity:active:${d}`))return [];let f=TD(c?.parameters);return [{timestamp:o,type:"tool_use",toolName:l,toolUseId:u,...f===void 0?{}:{toolInput:f}}]}let p=i.state==="ERROR"?iY(c?.error):wD(c?.output);return [{timestamp:o,type:"tool_result",toolName:l,toolUseId:u,...p===void 0?{}:{resultPreview:p},...i.state==="ERROR"?{isError:true}:{}}]}};});var RD,kD=M(()=>{m();yu();_u();ed();td();RD={parseEvent(e,t){let n;try{n=JSON.parse(e);}catch{return []}let r=n.type;if(!r)return [];if(r!=="message"&&r!=="tool_use"&&r!=="tool_result")return [];let o=oo(n,t??new Date().toISOString());if(r==="message"){if(n.role!=="assistant")return [];let s=n.content;return s?[{timestamp:o,type:"text",content:s}]:[]}if(r==="tool_use"){let i=String(n.tool_name||""),s=n.tool_id,a=n.parameters,d=Go(a);return /^bash$/i.test(i)&&mi(d)?[hi(o,d,s)]:[{timestamp:o,type:"tool_use",toolName:i,toolUseId:s,toolInput:d}]}if(r==="tool_result"){let i=n.tool_id,s=String(n.output??""),a=n.status!=="success";return [{timestamp:o,type:"tool_result",toolUseId:i,...Eo(s,a)}]}return []}};});function wu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ru(e){return wu(e)?e:void 0}function io(e){return typeof e=="string"?e:void 0}function vc(e){let t=typeof e=="number"?e:Number(e??0);return Number.isFinite(t)?t:0}function gY(e){let t=[],n=-1,r=0,o=false,i=false;for(let s=0;s<e.length;s+=1){let a=e[s];if(n===-1){(a==="{"||a==="[")&&(n=s,r=1);continue}if(i){i=false;continue}if(a==="\\"&&o){i=true;continue}if(a==='"'){o=!o;continue}o||(a==="{"||a==="["?r+=1:(a==="}"||a==="]")&&(r-=1,r===0&&(t.push(e.slice(n,s+1)),n=-1)));}return n!==-1&&t.push(e.slice(n)),t}function Kf(e){let t=e.trim();if(!t)return [];try{let n=JSON.parse(t);return wu(n)?[n]:[]}catch{return gY(t).flatMap(n=>{try{let r=JSON.parse(n);return wu(r)?[r]:[]}catch{return []}})}}function ND(e){let t=JSON.stringify(e);return t===void 0?String(e):t}function bc(e){if(typeof e=="string")return e;if(Array.isArray(e)){let t=e.map(bc).filter(n=>n!==void 0);return t.length>0?t.join(`
42
+ `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(e){let t=mu(e),n=Gy(t)?.event,r=Vy(t);if(r)throw r;let o=n?Wy(n):void 0;if(o){if(o.status!=="SUCCESS")throw hR("Antigravity returned a result with an unsupported status.");if(typeof o.response!="string")throw hR("Antigravity returned a successful result without a response string.");if(!o.response.trim())throw pR();return o.response}if(t.length>0)throw pR();let i=e.trim();if(!i)throw pR();return i},extractPartialText(e){let t=mu(e),n=Gy(t)?.event;if(!n||n.kind==="agy_error")return;let r=Wy(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(e,t,n){let r=mu(n??""),o=Vy(r);return o||(e!==0&&t.trim()?qy(t):null)},parseResultMeta(e){let t=mu(e),n=0,r=0,o=0,i=0,s=new Set;for(let d of t){if(d.kind!=="step_update"||d.step.state!=="DONE"||!Xo(d.step.usage))continue;let c=gR(d),l=mR(d);if(!c||!Number.isSafeInteger(l))continue;let u=JSON.stringify([c,l]);if(s.has(u))continue;let p=d.step.usage,f=Xs(p.input_tokens),g=Xs(p.output_tokens);if(f===void 0||g===void 0)continue;s.add(u);let y=Xs(p.cache_read_tokens)??0;n+=f+y,r+=g,o+=y,i+=1;}return {usage:i===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:o,costUsd:0,complete:ZX(t)},model:null}},parseEvent(e,t,n){let r=gu(e);if(!r)return [];let o=t??new Date().toISOString();if(r.kind==="agy_error")return [ID(o,qy(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let f=Vy([r]);return f?[ID(o,f)]:[]}if(r.kind!=="step_update")return [];let{step:i}=r,s=gR(r)??"unknown",a=mR(r),d=`${s}:${a}`;if((i.state==="DONE"||i.state==="ERROR")&&AD(n,`antigravity:terminal:${d}`))return [];if(i.step_type==="agent_response")return typeof i.text_delta=="string"&&i.text_delta.length>0?[{timestamp:o,type:"text",content:i.text_delta}]:[];if(i.step_type!=="tool")return [];let c=Xo(i.tool_info)?i.tool_info:void 0,l=oY(i,c);if(!l)return [];let u=rY(i);if(i.state==="ACTIVE"){if(AD(n,`antigravity:active:${d}`))return [];let f=TD(c?.parameters);return [{timestamp:o,type:"tool_use",toolName:l,toolUseId:u,...f===void 0?{}:{toolInput:f}}]}let p=i.state==="ERROR"?iY(c?.error):wD(c?.output);return [{timestamp:o,type:"tool_result",toolName:l,toolUseId:u,...p===void 0?{}:{resultPreview:p},...i.state==="ERROR"?{isError:true}:{}}]}};});var RD,kD=M(()=>{m();yu();_u();ed();td();RD={parseEvent(e,t){let n;try{n=JSON.parse(e);}catch{return []}let r=n.type;if(!r)return [];if(r!=="message"&&r!=="tool_use"&&r!=="tool_result")return [];let o=oo(n,t??new Date().toISOString());if(r==="message"){if(n.role!=="assistant")return [];let s=n.content;return s?[{timestamp:o,type:"text",content:s}]:[]}if(r==="tool_use"){let i=String(n.tool_name||""),s=n.tool_id,a=n.parameters,d=Go(a);return /^bash$/i.test(i)&&mi(d)?[hi(o,d,s)]:[{timestamp:o,type:"tool_use",toolName:i,toolUseId:s,toolInput:d}]}if(r==="tool_result"){let i=n.tool_id,s=String(n.output??""),a=n.status!=="success";return [{timestamp:o,type:"tool_result",toolUseId:i,...Eo(s,a)}]}return []}};});function wu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ru(e){return wu(e)?e:void 0}function io(e){return typeof e=="string"?e:void 0}function vc(e){let t=typeof e=="number"?e:Number(e??0);return Number.isFinite(t)?t:0}function gY(e){let t=[],n=-1,r=0,o=false,i=false;for(let s=0;s<e.length;s+=1){let a=e[s];if(n===-1){(a==="{"||a==="[")&&(n=s,r=1);continue}if(i){i=false;continue}if(a==="\\"&&o){i=true;continue}if(a==='"'){o=!o;continue}o||(a==="{"||a==="["?r+=1:(a==="}"||a==="]")&&(r-=1,r===0&&(t.push(e.slice(n,s+1)),n=-1)));}return n!==-1&&t.push(e.slice(n)),t}function Kf(e){let t=e.trim();if(!t)return [];try{let n=JSON.parse(t);return wu(n)?[n]:[]}catch{return gY(t).flatMap(n=>{try{let r=JSON.parse(n);return wu(r)?[r]:[]}catch{return []}})}}function ND(e){let t=JSON.stringify(e);return t===void 0?String(e):t}function bc(e){if(typeof e=="string")return e;if(Array.isArray(e)){let t=e.map(bc).filter(n=>n!==void 0);return t.length>0?t.join(`
43
43
  `):void 0}if(wu(e)){if(typeof e.text=="string")return e.text;if(typeof e.message=="string")return e.message;if(typeof e.error=="string")return e.error;if(e.type==="text"&&typeof e.data=="string")return e.data;for(let t of ["content","FileContent","rawOutput"]){let n=bc(e[t]);if(n!==void 0)return n}}}function mY(e){let t=s=>Array.isArray(s)&&s.every(a=>Number.isInteger(a)&&a>=0&&a<=255),n=s=>typeof s=="string"&&s.trim().length>0?s:void 0,r=s=>new TextDecoder("utf-8",{fatal:false}).decode(Uint8Array.from(s)),o=s=>{let a=JSON.stringify(s,(d,c)=>t(c)?`<bytes:${c.length}>`:c);return a===void 0?String(s):a},i=e.rawOutput;if(i!=null){let s=Ru(i);if(!s)return n(bc(i))??o(i);let a;if(t(s.output)&&s.output.length>0&&(a=n(r(s.output))),!a&&t(s.stdout)&&s.stdout.length>0&&(a=n(r(s.stdout))),!a){let l=Ru(s.Result);a=n(s.output)??n(l?.output)??n(bc(i));}let d=t(s.stderr)&&s.stderr.length>0?r(s.stderr):void 0;if(d!==void 0)if(a){let l=a.endsWith(`
44
44
  `)||a.endsWith("\r")?"":`
45
45
  `;a=`${a}${l}${d}`;}else a=n(d);if(a)return a;let c=n(s.summary)??n(bc(e.content))??n(s.output_for_prompt);return c!==void 0?c:o(i)}if(e.content!==null&&e.content!==void 0)return bc(e.content)??o(e.content);if(e.result!==null&&e.result!==void 0)return bc(e.result)??o(e.result)}function xD(e){let t=Ru(e.error),n=[e.message,e.errorMessage,t?.message,t?.detail,typeof e.error=="string"?e.error:void 0].find(r=>typeof r=="string"&&r.trim().length>0);return n?DD(n):"Grok CLI reported an error."}function DD(e){return (e.replace(fY,"").split(/\r?\n/).map(n=>n.trim()).filter(Boolean)[0]??e.trim()).slice(0,500)}function OD(e){return pY.test(e)}function hY(e){let t=Ru(e.modelUsage);return t?Object.keys(t)[0]??null:null}function yY(e){let t=Ru(e.usage);if(!t)return null;let n=vc(t.cache_read_input_tokens);return {inputTokens:vc(t.input_tokens)+n,cachedInputTokens:n,outputTokens:vc(t.output_tokens),costUsd:vc(e.total_cost_usd)}}function _Y(e){let t=0,n=0,r=0,o=false,i=new Set;for(let s of e.split(`
@@ -42,7 +42,7 @@ ${r.join(`
42
42
  AND ((${t.cleanup_pending} = 1 AND ${t.vault_handle} IS NOT NULL)
43
43
  OR (${t.cleanup_pending} = 0 AND ${t.vault_handle} IS NULL)))
44
44
  ))
45
- )`),conflictSupersededCheck:sqliteCore.check("app_sync_conflicts_superseded_ck",drizzleOrm.sql`${t.state} != 'superseded' OR ${t.superseded_by} IS NOT NULL`),conflictResolutionCheck:sqliteCore.check("app_sync_conflicts_resolution_ck",drizzleOrm.sql`(${t.resolution_request_id} IS NULL AND ${t.resolution_choice} IS NULL) OR (length(${t.resolution_request_id}) BETWEEN 1 AND 128 AND ${t.resolution_choice} IN ('keep_local', 'use_cloud', 'keep_both'))`),conflictTimeCheck:sqliteCore.check("app_sync_conflicts_time_ck",drizzleOrm.sql`${t.updated_at} >= ${t.created_at}`),conflictBindingFk:sqliteCore.foreignKey({columns:[t.binding_id],foreignColumns:[Tn.binding_id]}).onDelete("cascade"),conflictIdentityUnique:sqliteCore.uniqueIndex("app_sync_conflicts_identity_uq").on(t.binding_id,t.grant_id,t.grant_generation,t.ref,t.local_version,t.remote_revision,t.remote_fingerprint),conflictLookup:sqliteCore.index("app_sync_conflicts_lookup_idx").on(t.account_key,t.binding_id,t.state,t.updated_at)})),sqliteCore.sqliteTable("app_sync_conflict_resolutions",{request_id:sqliteCore.text("request_id").primaryKey().notNull(),conflict_id:sqliteCore.text("conflict_id").notNull(),account_key:sqliteCore.text("account_key").notNull(),human_identity:sqliteCore.text("human_identity").notNull(),choice:sqliteCore.text("choice").notNull(),expected_local_version:sqliteCore.text("expected_local_version").notNull(),expected_remote_revision:sqliteCore.integer("expected_remote_revision").notNull(),expected_remote_fingerprint:sqliteCore.text("expected_remote_fingerprint").notNull(),state:sqliteCore.text("state").notNull().default("pending"),error_code:sqliteCore.text("error_code"),created_at:sqliteCore.integer("created_at").notNull(),updated_at:sqliteCore.integer("updated_at").notNull()},t=>({resolutionRequestIdCheck:sqliteCore.check("app_sync_conflict_resolutions_request_id_ck",drizzleOrm.sql`length(${t.request_id}) BETWEEN 1 AND 128`),resolutionAccountCheck:sqliteCore.check("app_sync_conflict_resolutions_account_key_ck",drizzleOrm.sql`length(${t.account_key}) = 64 AND ${t.account_key} NOT GLOB '*[^0-9a-f]*'`),resolutionIdentityCheck:sqliteCore.check("app_sync_conflict_resolutions_human_identity_ck",drizzleOrm.sql`length(${t.human_identity}) = 64 AND ${t.human_identity} NOT GLOB '*[^0-9a-f]*'`),resolutionChoiceCheck:sqliteCore.check("app_sync_conflict_resolutions_choice_ck",drizzleOrm.sql`${t.choice} IN ('keep_local', 'use_cloud', 'keep_both')`),resolutionLocalVersionCheck:sqliteCore.check("app_sync_conflict_resolutions_local_version_ck",drizzleOrm.sql`length(${t.expected_local_version}) BETWEEN 1 AND 256 AND instr(${t.expected_local_version}, '/') = 0 AND instr(${t.expected_local_version}, char(92)) = 0`),resolutionRemoteCheck:sqliteCore.check("app_sync_conflict_resolutions_remote_ck",drizzleOrm.sql`${t.expected_remote_revision} >= 0 AND length(${t.expected_remote_fingerprint}) = 71 AND substr(${t.expected_remote_fingerprint}, 1, 7) = 'sha256:' AND substr(${t.expected_remote_fingerprint}, 8) NOT GLOB '*[^0-9a-f]*'`),resolutionStateCheck:sqliteCore.check("app_sync_conflict_resolutions_state_ck",drizzleOrm.sql`${t.state} IN ('pending', 'unknown', 'resolved', 'stale', 'failed')`),resolutionTimeCheck:sqliteCore.check("app_sync_conflict_resolutions_time_ck",drizzleOrm.sql`${t.updated_at} >= ${t.created_at}`),resolutionConflictFk:sqliteCore.foreignKey({columns:[t.conflict_id],foreignColumns:[y_.conflict_id]}).onDelete("cascade"),resolutionConflictIdx:sqliteCore.index("app_sync_conflict_resolutions_conflict_idx").on(t.conflict_id,t.created_at),resolutionActiveUnique:sqliteCore.uniqueIndex("app_sync_conflict_resolutions_one_active_uq").on(t.conflict_id).where(drizzleOrm.sql`${t.state} IN ('pending', 'unknown')`)})),sqliteCore.sqliteTable("app_sync_account_data_purges",{request_id:sqliteCore.text("request_id").primaryKey().notNull(),binding_id:sqliteCore.text("binding_id").notNull(),account_key:sqliteCore.text("account_key").notNull(),workspace_id:sqliteCore.text("workspace_id").notNull(),root_fingerprint:sqliteCore.text("root_fingerprint").notNull(),human_identity:sqliteCore.text("human_identity").notNull(),state:sqliteCore.text("state").notNull().default("pending"),created_at:sqliteCore.integer("created_at").notNull(),updated_at:sqliteCore.integer("updated_at").notNull()},t=>({purgeRequestIdCheck:sqliteCore.check("app_sync_account_data_purges_request_id_ck",drizzleOrm.sql`length(${t.request_id}) BETWEEN 1 AND 128`),purgeAccountCheck:sqliteCore.check("app_sync_account_data_purges_account_key_ck",drizzleOrm.sql`length(${t.account_key}) = 64 AND ${t.account_key} NOT GLOB '*[^0-9a-f]*'`),purgeWorkspaceCheck:sqliteCore.check("app_sync_account_data_purges_workspace_id_ck",drizzleOrm.sql`length(${t.workspace_id}) BETWEEN 1 AND 256`),purgeRootCheck:sqliteCore.check("app_sync_account_data_purges_root_fingerprint_ck",drizzleOrm.sql`length(${t.root_fingerprint}) = 64 AND ${t.root_fingerprint} NOT GLOB '*[^0-9a-f]*'`),purgeHumanIdentityCheck:sqliteCore.check("app_sync_account_data_purges_human_identity_ck",drizzleOrm.sql`length(${t.human_identity}) = 64 AND ${t.human_identity} NOT GLOB '*[^0-9a-f]*'`),purgeStateCheck:sqliteCore.check("app_sync_account_data_purges_state_ck",drizzleOrm.sql`${t.state} IN ('pending', 'complete')`),purgeTimeCheck:sqliteCore.check("app_sync_account_data_purges_time_ck",drizzleOrm.sql`${t.updated_at} >= ${t.created_at}`),purgeAccountIndex:sqliteCore.index("app_sync_account_data_purges_account_idx").on(t.account_key,t.state,t.updated_at)}));});var xd=C(()=>{g();sqliteCore.sqliteTable("route_states",{workspace_key:sqliteCore.text("workspace_key").notNull().default("legacy"),route_id:sqliteCore.text("route_id").notNull(),config_revision:sqliteCore.text("config_revision").notNull(),state_json:sqliteCore.text("state_json").notNull(),revision:sqliteCore.integer("revision").notNull().default(0),updated_at:sqliteCore.text("updated_at").notNull()},t=>({pk_route_state_workspace:sqliteCore.primaryKey({columns:[t.workspace_key,t.route_id]})})),sqliteCore.sqliteTable("route_sticky_bindings",{workspace_key:sqliteCore.text("workspace_key").notNull().default("legacy"),route_id:sqliteCore.text("route_id").notNull(),thread_id:sqliteCore.text("thread_id").notNull(),candidate_id:sqliteCore.text("candidate_id").notNull(),updated_at:sqliteCore.text("updated_at").notNull()},t=>({uniq_route_sticky_thread:sqliteCore.uniqueIndex("uniq_route_sticky_thread").on(t.workspace_key,t.route_id,t.thread_id),idx_route_sticky_candidate:sqliteCore.index("idx_route_sticky_candidate").on(t.workspace_key,t.route_id,t.candidate_id)})),sqliteCore.sqliteTable("route_decisions",{id:sqliteCore.text("id").primaryKey(),workspace_key:sqliteCore.text("workspace_key").notNull().default("legacy"),route_id:sqliteCore.text("route_id").notNull(),task_id:sqliteCore.text("task_id").notNull(),config_revision:sqliteCore.text("config_revision").notNull(),candidate_id:sqliteCore.text("candidate_id").notNull(),provider:sqliteCore.text("provider").notNull(),model:sqliteCore.text("model").notNull(),reason:sqliteCore.text("reason").notNull(),eligible_ids:sqliteCore.text("eligible_ids").notNull(),blocked_causes:sqliteCore.text("blocked_causes").notNull(),link_errors:sqliteCore.text("link_errors").notNull(),created_at:sqliteCore.text("created_at").notNull()},t=>({uniq_route_task_decision:sqliteCore.uniqueIndex("uniq_route_task_decision").on(t.workspace_key,t.route_id,t.task_id),idx_route_decisions_workspace_created:sqliteCore.index("idx_route_decisions_workspace_created").on(t.workspace_key,t.route_id,t.created_at)})),sqliteCore.sqliteTable("route_quota_observations",{id:sqliteCore.text("id").primaryKey(),provider:sqliteCore.text("provider").notNull(),account_ref:sqliteCore.text("account_ref").notNull().default("default"),model:sqliteCore.text("model"),status:sqliteCore.text("status",{enum:["ok","blocked"]}).notNull(),source:sqliteCore.text("source").notNull(),reset_at:sqliteCore.text("reset_at"),observed_at:sqliteCore.text("observed_at").notNull()},t=>({uniq_route_quota_observation:sqliteCore.uniqueIndex("uniq_route_quota_observation").on(t.provider,t.account_ref,t.model,t.source),idx_route_quota_observations_reset:sqliteCore.index("idx_route_quota_observations_reset").on(t.reset_at)}));});var rn=C(()=>{g();Wr();mn();La();$a();Vn();qa();Ba();Wa();ja();za();Ja();Ya();Qa();ed();nd();rd();sd();id();dd();ld();hs();md();yd();Td();Sd();Id();Ad();Nd();Od();vd();Cd();xd();});function rr(t){return typeof t=="string"&&Dt.includes(t)}function bd(t){if(!t||!t.includes("workflow"))return null;let e;try{e=JSON.parse(t);}catch{return null}if(typeof e!="object"||e===null||Array.isArray(e))return null;let n=e,r=n.workflowRunId;if(typeof r=="string"&&r!=="")return r;let o=n.workflow;if(typeof o=="object"&&o!==null&&!Array.isArray(o)){let s=o.exec_id;if(typeof s=="string"&&s!=="")return s}return null}var Dt,no=C(()=>{g();Dt=["workflow_card","workflow_ui_instance","workflow_run"];});var wn,Is,Dd,As=C(()=>{g();wn={"claude-fable-5-1":{input:10,cachedInput:.25,output:50},"claude-fable-5":{input:10,cachedInput:1,output:50},"claude-opus-5-5":{input:4,cachedInput:.2,output:20},"claude-opus-5-5-medium":{input:4,cachedInput:.2,output:20},"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-5":{input:2,cachedInput:.1,output:10},"claude-sonnet-5-5-medium":{input:2,cachedInput:.1,output:10},"claude-sonnet-5":{input:2,cachedInput:.2,output:10},"claude-sonnet-4-6":{input:3,cachedInput:.3,output:15},"claude-haiku-5-5":{input:.1,cachedInput:.01,output:.5},"claude-haiku-4-5":{input:1,cachedInput:.1,output:5},"gpt-6-astra":{input:10,cachedInput:1,output:50},"gpt-6.1-sol":{input:2,cachedInput:.1,output:10},"gpt-6.1-terra":{input:1,cachedInput:.05,output:5},"gpt-6-sol":{input:2,cachedInput:.2,output:10},"gpt-6-luna":{input:.1,cachedInput:.01,output:.5},"gpt-5.6-sol":{input:4,cachedInput:.4,output:20},"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.3-flash":{input:.15,cachedInput:.03,output:.5},"glm-5.2":{input:1.4,cachedInput:.26,output:4.4},"glm-5.1":{input:1.4,cachedInput:.26,output:4.4},"deepseek-v4.1-flash":{input:.3,cachedInput:.006,output:1.2},"qwen3.8-flash":{input:.164,cachedInput:.018,output:.514},"minimax-m3":{input:.3,cachedInput:.06,output:1.2},"kimi-k2.7-code":{input:.95,cachedInput:.19,output: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.7":{input:2,cachedInput:.5,output:6},"grok-4.6":{input:2,cachedInput:.5,output:6},"grok-4.5":{input:2,cachedInput:.3,output:6}},Is=new Set(["gpt-5.3-codex-spark","claude-opus-4-6-thinking","gpt-oss-120b","glm-5.3-flash-free","deepseek-v4.1-flash-free"]),Dd=new Set(["auto","claude-fable-5","claude-fable-5-1","claude-haiku-4-5","claude-haiku-5-5","claude-opus-4-6","claude-opus-4-6-thinking","claude-opus-4-6[1m]","claude-opus-4-7","claude-opus-4-7[1m]","claude-opus-4-8","claude-opus-4-8[1m]","claude-opus-5","claude-opus-5-5","claude-opus-5-5-medium","claude-sonnet-4-6","claude-sonnet-4-6[1m]","claude-sonnet-5","claude-sonnet-5-5","claude-sonnet-5-5-medium","deepseek-v4.1-flash","deepseek-v4.1-flash-free","gemini-3.1-pro","gemini-3.6-flash","gemini-3.7-flash","gemini-3.8-flash","gemini-4-argon","glm-5.1","glm-5.2","glm-5.3-flash","glm-5.3-flash-free","gpt-4.1","gpt-4o","gpt-5-mini","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-6-luna","gpt-6-sol","gpt-6.1-sol","gpt-6.1-terra","gpt-oss-120b","grok-4.5","grok-4.6","grok-4.7","kimi-k2.7-code","minimax-m3","qwen3.8-flash"]);});function Ns(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 R_(t){if(!t)return console.warn("[pricing] missing model id; cost is being recorded as 0"),or;let e=Ns(t),n=E_[e];if(n)return ro[n]??wn[n]??or;if(ro[e])return ro[e];if(wn[e])return wn[e];if(Is.has(e))return console.warn(`[pricing] unpublished model pricing: ${t}, cost_usd=0`),or;if(Dd.has(e))return console.warn(`[pricing] missing catalog pricing: ${t}, cost_usd=0`),or;let r={...wn,...ro};for(let o of Object.keys(r))if(e.includes(o))return r[o];return console.warn(`[pricing] Unknown model: ${t}, cost_usd=0`),or}function S_(t,e,n,r=0,o){let s=R_(n),i=Math.min(r,t),d=(t-i)*s.input/1e6,u=i*s.cachedInput/1e6,l=e*s.output/1e6;return d+u+l}function Pd(t,e,n,r,o,s){return t&&t>0?t:!e&&!n?0:S_(e??0,n??0,o,r??0)}var E_,or,ro,oo=C(()=>{g();As();As();E_={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"},or={input:0,cachedInput:0,output:0},ro={};});function Hd(t){if(!t||!t.includes("schedule_id"))return null;let e;try{e=JSON.parse(t);}catch{return null}if(typeof e!="object"||e===null||Array.isArray(e))return null;let n=e,r=n.trigger;if(typeof r!="string"||!I_.includes(r))return null;let o=n.schedule_id;return typeof o=="string"&&o!==""?o:null}var I_,Ud=C(()=>{g();I_=["cron","cron_manual"];});function vs(t){return t instanceof Error?t:t===void 0?void 0:new Error(String(t))}function qd(t){return typeof t=="object"&&t!==null&&"code"in t?String(t.code):void 0}function so(t){return Number.isSafeInteger(t)&&t>0}function x_(t){let e=t.trim();if(!e)return "";let n=/^(?:"([^"]+)"|'([^']+)')/.exec(e);return n?.[1]??n?.[2]??e.split(/\s+/,1)[0]??""}function b_(t,e,n){let r=n==="win32"?t.toLowerCase():t,o=n==="win32"?e.toLowerCase():e;if(!o.trim())return false;if(o==="agy"){let s=x_(t).split(/[\\/]/).pop()??"",i=n==="win32"?s.toLowerCase():s;return i==="agy"||n==="win32"&&(i==="agy.exe"||i==="agy.cmd")}return r.includes(o)}function D_(t,e,n){return e.some(r=>b_(t,r,n))}function P_(t,e){try{let n=child_process.spawnSync(t,e,{encoding:"utf8",timeout:Os,windowsHide:!0});return {status:n.status,stdout:typeof n.stdout=="string"?n.stdout:"",stderr:typeof n.stderr=="string"?n.stderr:"",error:n.error}}catch(n){return {status:null,stdout:"",stderr:"",error:vs(n)}}}function L_(t,e){return new Promise(n=>{let r;try{r=child_process.spawn(t,e,{windowsHide:!0});}catch(u){n({status:null,stdout:"",stderr:"",error:vs(u)});return}let o="",s="",i=false,c,d=setTimeout(()=>{try{r.kill();}catch{}c({status:null,stdout:o,stderr:s,error:new Error(`Command timed out after ${Os}ms`)});},Os);c=u=>{i||(i=true,clearTimeout(d),n(u));},r.stdout?.setEncoding("utf8"),r.stderr?.setEncoding("utf8"),r.stdout?.on("data",u=>{o+=String(u);}),r.stderr?.on("data",u=>{s+=String(u);}),r.once("error",u=>{c({status:null,stdout:o,stderr:s,error:u});}),r.once("close",u=>{c({status:u,stdout:o,stderr:s});});})}async function Cs(t,e,n){return n.runCommandAsync?n.runCommandAsync(t,e):n.runCommand?n.runCommand(t,e):L_(t,e)}function M_(t){return new Promise(e=>{setTimeout(e,Math.max(0,t));})}function $_(){return new Promise(t=>{setImmediate(t);})}function Pt(t,e=process.kill){try{return e(t,0),"alive"}catch(n){return qd(n)==="ESRCH"?"not_found":qd(n)==="EPERM"?"alive":"unknown"}}function H_(t,e){let n=Pt(-t,e),r=Pt(t,e);return n==="alive"||r==="alive"?"alive":n==="unknown"||r==="unknown"?"unknown":"not_found"}async function Bd(t,e,n,r){let o=Math.max(0,n),s=Math.max(1,r.pollIntervalMs??v_),i=Date.now()+o,c,d=o===0,u=r.sleep?Promise.resolve().then(()=>r.sleep(o)).then(()=>{},()=>{}):new Promise(l=>{c=setTimeout(l,o);});u.then(()=>{d=true;});try{for(await $_();;){let l=H_(t,e);if(l==="not_found")return l;let p=i-Date.now();if(d||p<=0)return l;await Promise.race([u,M_(Math.min(s,p))]);}}finally{c!==void 0&&clearTimeout(c);}}async function Fd(t,e,n,r,o){let s=await Bd(t,e,o.hardConfirmMs??C_,{...o,sleep:void 0});return s==="not_found"?n?{status:"not_found",pid:t,method:r}:{status:"terminated",pid:t,method:r}:s==="alive"?{status:"failed",pid:t,method:r,error:"Process is still running after termination attempt"}:{status:"failed",pid:t,method:r,error:"Unable to verify process termination"}}async function Wd(t,e,n={}){if(!so(t))return "unknown";let r=n.platform??process.platform,o=r==="win32"?"powershell.exe":"ps",s=r==="win32"?["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",`$p = Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${t}' -ErrorAction Stop; if ($null -ne $p) { [Console]::Write([string]$p.CommandLine) }`]:["-p",String(t),"-o","command="],i;try{i=await Cs(o,s,n);}catch{return "unknown"}if(i.error||i.status!==0)return "unknown";let c=i.stdout.trim();return c?D_(c,e,r)?"owned":"not_owned":"not_found"}function B_(t){let e=U_.exec(t.trim());if(!e)return;let[,n="0",r="0",o="0",s="0"]=e;return ((Number(n)*24+Number(r))*60+Number(o))*60+Number(s)}function W_(t){let e=t.trim(),n=F_.exec(e);if(n){let[,o,s,i,c,d,u,l,p]=n;return Date.UTC(Number(o),Number(s)-1,Number(i),Number(c),Number(d),Number(u),Math.trunc(Number(l)/1e3))-Number(p)*6e4}let r=Date.parse(e);return Number.isFinite(r)?r:void 0}function Gd(t,e){return e==="win32"?{command:"powershell.exe",args:["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",`$p = Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${t}' -ErrorAction Stop; if ($null -ne $p) { [Console]::Write($p.CreationDate.ToUniversalTime().ToString('o')) }`]}:{command:"ps",args:["-p",String(t),"-o","pgid=","-o","etime=","-o","stat="]}}function jd(t,e,n){if(t.error)return {status:"unknown"};let r=t.stdout.trim();if(!r)return t.status===0||t.status===1?{status:"not_found"}:{status:"unknown"};if(t.status!==0)return {status:"unknown"};if(e==="win32"){let i=W_(r);return i===void 0?{status:"unknown"}:{status:"found",startedAtMs:i,groupId:null}}let o=q_.exec(r),s=o?B_(o[2]):void 0;return !o||s===void 0?{status:"unknown"}:o[3].startsWith("Z")?{status:"unknown"}:{status:"found",startedAtMs:n-s*1e3,groupId:Number(o[1])}}function Kd(t,e={}){if(!so(t))return {status:"unknown"};let n=e.platform??process.platform,{command:r,args:o}=Gd(t,n),s=e.runCommand??P_,i;try{i=s(r,o);}catch{return {status:"unknown"}}return jd(i,n,Date.now())}async function zd(t,e={}){if(!so(t))return {status:"unknown"};let n=e.platform??process.platform,{command:r,args:o}=Gd(t,n),s;try{s=await Cs(r,o,e);}catch{return {status:"unknown"}}return jd(s,n,Date.now())}async function Mt(t,e={}){let n=e.platform??process.platform,r=n==="win32"?"taskkill":"process-group",o=_=>({status:"failed",pid:t,method:r,error:_});if(!so(t))return o("Invalid process ID");let s=e.kill??process.kill,i=Pt(t,s);if(i==="not_found")return {status:"not_found",pid:t,method:r};if(i!=="alive")return o("Unable to determine whether the process is alive");if(n==="win32"){let _;try{_=await Cs("taskkill",["/PID",String(t),"/T","/F"],e);}catch(m){_={status:null,stdout:"",stderr:"",error:vs(m)};}let h=Pt(t,s);return h==="not_found"?_.status===0&&!_.error?{status:"terminated",pid:t,method:r}:{status:"not_found",pid:t,method:r}:o(h==="alive"?"Process is still running after termination attempt":"Unable to verify process termination")}let c,d=e.signal??"SIGKILL";try{s(-t,d);}catch(_){c=_;}if(d==="SIGKILL")return Fd(t,s,c,r,e);if(await Bd(t,s,e.graceMs??O_,e)==="not_found")return c?{status:"not_found",pid:t,method:r}:{status:"terminated",pid:t,method:r};let l;try{s(-t,"SIGKILL");}catch(_){l=_;}let p=await Fd(t,s,l,r,e);return p.status==="terminated"?p:p.status==="not_found"?c?p:{status:"terminated",pid:t,method:r}:o(p.error??"Process termination failed")}var Os,Lt,O_,v_,C_,io,U_,q_,F_,ao=C(()=>{g();Os=3e3,Lt="SIGINT",O_=2e3,v_=25,C_=100;io=3e3,U_=/^(?:(\d+)-)?(?:(\d+):)?(\d{1,2}):(\d{2})$/,q_=/^\s*(\d+)\s+(\S+)\s+(\S+)\s*$/,F_=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\.(\d{6})([+-]\d{3})$/;});function Qd(t,e){let n=e===void 0?"":` at index ${e}`;if(!t||typeof t!="object")throw new f("VALIDATION",`Task log entry${n} must be an object`);if(typeof t.timestamp!="string"||typeof t.level!="string"||typeof t.message!="string")throw new f("VALIDATION",`Task log entry${n} must contain string timestamp, level, and message fields`);return {timestamp:t.timestamp,level:t.level,message:t.message}}function Xd(t,e){if(e===null||e.trim()==="")return [];let n;try{n=JSON.parse(e);}catch(r){throw new f("DB_ERROR",`Malformed legacy task logs: ${t}`,r)}if(!Array.isArray(n))throw new f("DB_ERROR",`Malformed legacy task logs: ${t} (expected an array)`);try{return n.map((r,o)=>Qd(r,o))}catch(r){throw r instanceof f?new f("DB_ERROR",`Malformed legacy task logs: ${t}`,r):r}}function Zd(t){if(t.log_storage!=="blob"&&t.log_storage!=="events")throw new f("DB_ERROR",`Invalid task log storage for task: ${t.id}`);if(!Number.isInteger(t.last_log_seq)||t.last_log_seq<0)throw new f("DB_ERROR",`Invalid task log sequence for task: ${t.id}`);if(!Number.isInteger(t.log_revision)||t.log_revision<0)throw new f("DB_ERROR",`Invalid task log revision for task: ${t.id}`);return t.log_storage}function Yd(t){return {taskId:t.id,source:Zd(t),revision:t.log_revision,lastSeq:t.last_log_seq}}function V_(t){if(!Number.isInteger(t)||t<0)throw new f("VALIDATION","Task log tail limit must be a non-negative integer")}var co,ec=C(()=>{g();Ct();Kt();zt();vt();rn();co=class extends ve{dbPath;constructor(e={}){super(),e.dbPath?this.dbPath=e.dbPath:e.dbRoot&&(this.dbPath=Re.join(e.dbRoot,".crewx","crewx.db"));}resolveDbPath(){return this.dbPath?jt(this.dbPath):super.resolveDbPath()}openHandle(e){let n=this.resolveDbPath();if(e){let o=Re.dirname(n);Yc.existsSync(o)||Yc.mkdirSync(o,{recursive:true});}else if(!Yc.existsSync(n))throw new f("NOT_FOUND","Database not found");let r=U(n);if(e)try{Be(r.db,n);}catch(o){throw r.close(),o}return r}findStateRow(e,n){return e.db.select({id:a.id,log_storage:a.log_storage,last_log_seq:a.last_log_seq,log_revision:a.log_revision,logs:a.logs}).from(a).where(drizzleOrm.eq(a.id,n)).limit(1).get()}findStateRowInTransaction(e,n){return e.select({id:a.id,log_storage:a.log_storage,last_log_seq:a.last_log_seq,log_revision:a.log_revision,logs:a.logs}).from(a).where(drizzleOrm.eq(a.id,n)).limit(1).get()}requireStateRowInTransaction(e,n){let r=this.findStateRowInTransaction(e,n);if(!r)throw new f("NOT_FOUND",`Task not found: ${n}`);return r}appendLog(e,n){return this.appendLogs(e,[n])}appendLogs(e,n){let r=n.map((s,i)=>Qd(s,i));if(r.length===0){let s=this.getLogState(e);if(!s)throw new f("NOT_FOUND",`Task not found: ${e}`);return s}let o=this.openHandle(true);try{return o.db.transaction(i=>{let c=this.requireStateRowInTransaction(i,e),d=Zd(c);if(d==="blob"){let _=Xd(e,c.logs);if(i.update(a).set({logs:JSON.stringify([..._,...r]),log_revision:drizzleOrm.sql`${a.log_revision} + 1`}).where(drizzleOrm.eq(a.id,e)).run().changes!==1)throw new f("NOT_FOUND",`Task not found: ${e}`);return {taskId:e,source:d,revision:c.log_revision+1,lastSeq:c.last_log_seq}}let u=c.last_log_seq+1,l=c.last_log_seq+r.length;if(i.insert(pt).values(r.map((_,h)=>({task_id:e,seq:u+h,timestamp:_.timestamp,level:_.level,message:_.message}))).run(),i.update(a).set({last_log_seq:l,log_revision:drizzleOrm.sql`${a.log_revision} + 1`}).where(drizzleOrm.eq(a.id,e)).run().changes!==1)throw new f("NOT_FOUND",`Task not found: ${e}`);return {taskId:e,source:d,revision:c.log_revision+1,lastSeq:l}},{behavior:"immediate"})}catch(s){throw s instanceof f?s:new f("DB_ERROR","Failed to append task log",s)}finally{o.close();}}getLogState(e){if(!this.dbExists())return;let n=this.openHandle(false);try{let r=this.findStateRow(n,e);return r?Yd(r):void 0}catch(r){throw r instanceof f?r:new f("DB_ERROR","Failed to read task log state",r)}finally{n.close();}}readLogs(e){return this.readLogsInternal(e)}readLogsTail(e,n){return V_(n),this.readLogsInternal(e,n)}readTail(e,n){return this.readLogsTail(e,n)}readLogsInternal(e,n){if(!this.dbExists())return;let r=this.openHandle(false);try{return r.db.transaction(o=>{let s=this.findStateRowInTransaction(o,e);if(!s)return;let i=Yd(s);if(i.source==="blob"){let l=Xd(e,s.logs).map((p,_)=>({...p,seq:_+1}));return {...i,entries:n===void 0?l:l.slice(Math.max(0,l.length-n))}}let c=o.select({seq:pt.seq,timestamp:pt.timestamp,level:pt.level,message:pt.message}).from(pt).where(drizzleOrm.eq(pt.task_id,e)).orderBy(n===void 0?drizzleOrm.asc(pt.seq):drizzleOrm.desc(pt.seq)),u=(n===void 0?c.all():c.limit(n).all()).map(({seq:l,timestamp:p,level:_,message:h})=>({seq:l,timestamp:p,level:_,message:h}));return n!==void 0&&u.reverse(),{...i,entries:u}},{behavior:"deferred"})}catch(o){throw o instanceof f?o:new f("DB_ERROR","Failed to read task logs",o)}finally{r.close();}}};});var ef,uo,nc=C(()=>{g();Ct();Kt();zt();vt();rn();ef=50,uo=class extends ve{dbPath;constructor(e={}){super(),e.dbPath?this.dbPath=e.dbPath:e.dbRoot&&(this.dbPath=`${e.dbRoot}/.crewx/crewx.db`);}resolveDbPath(){return this.dbPath??super.resolveDbPath()}openHandle(){let e=this.resolveDbPath(),n=U(e);try{return Be(n.db,e),n}catch(r){throw n.close(),r}}recordAccepted(e){if(e.actorKind!=="human"||!e.workspaceId||!e.actorId||!e.agentId)return false;let n;try{n=this.openHandle();let r=e.acceptedAt??new Date().toISOString();return n.db.insert($e).values({workspace_id:e.workspaceId,actor_id:e.actorId,agent_id:e.agentId,last_accepted_at:r}).onConflictDoUpdate({target:[$e.workspace_id,$e.actor_id,$e.agent_id],set:{last_accepted_at:drizzleOrm.sql`MAX(${$e.last_accepted_at}, excluded.last_accepted_at)`}}).run(),!0}catch(r){return console.error("[AgentSendHistoryRepository] Failed to record accepted agent send",r),false}finally{n?.close();}}findRecentAgents(e,n){let r;try{return r=this.openHandle(),r.db.select({agentId:$e.agent_id,lastAcceptedAt:$e.last_accepted_at}).from($e).where(drizzleOrm.and(drizzleOrm.eq($e.workspace_id,e),drizzleOrm.eq($e.actor_id,n))).orderBy(drizzleOrm.desc($e.last_accepted_at),drizzleOrm.asc($e.agent_id)).limit(ef).all()}catch(o){throw o instanceof f?o:new f("DB_ERROR","Failed to find recent agent sends",o)}finally{r?.close();}}};});var rc=C(()=>{g();});var tf,W,$t=C(()=>{g();tf=new Set(["ACCOUNT_SETTING_REQUIRED","MODEL_RETIRED","SUBSCRIPTION_REQUIRED"]),W=class extends Error{constructor(n,r,o){super(n);this.providerStr=r;this.name="ProviderError",this.code=o?.code??"UNKNOWN",this.kind=tf.has(this.code)?"config":o?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=o?.retryAfterMs,this.settingReason=o?.settingReason,this.replacementModel=o?.replacementModel,this.providerReason=o?.providerReason;}providerStr;code;kind;retryAfterMs;settingReason;replacementModel;providerReason;stdout};});var on,xs=C(()=>{g();$t();on=class extends W{name="RateLimitError";constructor(e,n="cli/claude"){super(e,n,{code:"QUOTA_EXHAUSTED",kind:"transient"});}};});function lo(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 ${Ne}]`),e=rf(e),e=e.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+\-/]+=*/gi,`${Ne}`),e=e.replace(/\bsk-[A-Za-z0-9][A-Za-z0-9_-]*/g,Ne),e=e.replace(/\bghp_[A-Za-z0-9][A-Za-z0-9_-]*/g,Ne),e=e.replace(/\bxoxb-[A-Za-z0-9-]+/g,Ne),e=e.replace(/\bxoxp-[A-Za-z0-9-]+/g,Ne),e=e.replace(/\bAKIA[0-9A-Z]{12,}\b/g,Ne),e=e.replace(/\bgithub_pat_[A-Za-z0-9_]+/g,Ne),e=e.replace(/\bgho_[A-Za-z0-9_]+/g,Ne),e=e.replace(/\bAIza[A-Za-z0-9_-]{20,}\b/g,Ne),e=e.replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,Ne),e=e.replace(/\b(?:authorization|api[_ -]?key|access[_ -]?token|auth[_ -]?token|refresh[_ -]?token|token|secret|password)\s*([:=])\s*["']?[^\s,;&"']+/gi,(n,r)=>`${Ne}${r}${Ne}`),e=e.replace(/([?&](?:api[_-]?key|access[_-]?token|token)=)[^&\s]+/gi,`$1${Ne}`),e=e.replace(/(?:\/(?:Users|home|private|var\/folders|tmp|workspace|workspaces|Volumes|opt|etc|srv|Applications)\/[^\s"'`),;]+)/g,oc),e=e.replace(/\b[A-Z]:\\(?:Users|home|Windows|Program Files|workspace|workspaces)\\[^\s"'`),;]*/gi,oc),e=e.replace(/[\r\n]{3,}/g,`
45
+ )`),conflictSupersededCheck:sqliteCore.check("app_sync_conflicts_superseded_ck",drizzleOrm.sql`${t.state} != 'superseded' OR ${t.superseded_by} IS NOT NULL`),conflictResolutionCheck:sqliteCore.check("app_sync_conflicts_resolution_ck",drizzleOrm.sql`(${t.resolution_request_id} IS NULL AND ${t.resolution_choice} IS NULL) OR (length(${t.resolution_request_id}) BETWEEN 1 AND 128 AND ${t.resolution_choice} IN ('keep_local', 'use_cloud', 'keep_both'))`),conflictTimeCheck:sqliteCore.check("app_sync_conflicts_time_ck",drizzleOrm.sql`${t.updated_at} >= ${t.created_at}`),conflictBindingFk:sqliteCore.foreignKey({columns:[t.binding_id],foreignColumns:[Tn.binding_id]}).onDelete("cascade"),conflictIdentityUnique:sqliteCore.uniqueIndex("app_sync_conflicts_identity_uq").on(t.binding_id,t.grant_id,t.grant_generation,t.ref,t.local_version,t.remote_revision,t.remote_fingerprint),conflictLookup:sqliteCore.index("app_sync_conflicts_lookup_idx").on(t.account_key,t.binding_id,t.state,t.updated_at)})),sqliteCore.sqliteTable("app_sync_conflict_resolutions",{request_id:sqliteCore.text("request_id").primaryKey().notNull(),conflict_id:sqliteCore.text("conflict_id").notNull(),account_key:sqliteCore.text("account_key").notNull(),human_identity:sqliteCore.text("human_identity").notNull(),choice:sqliteCore.text("choice").notNull(),expected_local_version:sqliteCore.text("expected_local_version").notNull(),expected_remote_revision:sqliteCore.integer("expected_remote_revision").notNull(),expected_remote_fingerprint:sqliteCore.text("expected_remote_fingerprint").notNull(),state:sqliteCore.text("state").notNull().default("pending"),error_code:sqliteCore.text("error_code"),created_at:sqliteCore.integer("created_at").notNull(),updated_at:sqliteCore.integer("updated_at").notNull()},t=>({resolutionRequestIdCheck:sqliteCore.check("app_sync_conflict_resolutions_request_id_ck",drizzleOrm.sql`length(${t.request_id}) BETWEEN 1 AND 128`),resolutionAccountCheck:sqliteCore.check("app_sync_conflict_resolutions_account_key_ck",drizzleOrm.sql`length(${t.account_key}) = 64 AND ${t.account_key} NOT GLOB '*[^0-9a-f]*'`),resolutionIdentityCheck:sqliteCore.check("app_sync_conflict_resolutions_human_identity_ck",drizzleOrm.sql`length(${t.human_identity}) = 64 AND ${t.human_identity} NOT GLOB '*[^0-9a-f]*'`),resolutionChoiceCheck:sqliteCore.check("app_sync_conflict_resolutions_choice_ck",drizzleOrm.sql`${t.choice} IN ('keep_local', 'use_cloud', 'keep_both')`),resolutionLocalVersionCheck:sqliteCore.check("app_sync_conflict_resolutions_local_version_ck",drizzleOrm.sql`length(${t.expected_local_version}) BETWEEN 1 AND 256 AND instr(${t.expected_local_version}, '/') = 0 AND instr(${t.expected_local_version}, char(92)) = 0`),resolutionRemoteCheck:sqliteCore.check("app_sync_conflict_resolutions_remote_ck",drizzleOrm.sql`${t.expected_remote_revision} >= 0 AND length(${t.expected_remote_fingerprint}) = 71 AND substr(${t.expected_remote_fingerprint}, 1, 7) = 'sha256:' AND substr(${t.expected_remote_fingerprint}, 8) NOT GLOB '*[^0-9a-f]*'`),resolutionStateCheck:sqliteCore.check("app_sync_conflict_resolutions_state_ck",drizzleOrm.sql`${t.state} IN ('pending', 'unknown', 'resolved', 'stale', 'failed')`),resolutionTimeCheck:sqliteCore.check("app_sync_conflict_resolutions_time_ck",drizzleOrm.sql`${t.updated_at} >= ${t.created_at}`),resolutionConflictFk:sqliteCore.foreignKey({columns:[t.conflict_id],foreignColumns:[y_.conflict_id]}).onDelete("cascade"),resolutionConflictIdx:sqliteCore.index("app_sync_conflict_resolutions_conflict_idx").on(t.conflict_id,t.created_at),resolutionActiveUnique:sqliteCore.uniqueIndex("app_sync_conflict_resolutions_one_active_uq").on(t.conflict_id).where(drizzleOrm.sql`${t.state} IN ('pending', 'unknown')`)})),sqliteCore.sqliteTable("app_sync_account_data_purges",{request_id:sqliteCore.text("request_id").primaryKey().notNull(),binding_id:sqliteCore.text("binding_id").notNull(),account_key:sqliteCore.text("account_key").notNull(),workspace_id:sqliteCore.text("workspace_id").notNull(),root_fingerprint:sqliteCore.text("root_fingerprint").notNull(),human_identity:sqliteCore.text("human_identity").notNull(),state:sqliteCore.text("state").notNull().default("pending"),created_at:sqliteCore.integer("created_at").notNull(),updated_at:sqliteCore.integer("updated_at").notNull()},t=>({purgeRequestIdCheck:sqliteCore.check("app_sync_account_data_purges_request_id_ck",drizzleOrm.sql`length(${t.request_id}) BETWEEN 1 AND 128`),purgeAccountCheck:sqliteCore.check("app_sync_account_data_purges_account_key_ck",drizzleOrm.sql`length(${t.account_key}) = 64 AND ${t.account_key} NOT GLOB '*[^0-9a-f]*'`),purgeWorkspaceCheck:sqliteCore.check("app_sync_account_data_purges_workspace_id_ck",drizzleOrm.sql`length(${t.workspace_id}) BETWEEN 1 AND 256`),purgeRootCheck:sqliteCore.check("app_sync_account_data_purges_root_fingerprint_ck",drizzleOrm.sql`length(${t.root_fingerprint}) = 64 AND ${t.root_fingerprint} NOT GLOB '*[^0-9a-f]*'`),purgeHumanIdentityCheck:sqliteCore.check("app_sync_account_data_purges_human_identity_ck",drizzleOrm.sql`length(${t.human_identity}) = 64 AND ${t.human_identity} NOT GLOB '*[^0-9a-f]*'`),purgeStateCheck:sqliteCore.check("app_sync_account_data_purges_state_ck",drizzleOrm.sql`${t.state} IN ('pending', 'complete')`),purgeTimeCheck:sqliteCore.check("app_sync_account_data_purges_time_ck",drizzleOrm.sql`${t.updated_at} >= ${t.created_at}`),purgeAccountIndex:sqliteCore.index("app_sync_account_data_purges_account_idx").on(t.account_key,t.state,t.updated_at)}));});var xd=C(()=>{g();sqliteCore.sqliteTable("route_states",{workspace_key:sqliteCore.text("workspace_key").notNull().default("legacy"),route_id:sqliteCore.text("route_id").notNull(),config_revision:sqliteCore.text("config_revision").notNull(),state_json:sqliteCore.text("state_json").notNull(),revision:sqliteCore.integer("revision").notNull().default(0),updated_at:sqliteCore.text("updated_at").notNull()},t=>({pk_route_state_workspace:sqliteCore.primaryKey({columns:[t.workspace_key,t.route_id]})})),sqliteCore.sqliteTable("route_sticky_bindings",{workspace_key:sqliteCore.text("workspace_key").notNull().default("legacy"),route_id:sqliteCore.text("route_id").notNull(),thread_id:sqliteCore.text("thread_id").notNull(),candidate_id:sqliteCore.text("candidate_id").notNull(),updated_at:sqliteCore.text("updated_at").notNull()},t=>({uniq_route_sticky_thread:sqliteCore.uniqueIndex("uniq_route_sticky_thread").on(t.workspace_key,t.route_id,t.thread_id),idx_route_sticky_candidate:sqliteCore.index("idx_route_sticky_candidate").on(t.workspace_key,t.route_id,t.candidate_id)})),sqliteCore.sqliteTable("route_decisions",{id:sqliteCore.text("id").primaryKey(),workspace_key:sqliteCore.text("workspace_key").notNull().default("legacy"),route_id:sqliteCore.text("route_id").notNull(),task_id:sqliteCore.text("task_id").notNull(),config_revision:sqliteCore.text("config_revision").notNull(),candidate_id:sqliteCore.text("candidate_id").notNull(),provider:sqliteCore.text("provider").notNull(),model:sqliteCore.text("model").notNull(),reason:sqliteCore.text("reason").notNull(),eligible_ids:sqliteCore.text("eligible_ids").notNull(),blocked_causes:sqliteCore.text("blocked_causes").notNull(),link_errors:sqliteCore.text("link_errors").notNull(),created_at:sqliteCore.text("created_at").notNull()},t=>({uniq_route_task_decision:sqliteCore.uniqueIndex("uniq_route_task_decision").on(t.workspace_key,t.route_id,t.task_id),idx_route_decisions_workspace_created:sqliteCore.index("idx_route_decisions_workspace_created").on(t.workspace_key,t.route_id,t.created_at)})),sqliteCore.sqliteTable("route_quota_observations",{id:sqliteCore.text("id").primaryKey(),provider:sqliteCore.text("provider").notNull(),account_ref:sqliteCore.text("account_ref").notNull().default("default"),model:sqliteCore.text("model"),status:sqliteCore.text("status",{enum:["ok","blocked"]}).notNull(),source:sqliteCore.text("source").notNull(),reset_at:sqliteCore.text("reset_at"),observed_at:sqliteCore.text("observed_at").notNull()},t=>({uniq_route_quota_observation:sqliteCore.uniqueIndex("uniq_route_quota_observation").on(t.provider,t.account_ref,t.model,t.source),idx_route_quota_observations_reset:sqliteCore.index("idx_route_quota_observations_reset").on(t.reset_at)}));});var rn=C(()=>{g();Wr();mn();La();$a();Vn();qa();Ba();Wa();ja();za();Ja();Ya();Qa();ed();nd();rd();sd();id();dd();ld();hs();md();yd();Td();Sd();Id();Ad();Nd();Od();vd();Cd();xd();});function rr(t){return typeof t=="string"&&Dt.includes(t)}function bd(t){if(!t||!t.includes("workflow"))return null;let e;try{e=JSON.parse(t);}catch{return null}if(typeof e!="object"||e===null||Array.isArray(e))return null;let n=e,r=n.workflowRunId;if(typeof r=="string"&&r!=="")return r;let o=n.workflow;if(typeof o=="object"&&o!==null&&!Array.isArray(o)){let s=o.exec_id;if(typeof s=="string"&&s!=="")return s}return null}var Dt,no=C(()=>{g();Dt=["workflow_card","workflow_ui_instance","workflow_run"];});var wn,Is,Dd,As=C(()=>{g();wn={"claude-fable-5-1":{input:10,cachedInput:.25,output:50},"claude-fable-5":{input:10,cachedInput:1,output:50},"claude-opus-5-5":{input:4,cachedInput:.2,output:20},"claude-opus-5-5-medium":{input:4,cachedInput:.2,output:20},"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-5":{input:2,cachedInput:.1,output:10},"claude-sonnet-5-5-medium":{input:2,cachedInput:.1,output:10},"claude-sonnet-5":{input:2,cachedInput:.2,output:10},"claude-sonnet-4-6":{input:3,cachedInput:.3,output:15},"claude-haiku-5-5":{input:.1,cachedInput:.01,output:.5},"claude-haiku-4-5":{input:1,cachedInput:.1,output:5},"gpt-6-astra":{input:10,cachedInput:1,output:50},"gpt-6.1-sol":{input:2,cachedInput:.1,output:10},"gpt-6.1-terra":{input:1,cachedInput:.05,output:5},"gpt-6-sol":{input:2,cachedInput:.2,output:10},"gpt-6-luna":{input:.1,cachedInput:.01,output:.5},"gpt-5.6-sol":{input:4,cachedInput:.4,output:20},"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.3-flash":{input:.15,cachedInput:.03,output:.5},"glm-5.2":{input:1.4,cachedInput:.26,output:4.4},"glm-5.1":{input:1.4,cachedInput:.26,output:4.4},"deepseek-v4.1-flash":{input:.3,cachedInput:.006,output:1.2},"qwen3.8-flash":{input:.164,cachedInput:.018,output:.514},"minimax-m3":{input:.3,cachedInput:.06,output:1.2},"kimi-k2.7-code":{input:.95,cachedInput:.19,output:4},"gemini-3.8-flash":{input:1.5,cachedInput:.15,output:7.5},"gemini-4-argon":{input:4,cachedInput:.2,output:20},"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.7":{input:2,cachedInput:.5,output:6},"grok-4.6":{input:2,cachedInput:.5,output:6},"grok-4.5":{input:2,cachedInput:.3,output:6}},Is=new Set(["gpt-5.3-codex-spark","claude-opus-4-6-thinking","gpt-oss-120b","glm-5.3-flash-free","deepseek-v4.1-flash-free"]),Dd=new Set(["auto","claude-fable-5","claude-fable-5-1","claude-haiku-4-5","claude-haiku-5-5","claude-opus-4-6","claude-opus-4-6-thinking","claude-opus-4-6[1m]","claude-opus-4-7","claude-opus-4-7[1m]","claude-opus-4-8","claude-opus-4-8[1m]","claude-opus-5","claude-opus-5-5","claude-opus-5-5-medium","claude-sonnet-4-6","claude-sonnet-4-6[1m]","claude-sonnet-5","claude-sonnet-5-5","claude-sonnet-5-5-medium","deepseek-v4.1-flash","deepseek-v4.1-flash-free","gemini-3.1-pro","gemini-3.6-flash","gemini-3.7-flash","gemini-3.8-flash","gemini-4-argon","glm-5.1","glm-5.2","glm-5.3-flash","glm-5.3-flash-free","gpt-4.1","gpt-4o","gpt-5-mini","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-6-luna","gpt-6-sol","gpt-6.1-sol","gpt-6.1-terra","gpt-oss-120b","grok-4.5","grok-4.6","grok-4.7","kimi-k2.7-code","minimax-m3","qwen3.8-flash"]);});function Ns(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 R_(t){if(!t)return console.warn("[pricing] missing model id; cost is being recorded as 0"),or;let e=Ns(t),n=E_[e];if(n)return ro[n]??wn[n]??or;if(ro[e])return ro[e];if(wn[e])return wn[e];if(Is.has(e))return console.warn(`[pricing] unpublished model pricing: ${t}, cost_usd=0`),or;if(Dd.has(e))return console.warn(`[pricing] missing catalog pricing: ${t}, cost_usd=0`),or;let r={...wn,...ro};for(let o of Object.keys(r))if(e.includes(o))return r[o];return console.warn(`[pricing] Unknown model: ${t}, cost_usd=0`),or}function S_(t,e,n,r=0,o){let s=R_(n),i=Math.min(r,t),d=(t-i)*s.input/1e6,u=i*s.cachedInput/1e6,l=e*s.output/1e6;return d+u+l}function Pd(t,e,n,r,o,s){return t&&t>0?t:!e&&!n?0:S_(e??0,n??0,o,r??0)}var E_,or,ro,oo=C(()=>{g();As();As();E_={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"},or={input:0,cachedInput:0,output:0},ro={};});function Hd(t){if(!t||!t.includes("schedule_id"))return null;let e;try{e=JSON.parse(t);}catch{return null}if(typeof e!="object"||e===null||Array.isArray(e))return null;let n=e,r=n.trigger;if(typeof r!="string"||!I_.includes(r))return null;let o=n.schedule_id;return typeof o=="string"&&o!==""?o:null}var I_,Ud=C(()=>{g();I_=["cron","cron_manual"];});function vs(t){return t instanceof Error?t:t===void 0?void 0:new Error(String(t))}function qd(t){return typeof t=="object"&&t!==null&&"code"in t?String(t.code):void 0}function so(t){return Number.isSafeInteger(t)&&t>0}function x_(t){let e=t.trim();if(!e)return "";let n=/^(?:"([^"]+)"|'([^']+)')/.exec(e);return n?.[1]??n?.[2]??e.split(/\s+/,1)[0]??""}function b_(t,e,n){let r=n==="win32"?t.toLowerCase():t,o=n==="win32"?e.toLowerCase():e;if(!o.trim())return false;if(o==="agy"){let s=x_(t).split(/[\\/]/).pop()??"",i=n==="win32"?s.toLowerCase():s;return i==="agy"||n==="win32"&&(i==="agy.exe"||i==="agy.cmd")}return r.includes(o)}function D_(t,e,n){return e.some(r=>b_(t,r,n))}function P_(t,e){try{let n=child_process.spawnSync(t,e,{encoding:"utf8",timeout:Os,windowsHide:!0});return {status:n.status,stdout:typeof n.stdout=="string"?n.stdout:"",stderr:typeof n.stderr=="string"?n.stderr:"",error:n.error}}catch(n){return {status:null,stdout:"",stderr:"",error:vs(n)}}}function L_(t,e){return new Promise(n=>{let r;try{r=child_process.spawn(t,e,{windowsHide:!0});}catch(u){n({status:null,stdout:"",stderr:"",error:vs(u)});return}let o="",s="",i=false,c,d=setTimeout(()=>{try{r.kill();}catch{}c({status:null,stdout:o,stderr:s,error:new Error(`Command timed out after ${Os}ms`)});},Os);c=u=>{i||(i=true,clearTimeout(d),n(u));},r.stdout?.setEncoding("utf8"),r.stderr?.setEncoding("utf8"),r.stdout?.on("data",u=>{o+=String(u);}),r.stderr?.on("data",u=>{s+=String(u);}),r.once("error",u=>{c({status:null,stdout:o,stderr:s,error:u});}),r.once("close",u=>{c({status:u,stdout:o,stderr:s});});})}async function Cs(t,e,n){return n.runCommandAsync?n.runCommandAsync(t,e):n.runCommand?n.runCommand(t,e):L_(t,e)}function M_(t){return new Promise(e=>{setTimeout(e,Math.max(0,t));})}function $_(){return new Promise(t=>{setImmediate(t);})}function Pt(t,e=process.kill){try{return e(t,0),"alive"}catch(n){return qd(n)==="ESRCH"?"not_found":qd(n)==="EPERM"?"alive":"unknown"}}function H_(t,e){let n=Pt(-t,e),r=Pt(t,e);return n==="alive"||r==="alive"?"alive":n==="unknown"||r==="unknown"?"unknown":"not_found"}async function Bd(t,e,n,r){let o=Math.max(0,n),s=Math.max(1,r.pollIntervalMs??v_),i=Date.now()+o,c,d=o===0,u=r.sleep?Promise.resolve().then(()=>r.sleep(o)).then(()=>{},()=>{}):new Promise(l=>{c=setTimeout(l,o);});u.then(()=>{d=true;});try{for(await $_();;){let l=H_(t,e);if(l==="not_found")return l;let p=i-Date.now();if(d||p<=0)return l;await Promise.race([u,M_(Math.min(s,p))]);}}finally{c!==void 0&&clearTimeout(c);}}async function Fd(t,e,n,r,o){let s=await Bd(t,e,o.hardConfirmMs??C_,{...o,sleep:void 0});return s==="not_found"?n?{status:"not_found",pid:t,method:r}:{status:"terminated",pid:t,method:r}:s==="alive"?{status:"failed",pid:t,method:r,error:"Process is still running after termination attempt"}:{status:"failed",pid:t,method:r,error:"Unable to verify process termination"}}async function Wd(t,e,n={}){if(!so(t))return "unknown";let r=n.platform??process.platform,o=r==="win32"?"powershell.exe":"ps",s=r==="win32"?["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",`$p = Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${t}' -ErrorAction Stop; if ($null -ne $p) { [Console]::Write([string]$p.CommandLine) }`]:["-p",String(t),"-o","command="],i;try{i=await Cs(o,s,n);}catch{return "unknown"}if(i.error||i.status!==0)return "unknown";let c=i.stdout.trim();return c?D_(c,e,r)?"owned":"not_owned":"not_found"}function B_(t){let e=U_.exec(t.trim());if(!e)return;let[,n="0",r="0",o="0",s="0"]=e;return ((Number(n)*24+Number(r))*60+Number(o))*60+Number(s)}function W_(t){let e=t.trim(),n=F_.exec(e);if(n){let[,o,s,i,c,d,u,l,p]=n;return Date.UTC(Number(o),Number(s)-1,Number(i),Number(c),Number(d),Number(u),Math.trunc(Number(l)/1e3))-Number(p)*6e4}let r=Date.parse(e);return Number.isFinite(r)?r:void 0}function Gd(t,e){return e==="win32"?{command:"powershell.exe",args:["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",`$p = Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${t}' -ErrorAction Stop; if ($null -ne $p) { [Console]::Write($p.CreationDate.ToUniversalTime().ToString('o')) }`]}:{command:"ps",args:["-p",String(t),"-o","pgid=","-o","etime=","-o","stat="]}}function jd(t,e,n){if(t.error)return {status:"unknown"};let r=t.stdout.trim();if(!r)return t.status===0||t.status===1?{status:"not_found"}:{status:"unknown"};if(t.status!==0)return {status:"unknown"};if(e==="win32"){let i=W_(r);return i===void 0?{status:"unknown"}:{status:"found",startedAtMs:i,groupId:null}}let o=q_.exec(r),s=o?B_(o[2]):void 0;return !o||s===void 0?{status:"unknown"}:o[3].startsWith("Z")?{status:"unknown"}:{status:"found",startedAtMs:n-s*1e3,groupId:Number(o[1])}}function Kd(t,e={}){if(!so(t))return {status:"unknown"};let n=e.platform??process.platform,{command:r,args:o}=Gd(t,n),s=e.runCommand??P_,i;try{i=s(r,o);}catch{return {status:"unknown"}}return jd(i,n,Date.now())}async function zd(t,e={}){if(!so(t))return {status:"unknown"};let n=e.platform??process.platform,{command:r,args:o}=Gd(t,n),s;try{s=await Cs(r,o,e);}catch{return {status:"unknown"}}return jd(s,n,Date.now())}async function Mt(t,e={}){let n=e.platform??process.platform,r=n==="win32"?"taskkill":"process-group",o=_=>({status:"failed",pid:t,method:r,error:_});if(!so(t))return o("Invalid process ID");let s=e.kill??process.kill,i=Pt(t,s);if(i==="not_found")return {status:"not_found",pid:t,method:r};if(i!=="alive")return o("Unable to determine whether the process is alive");if(n==="win32"){let _;try{_=await Cs("taskkill",["/PID",String(t),"/T","/F"],e);}catch(m){_={status:null,stdout:"",stderr:"",error:vs(m)};}let h=Pt(t,s);return h==="not_found"?_.status===0&&!_.error?{status:"terminated",pid:t,method:r}:{status:"not_found",pid:t,method:r}:o(h==="alive"?"Process is still running after termination attempt":"Unable to verify process termination")}let c,d=e.signal??"SIGKILL";try{s(-t,d);}catch(_){c=_;}if(d==="SIGKILL")return Fd(t,s,c,r,e);if(await Bd(t,s,e.graceMs??O_,e)==="not_found")return c?{status:"not_found",pid:t,method:r}:{status:"terminated",pid:t,method:r};let l;try{s(-t,"SIGKILL");}catch(_){l=_;}let p=await Fd(t,s,l,r,e);return p.status==="terminated"?p:p.status==="not_found"?c?p:{status:"terminated",pid:t,method:r}:o(p.error??"Process termination failed")}var Os,Lt,O_,v_,C_,io,U_,q_,F_,ao=C(()=>{g();Os=3e3,Lt="SIGINT",O_=2e3,v_=25,C_=100;io=3e3,U_=/^(?:(\d+)-)?(?:(\d+):)?(\d{1,2}):(\d{2})$/,q_=/^\s*(\d+)\s+(\S+)\s+(\S+)\s*$/,F_=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\.(\d{6})([+-]\d{3})$/;});function Qd(t,e){let n=e===void 0?"":` at index ${e}`;if(!t||typeof t!="object")throw new f("VALIDATION",`Task log entry${n} must be an object`);if(typeof t.timestamp!="string"||typeof t.level!="string"||typeof t.message!="string")throw new f("VALIDATION",`Task log entry${n} must contain string timestamp, level, and message fields`);return {timestamp:t.timestamp,level:t.level,message:t.message}}function Xd(t,e){if(e===null||e.trim()==="")return [];let n;try{n=JSON.parse(e);}catch(r){throw new f("DB_ERROR",`Malformed legacy task logs: ${t}`,r)}if(!Array.isArray(n))throw new f("DB_ERROR",`Malformed legacy task logs: ${t} (expected an array)`);try{return n.map((r,o)=>Qd(r,o))}catch(r){throw r instanceof f?new f("DB_ERROR",`Malformed legacy task logs: ${t}`,r):r}}function Zd(t){if(t.log_storage!=="blob"&&t.log_storage!=="events")throw new f("DB_ERROR",`Invalid task log storage for task: ${t.id}`);if(!Number.isInteger(t.last_log_seq)||t.last_log_seq<0)throw new f("DB_ERROR",`Invalid task log sequence for task: ${t.id}`);if(!Number.isInteger(t.log_revision)||t.log_revision<0)throw new f("DB_ERROR",`Invalid task log revision for task: ${t.id}`);return t.log_storage}function Yd(t){return {taskId:t.id,source:Zd(t),revision:t.log_revision,lastSeq:t.last_log_seq}}function V_(t){if(!Number.isInteger(t)||t<0)throw new f("VALIDATION","Task log tail limit must be a non-negative integer")}var co,ec=C(()=>{g();Ct();Kt();zt();vt();rn();co=class extends ve{dbPath;constructor(e={}){super(),e.dbPath?this.dbPath=e.dbPath:e.dbRoot&&(this.dbPath=Re.join(e.dbRoot,".crewx","crewx.db"));}resolveDbPath(){return this.dbPath?jt(this.dbPath):super.resolveDbPath()}openHandle(e){let n=this.resolveDbPath();if(e){let o=Re.dirname(n);Yc.existsSync(o)||Yc.mkdirSync(o,{recursive:true});}else if(!Yc.existsSync(n))throw new f("NOT_FOUND","Database not found");let r=U(n);if(e)try{Be(r.db,n);}catch(o){throw r.close(),o}return r}findStateRow(e,n){return e.db.select({id:a.id,log_storage:a.log_storage,last_log_seq:a.last_log_seq,log_revision:a.log_revision,logs:a.logs}).from(a).where(drizzleOrm.eq(a.id,n)).limit(1).get()}findStateRowInTransaction(e,n){return e.select({id:a.id,log_storage:a.log_storage,last_log_seq:a.last_log_seq,log_revision:a.log_revision,logs:a.logs}).from(a).where(drizzleOrm.eq(a.id,n)).limit(1).get()}requireStateRowInTransaction(e,n){let r=this.findStateRowInTransaction(e,n);if(!r)throw new f("NOT_FOUND",`Task not found: ${n}`);return r}appendLog(e,n){return this.appendLogs(e,[n])}appendLogs(e,n){let r=n.map((s,i)=>Qd(s,i));if(r.length===0){let s=this.getLogState(e);if(!s)throw new f("NOT_FOUND",`Task not found: ${e}`);return s}let o=this.openHandle(true);try{return o.db.transaction(i=>{let c=this.requireStateRowInTransaction(i,e),d=Zd(c);if(d==="blob"){let _=Xd(e,c.logs);if(i.update(a).set({logs:JSON.stringify([..._,...r]),log_revision:drizzleOrm.sql`${a.log_revision} + 1`}).where(drizzleOrm.eq(a.id,e)).run().changes!==1)throw new f("NOT_FOUND",`Task not found: ${e}`);return {taskId:e,source:d,revision:c.log_revision+1,lastSeq:c.last_log_seq}}let u=c.last_log_seq+1,l=c.last_log_seq+r.length;if(i.insert(pt).values(r.map((_,h)=>({task_id:e,seq:u+h,timestamp:_.timestamp,level:_.level,message:_.message}))).run(),i.update(a).set({last_log_seq:l,log_revision:drizzleOrm.sql`${a.log_revision} + 1`}).where(drizzleOrm.eq(a.id,e)).run().changes!==1)throw new f("NOT_FOUND",`Task not found: ${e}`);return {taskId:e,source:d,revision:c.log_revision+1,lastSeq:l}},{behavior:"immediate"})}catch(s){throw s instanceof f?s:new f("DB_ERROR","Failed to append task log",s)}finally{o.close();}}getLogState(e){if(!this.dbExists())return;let n=this.openHandle(false);try{let r=this.findStateRow(n,e);return r?Yd(r):void 0}catch(r){throw r instanceof f?r:new f("DB_ERROR","Failed to read task log state",r)}finally{n.close();}}readLogs(e){return this.readLogsInternal(e)}readLogsTail(e,n){return V_(n),this.readLogsInternal(e,n)}readTail(e,n){return this.readLogsTail(e,n)}readLogsInternal(e,n){if(!this.dbExists())return;let r=this.openHandle(false);try{return r.db.transaction(o=>{let s=this.findStateRowInTransaction(o,e);if(!s)return;let i=Yd(s);if(i.source==="blob"){let l=Xd(e,s.logs).map((p,_)=>({...p,seq:_+1}));return {...i,entries:n===void 0?l:l.slice(Math.max(0,l.length-n))}}let c=o.select({seq:pt.seq,timestamp:pt.timestamp,level:pt.level,message:pt.message}).from(pt).where(drizzleOrm.eq(pt.task_id,e)).orderBy(n===void 0?drizzleOrm.asc(pt.seq):drizzleOrm.desc(pt.seq)),u=(n===void 0?c.all():c.limit(n).all()).map(({seq:l,timestamp:p,level:_,message:h})=>({seq:l,timestamp:p,level:_,message:h}));return n!==void 0&&u.reverse(),{...i,entries:u}},{behavior:"deferred"})}catch(o){throw o instanceof f?o:new f("DB_ERROR","Failed to read task logs",o)}finally{r.close();}}};});var ef,uo,nc=C(()=>{g();Ct();Kt();zt();vt();rn();ef=50,uo=class extends ve{dbPath;constructor(e={}){super(),e.dbPath?this.dbPath=e.dbPath:e.dbRoot&&(this.dbPath=`${e.dbRoot}/.crewx/crewx.db`);}resolveDbPath(){return this.dbPath??super.resolveDbPath()}openHandle(){let e=this.resolveDbPath(),n=U(e);try{return Be(n.db,e),n}catch(r){throw n.close(),r}}recordAccepted(e){if(e.actorKind!=="human"||!e.workspaceId||!e.actorId||!e.agentId)return false;let n;try{n=this.openHandle();let r=e.acceptedAt??new Date().toISOString();return n.db.insert($e).values({workspace_id:e.workspaceId,actor_id:e.actorId,agent_id:e.agentId,last_accepted_at:r}).onConflictDoUpdate({target:[$e.workspace_id,$e.actor_id,$e.agent_id],set:{last_accepted_at:drizzleOrm.sql`MAX(${$e.last_accepted_at}, excluded.last_accepted_at)`}}).run(),!0}catch(r){return console.error("[AgentSendHistoryRepository] Failed to record accepted agent send",r),false}finally{n?.close();}}findRecentAgents(e,n){let r;try{return r=this.openHandle(),r.db.select({agentId:$e.agent_id,lastAcceptedAt:$e.last_accepted_at}).from($e).where(drizzleOrm.and(drizzleOrm.eq($e.workspace_id,e),drizzleOrm.eq($e.actor_id,n))).orderBy(drizzleOrm.desc($e.last_accepted_at),drizzleOrm.asc($e.agent_id)).limit(ef).all()}catch(o){throw o instanceof f?o:new f("DB_ERROR","Failed to find recent agent sends",o)}finally{r?.close();}}};});var rc=C(()=>{g();});var tf,W,$t=C(()=>{g();tf=new Set(["ACCOUNT_SETTING_REQUIRED","MODEL_RETIRED","SUBSCRIPTION_REQUIRED"]),W=class extends Error{constructor(n,r,o){super(n);this.providerStr=r;this.name="ProviderError",this.code=o?.code??"UNKNOWN",this.kind=tf.has(this.code)?"config":o?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=o?.retryAfterMs,this.settingReason=o?.settingReason,this.replacementModel=o?.replacementModel,this.providerReason=o?.providerReason;}providerStr;code;kind;retryAfterMs;settingReason;replacementModel;providerReason;stdout};});var on,xs=C(()=>{g();$t();on=class extends W{name="RateLimitError";constructor(e,n="cli/claude"){super(e,n,{code:"QUOTA_EXHAUSTED",kind:"transient"});}};});function lo(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 ${Ne}]`),e=rf(e),e=e.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+\-/]+=*/gi,`${Ne}`),e=e.replace(/\bsk-[A-Za-z0-9][A-Za-z0-9_-]*/g,Ne),e=e.replace(/\bghp_[A-Za-z0-9][A-Za-z0-9_-]*/g,Ne),e=e.replace(/\bxoxb-[A-Za-z0-9-]+/g,Ne),e=e.replace(/\bxoxp-[A-Za-z0-9-]+/g,Ne),e=e.replace(/\bAKIA[0-9A-Z]{12,}\b/g,Ne),e=e.replace(/\bgithub_pat_[A-Za-z0-9_]+/g,Ne),e=e.replace(/\bgho_[A-Za-z0-9_]+/g,Ne),e=e.replace(/\bAIza[A-Za-z0-9_-]{20,}\b/g,Ne),e=e.replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,Ne),e=e.replace(/\b(?:authorization|api[_ -]?key|access[_ -]?token|auth[_ -]?token|refresh[_ -]?token|token|secret|password)\s*([:=])\s*["']?[^\s,;&"']+/gi,(n,r)=>`${Ne}${r}${Ne}`),e=e.replace(/([?&](?:api[_-]?key|access[_-]?token|token)=)[^&\s]+/gi,`$1${Ne}`),e=e.replace(/(?:\/(?:Users|home|private|var\/folders|tmp|workspace|workspaces|Volumes|opt|etc|srv|Applications)\/[^\s"'`),;]+)/g,oc),e=e.replace(/\b[A-Z]:\\(?:Users|home|Windows|Program Files|workspace|workspaces)\\[^\s"'`),;]*/gi,oc),e=e.replace(/[\r\n]{3,}/g,`
46
46
 
47
47
  `).trim(),nf(e,1024)||void 0}function nf(t,e){let n=new TextEncoder;if(n.encode(t).byteLength<=e)return t;let r="",o=0;for(let s of t){let i=n.encode(s).byteLength;if(o+i>e)break;r+=s,o+=i;}return r}function rf(t){let e=/\b(?:request|response|http)?\s*body\s*[:=]\s*/gim,n="",r=0,o;for(;(o=e.exec(t))!==null;){if(o.index<r)continue;let s=o.index+o[0].length,i=of(t,s),c=i>=0?i:t.indexOf(`
48
48
  `,s)>=0?t.indexOf(`
@@ -82,7 +82,7 @@ ${r.join(`
82
82
  time_updated = excluded.time_updated
83
83
  `);r.transaction(i=>{for(let c of i)o.run(c);})(n);}finally{r.close();}}function Rg(t){if(!t)return [];let e=[];for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="-s"||r==="--session"){let o=t[n+1],s=o!==void 0&&!o.startsWith("-");e.push({sessionId:s?o:void 0}),s&&(n+=1);continue}(r.startsWith("--session=")||r.startsWith("-s="))&&e.push({sessionId:r.slice(r.indexOf("=")+1)||void 0});}return e}function Sg(t){if(!t)return;let e=[];for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="-s"||r==="--session"){t[n+1]!==void 0&&!t[n+1].startsWith("-")&&(n+=1);continue}r.startsWith("--session=")||r.startsWith("-s=")||e.push(r);}return e}function To(t){let e=Sg(t.additionalArgs);return {...t,...e===void 0?{}:{additionalArgs:e},resumeSessionId:void 0}}function Ig(t,e){try{return !!t.prepare("SELECT id FROM session_v2 WHERE id = ?").get(e)}catch(n){if(n instanceof Error&&/no such table: session_v2/i.test(n.message))return false;throw n}}function Ag(t,e,n){let r=new t(e,{readonly:true,fileMustExist:true});try{return Ig(r,n)}finally{r.close();}}async function Ys(t,e={}){let n;try{n=await(e.loadSqlite??hg)();}catch{throw new W("OpenCode isolation requires the optional better-sqlite3 dependency. Install it and retry.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}let r=e.crewxHome??yo(),o=fr(r),s=gr(r),i=mg(s),c=kg(e.userDataHome),d=Tg(n,c);if(d.length>0){if(!Zc(n,i))try{await(e.initializeDatabase??wg)(o);}catch{throw new W("Could not initialize the isolated OpenCode credential database.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}if(!Zc(n,i))throw new W("The isolated OpenCode credential database is unavailable.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"});try{Eg(n,i,d);}catch{throw new W("Could not copy API-key credentials into the isolated OpenCode database.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}}let u=Rg(t.additionalArgs),l=u.map(_=>_.sessionId),p=u.length>0?l[l.length-1]:t.resumeSessionId;if(!p)return u.length>0?To(t):t;if(l.some(_=>_!==p)||!Yc.existsSync(i))return To(t);try{return Ag(n,i,p)?{...t,resumeSessionId:p}:To(t)}catch{throw new W("Could not read the isolated OpenCode session database safely.","cli/opencode",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}}var Qs=C(()=>{g();$t();Vs();Qc();});function dn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}async function Zs(){let t;try{let n=(await import('better-sqlite3')).default,r=Re.join(gr(),"opencode.db");t=new n(r,{readonly:!0,fileMustExist:!0});let o=t.prepare("SELECT value FROM kv WHERE key = ?").get("models-dev:v2:catalog");if(!o||typeof o.value!="string")throw new Error("OpenCode model catalog row is unavailable");let s=JSON.parse(o.value);if(!dn(s))throw new Error("OpenCode model catalog shape is unavailable");let i=typeof s.body=="string"?JSON.parse(s.body):s.body;if(!dn(i))throw new Error("OpenCode model catalog body shape is unavailable");let c=new Map;for(let[d,u]of Object.entries(i)){if(!d||!dn(u)||!dn(u.models))throw new Error("OpenCode model provider shape is unavailable");for(let[l,p]of Object.entries(u.models)){if(!l||!dn(p))throw new Error("OpenCode model shape is unavailable");let _=p.capabilities;if(_===void 0)continue;if(!dn(_))throw new Error("OpenCode model capability shape is unavailable");let h=_.reasoning;if(h===void 0)continue;if(!dn(h))throw new Error("OpenCode reasoning capability shape is unavailable");let m=h.effort;(m===void 0||Array.isArray(m)&&m.every(k=>typeof k=="string"))&&c.set(`${d}/${l}`,Array.isArray(m)?m:[]);}}return c}catch{return console.debug("[opencode] could not read private model effort catalog; omitting effort choices"),new Map}finally{try{t?.close();}catch{}}}var tu=C(()=>{g();ti();Kc();Vc();Vs();Qs();Ht();});function Dg(t){return t?bg[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function ze(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Pg(){let t;try{t=gr();}catch{return Zs().catch(()=>new Map)}let e=Date.now();if(nu===t&&wo&&wo.expiresAt>e)return wo.result;nu=t;let n=Zs().catch(()=>new Map);return wo={expiresAt:e+xg,result:n},n}async function Lg(t){let e=await Ys(t),n=t.additionalArgs??[],r=ze(n,"--model")||ze(n,"-m");if(!t.model||!t.effort||r)return e;let o=(await Pg()).get(t.model);return !o||o.includes(t.effort)?e:(console.debug("[opencode] requested effort is not listed for this model; using OpenCode default"),{...e,effort:void 0})}function au(t){let e=[],n=0,r=false,o=false,s=0;for(let c=0;c<t.length;c++){let d=t[c];if(o){o=false;continue}if(d==="\\"&&r){o=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let u=t.slice(s,c+1).trim();u&&e.push(u),s=c+1;}}}let i=t.slice(s).trim();return i&&e.push(i),e}function ie(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function du(t){let e=ie(t.part)?t.part:void 0;return t.type==="reasoning"||e?.type==="reasoning"}function Mg(t){let e=ie(t.part)?t.part:void 0;return (typeof e?.text=="string"?e.text:typeof t.text=="string"?t.text:void 0)?.trim()||void 0}function $g(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let o=r.trim();if(!o)continue;try{let i=JSON.parse(o);ie(i)?e.push(i):n=!0;continue}catch{}let s=au(o);s.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of s)try{let c=JSON.parse(i);ie(c)?e.push(c):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function oi(t){let e=ie(t.error)?t.error:void 0,n=e&&ie(e.data)?e.data:void 0,r=cu(e),o=Ke(e?.name),s=Ke(n?.message)??Ke(e?.message)??ni(r)??Ke(t.message)??Ke(t.errorMessage)??Ke(t.error),i=Ke(t.ref),c=o&&s&&o!==s?`${o}: ${s}`:o??s??iu;return (i?`${c} (ref: ${i})`:c).slice(0,vg)}function ru(t){let e=ie(t.error)?t.error:void 0,n=typeof e?.type=="string"?e.type:void 0,r=typeof e?.status=="number"?e.status:Number(e?.status),o=oi(t),s=cu(e),i=s&&ie(s.error)?s.error:void 0,c=typeof i?.type=="string"?i.type:void 0,d=[o,ni(s)].filter(Boolean).join(`
84
84
  `);if(r===402||Hg(d))return new W(`OpenCode subscription is required: ${o}`,He,{code:"SUBSCRIPTION_REQUIRED",kind:"config",providerReason:pr(o)});if(r===403&&(c==="RegionError"||c==="FreeTierError"))return new W(`OpenCode account settings are required: ${o}`,He,{code:"ACCOUNT_SETTING_REQUIRED",kind:"config",settingReason:"access",providerReason:pr(o)});if(n==="provider.auth"||r===401||r===403)return new W(`OpenCode authentication is required: ${o}`,He,{code:"AUTH_REQUIRED",kind:"config"});if(r===410||c==="ModelDeprecated")return new W(`OpenCode model has been retired: ${o}`,He,{code:"MODEL_RETIRED",kind:"config",replacementModel:Ug(s,e,t),providerReason:pr(o)});if(n==="provider.free-limit"||r===429){let u=qg(e);return new W(`OpenCode rate limit reached: ${o}`,He,{code:"RATE_LIMITED",kind:"transient",...u===void 0?{}:{retryAfterMs:u}})}if(n==="provider.no-route")return new W(`OpenCode model or variant unavailable: ${o}`,He,{code:"MODEL_UNAVAILABLE",kind:"config"});if(n==="provider.invalid-request"&&r===400){let u=[o,ni(s)].filter(h=>h!==void 0),l=u.find(h=>/requires global regions/i.test(h)),p=u.find(h=>/trains on request data/i.test(h)),_=l?"region":p?"training_consent":void 0;if(_)return new W(`OpenCode account settings are required: ${o}`,He,{code:"ACCOUNT_SETTING_REQUIRED",kind:"config",settingReason:_,providerReason:pr(l??p)})}return new W(`OpenCode error: ${o}`,He,{code:"PROVIDER_CRASHED",kind:"transient"})}function cu(t){let n=(t&&ie(t.response)?t.response:void 0)?.body;if(ie(n))return n;if(typeof n=="string")try{let r=JSON.parse(n);return ie(r)?r:void 0}catch{return}}function ni(t){let e=t&&ie(t.error)?t.error:void 0;return Ke(e?.message)??Ke(t?.message)}function Hg(t){return /insufficient\s+(?:balance|account funds)|credit\s+limit\s+exceeded|payment\s+required|account invoice is overdue|billing_error|please add or update your payment method|(?:GLM Coding Plan|enterprise) package has expired|your current subscription plan does not yet include access to/i.test(t)}function Ug(t,e,n){let r=t&&ie(t.metadata)?t.metadata:void 0,o=typeof r?.replacement=="string"?r.replacement.trim():void 0;if(!o)return;let s=[r?.model,e?.model,n.model,n.modelID].find(d=>typeof d=="string"&&d.trim().length>0)?.trim(),i=s&&s.includes("/")?s.slice(0,s.indexOf("/")):"opencode-go",c=o.includes("/")?o:`${i}/${o}`;return /^[A-Za-z0-9._/-]{1,128}$/.test(c)?c:void 0}function qg(t){let e=t?.retryAfterMs;if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return e;let r=(t&&ie(t.response)?t.response:void 0)?.body,o=typeof r=="string"?Fg(r):ie(r)?r:void 0;if(o){let s=ri(o);if(s)return ou(s.value,s.key==="retryafterms")}if(typeof r=="string"){let s=r.match(/retry[-_]after(?:\s*[:=]\s*|\s+)["']?([^"'\s,;}]+)/i);if(s?.[1])return ou(s[1],false)}}function Fg(t){try{let e=JSON.parse(t);return ie(e)?e:void 0}catch{return}}function ri(t){if(Array.isArray(t)){for(let e of t){let n=ri(e);if(n)return n}return}if(ie(t)){for(let[e,n]of Object.entries(t)){let r=e.toLowerCase().replace(/[-_]/g,"");if(r==="retryafterms"||r==="retryafter")return {value:n,key:r}}for(let e of Object.values(t)){let n=ri(e);if(n)return n}}}function ou(t,e){if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return e?t:Math.round(t*1e3);if(typeof t!="string"||!t.trim())return;let n=Number(t);if(Number.isFinite(n)&&n>=0)return e?n:Math.round(n*1e3);if(e)return;let r=Date.parse(t);return Number.isFinite(r)?Math.max(0,r-Date.now()):void 0}function su(t){let e=$g(t),n=[],r=null,o=0,s=[],i=[],c,d=false;for(let u of e.events){if(du(u))continue;let l=typeof u.type=="string"?u.type:void 0;if(l){if(l==="text"){let p=ie(u.part)?u.part:void 0,_=typeof p?.text=="string"?p.text:void 0;_?.trim()&&n.push(_.trim());continue}if(l==="result"){typeof u.result=="string"&&(r=u.result);continue}if(l==="tool_use"){o++;continue}if(l==="error"){s.push(u),i.push(oi(u));continue}if(l==="step_finish"){d=true;let p=ie(u.part)?u.part:void 0;c=typeof p?.reason=="string"?p.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:o,errorEvents:s,errorMessages:i,terminalReason:c,hasTerminal:d}}function uu(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function Bg(){return new W("OpenCode returned no assistant output.",He,{code:"EMPTY_OUTPUT",kind:"transient"})}function Wg(){return new W("OpenCode emitted malformed JSON output.",He,{code:"PROVIDER_CRASHED",kind:"transient"})}function Gg(t,e){switch(uu(t)){case "length":return new W("OpenCode stopped because the context window was exceeded.",He,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new W("OpenCode stopped because the content filter blocked the response.",He,{code:"UNKNOWN",kind:"permanent"});case "error":return new W(`${iu} while generating a response.`,He,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var Og,He,iu,vg,Cg,xg,nu,wo,bg,si,ii=C(()=>{g();$t();jc();lr();Nn();sn();tu();Qs();Og=new Set(["step_start","step_finish"]),He="cli/opencode",iu="OpenCode provider error",vg=240,Cg="Follow the instructions provided on standard input.",xg=3e5,bg={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};si={command:"opencode",prepare:Lg,meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,o=r!==void 0?[...r]:["run"];ze(o,"--format")||o.push("--format","json"),ze(o,"--thinking")||o.push("--thinking"),!ze(o,"--standalone")&&!ze(o,"--server")&&o.push("--standalone"),e.resumeSessionId&&!ze(o,"-s")&&!ze(o,"--session")&&o.push("-s",e.resumeSessionId);let{agent:s,autoApprove:i}=Dg(e.mode);ze(o,"--agent")||s!==void 0&&o.push("--agent",s),i&&!ze(o,"--auto")&&o.push("--auto");let c=ze(o,"--model")||ze(o,"-m");if(e.model&&!c){let d=e.effort?`${e.model}#${e.effort}`:e.model;o.push("--model",d);}else e.effort&&!e.model&&!c&&console.debug("[opencode] ignoring effort because no model is configured");return o.push(Cg),{args:o,stdinMessage:t,env:fr()}},extractText(t){let e=su(t),n=e.errorEvents[0];if(n)throw ru(n);let r=Gg(e.terminalReason??"");if(r)throw r;let o=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(o!==void 0)return o;if(e.resultText?.trim())return e.resultText;if(e.malformed)throw Wg();let s=uu(e.terminalReason);if(e.hasTerminal&&s==="tool-calls"&&e.toolUseCount>0)return "";throw Bg()},interpretExit(t,e,n=""){if(t===0)return null;let o=su(n).errorEvents[0];return o?ru(o):null},parseResultMeta(t){let e=vn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e,n){let r=e??new Date().toISOString(),o=[],s=new Map,i;try{JSON.parse(t),i=[t];}catch{i=au(t),i.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let c of i){let d;try{d=JSON.parse(c);}catch{continue}let u=nt(d,r),l=d.type;if(du(d)){let p=Mg(d);if(!p)continue;let _=ie(d.part)?d.part:void 0,h=typeof _?.id=="string"?_.id:typeof d.id=="string"?d.id:void 0,m=p;if(h){let k=`opencode.reasoning:${h}`,E=n?.state.get(k),b=typeof E=="string"?E:s.get(h);if(typeof b=="string"&&(b===p||b.startsWith(p))||typeof b=="string"&&p.startsWith(b)&&(m=p.slice(b.length).trim(),!m))continue;s.set(h,p),n?.state.set(k,p);}o.push({timestamp:u,type:"thinking",content:m});continue}if(l){if(l==="text"){let _=d.part?.text;_&&o.push({timestamp:u,type:"text",content:_});continue}if(l==="tool_use"){let p=d.part;if(!p)continue;let _=String(p.tool||""),h=String(p.callID||p.id||""),m=p.state,k=String(m?.status||""),E=m?.input,b=tt(E);if(o.push({timestamp:u,type:"tool_use",toolName:_,toolUseId:h,toolInput:b}),k==="completed"&&m?.output!==void 0){let T=m.output,P=typeof T=="string"?T:JSON.stringify(T);o.push({timestamp:u,type:"tool_result",toolUseId:h,resultPreview:P,isError:false});}else k==="error"&&o.push({timestamp:u,type:"tool_result",toolUseId:h,resultPreview:String(m?.error||"tool error"),isError:true});continue}if(l==="error"){let p=oi(d);o.push({timestamp:u,type:"error",content:p,errorMessage:p});continue}}}return o},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Og.has(r):!1}catch{return false}}};});var lu=C(()=>{g();});function Eo(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Vg(t,e){let n=[];for(let r=0;r<t.length;r+=1){let o=t[r],s=[...e].find(i=>o===i||o.startsWith(`${i}=`));s?o===s&&r+1<t.length&&(r+=1):n.push(o);}return n}function Xg(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],o=r.indexOf("="),s=o>0?r.slice(0,o):r;if(!zg.has(s)){e.push(r);continue}r===s&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function Je(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Yg(t,e){if(!(t?Kg.has(t)||It(ai).some(s=>s.id===t):false)||!t)return e;let r=On(ai,t),o=Bs(ai)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:o&&r.includes(o)?o:void 0:o}function At(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function ui(t){return t.kind==="step_update"?typeof t.step.conversation_id=="string"?t.step.conversation_id:void 0:typeof t.envelope.conversation_id=="string"?t.envelope.conversation_id:void 0}function li(t){return t.step.step_index}function se(t){if(typeof t!="string")return;let e=t.split(/\r?\n/,1)[0]?.trim();return e&&lo(e)?.slice(0,500).trim()||void 0}function Qg(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&Jg.has(n))return n;let r=`${n} ${e??""}`.toLowerCase();return /quota|resource_exhausted|usage[ _-]?limit|credits?.{0,20}exhaust/.test(r)?"QUOTA_EXHAUSTED":/rate[ _-]?limit|throttl/.test(r)?"RATE_LIMITED":/auth|sign[ _-]?in|log(?:ged)?[ _-]?in|unauthori[sz]ed|credential/.test(r)?"AUTH_REQUIRED":[/unknown (?:flag|option)/,/flag provided but not defined/,/unrecognized (?:flag|option)/,/invalid value for (?:flag|option)/,/invalid (?:flag|option)/].some(s=>s.test(r))?"INVALID_PROVIDER_FORMAT":/invalid.{0,24}model|model.{0,24}(unknown|unavailable|not found|not recognized)|config/.test(r)?"MODEL_UNAVAILABLE":"UNKNOWN"}function Zg(t){return t==="AUTH_REQUIRED"||t==="TIMEOUT_IDLE"||t==="TIMEOUT_TOTAL"||t==="TIMEOUT_RESUME"||t==="PROVIDER_CRASHED"?"permanent":t==="MODEL_UNAVAILABLE"||t==="INVALID_PROVIDER_FORMAT"||t==="PROVIDER_NOT_FOUND"?"config":"transient"}function fu(t){let e=Je(t)?t:void 0,n=e&&Je(e.error)?e.error:void 0,r=e?se(e.code)??se(e.error_code)??se(n?.code)??se(n?.error_code):void 0,o=typeof t=="string"?se(t):e?se(e.message)??se(e.error)??se(e.reason)??se(n?.message)??se(n?.error)??se(n?.reason):void 0,s=Qg(r,o),i=e?At(e.retry_after_ms)??At(e.retryAfterMs)??At(n?.retry_after_ms)??At(n?.retryAfterMs):void 0;return {code:s,kind:Zg(s),message:o??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function So(t){let e=fu(t);return new W(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function pi(t){return new W(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function eh(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=ci))throw new W(`Input is too large: final provider initial input is ${e} UTF-8 bytes; budget is ${ci} bytes.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function di(){return new W("Antigravity CLI returned empty output with exit code 0. agy may have hidden an auth/quota/model error in its log file; inspect ~/.gemini/antigravity-cli/log for details.","cli/antigravity",{code:"EMPTY_OUTPUT",kind:"transient"})}function Io(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function Ao(t){for(let e=t.length-1;e>=0;e-=1){let n=t[e];if(n&&(n.kind==="result"||n.kind==="legacy_result"||n.kind==="agy_error"))return {event:n,index:e}}}function th(t){let e=Ao(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||Io(e.event)?.status!=="SUCCESS"||Ro(t))return false;let r=new Map;for(let o of t){if(o.kind!=="step_update"||o.step.step_type!=="agent_response")continue;let s=ui(o),i=li(o);!s||!Number.isSafeInteger(i)||r.set(JSON.stringify([s,i]),o.step);}if(r.size===0)return false;for(let o of r.values())if(o.state!=="DONE"||!Je(o.usage)||At(o.usage.input_tokens)===void 0||At(o.usage.output_tokens)===void 0)return false;return true}function nh(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function rh(t,e){return Je(t)&&Je(e)?{...e,...t}:Je(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&Je(e)?{...e,message:t}:t??e}function oh(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let s of e){let i=Je(s)?s:void 0,c=typeof s=="string"?se(s):se(i?.display_name)??se(i?.action);c&&!n.includes(c)&&n.length<5&&n.push(c.slice(0,80));}let r=Math.max(0,e.length-n.length),o=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new W(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${o}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Ro(t){let e=Ao(t);if(!e)return;if(e.event.kind==="agy_error")return So(e.event.error);let n=Io(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return oh(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return pi("Antigravity returned a result with an unsupported status.");let r=n.error,o=rh(r==null||r===""?n:r,nh(t,e.index));return So(o)}function gu(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function sh(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function ih(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function hu(t){let e=gu(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function ah(t){let e=Je(t)?t:void 0,n=e&&Je(e.error)?e.error:void 0,r=typeof t=="string"?t.trim().match(/^([A-Z][A-Z0-9_]*)(?:[:\s]|$)/)?.[1]:void 0,o=(se(e?.type)??se(e?.code)??se(e?.error_type)??se(n?.type)??se(n?.code)??se(n?.error_type)??se(r)??"TOOL_ERROR").slice(0,60),s=fu(t).message.slice(0,250);return hu({type:o,message:s})??"Antigravity reported a tool error."}function pu(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function _u(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var ai,Kg,zg,ci,Jg,_i,fi=C(()=>{g();$t();lu();bs();dr();Ht();ur();$s();ai="antigravity",Kg=new Set(["claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b"]),zg=new Set(["--conversation","--resume","--continue"]),ci=18e4,Jg=new Set(["QUOTA_EXHAUSTED","RATE_LIMITED","EMPTY_OUTPUT","AUTH_REQUIRED","MODEL_UNAVAILABLE","TIMEOUT_IDLE","TIMEOUT_TOTAL","TIMEOUT_RESUME","PROVIDER_NOT_FOUND","INVALID_PROVIDER_FORMAT","PROVIDER_CRASHED","UNKNOWN"]);_i={command:"agy",maxInitialInputBytes:ci,meta:{displayName:"Antigravity",models:mc(),defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=ir(t);if(e?.kind!=="init")return null;let n=e.envelope.conversation_id;return typeof n=="string"&&n.trim().length>0?n.trim():null},buildArgs(t,e,n){eh(t);let{model:r,effort:o}=Ut(e.model),s=qs(r),i=s.model,c=e.effort??o??s.effort,d=Yg(i,c),u=e.additionalArgs??[],l=Xg(Vg(u,new Set(["--input-format","--output-format"]))),p=i&&!Eo(u,"--model")?["--model",i]:[],_=Eo(u,"--effort")?[]:Cc(d),h=Eo(u,"--mode")||Eo(u,"--dangerously-skip-permissions")?[]:vc(e.mode),m=typeof e.resumeSessionId=="string"&&e.resumeSessionId.trim().length>0?["--conversation",e.resumeSessionId]:[];return {args:["--input-format","stream-json","--output-format","stream-json",...p,..._,...h,...m,...l],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
85
- `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(t){let e=ar(t),n=Ao(e)?.event,r=Ro(e);if(r)throw r;let o=n?Io(n):void 0;if(o){if(o.status!=="SUCCESS")throw pi("Antigravity returned a result with an unsupported status.");if(typeof o.response!="string")throw pi("Antigravity returned a successful result without a response string.");if(!o.response.trim())throw di();return o.response}if(e.length>0)throw di();let s=t.trim();if(!s)throw di();return s},extractPartialText(t){let e=ar(t),n=Ao(e)?.event;if(!n||n.kind==="agy_error")return;let r=Io(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(t,e,n){let r=ar(n??""),o=Ro(r);return o||(t!==0&&e.trim()?So(e):null)},parseResultMeta(t){let e=ar(t),n=0,r=0,o=0,s=0,i=new Set;for(let d of e){if(d.kind!=="step_update"||d.step.state!=="DONE"||!Je(d.step.usage))continue;let u=ui(d),l=li(d);if(!u||!Number.isSafeInteger(l))continue;let p=JSON.stringify([u,l]);if(i.has(p))continue;let _=d.step.usage,h=At(_.input_tokens),m=At(_.output_tokens);h===void 0||m===void 0||(i.add(p),n+=h,r+=m,o+=At(_.cache_read_tokens)??0,s+=1);}return {usage:s===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:o,costUsd:0,complete:th(e)},model:null}},parseEvent(t,e,n){let r=ir(t);if(!r)return [];let o=e??new Date().toISOString();if(r.kind==="agy_error")return [_u(o,So(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let h=Ro([r]);return h?[_u(o,h)]:[]}if(r.kind!=="step_update")return [];let{step:s}=r,i=ui(r)??"unknown",c=li(r),d=`${i}:${c}`;if((s.state==="DONE"||s.state==="ERROR")&&pu(n,`antigravity:terminal:${d}`))return [];if(s.step_type==="agent_response")return typeof s.text_delta=="string"&&s.text_delta.length>0?[{timestamp:o,type:"text",content:s.text_delta}]:[];if(s.step_type!=="tool")return [];let u=Je(s.tool_info)?s.tool_info:void 0,l=ih(s,u);if(!l)return [];let p=sh(s);if(s.state==="ACTIVE"){if(pu(n,`antigravity:active:${d}`))return [];let h=gu(u?.parameters);return [{timestamp:o,type:"tool_use",toolName:l,toolUseId:p,...h===void 0?{}:{toolInput:h}}]}let _=s.state==="ERROR"?ah(u?.error):hu(u?.output);return [{timestamp:o,type:"tool_result",toolName:l,toolUseId:p,..._===void 0?{}:{resultPreview:_},...s.state==="ERROR"?{isError:true}:{}}]}};});var mu=C(()=>{g();In();Nn();An();sn();});function xn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function bn(t){return xn(t)?t:void 0}function be(t){return typeof t=="string"?t:void 0}function un(t){let e=typeof t=="number"?t:Number(t??0);return Number.isFinite(e)?e:0}function hh(t){let e=[],n=-1,r=0,o=false,s=false;for(let i=0;i<t.length;i+=1){let c=t[i];if(n===-1){(c==="{"||c==="[")&&(n=i,r=1);continue}if(s){s=false;continue}if(c==="\\"&&o){s=true;continue}if(c==='"'){o=!o;continue}o||(c==="{"||c==="["?r+=1:(c==="}"||c==="]")&&(r-=1,r===0&&(e.push(t.slice(n,i+1)),n=-1)));}return n!==-1&&e.push(t.slice(n)),e}function hr(t){let e=t.trim();if(!e)return [];try{let n=JSON.parse(e);return xn(n)?[n]:[]}catch{return hh(e).flatMap(n=>{try{let r=JSON.parse(n);return xn(r)?[r]:[]}catch{return []}})}}function Su(t){let e=JSON.stringify(t);return e===void 0?String(t):e}function cn(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.map(cn).filter(n=>n!==void 0);return e.length>0?e.join(`
85
+ `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(t){let e=ar(t),n=Ao(e)?.event,r=Ro(e);if(r)throw r;let o=n?Io(n):void 0;if(o){if(o.status!=="SUCCESS")throw pi("Antigravity returned a result with an unsupported status.");if(typeof o.response!="string")throw pi("Antigravity returned a successful result without a response string.");if(!o.response.trim())throw di();return o.response}if(e.length>0)throw di();let s=t.trim();if(!s)throw di();return s},extractPartialText(t){let e=ar(t),n=Ao(e)?.event;if(!n||n.kind==="agy_error")return;let r=Io(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(t,e,n){let r=ar(n??""),o=Ro(r);return o||(t!==0&&e.trim()?So(e):null)},parseResultMeta(t){let e=ar(t),n=0,r=0,o=0,s=0,i=new Set;for(let d of e){if(d.kind!=="step_update"||d.step.state!=="DONE"||!Je(d.step.usage))continue;let u=ui(d),l=li(d);if(!u||!Number.isSafeInteger(l))continue;let p=JSON.stringify([u,l]);if(i.has(p))continue;let _=d.step.usage,h=At(_.input_tokens),m=At(_.output_tokens);if(h===void 0||m===void 0)continue;i.add(p);let k=At(_.cache_read_tokens)??0;n+=h+k,r+=m,o+=k,s+=1;}return {usage:s===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:o,costUsd:0,complete:th(e)},model:null}},parseEvent(t,e,n){let r=ir(t);if(!r)return [];let o=e??new Date().toISOString();if(r.kind==="agy_error")return [_u(o,So(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let h=Ro([r]);return h?[_u(o,h)]:[]}if(r.kind!=="step_update")return [];let{step:s}=r,i=ui(r)??"unknown",c=li(r),d=`${i}:${c}`;if((s.state==="DONE"||s.state==="ERROR")&&pu(n,`antigravity:terminal:${d}`))return [];if(s.step_type==="agent_response")return typeof s.text_delta=="string"&&s.text_delta.length>0?[{timestamp:o,type:"text",content:s.text_delta}]:[];if(s.step_type!=="tool")return [];let u=Je(s.tool_info)?s.tool_info:void 0,l=ih(s,u);if(!l)return [];let p=sh(s);if(s.state==="ACTIVE"){if(pu(n,`antigravity:active:${d}`))return [];let h=gu(u?.parameters);return [{timestamp:o,type:"tool_use",toolName:l,toolUseId:p,...h===void 0?{}:{toolInput:h}}]}let _=s.state==="ERROR"?ah(u?.error):hu(u?.output);return [{timestamp:o,type:"tool_result",toolName:l,toolUseId:p,..._===void 0?{}:{resultPreview:_},...s.state==="ERROR"?{isError:true}:{}}]}};});var mu=C(()=>{g();In();Nn();An();sn();});function xn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function bn(t){return xn(t)?t:void 0}function be(t){return typeof t=="string"?t:void 0}function un(t){let e=typeof t=="number"?t:Number(t??0);return Number.isFinite(e)?e:0}function hh(t){let e=[],n=-1,r=0,o=false,s=false;for(let i=0;i<t.length;i+=1){let c=t[i];if(n===-1){(c==="{"||c==="[")&&(n=i,r=1);continue}if(s){s=false;continue}if(c==="\\"&&o){s=true;continue}if(c==='"'){o=!o;continue}o||(c==="{"||c==="["?r+=1:(c==="}"||c==="]")&&(r-=1,r===0&&(e.push(t.slice(n,i+1)),n=-1)));}return n!==-1&&e.push(t.slice(n)),e}function hr(t){let e=t.trim();if(!e)return [];try{let n=JSON.parse(e);return xn(n)?[n]:[]}catch{return hh(e).flatMap(n=>{try{let r=JSON.parse(n);return xn(r)?[r]:[]}catch{return []}})}}function Su(t){let e=JSON.stringify(t);return e===void 0?String(t):e}function cn(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.map(cn).filter(n=>n!==void 0);return e.length>0?e.join(`
86
86
  `):void 0}if(xn(t)){if(typeof t.text=="string")return t.text;if(typeof t.message=="string")return t.message;if(typeof t.error=="string")return t.error;if(t.type==="text"&&typeof t.data=="string")return t.data;for(let e of ["content","FileContent","rawOutput"]){let n=cn(t[e]);if(n!==void 0)return n}}}function mh(t){let e=i=>Array.isArray(i)&&i.every(c=>Number.isInteger(c)&&c>=0&&c<=255),n=i=>typeof i=="string"&&i.trim().length>0?i:void 0,r=i=>new TextDecoder("utf-8",{fatal:false}).decode(Uint8Array.from(i)),o=i=>{let c=JSON.stringify(i,(d,u)=>e(u)?`<bytes:${u.length}>`:u);return c===void 0?String(i):c},s=t.rawOutput;if(s!=null){let i=bn(s);if(!i)return n(cn(s))??o(s);let c;if(e(i.output)&&i.output.length>0&&(c=n(r(i.output))),!c&&e(i.stdout)&&i.stdout.length>0&&(c=n(r(i.stdout))),!c){let l=bn(i.Result);c=n(i.output)??n(l?.output)??n(cn(s));}let d=e(i.stderr)&&i.stderr.length>0?r(i.stderr):void 0;if(d!==void 0)if(c){let l=c.endsWith(`
87
87
  `)||c.endsWith("\r")?"":`
88
88
  `;c=`${c}${l}${d}`;}else c=n(d);if(c)return c;let u=n(i.summary)??n(cn(t.content))??n(i.output_for_prompt);return u!==void 0?u:o(s)}if(t.content!==null&&t.content!==void 0)return cn(t.content)??o(t.content);if(t.result!==null&&t.result!==void 0)return cn(t.result)??o(t.result)}function Iu(t){let e=bn(t.error),n=[t.message,t.errorMessage,e?.message,e?.detail,typeof t.error=="string"?t.error:void 0].find(r=>typeof r=="string"&&r.trim().length>0);return n?Au(n):"Grok CLI reported an error."}function Au(t){return (t.replace(gh,"").split(/\r?\n/).map(n=>n.trim()).filter(Boolean)[0]??t.trim()).slice(0,500)}function Eu(t){return fh.test(t)}function kh(t){let e=bn(t.modelUsage);return e?Object.keys(e)[0]??null:null}function yh(t){let e=bn(t.usage);if(!e)return null;let n=un(e.cache_read_input_tokens);return {inputTokens:un(e.input_tokens)+n,cachedInputTokens:n,outputTokens:un(e.output_tokens),costUsd:un(t.total_cost_usd)}}function Th(t){let e=0,n=0,r=0,o=false,s=new Set;for(let i of t.split(`