@crewx/sdk 0.9.0-rc.186 → 0.9.0-rc.187

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/esm/index.js CHANGED
@@ -18,7 +18,7 @@ import*as ft from'path';import ft__default,{join,dirname,resolve,relative,sep,is
18
18
  `);for(let r of t)if(r.trim())try{let o=JSON.parse(r);if(o.type==="result"){let i=o.usage,s=i?{inputTokens:Number(i.input_tokens??0)+Number(i.cache_read_input_tokens??0),outputTokens:Number(i.output_tokens??0),cachedInputTokens:Number(i.cache_read_input_tokens??0),costUsd:Number(o.total_cost_usd??0)}:null,a=o.modelUsage,d=a?Object.keys(a)[0]??null:null;return {usage:s,model:d}}}catch{}let n=Rv(e);return n?{usage:{inputTokens:n.inputTokens,outputTokens:0,cachedInputTokens:n.cachedInputTokens,costUsd:0},model:n.model??null}:{usage:null,model:null}},parseEvent(e,t){let n;try{n=JSON.parse(e);}catch{return []}let r=n.type;if(!r)return [];let o=ar(n,t??new Date().toISOString()),i=xW(n);if(i)return [{timestamp:o,type:"error",content:i,errorMessage:i}];let s=n.output_file,a=n.summary;if(r==="system"&&n.subtype==="task_notification"&&n.status==="completed"&&typeof s=="string"&&s.trim().length>0&&typeof a=="string"&&a.trim().length>0)return [{timestamp:o,type:"text",content:a}];if(r!=="assistant"&&r!=="user")return [];let c=n.message?.content;if(!Array.isArray(c))return [];let l=[];for(let u of c){let p=UW(o,u);p&&l.push(p);}return l},suppressOutputLine(e){let t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return false;try{let r=JSON.parse(t).type;return r?CW.has(r):!1}catch{return false}}};tC=200;});function oC(e){let t=e.split(`
19
19
  `).filter(o=>o.trim()),n=[],r=null;for(let o of t)try{let i=JSON.parse(o);if(i.type==="assistant.message"&&typeof i.data?.content=="string"){let s=i.data.content;s.trim()&&n.push(s.trim());}i.type==="result"&&typeof i.result=="string"&&(r=i.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var FW,Vg,II=U(()=>{h();Ac();La();Ic();Tc();ws();Tr();_a();Ss();FW=new Set(["interactive","plan","autopilot"]);Vg={command:"copilot",meta:{displayName:"Copilot",models:JA()},buildArgs(e,t,n){let r=t.additionalArgs?[...t.additionalArgs]:[];return t.model&&r.push("--model",t.model),t.mode&&FW.has(t.mode)&&r.push("--mode",t.mode),t.effort&&(ou.copilot??[]).includes(t.effort)&&r.push("--effort",t.effort),{args:r,stdinMessage:e}},extractText(e){let t=oC(e);if(t)return t;let n=e.trim();return Ko(n,"copilot")?"":n},extractPartialText(e){return oC(e)},parseResultMeta(e){let t=vi(e);return t?{usage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens,cachedInputTokens:t.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(e,t){let n;try{n=JSON.parse(e);}catch{return []}let r=n.type;if(!r)return [];if(!r.startsWith("tool.execution")&&!r.startsWith("assistant.")&&r!=="user.message")return [];let o=n.data;if(!o)return [];let i=ar(n,t??new Date().toISOString()),s=o.toolCallId;if(r==="tool.execution_start"){let a=String(o.toolName||""),d=o.arguments,c=$r(d);return (a==="bash"||a==="Bash")&&lo(c)?[uo(i,c,s)]:[{timestamp:i,type:"tool_use",toolName:a,toolInput:c,...s&&{toolUseId:s}}]}if(r==="tool.execution_complete"){let a=o.error;if(a)return [{timestamp:i,type:"tool_result",...s&&{toolUseId:s},...wr(String(a.message||""),true)}];let d=o.result,c=String(d?.content||"");return [{timestamp:i,type:"tool_result",...s&&{toolUseId:s},...wr(c,false)}]}if(r==="assistant.message"){let a=String(o.content||"");return a?[{timestamp:i,type:"text",content:a}]:[]}return []}};});function jW(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 $W(e){return e[0]==="exec"?e.slice(1):e}function iC(e){let t=e.split(`
20
20
  `).map(o=>o.trim()).filter(Boolean),n=[],r=null;for(let o of t)try{let i=JSON.parse(o);if(i.type==="item.completed"&&(i.item?.type==="message"||i.item?.type==="agent_message")&&typeof i.item?.text=="string"){let s=i.item.text;s.trim()&&n.push(s.trim());}i.type==="result"&&typeof i.result=="string"&&(r=i.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function aC(e){return e.type==="turn.failed"?true:e.type!=="error"?false:typeof e.message=="string"||typeof e.errorMessage=="string"||typeof e.error=="string"||bs(e.error)}function dC(e){let t=bs(e.error)?e.error:void 0,n=[e.message,e.errorMessage,t?.message,t?.detail,typeof e.error=="string"?e.error:void 0];for(let r of n)if(typeof r=="string"&&r.trim())return r;return e.type==="turn.failed"?"Codex turn failed.":"Codex CLI reported an error."}function VW(e){for(let t of e.split(/\r?\n/)){if(!t.trim())continue;let n;try{n=JSON.parse(t);}catch{continue}if(bs(n)&&aC(n))return dC(n)}}function sC(e,t,n,r){if(!n||e.type!=="command_execution"&&e.type!=="mcp_tool_call"||typeof e.id!="string"||!e.id.trim()||e.type==="mcp_tool_call"&&t==="item.started"&&(typeof e.server!="string"||typeof e.tool!="string"))return;let o=n.state.get("codex.pending");o||(o=new Map,n.state.set("codex.pending",o));let i=JSON.stringify([e.type,e.id]);if(t==="item.started"){let d=`codex:${JSON.stringify(e.id)}#${n.rowIndex}:${r}`,c=o.get(i)??[];return c.push(d),o.set(i,c),d}let s=o.get(i),a=s?.pop();return s?.length||o.delete(i),a}function WW(e,t,n){let r=t.type;if(r==="command_execution"){let o=String(t.command||"");return lo(o)?[uo(e,o,n)]:[{timestamp:e,type:"tool_use",toolName:"Bash",toolInput:o,...n?{toolUseId:n}:{}}]}return r==="mcp_tool_call"?typeof t.server!="string"||typeof t.tool!="string"?[]:[{timestamp:e,type:"tool_use",toolName:`${t.server}/${t.tool}`,toolInput:$r(t.arguments),...n?{toolUseId:n}:{}}]:[]}function qW(e,t,n){let r=t.type;if(r==="message"||r==="text"){let o=t.content;if(Array.isArray(o))for(let i of o){let s=GW(e,i);if(s)return s}if(typeof t.text=="string")return {timestamp:e,type:"text",content:t.text}}if(r==="agent_message"&&typeof t.text=="string")return {timestamp:e,type:"text",content:t.text};if(r==="reasoning"){let o=typeof t.text=="string"?t.text.trim():"";return o?{timestamp:e,type:"thinking",content:o}:null}if(r==="command_execution"){let o=String(t.aggregated_output||t.output||""),i=!!t.is_error;return {timestamp:e,type:"tool_result",...wr(o,i),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let o=bs(t.result)?t.result:void 0,s=(Array.isArray(o?.content)?o.content:[]).filter(d=>bs(d)&&d.type==="text"&&typeof d.text=="string").map(d=>d.text).join(`
21
- `),a=typeof t.error=="string"?t.error:bs(t.error)&&typeof t.error.message=="string"?t.error.message:"";return {timestamp:e,type:"tool_result",resultPreview:s||a,isError:t.status==="failed"||t.status==="error"||t.is_error===true||t.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let o=String(t.name||t.tool_name||""),i=t.input,s=$r(i);return o==="Bash"&&lo(s)?uo(e,s):{timestamp:e,type:"tool_use",toolName:o,toolInput:s}}if(r==="tool_result"){let o=!!t.is_error,i=String(t.output||t.content||"");return {timestamp:e,type:"tool_result",...wr(i,o)}}if(r==="web_search"){let o=t.action,i;if(o?.type==="search"){let s=o.queries;i=String(o.query||"")||(s?.length?s.join(", "):"")||String(t.query||"");}else i=t.query?"open: "+String(t.query):"";return !i&&!(bs(o)&&o.type==="other"&&t.query==="")?null:{timestamp:e,type:"tool_use",toolName:"WebSearch",toolInput:i}}if(r==="file_change"){let o=t.changes;if(!Array.isArray(o)||o.length===0)return null;let i=o.map(a=>String(a.path||"")).filter(Boolean);if(i.length===0)return null;let s=i.length===1?i[0]:`${i.slice(0,2).join(", ")}${i.length>2?` (+${i.length-2})`:""}`;return {timestamp:e,type:"tool_use",toolName:"Edit",toolInput:s}}return null}function GW(e,t){let n=t.type;if(n==="text")return {timestamp:e,type:"text",content:String(t.text||"")};if(n==="tool_use"){let r=String(t.name||""),o=t.input,i=$r(o);return r==="Bash"&&lo(i)?uo(e,i):{timestamp:e,type:"tool_use",toolName:r,toolInput:i}}return null}var BW,HW,Wg,TI=U(()=>{h();Ci();Ac();La();Ic();Tc();fI();ws();Eu();Tr();Ss();BW=new Set(["turn.started","turn.completed","item.updated"]),HW="cli/codex";Wg={command:"codex",meta:{displayName:"Codex",models:GA(),capabilities:{resume:true}},buildArgs(e,t,n){let{model:r,effort:o}=Rs(t.model),i=t.effort??o,s=t.resumeSessionId?jv(t.mode):Hv(t.mode),a=$v(i),d=r?["-m",r]:[],c=$W(t.additionalArgs??[]),u=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return t.resumeSessionId?{args:["exec","resume",...u,...s,...a,...d,...c,t.resumeSessionId,"-"],stdinMessage:e}:{args:["exec",...u,...s,...a,...d,...c],stdinMessage:e}},extractText(e){let t=VW(e);if(t)throw new G(t,HW);let n=iC(e);if(n)return n;let r=e.trim();return Ko(r,"codex")?"":r},extractPartialText(e){return iC(e)},parseResultMeta(e){let t=vi(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;try{JSON.parse(e),i=[e];}catch{i=jW(e),i.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[s,a]of i.entries()){let d;try{d=JSON.parse(a);}catch{continue}if(!bs(d))continue;let c=d.type;if(!c)continue;let l=ar(d,r);if(aC(d)){let p=dC(d);o.push({timestamp:l,type:"error",content:p,errorMessage:p});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||Dg(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let u=d.item;if(u){if(c==="item.started"){o.push(...WW(l,u,sC(u,c,n,s)));continue}if(c==="item.completed"){let p=qW(l,u,sC(u,c,n,s));p&&o.push(p);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?BW.has(r):!1}catch{return false}}};});function KW(e){return e?zW[e]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function qg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function fC(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 Rc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function XW(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);Rc(s)?t.push(s):n=!0;continue}catch{}let i=fC(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);Rc(a)?t.push(a):n=!0;}catch{n=true;}}return {events:t,malformed:n}}function Ha(e){if(typeof e!="string")return;let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(t)return t.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,pC).trim()}function gC(e){let t=Rc(e.error)?e.error:void 0,n=t&&Rc(t.data)?t.data:void 0,r=Ha(t?.name),o=Ha(n?.message)??Ha(t?.message)??Ha(e.message)??Ha(e.errorMessage)??Ha(e.error),i=Ha(e.ref),s=r&&o&&r!==o?`${r}: ${o}`:r??o??uC;return (i?`${s} (ref: ${i})`:s).slice(0,pC)}function cC(e){let t=XW(e),n=[],r=null,o=0,i=[],s,a=false;for(let d of t.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=Rc(d.part)?d.part:void 0,u=typeof l?.text=="string"?l.text:void 0;u?.trim()&&n.push(u.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){o++;continue}if(c==="error"){i.push(gC(d));continue}if(c==="step_finish"){a=true;let l=Rc(d.part)?d.part:void 0;s=typeof l?.reason=="string"?l.reason:void 0;}}}return {...t,texts:n,resultText:r,toolUseCount:o,errorMessages:i,terminalReason:s,hasTerminal:a}}function mC(e){return (e??"unknown").trim().toLowerCase().replace(/_/g,"-")}function Gg(){return new G("OpenCode returned no assistant output.",wc,{code:"EMPTY_OUTPUT",kind:"transient"})}function YW(){return new G("OpenCode emitted malformed JSON output.",wc,{code:"PROVIDER_CRASHED",kind:"transient"})}function lC(e,t){switch(mC(e)){case "length":return new G("OpenCode stopped because the context window was exceeded.",wc,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new G("OpenCode stopped because the content filter blocked the response.",wc,{code:"UNKNOWN",kind:"permanent"});case "error":return new G(t?`OpenCode error: ${t}`:`${uC} while generating a response.`,wc,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var JW,wc,uC,pC,zW,Jg,EI=U(()=>{h();Ci();La();Tc();Ss();JW=new Set(["step_start","step_finish"]),wc="cli/opencode",uC="OpenCode provider error",pC=240,zW={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};Jg={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(e,t,n){let r=t.additionalArgs,o=r!==void 0?[...r]:["run"];qg(o,"--format")||o.push("--format","json"),t.resumeSessionId&&!o.includes("-s")&&!o.includes("--session")&&o.push("-s",t.resumeSessionId);let{agent:i,autoApprove:s}=KW(t.mode);qg(o,"--agent")||i!==void 0&&o.push("--agent",i),s&&!qg(o,"--auto")&&o.push("--auto"),t.effort!==void 0&&!qg(o,"--variant")&&o.push("--variant",t.effort),t.model&&o.push("--model",t.model);let a;return !n&&!s&&!t.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:o,stdinMessage:e,env:a}},extractText(e){let t=cC(e),n=t.errorMessages[0];if(n){let s=lC("error",n);if(s)throw s}let r=lC(t.terminalReason??"",void 0);if(r)throw r;let o=t.texts.length>0?t.texts[t.texts.length-1]:void 0;if(o!==void 0){if(!t.hasTerminal)throw Gg();return o}if(t.resultText?.trim()){if(!t.hasTerminal)throw Gg();return t.resultText}if(t.malformed)throw YW();if(!t.hasTerminal)throw Gg();let i=mC(t.terminalReason);if((i==="stop"||i==="tool-calls")&&t.toolUseCount>0)return "";throw Gg()},interpretExit(e,t,n=""){if(e===0)return null;let o=cC(n).errorMessages[0];return o?new G(`OpenCode error: ${o}`,wc,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(e){let t=vi(e);return t?{usage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens,cachedInputTokens:t.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(e,t){let n=t??new Date().toISOString(),r=[],o;try{JSON.parse(e),o=[e];}catch{o=fC(e),o.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let i of o){let s;try{s=JSON.parse(i);}catch{continue}let a=ar(s,n),d=s.type;if(d){if(d==="text"){let l=s.part?.text;l&&r.push({timestamp:a,type:"text",content:l});continue}if(d==="tool_use"){let c=s.part;if(!c)continue;let l=String(c.tool||""),u=String(c.callID||""),p=c.state,f=String(p?.status||""),g=p?.input,y=$r(g);if(r.push({timestamp:a,type:"tool_use",toolName:l,toolUseId:u,toolInput:y}),f==="completed"&&p?.output!==void 0){let _=p.output,A=typeof _=="string"?_:JSON.stringify(_);r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:A,isError:false});}else f==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:String(p?.error||"tool error"),isError:true});continue}if(d==="error"){let c=gC(s);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(e){let t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return false;try{let r=JSON.parse(t).type;return r?JW.has(r):!1}catch{return false}}};});function hC(e,t){if(e===void 0||e==="")return t;let n=parseInt(e,10);return Number.isNaN(n)?t:n}function kI(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 yC(e=process.env){return {queryMs:hC(e.CREWX_TIMEOUT_QUERY,288e5),executeMs:hC(e.CREWX_TIMEOUT_EXECUTE,288e5),idleMs:kI(e)??6e5}}var wu=U(()=>{h();});function zg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function eq(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 tq(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(!QW.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 nq(e,t){if(!(e?so(wI).some(i=>i.id===e):false)||!e)return t;let r=co(wI,e),o=ic(wI)[e]?.defaultEffort;if(r.length!==0)return t?r.includes(t)?t:o&&r.includes(o)?o:void 0:o}function Pi(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0?e:void 0}function bI(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 vI(e){return e.step.step_index}function dr(e){if(typeof e!="string")return;let t=e.split(/\r?\n/,1)[0]?.trim();return t&&Fa(t)?.slice(0,500).trim()||void 0}function rq(e,t){let n=(e??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&ZW.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|argument)/].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 oq(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 iq(e){let t=Xo(e)?e:void 0,n=t&&Xo(t.error)?t.error:void 0,r=t?dr(t.code)??dr(t.error_code)??dr(n?.code)??dr(n?.error_code):void 0,o=typeof e=="string"?dr(e):t?dr(t.message)??dr(t.error)??dr(t.reason)??dr(n?.message)??dr(n?.error)??dr(n?.reason):void 0,i=rq(r,o),s=t?Pi(t.retry_after_ms)??Pi(t.retryAfterMs)??Pi(n?.retry_after_ms)??Pi(n?.retryAfterMs):void 0;return {code:i,kind:oq(i),message:o??"Antigravity reported a terminal error.",...s===void 0?{}:{retryAfterMs:s}}}function Xg(e){let t=iq(e);return new G(t.message,"cli/antigravity",{code:t.code,kind:t.kind,...t.retryAfterMs===void 0?{}:{retryAfterMs:t.retryAfterMs}})}function CI(e){return new G(e,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function sq(e){let t=new TextEncoder().encode(e).byteLength;if(!(t<=SI))throw new G(`Prompt is too large for Antigravity: measured ${t} UTF-8 bytes; allowed ${SI} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function RI(){return new G("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 Yg(e){if(e.kind==="result"||e.kind==="legacy_result")return e.result}function Qg(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 aq(e){let t=Qg(e);if(!t||t.event.kind==="agy_error"||t.index!==e.length-1||Yg(t.event)?.status!=="SUCCESS"||Kg(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=bI(o),s=vI(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)||Pi(o.usage.input_tokens)===void 0||Pi(o.usage.output_tokens)===void 0)return false;return true}function dq(e,t){for(let n=t-1;n>=0;n-=1){let r=e[n];if(r?.kind==="agy_error")return r.error}}function cq(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 lq(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"?dr(i):dr(s?.display_name)??dr(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 G(`Permission denied: Antigravity blocked ${t.length} requested action${t.length===1?"":"s"}${o}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Kg(e){let t=Qg(e);if(!t)return;if(t.event.kind==="agy_error")return Xg(t.event.error);let n=Yg(t.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return lq(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return CI("Antigravity returned a result with an unsupported status.");let r=n.error,o=cq(r==null||r===""?n:r,dq(e,t.index));return Xg(o)}function IC(e){if(typeof e=="string")return e;if(e!=null)try{return JSON.stringify(e)}catch{return}}function uq(e){return `agy:${String(e.conversation_id)}:${String(e.step_index)}`}function pq(e,t){let n=typeof t?.name=="string"?t.name:e.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function fq(e){let t=IC(e);if(t)return t.length<=2e3?t:`${t.slice(0,1999)}\u2026`}function _C(e,t){return e?e.state.has(t)?true:(e.state.set(t,true),false):false}function AC(e,t){return {timestamp:e,type:"error",content:t.message,errorMessage:t.message,isError:true}}var wI,QW,SI,ZW,PI,OI=U(()=>{h();Ci();wu();Iu();Ea();Tr();Eu();Lg();wI="antigravity",QW=new Set(["--conversation","--resume","--continue"]),SI=160*1024,ZW=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"]);PI={command:"agy",maxInitialInputBytes:SI,meta:{displayName:"Antigravity",models:zA(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(e){let t=hc(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){sq(e);let{model:r,effort:o}=Rs(t.model),i=pg(r),s=i.model,a=t.effort??o??i.effort,d=nq(s,a),c=t.additionalArgs??[],l=tq(eq(c,new Set(["--input-format","--output-format"]))),u=s&&!zg(c,"--model")?["--model",s]:[],p=zg(c,"--effort")?[]:Xv(d),f=zg(c,"--mode")||zg(c,"--dangerously-skip-permissions")?[]:Kv(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}})}
21
+ `),a=typeof t.error=="string"?t.error:bs(t.error)&&typeof t.error.message=="string"?t.error.message:"";return {timestamp:e,type:"tool_result",resultPreview:s||a,isError:t.status==="failed"||t.status==="error"||t.is_error===true||t.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let o=String(t.name||t.tool_name||""),i=t.input,s=$r(i);return o==="Bash"&&lo(s)?uo(e,s):{timestamp:e,type:"tool_use",toolName:o,toolInput:s}}if(r==="tool_result"){let o=!!t.is_error,i=String(t.output||t.content||"");return {timestamp:e,type:"tool_result",...wr(i,o)}}if(r==="web_search"){let o=t.action,i;if(o?.type==="search"){let s=o.queries;i=String(o.query||"")||(s?.length?s.join(", "):"")||String(t.query||"");}else i=t.query?"open: "+String(t.query):"";return !i&&!(bs(o)&&o.type==="other"&&t.query==="")?null:{timestamp:e,type:"tool_use",toolName:"WebSearch",toolInput:i}}if(r==="file_change"){let o=t.changes;if(!Array.isArray(o)||o.length===0)return null;let i=o.map(a=>String(a.path||"")).filter(Boolean);if(i.length===0)return null;let s=i.length===1?i[0]:`${i.slice(0,2).join(", ")}${i.length>2?` (+${i.length-2})`:""}`;return {timestamp:e,type:"tool_use",toolName:"Edit",toolInput:s}}return null}function GW(e,t){let n=t.type;if(n==="text")return {timestamp:e,type:"text",content:String(t.text||"")};if(n==="tool_use"){let r=String(t.name||""),o=t.input,i=$r(o);return r==="Bash"&&lo(i)?uo(e,i):{timestamp:e,type:"tool_use",toolName:r,toolInput:i}}return null}var BW,HW,Wg,TI=U(()=>{h();Ci();Ac();La();Ic();Tc();fI();ws();Eu();Tr();Ss();BW=new Set(["turn.started","turn.completed","item.updated"]),HW="cli/codex";Wg={command:"codex",meta:{displayName:"Codex",models:GA(),capabilities:{resume:true}},buildArgs(e,t,n){let{model:r,effort:o}=Rs(t.model),i=t.effort??o,s=t.resumeSessionId?jv(t.mode):Hv(t.mode),a=$v(i),d=r?["-m",r]:[],c=$W(t.additionalArgs??[]),u=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return t.resumeSessionId?{args:["exec","resume",...u,...s,...a,...d,...c,t.resumeSessionId,"-"],stdinMessage:e}:{args:["exec",...u,...s,...a,...d,...c],stdinMessage:e}},extractText(e){let t=VW(e);if(t)throw new G(t,HW);let n=iC(e);if(n)return n;let r=e.trim();return Ko(r,"codex")?"":r},extractPartialText(e){return iC(e)},parseResultMeta(e){let t=vi(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;try{JSON.parse(e),i=[e];}catch{i=jW(e),i.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[s,a]of i.entries()){let d;try{d=JSON.parse(a);}catch{continue}if(!bs(d))continue;let c=d.type;if(!c)continue;let l=ar(d,r);if(aC(d)){let p=dC(d);o.push({timestamp:l,type:"error",content:p,errorMessage:p});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||Dg(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let u=d.item;if(u){if(c==="item.started"){o.push(...WW(l,u,sC(u,c,n,s)));continue}if(c==="item.completed"){let p=qW(l,u,sC(u,c,n,s));p&&o.push(p);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?BW.has(r):!1}catch{return false}}};});function KW(e){return e?zW[e]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function qg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function fC(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 Rc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function XW(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);Rc(s)?t.push(s):n=!0;continue}catch{}let i=fC(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);Rc(a)?t.push(a):n=!0;}catch{n=true;}}return {events:t,malformed:n}}function Ha(e){if(typeof e!="string")return;let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(t)return t.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,pC).trim()}function gC(e){let t=Rc(e.error)?e.error:void 0,n=t&&Rc(t.data)?t.data:void 0,r=Ha(t?.name),o=Ha(n?.message)??Ha(t?.message)??Ha(e.message)??Ha(e.errorMessage)??Ha(e.error),i=Ha(e.ref),s=r&&o&&r!==o?`${r}: ${o}`:r??o??uC;return (i?`${s} (ref: ${i})`:s).slice(0,pC)}function cC(e){let t=XW(e),n=[],r=null,o=0,i=[],s,a=false;for(let d of t.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=Rc(d.part)?d.part:void 0,u=typeof l?.text=="string"?l.text:void 0;u?.trim()&&n.push(u.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){o++;continue}if(c==="error"){i.push(gC(d));continue}if(c==="step_finish"){a=true;let l=Rc(d.part)?d.part:void 0;s=typeof l?.reason=="string"?l.reason:void 0;}}}return {...t,texts:n,resultText:r,toolUseCount:o,errorMessages:i,terminalReason:s,hasTerminal:a}}function mC(e){return (e??"unknown").trim().toLowerCase().replace(/_/g,"-")}function Gg(){return new G("OpenCode returned no assistant output.",wc,{code:"EMPTY_OUTPUT",kind:"transient"})}function YW(){return new G("OpenCode emitted malformed JSON output.",wc,{code:"PROVIDER_CRASHED",kind:"transient"})}function lC(e,t){switch(mC(e)){case "length":return new G("OpenCode stopped because the context window was exceeded.",wc,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new G("OpenCode stopped because the content filter blocked the response.",wc,{code:"UNKNOWN",kind:"permanent"});case "error":return new G(t?`OpenCode error: ${t}`:`${uC} while generating a response.`,wc,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var JW,wc,uC,pC,zW,Jg,EI=U(()=>{h();Ci();La();Tc();Ss();JW=new Set(["step_start","step_finish"]),wc="cli/opencode",uC="OpenCode provider error",pC=240,zW={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};Jg={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(e,t,n){let r=t.additionalArgs,o=r!==void 0?[...r]:["run"];qg(o,"--format")||o.push("--format","json"),t.resumeSessionId&&!o.includes("-s")&&!o.includes("--session")&&o.push("-s",t.resumeSessionId);let{agent:i,autoApprove:s}=KW(t.mode);qg(o,"--agent")||i!==void 0&&o.push("--agent",i),s&&!qg(o,"--auto")&&o.push("--auto"),t.effort!==void 0&&!qg(o,"--variant")&&o.push("--variant",t.effort),t.model&&o.push("--model",t.model);let a;return !n&&!s&&!t.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:o,stdinMessage:e,env:a}},extractText(e){let t=cC(e),n=t.errorMessages[0];if(n){let s=lC("error",n);if(s)throw s}let r=lC(t.terminalReason??"",void 0);if(r)throw r;let o=t.texts.length>0?t.texts[t.texts.length-1]:void 0;if(o!==void 0){if(!t.hasTerminal)throw Gg();return o}if(t.resultText?.trim()){if(!t.hasTerminal)throw Gg();return t.resultText}if(t.malformed)throw YW();if(!t.hasTerminal)throw Gg();let i=mC(t.terminalReason);if((i==="stop"||i==="tool-calls")&&t.toolUseCount>0)return "";throw Gg()},interpretExit(e,t,n=""){if(e===0)return null;let o=cC(n).errorMessages[0];return o?new G(`OpenCode error: ${o}`,wc,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(e){let t=vi(e);return t?{usage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens,cachedInputTokens:t.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(e,t){let n=t??new Date().toISOString(),r=[],o;try{JSON.parse(e),o=[e];}catch{o=fC(e),o.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let i of o){let s;try{s=JSON.parse(i);}catch{continue}let a=ar(s,n),d=s.type;if(d){if(d==="text"){let l=s.part?.text;l&&r.push({timestamp:a,type:"text",content:l});continue}if(d==="tool_use"){let c=s.part;if(!c)continue;let l=String(c.tool||""),u=String(c.callID||""),p=c.state,f=String(p?.status||""),g=p?.input,y=$r(g);if(r.push({timestamp:a,type:"tool_use",toolName:l,toolUseId:u,toolInput:y}),f==="completed"&&p?.output!==void 0){let _=p.output,A=typeof _=="string"?_:JSON.stringify(_);r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:A,isError:false});}else f==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:String(p?.error||"tool error"),isError:true});continue}if(d==="error"){let c=gC(s);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(e){let t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return false;try{let r=JSON.parse(t).type;return r?JW.has(r):!1}catch{return false}}};});function hC(e,t){if(e===void 0||e==="")return t;let n=parseInt(e,10);return Number.isNaN(n)?t:n}function kI(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 yC(e=process.env){return {queryMs:hC(e.CREWX_TIMEOUT_QUERY,288e5),executeMs:hC(e.CREWX_TIMEOUT_EXECUTE,288e5),idleMs:kI(e)??6e5}}var wu=U(()=>{h();});function zg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function eq(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 tq(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(!QW.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 nq(e,t){if(!(e?so(wI).some(i=>i.id===e):false)||!e)return t;let r=co(wI,e),o=ic(wI)[e]?.defaultEffort;if(r.length!==0)return t?r.includes(t)?t:o&&r.includes(o)?o:void 0:o}function Pi(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0?e:void 0}function bI(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 vI(e){return e.step.step_index}function dr(e){if(typeof e!="string")return;let t=e.split(/\r?\n/,1)[0]?.trim();return t&&Fa(t)?.slice(0,500).trim()||void 0}function rq(e,t){let n=(e??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&ZW.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|argument)/].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 oq(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 iq(e){let t=Xo(e)?e:void 0,n=t&&Xo(t.error)?t.error:void 0,r=t?dr(t.code)??dr(t.error_code)??dr(n?.code)??dr(n?.error_code):void 0,o=typeof e=="string"?dr(e):t?dr(t.message)??dr(t.error)??dr(t.reason)??dr(n?.message)??dr(n?.error)??dr(n?.reason):void 0,i=rq(r,o),s=t?Pi(t.retry_after_ms)??Pi(t.retryAfterMs)??Pi(n?.retry_after_ms)??Pi(n?.retryAfterMs):void 0;return {code:i,kind:oq(i),message:o??"Antigravity reported a terminal error.",...s===void 0?{}:{retryAfterMs:s}}}function Xg(e){let t=iq(e);return new G(t.message,"cli/antigravity",{code:t.code,kind:t.kind,...t.retryAfterMs===void 0?{}:{retryAfterMs:t.retryAfterMs}})}function CI(e){return new G(e,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function sq(e){let t=new TextEncoder().encode(e).byteLength;if(!(t<=SI))throw new G(`Prompt is too large for Antigravity: measured ${t} UTF-8 bytes; allowed ${SI} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function RI(){return new G("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 Yg(e){if(e.kind==="result"||e.kind==="legacy_result")return e.result}function Qg(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 aq(e){let t=Qg(e);if(!t||t.event.kind==="agy_error"||t.index!==e.length-1||Yg(t.event)?.status!=="SUCCESS"||Kg(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=bI(o),s=vI(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)||Pi(o.usage.input_tokens)===void 0||Pi(o.usage.output_tokens)===void 0)return false;return true}function dq(e,t){for(let n=t-1;n>=0;n-=1){let r=e[n];if(r?.kind==="agy_error")return r.error}}function cq(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 lq(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"?dr(i):dr(s?.display_name)??dr(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 G(`Permission denied: Antigravity blocked ${t.length} requested action${t.length===1?"":"s"}${o}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Kg(e){let t=Qg(e);if(!t)return;if(t.event.kind==="agy_error")return Xg(t.event.error);let n=Yg(t.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return lq(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return CI("Antigravity returned a result with an unsupported status.");let r=n.error,o=cq(r==null||r===""?n:r,dq(e,t.index));return Xg(o)}function IC(e){if(typeof e=="string")return e;if(e!=null)try{return JSON.stringify(e)}catch{return}}function uq(e){return `agy:${String(e.conversation_id)}:${String(e.step_index)}`}function pq(e,t){let n=typeof t?.name=="string"?t.name:e.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function fq(e){let t=IC(e);if(t)return t.length<=2e3?t:`${t.slice(0,1999)}\u2026`}function _C(e,t){return e?e.state.has(t)?true:(e.state.set(t,true),false):false}function AC(e,t){return {timestamp:e,type:"error",content:t.message,errorMessage:t.message,isError:true}}var wI,QW,SI,ZW,PI,OI=U(()=>{h();Ci();wu();Iu();Ea();Tr();Eu();Lg();wI="antigravity",QW=new Set(["--conversation","--resume","--continue"]),SI=10*1024*1024,ZW=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"]);PI={command:"agy",maxInitialInputBytes:SI,meta:{displayName:"Antigravity",models:zA(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(e){let t=hc(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){sq(e);let{model:r,effort:o}=Rs(t.model),i=pg(r),s=i.model,a=t.effort??o??i.effort,d=nq(s,a),c=t.additionalArgs??[],l=tq(eq(c,new Set(["--input-format","--output-format"]))),u=s&&!zg(c,"--model")?["--model",s]:[],p=zg(c,"--effort")?[]:Xv(d),f=zg(c,"--mode")||zg(c,"--dangerously-skip-permissions")?[]:Kv(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}})}
22
22
  `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(e){let t=yc(e),n=Qg(t)?.event,r=Kg(t);if(r)throw r;let o=n?Yg(n):void 0;if(o){if(o.status!=="SUCCESS")throw CI("Antigravity returned a result with an unsupported status.");if(typeof o.response!="string")throw CI("Antigravity returned a successful result without a response string.");if(!o.response.trim())throw RI();return o.response}if(t.length>0)throw RI();let i=e.trim();if(!i)throw RI();return i},extractPartialText(e){let t=yc(e),n=Qg(t)?.event;if(!n||n.kind==="agy_error")return;let r=Yg(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(e,t,n){let r=yc(n??""),o=Kg(r);return o||(e!==0&&t.trim()?Xg(t):null)},parseResultMeta(e){let t=yc(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=bI(d),l=vI(d);if(!c||!Number.isSafeInteger(l))continue;let u=JSON.stringify([c,l]);if(s.has(u))continue;let p=d.step.usage,f=Pi(p.input_tokens),g=Pi(p.output_tokens);f===void 0||g===void 0||(s.add(u),n+=f,r+=g,o+=Pi(p.cache_read_tokens)??0,i+=1);}return {usage:i===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:o,costUsd:0,complete:aq(t)},model:null}},parseEvent(e,t,n){let r=hc(e);if(!r)return [];let o=t??new Date().toISOString();if(r.kind==="agy_error")return [AC(o,Xg(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let f=Kg([r]);return f?[AC(o,f)]:[]}if(r.kind!=="step_update")return [];let{step:i}=r,s=bI(r)??"unknown",a=vI(r),d=`${s}:${a}`;if(i.state==="DONE"&&_C(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=pq(i,c);if(!l)return [];let u=uq(i);if(i.state==="ACTIVE"){if(_C(n,`antigravity:active:${d}`))return [];let f=IC(c?.parameters);return [{timestamp:o,type:"tool_use",toolName:l,toolUseId:u,...f===void 0?{}:{toolInput:f}}]}let p=fq(c?.output);return [{timestamp:o,type:"tool_result",toolName:l,toolUseId:u,...p===void 0?{}:{resultPreview:p}}]}};});var TC,EC=U(()=>{h();Ic();Tc();ws();Ss();TC={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=ar(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=$r(a);return /^bash$/i.test(i)&&lo(d)?[uo(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,...wr(s,a)}]}return []}};});function Sc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bc(e){return Sc(e)?e:void 0}function cr(e){return typeof e=="string"?e:void 0}function Va(e){let t=typeof e=="number"?e:Number(e??0);return Number.isFinite(t)?t:0}function _q(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 Ru(e){let t=e.trim();if(!t)return [];try{let n=JSON.parse(t);return Sc(n)?[n]:[]}catch{return _q(t).flatMap(n=>{try{let r=JSON.parse(n);return Sc(r)?[r]:[]}catch{return []}})}}function bC(e){let t=JSON.stringify(e);return t===void 0?String(e):t}function $a(e){if(typeof e=="string")return e;if(Array.isArray(e)){let t=e.map($a).filter(n=>n!==void 0);return t.length>0?t.join(`
23
23
  `):void 0}if(Sc(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=$a(e[t]);if(n!==void 0)return n}}}function Aq(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=bc(i);if(!s)return n($a(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=bc(s.Result);a=n(s.output)??n(l?.output)??n($a(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(`
24
24
  `)||a.endsWith("\r")?"":`
@@ -49,7 +49,7 @@ ${r.join(`
49
49
  `);for(let r of e)if(r.trim())try{let s=JSON.parse(r);if(s.type==="result"){let o=s.usage,i=o?{inputTokens:Number(o.input_tokens??0)+Number(o.cache_read_input_tokens??0),outputTokens:Number(o.output_tokens??0),cachedInputTokens:Number(o.cache_read_input_tokens??0),costUsd:Number(s.total_cost_usd??0)}:null,u=s.modelUsage,d=u?Object.keys(u)[0]??null:null;return {usage:i,model:d}}}catch{}let n=Gd(t);return n?{usage:{inputTokens:n.inputTokens,outputTokens:0,cachedInputTokens:n.cachedInputTokens,costUsd:0},model:n.model??null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];let s=je(n,e??new Date().toISOString()),o=Uf(n);if(o)return [{timestamp:s,type:"error",content:o,errorMessage:o}];let i=n.output_file,u=n.summary;if(r==="system"&&n.subtype==="task_notification"&&n.status==="completed"&&typeof i=="string"&&i.trim().length>0&&typeof u=="string"&&u.trim().length>0)return [{timestamp:s,type:"text",content:u}];if(r!=="assistant"&&r!=="user")return [];let c=n.message?.content;if(!Array.isArray(c))return [];let l=[];for(let p of c){let g=Wf(s,p);g&&l.push(g);}return l},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Lf.has(r):!1}catch{return false}}};Xd=200;});function Zd(t){let e=t.split(`
50
50
  `).filter(s=>s.trim()),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="assistant.message"&&typeof o.data?.content=="string"){let i=o.data.content;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var Gf,ho,mo=v(()=>{_();un();Vn();cn();pn();ln();jt();jr();zt();Gf=new Set(["interactive","plan","autopilot"]);ho={command:"copilot",meta:{displayName:"Copilot",models:bd()},buildArgs(t,e,n){let r=e.additionalArgs?[...e.additionalArgs]:[];return e.model&&r.push("--model",e.model),e.mode&&Gf.has(e.mode)&&r.push("--mode",e.mode),e.effort&&(Gr.copilot??[]).includes(e.effort)&&r.push("--effort",e.effort),{args:r,stdinMessage:t}},extractText(t){let e=Zd(t);if(e)return e;let n=t.trim();return it(n,"copilot")?"":n},extractPartialText(t){return Zd(t)},parseResultMeta(t){let e=fn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];if(!r.startsWith("tool.execution")&&!r.startsWith("assistant.")&&r!=="user.message")return [];let s=n.data;if(!s)return [];let o=je(n,e??new Date().toISOString()),i=s.toolCallId;if(r==="tool.execution_start"){let u=String(s.toolName||""),d=s.arguments,c=Ge(d);return (u==="bash"||u==="Bash")&&at(c)?[dt(o,c,i)]:[{timestamp:o,type:"tool_use",toolName:u,toolInput:c,...i&&{toolUseId:i}}]}if(r==="tool.execution_complete"){let u=s.error;if(u)return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...We(String(u.message||""),true)}];let d=s.result,c=String(d?.content||"");return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...We(c,false)}]}if(r==="assistant.message"){let u=String(s.content||"");return u?[{timestamp:o,type:"text",content:u}]:[]}return []}};});function Kf(t){let e=[],n=0,r=false,s=false,o=0;for(let u=0;u<t.length;u++){let d=t[u];if(s){s=false;continue}if(d==="\\"&&r){s=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let c=t.slice(o,u+1).trim();c&&e.push(c),o=u+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function Jf(t){return t[0]==="exec"?t.slice(1):t}function eu(t){let e=t.split(`
51
51
  `).map(s=>s.trim()).filter(Boolean),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="item.completed"&&(o.item?.type==="message"||o.item?.type==="agent_message")&&typeof o.item?.text=="string"){let i=o.item.text;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function Ot(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function nu(t){return t.type==="turn.failed"?true:t.type!=="error"?false:typeof t.message=="string"||typeof t.errorMessage=="string"||typeof t.error=="string"||Ot(t.error)}function ru(t){let e=Ot(t.error)?t.error:void 0,n=[t.message,t.errorMessage,e?.message,e?.detail,typeof t.error=="string"?t.error:void 0];for(let r of n)if(typeof r=="string"&&r.trim())return r;return t.type==="turn.failed"?"Codex turn failed.":"Codex CLI reported an error."}function Vf(t){for(let e of t.split(/\r?\n/)){if(!e.trim())continue;let n;try{n=JSON.parse(e);}catch{continue}if(Ot(n)&&nu(n))return ru(n)}}function tu(t,e,n,r){if(!n||t.type!=="command_execution"&&t.type!=="mcp_tool_call"||typeof t.id!="string"||!t.id.trim()||t.type==="mcp_tool_call"&&e==="item.started"&&(typeof t.server!="string"||typeof t.tool!="string"))return;let s=n.state.get("codex.pending");s||(s=new Map,n.state.set("codex.pending",s));let o=JSON.stringify([t.type,t.id]);if(e==="item.started"){let d=`codex:${JSON.stringify(t.id)}#${n.rowIndex}:${r}`,c=s.get(o)??[];return c.push(d),s.set(o,c),d}let i=s.get(o),u=i?.pop();return i?.length||s.delete(o),u}function Xf(t,e,n){let r=e.type;if(r==="command_execution"){let s=String(e.command||"");return at(s)?[dt(t,s,n)]:[{timestamp:t,type:"tool_use",toolName:"Bash",toolInput:s,...n?{toolUseId:n}:{}}]}return r==="mcp_tool_call"?typeof e.server!="string"||typeof e.tool!="string"?[]:[{timestamp:t,type:"tool_use",toolName:`${e.server}/${e.tool}`,toolInput:Ge(e.arguments),...n?{toolUseId:n}:{}}]:[]}function Yf(t,e,n){let r=e.type;if(r==="message"||r==="text"){let s=e.content;if(Array.isArray(s))for(let o of s){let i=Qf(t,o);if(i)return i}if(typeof e.text=="string")return {timestamp:t,type:"text",content:e.text}}if(r==="agent_message"&&typeof e.text=="string")return {timestamp:t,type:"text",content:e.text};if(r==="reasoning"){let s=typeof e.text=="string"?e.text.trim():"";return s?{timestamp:t,type:"thinking",content:s}:null}if(r==="command_execution"){let s=String(e.aggregated_output||e.output||""),o=!!e.is_error;return {timestamp:t,type:"tool_result",...We(s,o),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let s=Ot(e.result)?e.result:void 0,i=(Array.isArray(s?.content)?s.content:[]).filter(d=>Ot(d)&&d.type==="text"&&typeof d.text=="string").map(d=>d.text).join(`
52
- `),u=typeof e.error=="string"?e.error:Ot(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||u,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=Ge(o);return s==="Bash"&&at(i)?dt(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...We(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(Ot(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(u=>String(u.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Qf(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=Ge(s);return r==="Bash"&&at(o)?dt(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var jf,zf,ko,To=v(()=>{_();Wt();un();Vn();cn();pn();ao();ln();Jn();jt();zt();jf=new Set(["turn.started","turn.completed","item.updated"]),zf="cli/codex";ko={command:"codex",meta:{displayName:"Codex",models:Nd(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=At(e.model),o=e.effort??s,i=e.resumeSessionId?Pd(e.mode):Dd(e.mode),u=Ld(o),d=r?["-m",r]:[],c=Jf(e.additionalArgs??[]),p=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...p,...i,...u,...d,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...p,...i,...u,...d,...c],stdinMessage:t}},extractText(t){let e=Vf(t);if(e)throw new V(e,zf);let n=eu(t);if(n)return n;let r=t.trim();return it(r,"codex")?"":r},extractPartialText(t){return eu(t)},parseResultMeta(t){let e=fn(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Kf(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,u]of o.entries()){let d;try{d=JSON.parse(u);}catch{continue}if(!Ot(d))continue;let c=d.type;if(!c)continue;let l=je(d,r);if(nu(d)){let g=ru(d);s.push({timestamp:l,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||io(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let p=d.item;if(p){if(c==="item.started"){s.push(...Xf(l,p,tu(p,c,n,i)));continue}if(c==="item.completed"){let g=Yf(l,p,tu(p,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?jf.has(r):!1}catch{return false}}};});function tg(t){return t?eg[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function Xr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function du(t){let e=[],n=0,r=false,s=false,o=0;for(let u=0;u<t.length;u++){let d=t[u];if(s){s=false;continue}if(d==="\\"&&r){s=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let c=t.slice(o,u+1).trim();c&&e.push(c),o=u+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function hn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ng(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);hn(i)?e.push(i):n=!0;continue}catch{}let o=du(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let u=JSON.parse(i);hn(u)?e.push(u):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function Kt(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,au).trim()}function uu(t){let e=hn(t.error)?t.error:void 0,n=e&&hn(e.data)?e.data:void 0,r=Kt(e?.name),s=Kt(n?.message)??Kt(e?.message)??Kt(t.message)??Kt(t.errorMessage)??Kt(t.error),o=Kt(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??iu;return (o?`${i} (ref: ${o})`:i).slice(0,au)}function su(t){let e=ng(t),n=[],r=null,s=0,o=[],i,u=false;for(let d of e.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=hn(d.part)?d.part:void 0,p=typeof l?.text=="string"?l.text:void 0;p?.trim()&&n.push(p.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(uu(d));continue}if(c==="step_finish"){u=true;let l=hn(d.part)?d.part:void 0;i=typeof l?.reason=="string"?l.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:u}}function cu(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function Yr(){return new V("OpenCode returned no assistant output.",_n,{code:"EMPTY_OUTPUT",kind:"transient"})}function rg(){return new V("OpenCode emitted malformed JSON output.",_n,{code:"PROVIDER_CRASHED",kind:"transient"})}function ou(t,e){switch(cu(t)){case "length":return new V("OpenCode stopped because the context window was exceeded.",_n,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new V("OpenCode stopped because the content filter blocked the response.",_n,{code:"UNKNOWN",kind:"permanent"});case "error":return new V(e?`OpenCode error: ${e}`:`${iu} while generating a response.`,_n,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var Zf,_n,iu,au,eg,yo,wo=v(()=>{_();Wt();Vn();pn();zt();Zf=new Set(["step_start","step_finish"]),_n="cli/opencode",iu="OpenCode provider error",au=240,eg={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};yo={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];Xr(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=tg(e.mode);Xr(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!Xr(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!Xr(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let u;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(u={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:u}},extractText(t){let e=su(t),n=e.errorMessages[0];if(n){let i=ou("error",n);if(i)throw i}let r=ou(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw Yr();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw Yr();return e.resultText}if(e.malformed)throw rg();if(!e.hasTerminal)throw Yr();let o=cu(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw Yr()},interpretExit(t,e,n=""){if(t===0)return null;let s=su(n).errorMessages[0];return s?new V(`OpenCode error: ${s}`,_n,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=fn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=du(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let u=je(i,n),d=i.type;if(d){if(d==="text"){let l=i.part?.text;l&&r.push({timestamp:u,type:"text",content:l});continue}if(d==="tool_use"){let c=i.part;if(!c)continue;let l=String(c.tool||""),p=String(c.callID||""),g=c.state,h=String(g?.status||""),m=g?.input,E=Ge(m);if(r.push({timestamp:u,type:"tool_use",toolName:l,toolUseId:p,toolInput:E}),h==="completed"&&g?.output!==void 0){let S=g.output,D=typeof S=="string"?S:JSON.stringify(S);r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:D,isError:false});}else h==="error"&&r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(d==="error"){let c=uu(i);r.push({timestamp:u,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Zf.has(r):!1}catch{return false}}};});var lu=v(()=>{_();});function Qr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function ag(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function dg(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!og.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function ut(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ug(t,e){if(!(t?It(Eo).some(o=>o.id===t):false)||!t)return e;let r=Kn(Eo,t),s=Ad(Eo)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function ft(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function Io(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 Ao(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&&Br(e)?.slice(0,500).trim()||void 0}function cg(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&ig.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|argument)/].some(o=>o.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 lg(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 pg(t){let e=ut(t)?t:void 0,n=e&&ut(e.error)?e.error:void 0,r=e?Se(e.code)??Se(e.error_code)??Se(n?.code)??Se(n?.error_code):void 0,s=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,o=cg(r,s),i=e?ft(e.retry_after_ms)??ft(e.retryAfterMs)??ft(n?.retry_after_ms)??ft(n?.retryAfterMs):void 0;return {code:o,kind:lg(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function es(t){let e=pg(t);return new V(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function Oo(t){return new V(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function fg(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=So))throw new V(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${So} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function Ro(){return new V("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 ts(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function ns(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 gg(t){let e=ns(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||ts(e.event)?.status!=="SUCCESS"||Zr(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=Io(s),i=Ao(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!ut(s.usage)||ft(s.usage.input_tokens)===void 0||ft(s.usage.output_tokens)===void 0)return false;return true}function _g(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function hg(t,e){return ut(t)&&ut(e)?{...e,...t}:ut(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&ut(e)?{...e,message:t}:t??e}function mg(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=ut(o)?o:void 0,u=typeof o=="string"?Se(o):Se(i?.display_name)??Se(i?.action);u&&!n.includes(u)&&n.length<5&&n.push(u.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new V(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Zr(t){let e=ns(t);if(!e)return;if(e.event.kind==="agy_error")return es(e.event.error);let n=ts(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return mg(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return Oo("Antigravity returned a result with an unsupported status.");let r=n.error,s=hg(r==null||r===""?n:r,_g(t,e.index));return es(s)}function gu(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function kg(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function Tg(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function yg(t){let e=gu(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function pu(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function fu(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var Eo,og,So,ig,No,bo=v(()=>{_();Wt();lu();so();zn();jt();Jn();co();Eo="antigravity",og=new Set(["--conversation","--resume","--continue"]),So=160*1024,ig=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"]);No={command:"agy",maxInitialInputBytes:So,meta:{displayName:"Antigravity",models:vd(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=Gn(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){fg(t);let{model:r,effort:s}=At(e.model),o=fo(r),i=o.model,u=e.effort??s??o.effort,d=ug(i,u),c=e.additionalArgs??[],l=dg(ag(c,new Set(["--input-format","--output-format"]))),p=i&&!Qr(c,"--model")?["--model",i]:[],g=Qr(c,"--effort")?[]:Wd(d),h=Qr(c,"--mode")||Qr(c,"--dangerously-skip-permissions")?[]:Bd(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,...g,...h,...m,...l],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
52
+ `),u=typeof e.error=="string"?e.error:Ot(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||u,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=Ge(o);return s==="Bash"&&at(i)?dt(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...We(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(Ot(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(u=>String(u.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Qf(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=Ge(s);return r==="Bash"&&at(o)?dt(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var jf,zf,ko,To=v(()=>{_();Wt();un();Vn();cn();pn();ao();ln();Jn();jt();zt();jf=new Set(["turn.started","turn.completed","item.updated"]),zf="cli/codex";ko={command:"codex",meta:{displayName:"Codex",models:Nd(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=At(e.model),o=e.effort??s,i=e.resumeSessionId?Pd(e.mode):Dd(e.mode),u=Ld(o),d=r?["-m",r]:[],c=Jf(e.additionalArgs??[]),p=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...p,...i,...u,...d,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...p,...i,...u,...d,...c],stdinMessage:t}},extractText(t){let e=Vf(t);if(e)throw new V(e,zf);let n=eu(t);if(n)return n;let r=t.trim();return it(r,"codex")?"":r},extractPartialText(t){return eu(t)},parseResultMeta(t){let e=fn(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Kf(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,u]of o.entries()){let d;try{d=JSON.parse(u);}catch{continue}if(!Ot(d))continue;let c=d.type;if(!c)continue;let l=je(d,r);if(nu(d)){let g=ru(d);s.push({timestamp:l,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||io(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let p=d.item;if(p){if(c==="item.started"){s.push(...Xf(l,p,tu(p,c,n,i)));continue}if(c==="item.completed"){let g=Yf(l,p,tu(p,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?jf.has(r):!1}catch{return false}}};});function tg(t){return t?eg[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function Xr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function du(t){let e=[],n=0,r=false,s=false,o=0;for(let u=0;u<t.length;u++){let d=t[u];if(s){s=false;continue}if(d==="\\"&&r){s=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let c=t.slice(o,u+1).trim();c&&e.push(c),o=u+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function hn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ng(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);hn(i)?e.push(i):n=!0;continue}catch{}let o=du(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let u=JSON.parse(i);hn(u)?e.push(u):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function Kt(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,au).trim()}function uu(t){let e=hn(t.error)?t.error:void 0,n=e&&hn(e.data)?e.data:void 0,r=Kt(e?.name),s=Kt(n?.message)??Kt(e?.message)??Kt(t.message)??Kt(t.errorMessage)??Kt(t.error),o=Kt(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??iu;return (o?`${i} (ref: ${o})`:i).slice(0,au)}function su(t){let e=ng(t),n=[],r=null,s=0,o=[],i,u=false;for(let d of e.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=hn(d.part)?d.part:void 0,p=typeof l?.text=="string"?l.text:void 0;p?.trim()&&n.push(p.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(uu(d));continue}if(c==="step_finish"){u=true;let l=hn(d.part)?d.part:void 0;i=typeof l?.reason=="string"?l.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:u}}function cu(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function Yr(){return new V("OpenCode returned no assistant output.",_n,{code:"EMPTY_OUTPUT",kind:"transient"})}function rg(){return new V("OpenCode emitted malformed JSON output.",_n,{code:"PROVIDER_CRASHED",kind:"transient"})}function ou(t,e){switch(cu(t)){case "length":return new V("OpenCode stopped because the context window was exceeded.",_n,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new V("OpenCode stopped because the content filter blocked the response.",_n,{code:"UNKNOWN",kind:"permanent"});case "error":return new V(e?`OpenCode error: ${e}`:`${iu} while generating a response.`,_n,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var Zf,_n,iu,au,eg,yo,wo=v(()=>{_();Wt();Vn();pn();zt();Zf=new Set(["step_start","step_finish"]),_n="cli/opencode",iu="OpenCode provider error",au=240,eg={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};yo={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];Xr(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=tg(e.mode);Xr(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!Xr(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!Xr(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let u;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(u={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:u}},extractText(t){let e=su(t),n=e.errorMessages[0];if(n){let i=ou("error",n);if(i)throw i}let r=ou(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw Yr();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw Yr();return e.resultText}if(e.malformed)throw rg();if(!e.hasTerminal)throw Yr();let o=cu(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw Yr()},interpretExit(t,e,n=""){if(t===0)return null;let s=su(n).errorMessages[0];return s?new V(`OpenCode error: ${s}`,_n,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=fn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=du(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let u=je(i,n),d=i.type;if(d){if(d==="text"){let l=i.part?.text;l&&r.push({timestamp:u,type:"text",content:l});continue}if(d==="tool_use"){let c=i.part;if(!c)continue;let l=String(c.tool||""),p=String(c.callID||""),g=c.state,h=String(g?.status||""),m=g?.input,E=Ge(m);if(r.push({timestamp:u,type:"tool_use",toolName:l,toolUseId:p,toolInput:E}),h==="completed"&&g?.output!==void 0){let S=g.output,D=typeof S=="string"?S:JSON.stringify(S);r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:D,isError:false});}else h==="error"&&r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(d==="error"){let c=uu(i);r.push({timestamp:u,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Zf.has(r):!1}catch{return false}}};});var lu=v(()=>{_();});function Qr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function ag(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function dg(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!og.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function ut(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ug(t,e){if(!(t?It(Eo).some(o=>o.id===t):false)||!t)return e;let r=Kn(Eo,t),s=Ad(Eo)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function ft(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function Io(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 Ao(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&&Br(e)?.slice(0,500).trim()||void 0}function cg(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&ig.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|argument)/].some(o=>o.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 lg(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 pg(t){let e=ut(t)?t:void 0,n=e&&ut(e.error)?e.error:void 0,r=e?Se(e.code)??Se(e.error_code)??Se(n?.code)??Se(n?.error_code):void 0,s=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,o=cg(r,s),i=e?ft(e.retry_after_ms)??ft(e.retryAfterMs)??ft(n?.retry_after_ms)??ft(n?.retryAfterMs):void 0;return {code:o,kind:lg(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function es(t){let e=pg(t);return new V(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function Oo(t){return new V(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function fg(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=So))throw new V(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${So} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function Ro(){return new V("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 ts(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function ns(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 gg(t){let e=ns(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||ts(e.event)?.status!=="SUCCESS"||Zr(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=Io(s),i=Ao(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!ut(s.usage)||ft(s.usage.input_tokens)===void 0||ft(s.usage.output_tokens)===void 0)return false;return true}function _g(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function hg(t,e){return ut(t)&&ut(e)?{...e,...t}:ut(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&ut(e)?{...e,message:t}:t??e}function mg(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=ut(o)?o:void 0,u=typeof o=="string"?Se(o):Se(i?.display_name)??Se(i?.action);u&&!n.includes(u)&&n.length<5&&n.push(u.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new V(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Zr(t){let e=ns(t);if(!e)return;if(e.event.kind==="agy_error")return es(e.event.error);let n=ts(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return mg(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return Oo("Antigravity returned a result with an unsupported status.");let r=n.error,s=hg(r==null||r===""?n:r,_g(t,e.index));return es(s)}function gu(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function kg(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function Tg(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function yg(t){let e=gu(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function pu(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function fu(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var Eo,og,So,ig,No,bo=v(()=>{_();Wt();lu();so();zn();jt();Jn();co();Eo="antigravity",og=new Set(["--conversation","--resume","--continue"]),So=10*1024*1024,ig=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"]);No={command:"agy",maxInitialInputBytes:So,meta:{displayName:"Antigravity",models:vd(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=Gn(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){fg(t);let{model:r,effort:s}=At(e.model),o=fo(r),i=o.model,u=e.effort??s??o.effort,d=ug(i,u),c=e.additionalArgs??[],l=dg(ag(c,new Set(["--input-format","--output-format"]))),p=i&&!Qr(c,"--model")?["--model",i]:[],g=Qr(c,"--effort")?[]:Wd(d),h=Qr(c,"--mode")||Qr(c,"--dangerously-skip-permissions")?[]:Bd(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,...g,...h,...m,...l],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
53
53
  `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(t){let e=jn(t),n=ns(e)?.event,r=Zr(e);if(r)throw r;let s=n?ts(n):void 0;if(s){if(s.status!=="SUCCESS")throw Oo("Antigravity returned a result with an unsupported status.");if(typeof s.response!="string")throw Oo("Antigravity returned a successful result without a response string.");if(!s.response.trim())throw Ro();return s.response}if(e.length>0)throw Ro();let o=t.trim();if(!o)throw Ro();return o},extractPartialText(t){let e=jn(t),n=ns(e)?.event;if(!n||n.kind==="agy_error")return;let r=ts(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(t,e,n){let r=jn(n??""),s=Zr(r);return s||(t!==0&&e.trim()?es(e):null)},parseResultMeta(t){let e=jn(t),n=0,r=0,s=0,o=0,i=new Set;for(let d of e){if(d.kind!=="step_update"||d.step.state!=="DONE"||!ut(d.step.usage))continue;let c=Io(d),l=Ao(d);if(!c||!Number.isSafeInteger(l))continue;let p=JSON.stringify([c,l]);if(i.has(p))continue;let g=d.step.usage,h=ft(g.input_tokens),m=ft(g.output_tokens);h===void 0||m===void 0||(i.add(p),n+=h,r+=m,s+=ft(g.cache_read_tokens)??0,o+=1);}return {usage:o===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:s,costUsd:0,complete:gg(e)},model:null}},parseEvent(t,e,n){let r=Gn(t);if(!r)return [];let s=e??new Date().toISOString();if(r.kind==="agy_error")return [fu(s,es(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let h=Zr([r]);return h?[fu(s,h)]:[]}if(r.kind!=="step_update")return [];let{step:o}=r,i=Io(r)??"unknown",u=Ao(r),d=`${i}:${u}`;if(o.state==="DONE"&&pu(n,`antigravity:terminal:${d}`))return [];if(o.step_type==="agent_response")return typeof o.text_delta=="string"&&o.text_delta.length>0?[{timestamp:s,type:"text",content:o.text_delta}]:[];if(o.step_type!=="tool")return [];let c=ut(o.tool_info)?o.tool_info:void 0,l=Tg(o,c);if(!l)return [];let p=kg(o);if(o.state==="ACTIVE"){if(pu(n,`antigravity:active:${d}`))return [];let h=gu(c?.parameters);return [{timestamp:s,type:"tool_use",toolName:l,toolUseId:p,...h===void 0?{}:{toolInput:h}}]}let g=yg(c?.output);return [{timestamp:s,type:"tool_result",toolName:l,toolUseId:p,...g===void 0?{}:{resultPreview:g}}]}};});var _u=v(()=>{_();cn();pn();ln();zt();});function mn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function kn(t){return mn(t)?t:void 0}function Ie(t){return typeof t=="string"?t:void 0}function Vt(t){let e=typeof t=="number"?t:Number(t??0);return Number.isFinite(e)?e:0}function Ig(t){let e=[],n=-1,r=0,s=false,o=false;for(let i=0;i<t.length;i+=1){let u=t[i];if(n===-1){(u==="{"||u==="[")&&(n=i,r=1);continue}if(o){o=false;continue}if(u==="\\"&&s){o=true;continue}if(u==='"'){s=!s;continue}s||(u==="{"||u==="["?r+=1:(u==="}"||u==="]")&&(r-=1,r===0&&(e.push(t.slice(n,i+1)),n=-1)));}return n!==-1&&e.push(t.slice(n)),e}function Xn(t){let e=t.trim();if(!e)return [];try{let n=JSON.parse(e);return mn(n)?[n]:[]}catch{return Ig(e).flatMap(n=>{try{let r=JSON.parse(n);return mn(r)?[r]:[]}catch{return []}})}}function yu(t){let e=JSON.stringify(t);return e===void 0?String(t):e}function Jt(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.map(Jt).filter(n=>n!==void 0);return e.length>0?e.join(`
54
54
  `):void 0}if(mn(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=Jt(t[e]);if(n!==void 0)return n}}}function Ag(t){let e=i=>Array.isArray(i)&&i.every(u=>Number.isInteger(u)&&u>=0&&u<=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)),s=i=>{let u=JSON.stringify(i,(d,c)=>e(c)?`<bytes:${c.length}>`:c);return u===void 0?String(i):u},o=t.rawOutput;if(o!=null){let i=kn(o);if(!i)return n(Jt(o))??s(o);let u;if(e(i.output)&&i.output.length>0&&(u=n(r(i.output))),!u&&e(i.stdout)&&i.stdout.length>0&&(u=n(r(i.stdout))),!u){let l=kn(i.Result);u=n(i.output)??n(l?.output)??n(Jt(o));}let d=e(i.stderr)&&i.stderr.length>0?r(i.stderr):void 0;if(d!==void 0)if(u){let l=u.endsWith(`
55
55
  `)||u.endsWith("\r")?"":`
@@ -49,7 +49,7 @@ ${r.join(`
49
49
  `);for(let r of e)if(r.trim())try{let s=JSON.parse(r);if(s.type==="result"){let o=s.usage,i=o?{inputTokens:Number(o.input_tokens??0)+Number(o.cache_read_input_tokens??0),outputTokens:Number(o.output_tokens??0),cachedInputTokens:Number(o.cache_read_input_tokens??0),costUsd:Number(s.total_cost_usd??0)}:null,a=s.modelUsage,u=a?Object.keys(a)[0]??null:null;return {usage:i,model:u}}}catch{}let n=Al(t);return n?{usage:{inputTokens:n.inputTokens,outputTokens:0,cachedInputTokens:n.cachedInputTokens,costUsd:0},model:n.model??null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];let s=It(n,e??new Date().toISOString()),o=Ok(n);if(o)return [{timestamp:s,type:"error",content:o,errorMessage:o}];let i=n.output_file,a=n.summary;if(r==="system"&&n.subtype==="task_notification"&&n.status==="completed"&&typeof i=="string"&&i.trim().length>0&&typeof a=="string"&&a.trim().length>0)return [{timestamp:s,type:"text",content:a}];if(r!=="assistant"&&r!=="user")return [];let c=n.message?.content;if(!Array.isArray(c))return [];let p=[];for(let l of c){let g=Dk(s,l);g&&p.push(g);}return p},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Sk.has(r):!1}catch{return false}}};Dl=200;});function Pl(t){let e=t.split(`
50
50
  `).filter(s=>s.trim()),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="assistant.message"&&typeof o.data?.content=="string"){let i=o.data.content;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var xk,ca,la=D(()=>{h();ns();is();dr();cr();ur();vn();lo();Cn();xk=new Set(["interactive","plan","autopilot"]);ca={command:"copilot",meta:{displayName:"Copilot",models:ll()},buildArgs(t,e,n){let r=e.additionalArgs?[...e.additionalArgs]:[];return e.model&&r.push("--model",e.model),e.mode&&xk.has(e.mode)&&r.push("--mode",e.mode),e.effort&&(co.copilot??[]).includes(e.effort)&&r.push("--effort",e.effort),{args:r,stdinMessage:t}},extractText(t){let e=Pl(t);if(e)return e;let n=t.trim();return Yt(n,"copilot")?"":n},extractPartialText(t){return Pl(t)},parseResultMeta(t){let e=lr(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];if(!r.startsWith("tool.execution")&&!r.startsWith("assistant.")&&r!=="user.message")return [];let s=n.data;if(!s)return [];let o=It(n,e??new Date().toISOString()),i=s.toolCallId;if(r==="tool.execution_start"){let a=String(s.toolName||""),u=s.arguments,c=At(u);return (a==="bash"||a==="Bash")&&Bt(c)?[Ft(o,c,i)]:[{timestamp:o,type:"tool_use",toolName:a,toolInput:c,...i&&{toolUseId:i}}]}if(r==="tool.execution_complete"){let a=s.error;if(a)return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...bt(String(a.message||""),true)}];let u=s.result,c=String(u?.content||"");return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...bt(c,false)}]}if(r==="assistant.message"){let a=String(s.content||"");return a?[{timestamp:o,type:"text",content:a}]:[]}return []}};});function Mk(t){let e=[],n=0,r=false,s=false,o=0;for(let a=0;a<t.length;a++){let u=t[a];if(s){s=false;continue}if(u==="\\"&&r){s=true;continue}if(u==='"'){r=!r;continue}if(!r){if(u==="{")n++;else if(u==="}"&&(n--,n===0)){let c=t.slice(o,a+1).trim();c&&e.push(c),o=a+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function $k(t){return t[0]==="exec"?t.slice(1):t}function Ml(t){let e=t.split(`
51
51
  `).map(s=>s.trim()).filter(Boolean),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="item.completed"&&(o.item?.type==="message"||o.item?.type==="agent_message")&&typeof o.item?.text=="string"){let i=o.item.text;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function cn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Hl(t){return t.type==="turn.failed"?true:t.type!=="error"?false:typeof t.message=="string"||typeof t.errorMessage=="string"||typeof t.error=="string"||cn(t.error)}function Ul(t){let e=cn(t.error)?t.error:void 0,n=[t.message,t.errorMessage,e?.message,e?.detail,typeof t.error=="string"?t.error:void 0];for(let r of n)if(typeof r=="string"&&r.trim())return r;return t.type==="turn.failed"?"Codex turn failed.":"Codex CLI reported an error."}function Hk(t){for(let e of t.split(/\r?\n/)){if(!e.trim())continue;let n;try{n=JSON.parse(e);}catch{continue}if(cn(n)&&Hl(n))return Ul(n)}}function $l(t,e,n,r){if(!n||t.type!=="command_execution"&&t.type!=="mcp_tool_call"||typeof t.id!="string"||!t.id.trim()||t.type==="mcp_tool_call"&&e==="item.started"&&(typeof t.server!="string"||typeof t.tool!="string"))return;let s=n.state.get("codex.pending");s||(s=new Map,n.state.set("codex.pending",s));let o=JSON.stringify([t.type,t.id]);if(e==="item.started"){let u=`codex:${JSON.stringify(t.id)}#${n.rowIndex}:${r}`,c=s.get(o)??[];return c.push(u),s.set(o,c),u}let i=s.get(o),a=i?.pop();return i?.length||s.delete(o),a}function Uk(t,e,n){let r=e.type;if(r==="command_execution"){let s=String(e.command||"");return Bt(s)?[Ft(t,s,n)]:[{timestamp:t,type:"tool_use",toolName:"Bash",toolInput:s,...n?{toolUseId:n}:{}}]}return r==="mcp_tool_call"?typeof e.server!="string"||typeof e.tool!="string"?[]:[{timestamp:t,type:"tool_use",toolName:`${e.server}/${e.tool}`,toolInput:At(e.arguments),...n?{toolUseId:n}:{}}]:[]}function Bk(t,e,n){let r=e.type;if(r==="message"||r==="text"){let s=e.content;if(Array.isArray(s))for(let o of s){let i=Fk(t,o);if(i)return i}if(typeof e.text=="string")return {timestamp:t,type:"text",content:e.text}}if(r==="agent_message"&&typeof e.text=="string")return {timestamp:t,type:"text",content:e.text};if(r==="reasoning"){let s=typeof e.text=="string"?e.text.trim():"";return s?{timestamp:t,type:"thinking",content:s}:null}if(r==="command_execution"){let s=String(e.aggregated_output||e.output||""),o=!!e.is_error;return {timestamp:t,type:"tool_result",...bt(s,o),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let s=cn(e.result)?e.result:void 0,i=(Array.isArray(s?.content)?s.content:[]).filter(u=>cn(u)&&u.type==="text"&&typeof u.text=="string").map(u=>u.text).join(`
52
- `),a=typeof e.error=="string"?e.error:cn(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||a,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=At(o);return s==="Bash"&&Bt(i)?Ft(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...bt(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(cn(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(a=>String(a.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Fk(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=At(s);return r==="Bash"&&Bt(o)?Ft(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var Lk,Pk,pa,fa=D(()=>{h();In();ns();is();dr();cr();ra();ur();os();vn();Cn();Lk=new Set(["turn.started","turn.completed","item.updated"]),Pk="cli/codex";pa={command:"codex",meta:{displayName:"Codex",models:cl(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=un(e.model),o=e.effort??s,i=e.resumeSessionId?hl(e.mode):_l(e.mode),a=ml(o),u=r?["-m",r]:[],c=$k(e.additionalArgs??[]),l=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...l,...i,...a,...u,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...l,...i,...a,...u,...c],stdinMessage:t}},extractText(t){let e=Hk(t);if(e)throw new ie(e,Pk);let n=Ml(t);if(n)return n;let r=t.trim();return Yt(r,"codex")?"":r},extractPartialText(t){return Ml(t)},parseResultMeta(t){let e=lr(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Mk(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,a]of o.entries()){let u;try{u=JSON.parse(a);}catch{continue}if(!cn(u))continue;let c=u.type;if(!c)continue;let p=It(u,r);if(Hl(u)){let g=Ul(u);s.push({timestamp:p,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||na(u))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let l=u.item;if(l){if(c==="item.started"){s.push(...Uk(p,l,$l(l,c,n,i)));continue}if(c==="item.completed"){let g=Bk(p,l,$l(l,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Lk.has(r):!1}catch{return false}}};});function Wk(t){return t?jk[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function ho(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Wl(t){let e=[],n=0,r=false,s=false,o=0;for(let a=0;a<t.length;a++){let u=t[a];if(s){s=false;continue}if(u==="\\"&&r){s=true;continue}if(u==='"'){r=!r;continue}if(!r){if(u==="{")n++;else if(u==="}"&&(n--,n===0)){let c=t.slice(o,a+1).trim();c&&e.push(c),o=a+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function gr(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Gk(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);gr(i)?e.push(i):n=!0;continue}catch{}let o=Wl(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let a=JSON.parse(i);gr(a)?e.push(a):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function Dn(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,jl).trim()}function Gl(t){let e=gr(t.error)?t.error:void 0,n=e&&gr(e.data)?e.data:void 0,r=Dn(e?.name),s=Dn(n?.message)??Dn(e?.message)??Dn(t.message)??Dn(t.errorMessage)??Dn(t.error),o=Dn(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??ql;return (o?`${i} (ref: ${o})`:i).slice(0,jl)}function Bl(t){let e=Gk(t),n=[],r=null,s=0,o=[],i,a=false;for(let u of e.events){let c=typeof u.type=="string"?u.type:void 0;if(c){if(c==="text"){let p=gr(u.part)?u.part:void 0,l=typeof p?.text=="string"?p.text:void 0;l?.trim()&&n.push(l.trim());continue}if(c==="result"){typeof u.result=="string"&&(r=u.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(Gl(u));continue}if(c==="step_finish"){a=true;let p=gr(u.part)?u.part:void 0;i=typeof p?.reason=="string"?p.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:a}}function zl(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function mo(){return new ie("OpenCode returned no assistant output.",fr,{code:"EMPTY_OUTPUT",kind:"transient"})}function zk(){return new ie("OpenCode emitted malformed JSON output.",fr,{code:"PROVIDER_CRASHED",kind:"transient"})}function Fl(t,e){switch(zl(t)){case "length":return new ie("OpenCode stopped because the context window was exceeded.",fr,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new ie("OpenCode stopped because the content filter blocked the response.",fr,{code:"UNKNOWN",kind:"permanent"});case "error":return new ie(e?`OpenCode error: ${e}`:`${ql} while generating a response.`,fr,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var qk,fr,ql,jl,jk,ga,_a=D(()=>{h();In();is();cr();Cn();qk=new Set(["step_start","step_finish"]),fr="cli/opencode",ql="OpenCode provider error",jl=240,jk={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};ga={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];ho(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=Wk(e.mode);ho(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!ho(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!ho(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let a;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:a}},extractText(t){let e=Bl(t),n=e.errorMessages[0];if(n){let i=Fl("error",n);if(i)throw i}let r=Fl(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw mo();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw mo();return e.resultText}if(e.malformed)throw zk();if(!e.hasTerminal)throw mo();let o=zl(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw mo()},interpretExit(t,e,n=""){if(t===0)return null;let s=Bl(n).errorMessages[0];return s?new ie(`OpenCode error: ${s}`,fr,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=lr(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=Wl(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let a=It(i,n),u=i.type;if(u){if(u==="text"){let p=i.part?.text;p&&r.push({timestamp:a,type:"text",content:p});continue}if(u==="tool_use"){let c=i.part;if(!c)continue;let p=String(c.tool||""),l=String(c.callID||""),g=c.state,_=String(g?.status||""),m=g?.input,k=At(m);if(r.push({timestamp:a,type:"tool_use",toolName:p,toolUseId:l,toolInput:k}),_==="completed"&&g?.output!==void 0){let R=g.output,O=typeof R=="string"?R:JSON.stringify(R);r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:O,isError:false});}else _==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(u==="error"){let c=Gl(i);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?qk.has(r):!1}catch{return false}}};});var Kl=D(()=>{h();});function ko(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Xk(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function Yk(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!Vk.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function qt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Qk(t,e){if(!(t?dn(ha).some(o=>o.id===t):false)||!t)return e;let r=ss(ha,t),s=dl(ha)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function Qt(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function Ta(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 ya(t){return t.step.step_index}function Ye(t){if(typeof t!="string")return;let e=t.split(/\r?\n/,1)[0]?.trim();return e&&io(e)?.slice(0,500).trim()||void 0}function Zk(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&Jk.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|argument)/].some(o=>o.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 eT(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 tT(t){let e=qt(t)?t:void 0,n=e&&qt(e.error)?e.error:void 0,r=e?Ye(e.code)??Ye(e.error_code)??Ye(n?.code)??Ye(n?.error_code):void 0,s=typeof t=="string"?Ye(t):e?Ye(e.message)??Ye(e.error)??Ye(e.reason)??Ye(n?.message)??Ye(n?.error)??Ye(n?.reason):void 0,o=Zk(r,s),i=e?Qt(e.retry_after_ms)??Qt(e.retryAfterMs)??Qt(n?.retry_after_ms)??Qt(n?.retryAfterMs):void 0;return {code:o,kind:eT(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function yo(t){let e=tT(t);return new ie(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function wa(t){return new ie(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function nT(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=ka))throw new ie(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${ka} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function ma(){return new ie("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 wo(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function Ro(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 rT(t){let e=Ro(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||wo(e.event)?.status!=="SUCCESS"||To(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=Ta(s),i=ya(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!qt(s.usage)||Qt(s.usage.input_tokens)===void 0||Qt(s.usage.output_tokens)===void 0)return false;return true}function sT(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function oT(t,e){return qt(t)&&qt(e)?{...e,...t}:qt(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&qt(e)?{...e,message:t}:t??e}function iT(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=qt(o)?o:void 0,a=typeof o=="string"?Ye(o):Ye(i?.display_name)??Ye(i?.action);a&&!n.includes(a)&&n.length<5&&n.push(a.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new ie(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function To(t){let e=Ro(t);if(!e)return;if(e.event.kind==="agy_error")return yo(e.event.error);let n=wo(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return iT(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return wa("Antigravity returned a result with an unsupported status.");let r=n.error,s=oT(r==null||r===""?n:r,sT(t,e.index));return yo(s)}function Xl(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function aT(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function dT(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function uT(t){let e=Xl(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function Vl(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function Jl(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var ha,Vk,ka,Jk,Ra,Ea=D(()=>{h();In();Kl();ea();rs();vn();os();uo();ha="antigravity",Vk=new Set(["--conversation","--resume","--continue"]),ka=160*1024,Jk=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"]);Ra={command:"agy",maxInitialInputBytes:ka,meta:{displayName:"Antigravity",models:pl(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=ts(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){nT(t);let{model:r,effort:s}=un(e.model),o=aa(r),i=o.model,a=e.effort??s??o.effort,u=Qk(i,a),c=e.additionalArgs??[],p=Yk(Xk(c,new Set(["--input-format","--output-format"]))),l=i&&!ko(c,"--model")?["--model",i]:[],g=ko(c,"--effort")?[]:bl(u),_=ko(c,"--mode")||ko(c,"--dangerously-skip-permissions")?[]:Sl(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",...l,...g,..._,...m,...p],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
52
+ `),a=typeof e.error=="string"?e.error:cn(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||a,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=At(o);return s==="Bash"&&Bt(i)?Ft(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...bt(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(cn(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(a=>String(a.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Fk(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=At(s);return r==="Bash"&&Bt(o)?Ft(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var Lk,Pk,pa,fa=D(()=>{h();In();ns();is();dr();cr();ra();ur();os();vn();Cn();Lk=new Set(["turn.started","turn.completed","item.updated"]),Pk="cli/codex";pa={command:"codex",meta:{displayName:"Codex",models:cl(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=un(e.model),o=e.effort??s,i=e.resumeSessionId?hl(e.mode):_l(e.mode),a=ml(o),u=r?["-m",r]:[],c=$k(e.additionalArgs??[]),l=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...l,...i,...a,...u,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...l,...i,...a,...u,...c],stdinMessage:t}},extractText(t){let e=Hk(t);if(e)throw new ie(e,Pk);let n=Ml(t);if(n)return n;let r=t.trim();return Yt(r,"codex")?"":r},extractPartialText(t){return Ml(t)},parseResultMeta(t){let e=lr(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Mk(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,a]of o.entries()){let u;try{u=JSON.parse(a);}catch{continue}if(!cn(u))continue;let c=u.type;if(!c)continue;let p=It(u,r);if(Hl(u)){let g=Ul(u);s.push({timestamp:p,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||na(u))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let l=u.item;if(l){if(c==="item.started"){s.push(...Uk(p,l,$l(l,c,n,i)));continue}if(c==="item.completed"){let g=Bk(p,l,$l(l,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Lk.has(r):!1}catch{return false}}};});function Wk(t){return t?jk[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function ho(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Wl(t){let e=[],n=0,r=false,s=false,o=0;for(let a=0;a<t.length;a++){let u=t[a];if(s){s=false;continue}if(u==="\\"&&r){s=true;continue}if(u==='"'){r=!r;continue}if(!r){if(u==="{")n++;else if(u==="}"&&(n--,n===0)){let c=t.slice(o,a+1).trim();c&&e.push(c),o=a+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function gr(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Gk(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);gr(i)?e.push(i):n=!0;continue}catch{}let o=Wl(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let a=JSON.parse(i);gr(a)?e.push(a):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function Dn(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,jl).trim()}function Gl(t){let e=gr(t.error)?t.error:void 0,n=e&&gr(e.data)?e.data:void 0,r=Dn(e?.name),s=Dn(n?.message)??Dn(e?.message)??Dn(t.message)??Dn(t.errorMessage)??Dn(t.error),o=Dn(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??ql;return (o?`${i} (ref: ${o})`:i).slice(0,jl)}function Bl(t){let e=Gk(t),n=[],r=null,s=0,o=[],i,a=false;for(let u of e.events){let c=typeof u.type=="string"?u.type:void 0;if(c){if(c==="text"){let p=gr(u.part)?u.part:void 0,l=typeof p?.text=="string"?p.text:void 0;l?.trim()&&n.push(l.trim());continue}if(c==="result"){typeof u.result=="string"&&(r=u.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(Gl(u));continue}if(c==="step_finish"){a=true;let p=gr(u.part)?u.part:void 0;i=typeof p?.reason=="string"?p.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:a}}function zl(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function mo(){return new ie("OpenCode returned no assistant output.",fr,{code:"EMPTY_OUTPUT",kind:"transient"})}function zk(){return new ie("OpenCode emitted malformed JSON output.",fr,{code:"PROVIDER_CRASHED",kind:"transient"})}function Fl(t,e){switch(zl(t)){case "length":return new ie("OpenCode stopped because the context window was exceeded.",fr,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new ie("OpenCode stopped because the content filter blocked the response.",fr,{code:"UNKNOWN",kind:"permanent"});case "error":return new ie(e?`OpenCode error: ${e}`:`${ql} while generating a response.`,fr,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var qk,fr,ql,jl,jk,ga,_a=D(()=>{h();In();is();cr();Cn();qk=new Set(["step_start","step_finish"]),fr="cli/opencode",ql="OpenCode provider error",jl=240,jk={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};ga={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];ho(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=Wk(e.mode);ho(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!ho(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!ho(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let a;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:a}},extractText(t){let e=Bl(t),n=e.errorMessages[0];if(n){let i=Fl("error",n);if(i)throw i}let r=Fl(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw mo();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw mo();return e.resultText}if(e.malformed)throw zk();if(!e.hasTerminal)throw mo();let o=zl(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw mo()},interpretExit(t,e,n=""){if(t===0)return null;let s=Bl(n).errorMessages[0];return s?new ie(`OpenCode error: ${s}`,fr,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=lr(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=Wl(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let a=It(i,n),u=i.type;if(u){if(u==="text"){let p=i.part?.text;p&&r.push({timestamp:a,type:"text",content:p});continue}if(u==="tool_use"){let c=i.part;if(!c)continue;let p=String(c.tool||""),l=String(c.callID||""),g=c.state,_=String(g?.status||""),m=g?.input,k=At(m);if(r.push({timestamp:a,type:"tool_use",toolName:p,toolUseId:l,toolInput:k}),_==="completed"&&g?.output!==void 0){let R=g.output,O=typeof R=="string"?R:JSON.stringify(R);r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:O,isError:false});}else _==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(u==="error"){let c=Gl(i);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?qk.has(r):!1}catch{return false}}};});var Kl=D(()=>{h();});function ko(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Xk(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function Yk(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!Vk.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function qt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Qk(t,e){if(!(t?dn(ha).some(o=>o.id===t):false)||!t)return e;let r=ss(ha,t),s=dl(ha)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function Qt(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function Ta(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 ya(t){return t.step.step_index}function Ye(t){if(typeof t!="string")return;let e=t.split(/\r?\n/,1)[0]?.trim();return e&&io(e)?.slice(0,500).trim()||void 0}function Zk(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&Jk.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|argument)/].some(o=>o.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 eT(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 tT(t){let e=qt(t)?t:void 0,n=e&&qt(e.error)?e.error:void 0,r=e?Ye(e.code)??Ye(e.error_code)??Ye(n?.code)??Ye(n?.error_code):void 0,s=typeof t=="string"?Ye(t):e?Ye(e.message)??Ye(e.error)??Ye(e.reason)??Ye(n?.message)??Ye(n?.error)??Ye(n?.reason):void 0,o=Zk(r,s),i=e?Qt(e.retry_after_ms)??Qt(e.retryAfterMs)??Qt(n?.retry_after_ms)??Qt(n?.retryAfterMs):void 0;return {code:o,kind:eT(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function yo(t){let e=tT(t);return new ie(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function wa(t){return new ie(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function nT(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=ka))throw new ie(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${ka} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function ma(){return new ie("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 wo(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function Ro(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 rT(t){let e=Ro(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||wo(e.event)?.status!=="SUCCESS"||To(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=Ta(s),i=ya(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!qt(s.usage)||Qt(s.usage.input_tokens)===void 0||Qt(s.usage.output_tokens)===void 0)return false;return true}function sT(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function oT(t,e){return qt(t)&&qt(e)?{...e,...t}:qt(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&qt(e)?{...e,message:t}:t??e}function iT(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=qt(o)?o:void 0,a=typeof o=="string"?Ye(o):Ye(i?.display_name)??Ye(i?.action);a&&!n.includes(a)&&n.length<5&&n.push(a.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new ie(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function To(t){let e=Ro(t);if(!e)return;if(e.event.kind==="agy_error")return yo(e.event.error);let n=wo(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return iT(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return wa("Antigravity returned a result with an unsupported status.");let r=n.error,s=oT(r==null||r===""?n:r,sT(t,e.index));return yo(s)}function Xl(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function aT(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function dT(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function uT(t){let e=Xl(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function Vl(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function Jl(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var ha,Vk,ka,Jk,Ra,Ea=D(()=>{h();In();Kl();ea();rs();vn();os();uo();ha="antigravity",Vk=new Set(["--conversation","--resume","--continue"]),ka=10*1024*1024,Jk=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"]);Ra={command:"agy",maxInitialInputBytes:ka,meta:{displayName:"Antigravity",models:pl(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=ts(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){nT(t);let{model:r,effort:s}=un(e.model),o=aa(r),i=o.model,a=e.effort??s??o.effort,u=Qk(i,a),c=e.additionalArgs??[],p=Yk(Xk(c,new Set(["--input-format","--output-format"]))),l=i&&!ko(c,"--model")?["--model",i]:[],g=ko(c,"--effort")?[]:bl(u),_=ko(c,"--mode")||ko(c,"--dangerously-skip-permissions")?[]:Sl(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",...l,...g,..._,...m,...p],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
53
53
  `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(t){let e=Nn(t),n=Ro(e)?.event,r=To(e);if(r)throw r;let s=n?wo(n):void 0;if(s){if(s.status!=="SUCCESS")throw wa("Antigravity returned a result with an unsupported status.");if(typeof s.response!="string")throw wa("Antigravity returned a successful result without a response string.");if(!s.response.trim())throw ma();return s.response}if(e.length>0)throw ma();let o=t.trim();if(!o)throw ma();return o},extractPartialText(t){let e=Nn(t),n=Ro(e)?.event;if(!n||n.kind==="agy_error")return;let r=wo(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(t,e,n){let r=Nn(n??""),s=To(r);return s||(t!==0&&e.trim()?yo(e):null)},parseResultMeta(t){let e=Nn(t),n=0,r=0,s=0,o=0,i=new Set;for(let u of e){if(u.kind!=="step_update"||u.step.state!=="DONE"||!qt(u.step.usage))continue;let c=Ta(u),p=ya(u);if(!c||!Number.isSafeInteger(p))continue;let l=JSON.stringify([c,p]);if(i.has(l))continue;let g=u.step.usage,_=Qt(g.input_tokens),m=Qt(g.output_tokens);_===void 0||m===void 0||(i.add(l),n+=_,r+=m,s+=Qt(g.cache_read_tokens)??0,o+=1);}return {usage:o===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:s,costUsd:0,complete:rT(e)},model:null}},parseEvent(t,e,n){let r=ts(t);if(!r)return [];let s=e??new Date().toISOString();if(r.kind==="agy_error")return [Jl(s,yo(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let _=To([r]);return _?[Jl(s,_)]:[]}if(r.kind!=="step_update")return [];let{step:o}=r,i=Ta(r)??"unknown",a=ya(r),u=`${i}:${a}`;if(o.state==="DONE"&&Vl(n,`antigravity:terminal:${u}`))return [];if(o.step_type==="agent_response")return typeof o.text_delta=="string"&&o.text_delta.length>0?[{timestamp:s,type:"text",content:o.text_delta}]:[];if(o.step_type!=="tool")return [];let c=qt(o.tool_info)?o.tool_info:void 0,p=dT(o,c);if(!p)return [];let l=aT(o);if(o.state==="ACTIVE"){if(Vl(n,`antigravity:active:${u}`))return [];let _=Xl(c?.parameters);return [{timestamp:s,type:"tool_use",toolName:p,toolUseId:l,..._===void 0?{}:{toolInput:_}}]}let g=uT(c?.output);return [{timestamp:s,type:"tool_result",toolName:p,toolUseId:l,...g===void 0?{}:{resultPreview:g}}]}};});var Yl=D(()=>{h();dr();cr();ur();Cn();});function _r(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function hr(t){return _r(t)?t:void 0}function Qe(t){return typeof t=="string"?t:void 0}function Ln(t){let e=typeof t=="number"?t:Number(t??0);return Number.isFinite(e)?e:0}function gT(t){let e=[],n=-1,r=0,s=false,o=false;for(let i=0;i<t.length;i+=1){let a=t[i];if(n===-1){(a==="{"||a==="[")&&(n=i,r=1);continue}if(o){o=false;continue}if(a==="\\"&&s){o=true;continue}if(a==='"'){s=!s;continue}s||(a==="{"||a==="["?r+=1:(a==="}"||a==="]")&&(r-=1,r===0&&(e.push(t.slice(n,i+1)),n=-1)));}return n!==-1&&e.push(t.slice(n)),e}function as(t){let e=t.trim();if(!e)return [];try{let n=JSON.parse(e);return _r(n)?[n]:[]}catch{return gT(e).flatMap(n=>{try{let r=JSON.parse(n);return _r(r)?[r]:[]}catch{return []}})}}function np(t){let e=JSON.stringify(t);return e===void 0?String(t):e}function xn(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.map(xn).filter(n=>n!==void 0);return e.length>0?e.join(`
54
54
  `):void 0}if(_r(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=xn(t[e]);if(n!==void 0)return n}}}function _T(t){let e=i=>Array.isArray(i)&&i.every(a=>Number.isInteger(a)&&a>=0&&a<=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)),s=i=>{let a=JSON.stringify(i,(u,c)=>e(c)?`<bytes:${c.length}>`:c);return a===void 0?String(i):a},o=t.rawOutput;if(o!=null){let i=hr(o);if(!i)return n(xn(o))??s(o);let a;if(e(i.output)&&i.output.length>0&&(a=n(r(i.output))),!a&&e(i.stdout)&&i.stdout.length>0&&(a=n(r(i.stdout))),!a){let p=hr(i.Result);a=n(i.output)??n(p?.output)??n(xn(o));}let u=e(i.stderr)&&i.stderr.length>0?r(i.stderr):void 0;if(u!==void 0)if(a){let p=a.endsWith(`
55
55
  `)||a.endsWith("\r")?"":`
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@
18
18
  `);for(let r of t)if(r.trim())try{let o=JSON.parse(r);if(o.type==="result"){let i=o.usage,s=i?{inputTokens:Number(i.input_tokens??0)+Number(i.cache_read_input_tokens??0),outputTokens:Number(i.output_tokens??0),cachedInputTokens:Number(i.cache_read_input_tokens??0),costUsd:Number(o.total_cost_usd??0)}:null,a=o.modelUsage,d=a?Object.keys(a)[0]??null:null;return {usage:s,model:d}}}catch{}let n=kv(e);return n?{usage:{inputTokens:n.inputTokens,outputTokens:0,cachedInputTokens:n.cachedInputTokens,costUsd:0},model:n.model??null}:{usage:null,model:null}},parseEvent(e,t){let n;try{n=JSON.parse(e);}catch{return []}let r=n.type;if(!r)return [];let o=sr(n,t??new Date().toISOString()),i=vW(n);if(i)return [{timestamp:o,type:"error",content:i,errorMessage:i}];let s=n.output_file,a=n.summary;if(r==="system"&&n.subtype==="task_notification"&&n.status==="completed"&&typeof s=="string"&&s.trim().length>0&&typeof a=="string"&&a.trim().length>0)return [{timestamp:o,type:"text",content:a}];if(r!=="assistant"&&r!=="user")return [];let c=n.message?.content;if(!Array.isArray(c))return [];let l=[];for(let u of c){let p=NW(o,u);p&&l.push(p);}return l},suppressOutputLine(e){let t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return false;try{let r=JSON.parse(t).type;return r?wW.has(r):!1}catch{return false}}};Zv=200;});function nC(e){let t=e.split(`
19
19
  `).filter(o=>o.trim()),n=[],r=null;for(let o of t)try{let i=JSON.parse(o);if(i.type==="assistant.message"&&typeof i.data?.content=="string"){let s=i.data.content;s.trim()&&n.push(s.trim());}i.type==="result"&&typeof i.result=="string"&&(r=i.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var xW;exports.copilotAdapter=void 0;var AI=M(()=>{h();_c();Da();Ac();Ic();ks();Ir();ya();Rs();xW=new Set(["interactive","plan","autopilot"]);exports.copilotAdapter={command:"copilot",meta:{displayName:"Copilot",models:GA()},buildArgs(e,t,n){let r=t.additionalArgs?[...t.additionalArgs]:[];return t.model&&r.push("--model",t.model),t.mode&&xW.has(t.mode)&&r.push("--mode",t.mode),t.effort&&(exports.PROVIDER_ARGV_EFFORTS.copilot??[]).includes(t.effort)&&r.push("--effort",t.effort),{args:r,stdinMessage:e}},extractText(e){let t=nC(e);if(t)return t;let n=e.trim();return zo(n,"copilot")?"":n},extractPartialText(e){return nC(e)},parseResultMeta(e){let t=bi(e);return t?{usage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens,cachedInputTokens:t.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(e,t){let n;try{n=JSON.parse(e);}catch{return []}let r=n.type;if(!r)return [];if(!r.startsWith("tool.execution")&&!r.startsWith("assistant.")&&r!=="user.message")return [];let o=n.data;if(!o)return [];let i=sr(n,t??new Date().toISOString()),s=o.toolCallId;if(r==="tool.execution_start"){let a=String(o.toolName||""),d=o.arguments,c=jr(d);return (a==="bash"||a==="Bash")&&co(c)?[lo(i,c,s)]:[{timestamp:i,type:"tool_use",toolName:a,toolInput:c,...s&&{toolUseId:s}}]}if(r==="tool.execution_complete"){let a=o.error;if(a)return [{timestamp:i,type:"tool_result",...s&&{toolUseId:s},...kr(String(a.message||""),true)}];let d=o.result,c=String(d?.content||"");return [{timestamp:i,type:"tool_result",...s&&{toolUseId:s},...kr(c,false)}]}if(r==="assistant.message"){let a=String(o.content||"");return a?[{timestamp:i,type:"text",content:a}]:[]}return []}};});function MW(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 UW(e){return e[0]==="exec"?e.slice(1):e}function rC(e){let t=e.split(`
20
20
  `).map(o=>o.trim()).filter(Boolean),n=[],r=null;for(let o of t)try{let i=JSON.parse(o);if(i.type==="item.completed"&&(i.item?.type==="message"||i.item?.type==="agent_message")&&typeof i.item?.text=="string"){let s=i.item.text;s.trim()&&n.push(s.trim());}i.type==="result"&&typeof i.result=="string"&&(r=i.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function Ss(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iC(e){return e.type==="turn.failed"?true:e.type!=="error"?false:typeof e.message=="string"||typeof e.errorMessage=="string"||typeof e.error=="string"||Ss(e.error)}function sC(e){let t=Ss(e.error)?e.error:void 0,n=[e.message,e.errorMessage,t?.message,t?.detail,typeof e.error=="string"?e.error:void 0];for(let r of n)if(typeof r=="string"&&r.trim())return r;return e.type==="turn.failed"?"Codex turn failed.":"Codex CLI reported an error."}function FW(e){for(let t of e.split(/\r?\n/)){if(!t.trim())continue;let n;try{n=JSON.parse(t);}catch{continue}if(Ss(n)&&iC(n))return sC(n)}}function oC(e,t,n,r){if(!n||e.type!=="command_execution"&&e.type!=="mcp_tool_call"||typeof e.id!="string"||!e.id.trim()||e.type==="mcp_tool_call"&&t==="item.started"&&(typeof e.server!="string"||typeof e.tool!="string"))return;let o=n.state.get("codex.pending");o||(o=new Map,n.state.set("codex.pending",o));let i=JSON.stringify([e.type,e.id]);if(t==="item.started"){let d=`codex:${JSON.stringify(e.id)}#${n.rowIndex}:${r}`,c=o.get(i)??[];return c.push(d),o.set(i,c),d}let s=o.get(i),a=s?.pop();return s?.length||o.delete(i),a}function BW(e,t,n){let r=t.type;if(r==="command_execution"){let o=String(t.command||"");return co(o)?[lo(e,o,n)]:[{timestamp:e,type:"tool_use",toolName:"Bash",toolInput:o,...n?{toolUseId:n}:{}}]}return r==="mcp_tool_call"?typeof t.server!="string"||typeof t.tool!="string"?[]:[{timestamp:e,type:"tool_use",toolName:`${t.server}/${t.tool}`,toolInput:jr(t.arguments),...n?{toolUseId:n}:{}}]:[]}function HW(e,t,n){let r=t.type;if(r==="message"||r==="text"){let o=t.content;if(Array.isArray(o))for(let i of o){let s=jW(e,i);if(s)return s}if(typeof t.text=="string")return {timestamp:e,type:"text",content:t.text}}if(r==="agent_message"&&typeof t.text=="string")return {timestamp:e,type:"text",content:t.text};if(r==="reasoning"){let o=typeof t.text=="string"?t.text.trim():"";return o?{timestamp:e,type:"thinking",content:o}:null}if(r==="command_execution"){let o=String(t.aggregated_output||t.output||""),i=!!t.is_error;return {timestamp:e,type:"tool_result",...kr(o,i),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let o=Ss(t.result)?t.result:void 0,s=(Array.isArray(o?.content)?o.content:[]).filter(d=>Ss(d)&&d.type==="text"&&typeof d.text=="string").map(d=>d.text).join(`
21
- `),a=typeof t.error=="string"?t.error:Ss(t.error)&&typeof t.error.message=="string"?t.error.message:"";return {timestamp:e,type:"tool_result",resultPreview:s||a,isError:t.status==="failed"||t.status==="error"||t.is_error===true||t.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let o=String(t.name||t.tool_name||""),i=t.input,s=jr(i);return o==="Bash"&&co(s)?lo(e,s):{timestamp:e,type:"tool_use",toolName:o,toolInput:s}}if(r==="tool_result"){let o=!!t.is_error,i=String(t.output||t.content||"");return {timestamp:e,type:"tool_result",...kr(i,o)}}if(r==="web_search"){let o=t.action,i;if(o?.type==="search"){let s=o.queries;i=String(o.query||"")||(s?.length?s.join(", "):"")||String(t.query||"");}else i=t.query?"open: "+String(t.query):"";return !i&&!(Ss(o)&&o.type==="other"&&t.query==="")?null:{timestamp:e,type:"tool_use",toolName:"WebSearch",toolInput:i}}if(r==="file_change"){let o=t.changes;if(!Array.isArray(o)||o.length===0)return null;let i=o.map(a=>String(a.path||"")).filter(Boolean);if(i.length===0)return null;let s=i.length===1?i[0]:`${i.slice(0,2).join(", ")}${i.length>2?` (+${i.length-2})`:""}`;return {timestamp:e,type:"tool_use",toolName:"Edit",toolInput:s}}return null}function jW(e,t){let n=t.type;if(n==="text")return {timestamp:e,type:"text",content:String(t.text||"")};if(n==="tool_use"){let r=String(t.name||""),o=t.input,i=jr(o);return r==="Bash"&&co(i)?lo(e,i):{timestamp:e,type:"tool_use",toolName:r,toolInput:i}}return null}var DW,LW;exports.codexAdapter=void 0;var II=M(()=>{h();vi();_c();Da();Ac();Ic();pI();ks();Tu();Ir();Rs();DW=new Set(["turn.started","turn.completed","item.updated"]),LW="cli/codex";exports.codexAdapter={command:"codex",meta:{displayName:"Codex",models:qA(),capabilities:{resume:true}},buildArgs(e,t,n){let{model:r,effort:o}=ws(t.model),i=t.effort??o,s=t.resumeSessionId?Bv(t.mode):Fv(t.mode),a=Hv(i),d=r?["-m",r]:[],c=UW(t.additionalArgs??[]),u=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return t.resumeSessionId?{args:["exec","resume",...u,...s,...a,...d,...c,t.resumeSessionId,"-"],stdinMessage:e}:{args:["exec",...u,...s,...a,...d,...c],stdinMessage:e}},extractText(e){let t=FW(e);if(t)throw new exports.ProviderError(t,LW);let n=rC(e);if(n)return n;let r=e.trim();return zo(r,"codex")?"":r},extractPartialText(e){return rC(e)},parseResultMeta(e){let t=bi(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;try{JSON.parse(e),i=[e];}catch{i=MW(e),i.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[s,a]of i.entries()){let d;try{d=JSON.parse(a);}catch{continue}if(!Ss(d))continue;let c=d.type;if(!c)continue;let l=sr(d,r);if(iC(d)){let p=sC(d);o.push({timestamp:l,type:"error",content:p,errorMessage:p});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||xg(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let u=d.item;if(u){if(c==="item.started"){o.push(...BW(l,u,oC(u,c,n,s)));continue}if(c==="item.completed"){let p=HW(l,u,oC(u,c,n,s));p&&o.push(p);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?DW.has(r):!1}catch{return false}}};});function WW(e){return e?VW[e]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function Wg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function uC(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 wc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qW(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);wc(s)?t.push(s):n=!0;continue}catch{}let i=uC(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);wc(a)?t.push(a):n=!0;}catch{n=true;}}return {events:t,malformed:n}}function Ba(e){if(typeof e!="string")return;let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(t)return t.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,lC).trim()}function pC(e){let t=wc(e.error)?e.error:void 0,n=t&&wc(t.data)?t.data:void 0,r=Ba(t?.name),o=Ba(n?.message)??Ba(t?.message)??Ba(e.message)??Ba(e.errorMessage)??Ba(e.error),i=Ba(e.ref),s=r&&o&&r!==o?`${r}: ${o}`:r??o??cC;return (i?`${s} (ref: ${i})`:s).slice(0,lC)}function aC(e){let t=qW(e),n=[],r=null,o=0,i=[],s,a=false;for(let d of t.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=wc(d.part)?d.part:void 0,u=typeof l?.text=="string"?l.text:void 0;u?.trim()&&n.push(u.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){o++;continue}if(c==="error"){i.push(pC(d));continue}if(c==="step_finish"){a=true;let l=wc(d.part)?d.part:void 0;s=typeof l?.reason=="string"?l.reason:void 0;}}}return {...t,texts:n,resultText:r,toolUseCount:o,errorMessages:i,terminalReason:s,hasTerminal:a}}function fC(e){return (e??"unknown").trim().toLowerCase().replace(/_/g,"-")}function qg(){return new exports.ProviderError("OpenCode returned no assistant output.",kc,{code:"EMPTY_OUTPUT",kind:"transient"})}function GW(){return new exports.ProviderError("OpenCode emitted malformed JSON output.",kc,{code:"PROVIDER_CRASHED",kind:"transient"})}function dC(e,t){switch(fC(e)){case "length":return new exports.ProviderError("OpenCode stopped because the context window was exceeded.",kc,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new exports.ProviderError("OpenCode stopped because the content filter blocked the response.",kc,{code:"UNKNOWN",kind:"permanent"});case "error":return new exports.ProviderError(t?`OpenCode error: ${t}`:`${cC} while generating a response.`,kc,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var $W,kc,cC,lC,VW;exports.opencodeAdapter=void 0;var TI=M(()=>{h();vi();Da();Ic();Rs();$W=new Set(["step_start","step_finish"]),kc="cli/opencode",cC="OpenCode provider error",lC=240,VW={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",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(e,t,n){let r=t.additionalArgs,o=r!==void 0?[...r]:["run"];Wg(o,"--format")||o.push("--format","json"),t.resumeSessionId&&!o.includes("-s")&&!o.includes("--session")&&o.push("-s",t.resumeSessionId);let{agent:i,autoApprove:s}=WW(t.mode);Wg(o,"--agent")||i!==void 0&&o.push("--agent",i),s&&!Wg(o,"--auto")&&o.push("--auto"),t.effort!==void 0&&!Wg(o,"--variant")&&o.push("--variant",t.effort),t.model&&o.push("--model",t.model);let a;return !n&&!s&&!t.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:o,stdinMessage:e,env:a}},extractText(e){let t=aC(e),n=t.errorMessages[0];if(n){let s=dC("error",n);if(s)throw s}let r=dC(t.terminalReason??"",void 0);if(r)throw r;let o=t.texts.length>0?t.texts[t.texts.length-1]:void 0;if(o!==void 0){if(!t.hasTerminal)throw qg();return o}if(t.resultText?.trim()){if(!t.hasTerminal)throw qg();return t.resultText}if(t.malformed)throw GW();if(!t.hasTerminal)throw qg();let i=fC(t.terminalReason);if((i==="stop"||i==="tool-calls")&&t.toolUseCount>0)return "";throw qg()},interpretExit(e,t,n=""){if(e===0)return null;let o=aC(n).errorMessages[0];return o?new exports.ProviderError(`OpenCode error: ${o}`,kc,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(e){let t=bi(e);return t?{usage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens,cachedInputTokens:t.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(e,t){let n=t??new Date().toISOString(),r=[],o;try{JSON.parse(e),o=[e];}catch{o=uC(e),o.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let i of o){let s;try{s=JSON.parse(i);}catch{continue}let a=sr(s,n),d=s.type;if(d){if(d==="text"){let l=s.part?.text;l&&r.push({timestamp:a,type:"text",content:l});continue}if(d==="tool_use"){let c=s.part;if(!c)continue;let l=String(c.tool||""),u=String(c.callID||""),p=c.state,f=String(p?.status||""),g=p?.input,y=jr(g);if(r.push({timestamp:a,type:"tool_use",toolName:l,toolUseId:u,toolInput:y}),f==="completed"&&p?.output!==void 0){let _=p.output,A=typeof _=="string"?_:JSON.stringify(_);r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:A,isError:false});}else f==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:String(p?.error||"tool error"),isError:true});continue}if(d==="error"){let c=pC(s);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(e){let t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return false;try{let r=JSON.parse(t).type;return r?$W.has(r):!1}catch{return false}}};});function gC(e,t){if(e===void 0||e==="")return t;let n=parseInt(e,10);return Number.isNaN(n)?t:n}function EI(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 mC(e=process.env){return {queryMs:gC(e.CREWX_TIMEOUT_QUERY,288e5),executeMs:gC(e.CREWX_TIMEOUT_EXECUTE,288e5),idleMs:EI(e)??6e5}}var ku=M(()=>{h();});function Jg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function KW(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 XW(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(!JW.has(i)){t.push(r);continue}r===i&&n+1<e.length&&!e[n+1].startsWith("-")&&(n+=1);}return t}function Ko(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function YW(e,t){if(!(e?io(kI).some(i=>i.id===e):false)||!e)return t;let r=ao(kI,e),o=oc(kI)[e]?.defaultEffort;if(r.length!==0)return t?r.includes(t)?t:o&&r.includes(o)?o:void 0:o}function Ci(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0?e:void 0}function SI(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 bI(e){return e.step.step_index}function ar(e){if(typeof e!="string")return;let t=e.split(/\r?\n/,1)[0]?.trim();return t&&Ua(t)?.slice(0,500).trim()||void 0}function QW(e,t){let n=(e??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&zW.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|argument)/].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 ZW(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 eq(e){let t=Ko(e)?e:void 0,n=t&&Ko(t.error)?t.error:void 0,r=t?ar(t.code)??ar(t.error_code)??ar(n?.code)??ar(n?.error_code):void 0,o=typeof e=="string"?ar(e):t?ar(t.message)??ar(t.error)??ar(t.reason)??ar(n?.message)??ar(n?.error)??ar(n?.reason):void 0,i=QW(r,o),s=t?Ci(t.retry_after_ms)??Ci(t.retryAfterMs)??Ci(n?.retry_after_ms)??Ci(n?.retryAfterMs):void 0;return {code:i,kind:ZW(i),message:o??"Antigravity reported a terminal error.",...s===void 0?{}:{retryAfterMs:s}}}function Kg(e){let t=eq(e);return new exports.ProviderError(t.message,"cli/antigravity",{code:t.code,kind:t.kind,...t.retryAfterMs===void 0?{}:{retryAfterMs:t.retryAfterMs}})}function vI(e){return new exports.ProviderError(e,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function tq(e){let t=new TextEncoder().encode(e).byteLength;if(!(t<=RI))throw new exports.ProviderError(`Prompt is too large for Antigravity: measured ${t} UTF-8 bytes; allowed ${RI} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function wI(){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 Xg(e){if(e.kind==="result"||e.kind==="legacy_result")return e.result}function Yg(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 nq(e){let t=Yg(e);if(!t||t.event.kind==="agy_error"||t.index!==e.length-1||Xg(t.event)?.status!=="SUCCESS"||zg(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=SI(o),s=bI(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"||!Ko(o.usage)||Ci(o.usage.input_tokens)===void 0||Ci(o.usage.output_tokens)===void 0)return false;return true}function rq(e,t){for(let n=t-1;n>=0;n-=1){let r=e[n];if(r?.kind==="agy_error")return r.error}}function oq(e,t){return Ko(e)&&Ko(t)?{...t,...e}:Ko(e)&&typeof t=="string"?{...e,message:t}:typeof e=="string"&&Ko(t)?{...t,message:e}:e??t}function iq(e){let t=Array.isArray(e.denied_actions)?e.denied_actions:[],n=[];for(let i of t){let s=Ko(i)?i:void 0,a=typeof i=="string"?ar(i):ar(s?.display_name)??ar(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 zg(e){let t=Yg(e);if(!t)return;if(t.event.kind==="agy_error")return Kg(t.event.error);let n=Xg(t.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return iq(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return vI("Antigravity returned a result with an unsupported status.");let r=n.error,o=oq(r==null||r===""?n:r,rq(e,t.index));return Kg(o)}function _C(e){if(typeof e=="string")return e;if(e!=null)try{return JSON.stringify(e)}catch{return}}function sq(e){return `agy:${String(e.conversation_id)}:${String(e.step_index)}`}function aq(e,t){let n=typeof t?.name=="string"?t.name:e.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function dq(e){let t=_C(e);if(t)return t.length<=2e3?t:`${t.slice(0,1999)}\u2026`}function hC(e,t){return e?e.state.has(t)?true:(e.state.set(t,true),false):false}function yC(e,t){return {timestamp:e,type:"error",content:t.message,errorMessage:t.message,isError:true}}var kI,JW,RI,zW,CI,PI=M(()=>{h();vi();ku();Au();Ta();Ir();Tu();Dg();kI="antigravity",JW=new Set(["--conversation","--resume","--continue"]),RI=160*1024,zW=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"]);CI={command:"agy",maxInitialInputBytes:RI,meta:{displayName:"Antigravity",models:JA(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(e){let t=mc(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){tq(e);let{model:r,effort:o}=ws(t.model),i=ug(r),s=i.model,a=t.effort??o??i.effort,d=YW(s,a),c=t.additionalArgs??[],l=XW(KW(c,new Set(["--input-format","--output-format"]))),u=s&&!Jg(c,"--model")?["--model",s]:[],p=Jg(c,"--effort")?[]:zv(d),f=Jg(c,"--mode")||Jg(c,"--dangerously-skip-permissions")?[]:Jv(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}})}
21
+ `),a=typeof t.error=="string"?t.error:Ss(t.error)&&typeof t.error.message=="string"?t.error.message:"";return {timestamp:e,type:"tool_result",resultPreview:s||a,isError:t.status==="failed"||t.status==="error"||t.is_error===true||t.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let o=String(t.name||t.tool_name||""),i=t.input,s=jr(i);return o==="Bash"&&co(s)?lo(e,s):{timestamp:e,type:"tool_use",toolName:o,toolInput:s}}if(r==="tool_result"){let o=!!t.is_error,i=String(t.output||t.content||"");return {timestamp:e,type:"tool_result",...kr(i,o)}}if(r==="web_search"){let o=t.action,i;if(o?.type==="search"){let s=o.queries;i=String(o.query||"")||(s?.length?s.join(", "):"")||String(t.query||"");}else i=t.query?"open: "+String(t.query):"";return !i&&!(Ss(o)&&o.type==="other"&&t.query==="")?null:{timestamp:e,type:"tool_use",toolName:"WebSearch",toolInput:i}}if(r==="file_change"){let o=t.changes;if(!Array.isArray(o)||o.length===0)return null;let i=o.map(a=>String(a.path||"")).filter(Boolean);if(i.length===0)return null;let s=i.length===1?i[0]:`${i.slice(0,2).join(", ")}${i.length>2?` (+${i.length-2})`:""}`;return {timestamp:e,type:"tool_use",toolName:"Edit",toolInput:s}}return null}function jW(e,t){let n=t.type;if(n==="text")return {timestamp:e,type:"text",content:String(t.text||"")};if(n==="tool_use"){let r=String(t.name||""),o=t.input,i=jr(o);return r==="Bash"&&co(i)?lo(e,i):{timestamp:e,type:"tool_use",toolName:r,toolInput:i}}return null}var DW,LW;exports.codexAdapter=void 0;var II=M(()=>{h();vi();_c();Da();Ac();Ic();pI();ks();Tu();Ir();Rs();DW=new Set(["turn.started","turn.completed","item.updated"]),LW="cli/codex";exports.codexAdapter={command:"codex",meta:{displayName:"Codex",models:qA(),capabilities:{resume:true}},buildArgs(e,t,n){let{model:r,effort:o}=ws(t.model),i=t.effort??o,s=t.resumeSessionId?Bv(t.mode):Fv(t.mode),a=Hv(i),d=r?["-m",r]:[],c=UW(t.additionalArgs??[]),u=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return t.resumeSessionId?{args:["exec","resume",...u,...s,...a,...d,...c,t.resumeSessionId,"-"],stdinMessage:e}:{args:["exec",...u,...s,...a,...d,...c],stdinMessage:e}},extractText(e){let t=FW(e);if(t)throw new exports.ProviderError(t,LW);let n=rC(e);if(n)return n;let r=e.trim();return zo(r,"codex")?"":r},extractPartialText(e){return rC(e)},parseResultMeta(e){let t=bi(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;try{JSON.parse(e),i=[e];}catch{i=MW(e),i.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[s,a]of i.entries()){let d;try{d=JSON.parse(a);}catch{continue}if(!Ss(d))continue;let c=d.type;if(!c)continue;let l=sr(d,r);if(iC(d)){let p=sC(d);o.push({timestamp:l,type:"error",content:p,errorMessage:p});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||xg(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let u=d.item;if(u){if(c==="item.started"){o.push(...BW(l,u,oC(u,c,n,s)));continue}if(c==="item.completed"){let p=HW(l,u,oC(u,c,n,s));p&&o.push(p);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?DW.has(r):!1}catch{return false}}};});function WW(e){return e?VW[e]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function Wg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function uC(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 wc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qW(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);wc(s)?t.push(s):n=!0;continue}catch{}let i=uC(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);wc(a)?t.push(a):n=!0;}catch{n=true;}}return {events:t,malformed:n}}function Ba(e){if(typeof e!="string")return;let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(t)return t.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,lC).trim()}function pC(e){let t=wc(e.error)?e.error:void 0,n=t&&wc(t.data)?t.data:void 0,r=Ba(t?.name),o=Ba(n?.message)??Ba(t?.message)??Ba(e.message)??Ba(e.errorMessage)??Ba(e.error),i=Ba(e.ref),s=r&&o&&r!==o?`${r}: ${o}`:r??o??cC;return (i?`${s} (ref: ${i})`:s).slice(0,lC)}function aC(e){let t=qW(e),n=[],r=null,o=0,i=[],s,a=false;for(let d of t.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=wc(d.part)?d.part:void 0,u=typeof l?.text=="string"?l.text:void 0;u?.trim()&&n.push(u.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){o++;continue}if(c==="error"){i.push(pC(d));continue}if(c==="step_finish"){a=true;let l=wc(d.part)?d.part:void 0;s=typeof l?.reason=="string"?l.reason:void 0;}}}return {...t,texts:n,resultText:r,toolUseCount:o,errorMessages:i,terminalReason:s,hasTerminal:a}}function fC(e){return (e??"unknown").trim().toLowerCase().replace(/_/g,"-")}function qg(){return new exports.ProviderError("OpenCode returned no assistant output.",kc,{code:"EMPTY_OUTPUT",kind:"transient"})}function GW(){return new exports.ProviderError("OpenCode emitted malformed JSON output.",kc,{code:"PROVIDER_CRASHED",kind:"transient"})}function dC(e,t){switch(fC(e)){case "length":return new exports.ProviderError("OpenCode stopped because the context window was exceeded.",kc,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new exports.ProviderError("OpenCode stopped because the content filter blocked the response.",kc,{code:"UNKNOWN",kind:"permanent"});case "error":return new exports.ProviderError(t?`OpenCode error: ${t}`:`${cC} while generating a response.`,kc,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var $W,kc,cC,lC,VW;exports.opencodeAdapter=void 0;var TI=M(()=>{h();vi();Da();Ic();Rs();$W=new Set(["step_start","step_finish"]),kc="cli/opencode",cC="OpenCode provider error",lC=240,VW={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",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(e,t,n){let r=t.additionalArgs,o=r!==void 0?[...r]:["run"];Wg(o,"--format")||o.push("--format","json"),t.resumeSessionId&&!o.includes("-s")&&!o.includes("--session")&&o.push("-s",t.resumeSessionId);let{agent:i,autoApprove:s}=WW(t.mode);Wg(o,"--agent")||i!==void 0&&o.push("--agent",i),s&&!Wg(o,"--auto")&&o.push("--auto"),t.effort!==void 0&&!Wg(o,"--variant")&&o.push("--variant",t.effort),t.model&&o.push("--model",t.model);let a;return !n&&!s&&!t.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:o,stdinMessage:e,env:a}},extractText(e){let t=aC(e),n=t.errorMessages[0];if(n){let s=dC("error",n);if(s)throw s}let r=dC(t.terminalReason??"",void 0);if(r)throw r;let o=t.texts.length>0?t.texts[t.texts.length-1]:void 0;if(o!==void 0){if(!t.hasTerminal)throw qg();return o}if(t.resultText?.trim()){if(!t.hasTerminal)throw qg();return t.resultText}if(t.malformed)throw GW();if(!t.hasTerminal)throw qg();let i=fC(t.terminalReason);if((i==="stop"||i==="tool-calls")&&t.toolUseCount>0)return "";throw qg()},interpretExit(e,t,n=""){if(e===0)return null;let o=aC(n).errorMessages[0];return o?new exports.ProviderError(`OpenCode error: ${o}`,kc,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(e){let t=bi(e);return t?{usage:{inputTokens:t.inputTokens,outputTokens:t.outputTokens,cachedInputTokens:t.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(e,t){let n=t??new Date().toISOString(),r=[],o;try{JSON.parse(e),o=[e];}catch{o=uC(e),o.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let i of o){let s;try{s=JSON.parse(i);}catch{continue}let a=sr(s,n),d=s.type;if(d){if(d==="text"){let l=s.part?.text;l&&r.push({timestamp:a,type:"text",content:l});continue}if(d==="tool_use"){let c=s.part;if(!c)continue;let l=String(c.tool||""),u=String(c.callID||""),p=c.state,f=String(p?.status||""),g=p?.input,y=jr(g);if(r.push({timestamp:a,type:"tool_use",toolName:l,toolUseId:u,toolInput:y}),f==="completed"&&p?.output!==void 0){let _=p.output,A=typeof _=="string"?_:JSON.stringify(_);r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:A,isError:false});}else f==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:u,resultPreview:String(p?.error||"tool error"),isError:true});continue}if(d==="error"){let c=pC(s);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(e){let t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return false;try{let r=JSON.parse(t).type;return r?$W.has(r):!1}catch{return false}}};});function gC(e,t){if(e===void 0||e==="")return t;let n=parseInt(e,10);return Number.isNaN(n)?t:n}function EI(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 mC(e=process.env){return {queryMs:gC(e.CREWX_TIMEOUT_QUERY,288e5),executeMs:gC(e.CREWX_TIMEOUT_EXECUTE,288e5),idleMs:EI(e)??6e5}}var ku=M(()=>{h();});function Jg(e,t){return e.some(n=>n===t||n.startsWith(`${t}=`))}function KW(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 XW(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(!JW.has(i)){t.push(r);continue}r===i&&n+1<e.length&&!e[n+1].startsWith("-")&&(n+=1);}return t}function Ko(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function YW(e,t){if(!(e?io(kI).some(i=>i.id===e):false)||!e)return t;let r=ao(kI,e),o=oc(kI)[e]?.defaultEffort;if(r.length!==0)return t?r.includes(t)?t:o&&r.includes(o)?o:void 0:o}function Ci(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0?e:void 0}function SI(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 bI(e){return e.step.step_index}function ar(e){if(typeof e!="string")return;let t=e.split(/\r?\n/,1)[0]?.trim();return t&&Ua(t)?.slice(0,500).trim()||void 0}function QW(e,t){let n=(e??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&zW.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|argument)/].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 ZW(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 eq(e){let t=Ko(e)?e:void 0,n=t&&Ko(t.error)?t.error:void 0,r=t?ar(t.code)??ar(t.error_code)??ar(n?.code)??ar(n?.error_code):void 0,o=typeof e=="string"?ar(e):t?ar(t.message)??ar(t.error)??ar(t.reason)??ar(n?.message)??ar(n?.error)??ar(n?.reason):void 0,i=QW(r,o),s=t?Ci(t.retry_after_ms)??Ci(t.retryAfterMs)??Ci(n?.retry_after_ms)??Ci(n?.retryAfterMs):void 0;return {code:i,kind:ZW(i),message:o??"Antigravity reported a terminal error.",...s===void 0?{}:{retryAfterMs:s}}}function Kg(e){let t=eq(e);return new exports.ProviderError(t.message,"cli/antigravity",{code:t.code,kind:t.kind,...t.retryAfterMs===void 0?{}:{retryAfterMs:t.retryAfterMs}})}function vI(e){return new exports.ProviderError(e,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function tq(e){let t=new TextEncoder().encode(e).byteLength;if(!(t<=RI))throw new exports.ProviderError(`Prompt is too large for Antigravity: measured ${t} UTF-8 bytes; allowed ${RI} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function wI(){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 Xg(e){if(e.kind==="result"||e.kind==="legacy_result")return e.result}function Yg(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 nq(e){let t=Yg(e);if(!t||t.event.kind==="agy_error"||t.index!==e.length-1||Xg(t.event)?.status!=="SUCCESS"||zg(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=SI(o),s=bI(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"||!Ko(o.usage)||Ci(o.usage.input_tokens)===void 0||Ci(o.usage.output_tokens)===void 0)return false;return true}function rq(e,t){for(let n=t-1;n>=0;n-=1){let r=e[n];if(r?.kind==="agy_error")return r.error}}function oq(e,t){return Ko(e)&&Ko(t)?{...t,...e}:Ko(e)&&typeof t=="string"?{...e,message:t}:typeof e=="string"&&Ko(t)?{...t,message:e}:e??t}function iq(e){let t=Array.isArray(e.denied_actions)?e.denied_actions:[],n=[];for(let i of t){let s=Ko(i)?i:void 0,a=typeof i=="string"?ar(i):ar(s?.display_name)??ar(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 zg(e){let t=Yg(e);if(!t)return;if(t.event.kind==="agy_error")return Kg(t.event.error);let n=Xg(t.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return iq(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return vI("Antigravity returned a result with an unsupported status.");let r=n.error,o=oq(r==null||r===""?n:r,rq(e,t.index));return Kg(o)}function _C(e){if(typeof e=="string")return e;if(e!=null)try{return JSON.stringify(e)}catch{return}}function sq(e){return `agy:${String(e.conversation_id)}:${String(e.step_index)}`}function aq(e,t){let n=typeof t?.name=="string"?t.name:e.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function dq(e){let t=_C(e);if(t)return t.length<=2e3?t:`${t.slice(0,1999)}\u2026`}function hC(e,t){return e?e.state.has(t)?true:(e.state.set(t,true),false):false}function yC(e,t){return {timestamp:e,type:"error",content:t.message,errorMessage:t.message,isError:true}}var kI,JW,RI,zW,CI,PI=M(()=>{h();vi();ku();Au();Ta();Ir();Tu();Dg();kI="antigravity",JW=new Set(["--conversation","--resume","--continue"]),RI=10*1024*1024,zW=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"]);CI={command:"agy",maxInitialInputBytes:RI,meta:{displayName:"Antigravity",models:JA(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(e){let t=mc(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){tq(e);let{model:r,effort:o}=ws(t.model),i=ug(r),s=i.model,a=t.effort??o??i.effort,d=YW(s,a),c=t.additionalArgs??[],l=XW(KW(c,new Set(["--input-format","--output-format"]))),u=s&&!Jg(c,"--model")?["--model",s]:[],p=Jg(c,"--effort")?[]:zv(d),f=Jg(c,"--mode")||Jg(c,"--dangerously-skip-permissions")?[]:Jv(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}})}
22
22
  `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(e){let t=hc(e),n=Yg(t)?.event,r=zg(t);if(r)throw r;let o=n?Xg(n):void 0;if(o){if(o.status!=="SUCCESS")throw vI("Antigravity returned a result with an unsupported status.");if(typeof o.response!="string")throw vI("Antigravity returned a successful result without a response string.");if(!o.response.trim())throw wI();return o.response}if(t.length>0)throw wI();let i=e.trim();if(!i)throw wI();return i},extractPartialText(e){let t=hc(e),n=Yg(t)?.event;if(!n||n.kind==="agy_error")return;let r=Xg(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(e,t,n){let r=hc(n??""),o=zg(r);return o||(e!==0&&t.trim()?Kg(t):null)},parseResultMeta(e){let t=hc(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"||!Ko(d.step.usage))continue;let c=SI(d),l=bI(d);if(!c||!Number.isSafeInteger(l))continue;let u=JSON.stringify([c,l]);if(s.has(u))continue;let p=d.step.usage,f=Ci(p.input_tokens),g=Ci(p.output_tokens);f===void 0||g===void 0||(s.add(u),n+=f,r+=g,o+=Ci(p.cache_read_tokens)??0,i+=1);}return {usage:i===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:o,costUsd:0,complete:nq(t)},model:null}},parseEvent(e,t,n){let r=mc(e);if(!r)return [];let o=t??new Date().toISOString();if(r.kind==="agy_error")return [yC(o,Kg(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let f=zg([r]);return f?[yC(o,f)]:[]}if(r.kind!=="step_update")return [];let{step:i}=r,s=SI(r)??"unknown",a=bI(r),d=`${s}:${a}`;if(i.state==="DONE"&&hC(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=Ko(i.tool_info)?i.tool_info:void 0,l=aq(i,c);if(!l)return [];let u=sq(i);if(i.state==="ACTIVE"){if(hC(n,`antigravity:active:${d}`))return [];let f=_C(c?.parameters);return [{timestamp:o,type:"tool_use",toolName:l,toolUseId:u,...f===void 0?{}:{toolInput:f}}]}let p=dq(c?.output);return [{timestamp:o,type:"tool_result",toolName:l,toolUseId:u,...p===void 0?{}:{resultPreview:p}}]}};});var AC,IC=M(()=>{h();Ac();Ic();ks();Rs();AC={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=sr(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=jr(a);return /^bash$/i.test(i)&&co(d)?[lo(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,...kr(s,a)}]}return []}};});function Rc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Sc(e){return Rc(e)?e:void 0}function dr(e){return typeof e=="string"?e:void 0}function $a(e){let t=typeof e=="number"?e:Number(e??0);return Number.isFinite(t)?t:0}function fq(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 wu(e){let t=e.trim();if(!t)return [];try{let n=JSON.parse(t);return Rc(n)?[n]:[]}catch{return fq(t).flatMap(n=>{try{let r=JSON.parse(n);return Rc(r)?[r]:[]}catch{return []}})}}function RC(e){let t=JSON.stringify(e);return t===void 0?String(e):t}function ja(e){if(typeof e=="string")return e;if(Array.isArray(e)){let t=e.map(ja).filter(n=>n!==void 0);return t.length>0?t.join(`
23
23
  `):void 0}if(Rc(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=ja(e[t]);if(n!==void 0)return n}}}function gq(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=Sc(i);if(!s)return n(ja(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=Sc(s.Result);a=n(s.output)??n(l?.output)??n(ja(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(`
24
24
  `)||a.endsWith("\r")?"":`
@@ -49,7 +49,7 @@ ${r.join(`
49
49
  `);for(let r of e)if(r.trim())try{let s=JSON.parse(r);if(s.type==="result"){let o=s.usage,i=o?{inputTokens:Number(o.input_tokens??0)+Number(o.cache_read_input_tokens??0),outputTokens:Number(o.output_tokens??0),cachedInputTokens:Number(o.cache_read_input_tokens??0),costUsd:Number(s.total_cost_usd??0)}:null,u=s.modelUsage,d=u?Object.keys(u)[0]??null:null;return {usage:i,model:d}}}catch{}let n=Wd(t);return n?{usage:{inputTokens:n.inputTokens,outputTokens:0,cachedInputTokens:n.cachedInputTokens,costUsd:0},model:n.model??null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];let s=Ge(n,e??new Date().toISOString()),o=Pf(n);if(o)return [{timestamp:s,type:"error",content:o,errorMessage:o}];let i=n.output_file,u=n.summary;if(r==="system"&&n.subtype==="task_notification"&&n.status==="completed"&&typeof i=="string"&&i.trim().length>0&&typeof u=="string"&&u.trim().length>0)return [{timestamp:s,type:"text",content:u}];if(r!=="assistant"&&r!=="user")return [];let c=n.message?.content;if(!Array.isArray(c))return [];let l=[];for(let p of c){let g=Hf(s,p);g&&l.push(g);}return l},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?vf.has(r):!1}catch{return false}}};Vd=200;});function Qd(t){let e=t.split(`
50
50
  `).filter(s=>s.trim()),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="assistant.message"&&typeof o.data?.content=="string"){let i=o.data.content;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var Uf,_o,ho=b(()=>{_();dn();Jn();un();ln();cn();Gt();Gr();jt();Uf=new Set(["interactive","plan","autopilot"]);_o={command:"copilot",meta:{displayName:"Copilot",models:Nd()},buildArgs(t,e,n){let r=e.additionalArgs?[...e.additionalArgs]:[];return e.model&&r.push("--model",e.model),e.mode&&Uf.has(e.mode)&&r.push("--mode",e.mode),e.effort&&(Wr.copilot??[]).includes(e.effort)&&r.push("--effort",e.effort),{args:r,stdinMessage:t}},extractText(t){let e=Qd(t);if(e)return e;let n=t.trim();return ot(n,"copilot")?"":n},extractPartialText(t){return Qd(t)},parseResultMeta(t){let e=pn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];if(!r.startsWith("tool.execution")&&!r.startsWith("assistant.")&&r!=="user.message")return [];let s=n.data;if(!s)return [];let o=Ge(n,e??new Date().toISOString()),i=s.toolCallId;if(r==="tool.execution_start"){let u=String(s.toolName||""),d=s.arguments,c=We(d);return (u==="bash"||u==="Bash")&&it(c)?[at(o,c,i)]:[{timestamp:o,type:"tool_use",toolName:u,toolInput:c,...i&&{toolUseId:i}}]}if(r==="tool.execution_complete"){let u=s.error;if(u)return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...Be(String(u.message||""),true)}];let d=s.result,c=String(d?.content||"");return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...Be(c,false)}]}if(r==="assistant.message"){let u=String(s.content||"");return u?[{timestamp:o,type:"text",content:u}]:[]}return []}};});function Bf(t){let e=[],n=0,r=false,s=false,o=0;for(let u=0;u<t.length;u++){let d=t[u];if(s){s=false;continue}if(d==="\\"&&r){s=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let c=t.slice(o,u+1).trim();c&&e.push(c),o=u+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function Wf(t){return t[0]==="exec"?t.slice(1):t}function Zd(t){let e=t.split(`
51
51
  `).map(s=>s.trim()).filter(Boolean),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="item.completed"&&(o.item?.type==="message"||o.item?.type==="agent_message")&&typeof o.item?.text=="string"){let i=o.item.text;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function At(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function tu(t){return t.type==="turn.failed"?true:t.type!=="error"?false:typeof t.message=="string"||typeof t.errorMessage=="string"||typeof t.error=="string"||At(t.error)}function nu(t){let e=At(t.error)?t.error:void 0,n=[t.message,t.errorMessage,e?.message,e?.detail,typeof t.error=="string"?t.error:void 0];for(let r of n)if(typeof r=="string"&&r.trim())return r;return t.type==="turn.failed"?"Codex turn failed.":"Codex CLI reported an error."}function Gf(t){for(let e of t.split(/\r?\n/)){if(!e.trim())continue;let n;try{n=JSON.parse(e);}catch{continue}if(At(n)&&tu(n))return nu(n)}}function eu(t,e,n,r){if(!n||t.type!=="command_execution"&&t.type!=="mcp_tool_call"||typeof t.id!="string"||!t.id.trim()||t.type==="mcp_tool_call"&&e==="item.started"&&(typeof t.server!="string"||typeof t.tool!="string"))return;let s=n.state.get("codex.pending");s||(s=new Map,n.state.set("codex.pending",s));let o=JSON.stringify([t.type,t.id]);if(e==="item.started"){let d=`codex:${JSON.stringify(t.id)}#${n.rowIndex}:${r}`,c=s.get(o)??[];return c.push(d),s.set(o,c),d}let i=s.get(o),u=i?.pop();return i?.length||s.delete(o),u}function jf(t,e,n){let r=e.type;if(r==="command_execution"){let s=String(e.command||"");return it(s)?[at(t,s,n)]:[{timestamp:t,type:"tool_use",toolName:"Bash",toolInput:s,...n?{toolUseId:n}:{}}]}return r==="mcp_tool_call"?typeof e.server!="string"||typeof e.tool!="string"?[]:[{timestamp:t,type:"tool_use",toolName:`${e.server}/${e.tool}`,toolInput:We(e.arguments),...n?{toolUseId:n}:{}}]:[]}function zf(t,e,n){let r=e.type;if(r==="message"||r==="text"){let s=e.content;if(Array.isArray(s))for(let o of s){let i=Kf(t,o);if(i)return i}if(typeof e.text=="string")return {timestamp:t,type:"text",content:e.text}}if(r==="agent_message"&&typeof e.text=="string")return {timestamp:t,type:"text",content:e.text};if(r==="reasoning"){let s=typeof e.text=="string"?e.text.trim():"";return s?{timestamp:t,type:"thinking",content:s}:null}if(r==="command_execution"){let s=String(e.aggregated_output||e.output||""),o=!!e.is_error;return {timestamp:t,type:"tool_result",...Be(s,o),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let s=At(e.result)?e.result:void 0,i=(Array.isArray(s?.content)?s.content:[]).filter(d=>At(d)&&d.type==="text"&&typeof d.text=="string").map(d=>d.text).join(`
52
- `),u=typeof e.error=="string"?e.error:At(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||u,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=We(o);return s==="Bash"&&it(i)?at(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...Be(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(At(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(u=>String(u.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Kf(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=We(s);return r==="Bash"&&it(o)?at(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var Ff,qf,mo,ko=b(()=>{_();Bt();dn();Jn();un();ln();io();cn();Kn();Gt();jt();Ff=new Set(["turn.started","turn.completed","item.updated"]),qf="cli/codex";mo={command:"codex",meta:{displayName:"Codex",models:Od(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=It(e.model),o=e.effort??s,i=e.resumeSessionId?Dd(e.mode):Cd(e.mode),u=Pd(o),d=r?["-m",r]:[],c=Wf(e.additionalArgs??[]),p=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...p,...i,...u,...d,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...p,...i,...u,...d,...c],stdinMessage:t}},extractText(t){let e=Gf(t);if(e)throw new J(e,qf);let n=Zd(t);if(n)return n;let r=t.trim();return ot(r,"codex")?"":r},extractPartialText(t){return Zd(t)},parseResultMeta(t){let e=pn(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Bf(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,u]of o.entries()){let d;try{d=JSON.parse(u);}catch{continue}if(!At(d))continue;let c=d.type;if(!c)continue;let l=Ge(d,r);if(tu(d)){let g=nu(d);s.push({timestamp:l,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||oo(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let p=d.item;if(p){if(c==="item.started"){s.push(...jf(l,p,eu(p,c,n,i)));continue}if(c==="item.completed"){let g=zf(l,p,eu(p,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Ff.has(r):!1}catch{return false}}};});function Xf(t){return t?Vf[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function Vr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function au(t){let e=[],n=0,r=false,s=false,o=0;for(let u=0;u<t.length;u++){let d=t[u];if(s){s=false;continue}if(d==="\\"&&r){s=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let c=t.slice(o,u+1).trim();c&&e.push(c),o=u+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function _n(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Yf(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);_n(i)?e.push(i):n=!0;continue}catch{}let o=au(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let u=JSON.parse(i);_n(u)?e.push(u):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function zt(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,iu).trim()}function du(t){let e=_n(t.error)?t.error:void 0,n=e&&_n(e.data)?e.data:void 0,r=zt(e?.name),s=zt(n?.message)??zt(e?.message)??zt(t.message)??zt(t.errorMessage)??zt(t.error),o=zt(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??ou;return (o?`${i} (ref: ${o})`:i).slice(0,iu)}function ru(t){let e=Yf(t),n=[],r=null,s=0,o=[],i,u=false;for(let d of e.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=_n(d.part)?d.part:void 0,p=typeof l?.text=="string"?l.text:void 0;p?.trim()&&n.push(p.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(du(d));continue}if(c==="step_finish"){u=true;let l=_n(d.part)?d.part:void 0;i=typeof l?.reason=="string"?l.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:u}}function uu(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function Xr(){return new J("OpenCode returned no assistant output.",gn,{code:"EMPTY_OUTPUT",kind:"transient"})}function Qf(){return new J("OpenCode emitted malformed JSON output.",gn,{code:"PROVIDER_CRASHED",kind:"transient"})}function su(t,e){switch(uu(t)){case "length":return new J("OpenCode stopped because the context window was exceeded.",gn,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new J("OpenCode stopped because the content filter blocked the response.",gn,{code:"UNKNOWN",kind:"permanent"});case "error":return new J(e?`OpenCode error: ${e}`:`${ou} while generating a response.`,gn,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var Jf,gn,ou,iu,Vf,To,yo=b(()=>{_();Bt();Jn();ln();jt();Jf=new Set(["step_start","step_finish"]),gn="cli/opencode",ou="OpenCode provider error",iu=240,Vf={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};To={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];Vr(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=Xf(e.mode);Vr(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!Vr(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!Vr(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let u;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(u={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:u}},extractText(t){let e=ru(t),n=e.errorMessages[0];if(n){let i=su("error",n);if(i)throw i}let r=su(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw Xr();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw Xr();return e.resultText}if(e.malformed)throw Qf();if(!e.hasTerminal)throw Xr();let o=uu(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw Xr()},interpretExit(t,e,n=""){if(t===0)return null;let s=ru(n).errorMessages[0];return s?new J(`OpenCode error: ${s}`,gn,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=pn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=au(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let u=Ge(i,n),d=i.type;if(d){if(d==="text"){let l=i.part?.text;l&&r.push({timestamp:u,type:"text",content:l});continue}if(d==="tool_use"){let c=i.part;if(!c)continue;let l=String(c.tool||""),p=String(c.callID||""),g=c.state,h=String(g?.status||""),m=g?.input,E=We(m);if(r.push({timestamp:u,type:"tool_use",toolName:l,toolUseId:p,toolInput:E}),h==="completed"&&g?.output!==void 0){let S=g.output,C=typeof S=="string"?S:JSON.stringify(S);r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:C,isError:false});}else h==="error"&&r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(d==="error"){let c=du(i);r.push({timestamp:u,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Jf.has(r):!1}catch{return false}}};});var cu=b(()=>{_();});function Yr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function ng(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function rg(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!eg.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function dt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function sg(t,e){if(!(t?St(wo).some(o=>o.id===t):false)||!t)return e;let r=zn(wo,t),s=Id(wo)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function pt(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function So(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 Io(t){return t.step.step_index}function Re(t){if(typeof t!="string")return;let e=t.split(/\r?\n/,1)[0]?.trim();return e&&qr(e)?.slice(0,500).trim()||void 0}function og(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&tg.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|argument)/].some(o=>o.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 ig(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 ag(t){let e=dt(t)?t:void 0,n=e&&dt(e.error)?e.error:void 0,r=e?Re(e.code)??Re(e.error_code)??Re(n?.code)??Re(n?.error_code):void 0,s=typeof t=="string"?Re(t):e?Re(e.message)??Re(e.error)??Re(e.reason)??Re(n?.message)??Re(n?.error)??Re(n?.reason):void 0,o=og(r,s),i=e?pt(e.retry_after_ms)??pt(e.retryAfterMs)??pt(n?.retry_after_ms)??pt(n?.retryAfterMs):void 0;return {code:o,kind:ig(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function Zr(t){let e=ag(t);return new J(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function Ao(t){return new J(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function dg(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=Ro))throw new J(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${Ro} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function Eo(){return new J("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 es(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function ts(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 ug(t){let e=ts(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||es(e.event)?.status!=="SUCCESS"||Qr(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=So(s),i=Io(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!dt(s.usage)||pt(s.usage.input_tokens)===void 0||pt(s.usage.output_tokens)===void 0)return false;return true}function cg(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function lg(t,e){return dt(t)&&dt(e)?{...e,...t}:dt(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&dt(e)?{...e,message:t}:t??e}function pg(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=dt(o)?o:void 0,u=typeof o=="string"?Re(o):Re(i?.display_name)??Re(i?.action);u&&!n.includes(u)&&n.length<5&&n.push(u.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new J(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Qr(t){let e=ts(t);if(!e)return;if(e.event.kind==="agy_error")return Zr(e.event.error);let n=es(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return pg(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return Ao("Antigravity returned a result with an unsupported status.");let r=n.error,s=lg(r==null||r===""?n:r,cg(t,e.index));return Zr(s)}function fu(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function fg(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function gg(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function _g(t){let e=fu(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function lu(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function pu(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var wo,eg,Ro,tg,Oo,No=b(()=>{_();Bt();cu();ro();jn();Gt();Kn();uo();wo="antigravity",eg=new Set(["--conversation","--resume","--continue"]),Ro=160*1024,tg=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"]);Oo={command:"agy",maxInitialInputBytes:Ro,meta:{displayName:"Antigravity",models:bd(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=Wn(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){dg(t);let{model:r,effort:s}=It(e.model),o=po(r),i=o.model,u=e.effort??s??o.effort,d=sg(i,u),c=e.additionalArgs??[],l=rg(ng(c,new Set(["--input-format","--output-format"]))),p=i&&!Yr(c,"--model")?["--model",i]:[],g=Yr(c,"--effort")?[]:Bd(d),h=Yr(c,"--mode")||Yr(c,"--dangerously-skip-permissions")?[]:qd(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,...g,...h,...m,...l],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
52
+ `),u=typeof e.error=="string"?e.error:At(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||u,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=We(o);return s==="Bash"&&it(i)?at(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...Be(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(At(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(u=>String(u.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Kf(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=We(s);return r==="Bash"&&it(o)?at(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var Ff,qf,mo,ko=b(()=>{_();Bt();dn();Jn();un();ln();io();cn();Kn();Gt();jt();Ff=new Set(["turn.started","turn.completed","item.updated"]),qf="cli/codex";mo={command:"codex",meta:{displayName:"Codex",models:Od(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=It(e.model),o=e.effort??s,i=e.resumeSessionId?Dd(e.mode):Cd(e.mode),u=Pd(o),d=r?["-m",r]:[],c=Wf(e.additionalArgs??[]),p=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...p,...i,...u,...d,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...p,...i,...u,...d,...c],stdinMessage:t}},extractText(t){let e=Gf(t);if(e)throw new J(e,qf);let n=Zd(t);if(n)return n;let r=t.trim();return ot(r,"codex")?"":r},extractPartialText(t){return Zd(t)},parseResultMeta(t){let e=pn(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Bf(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,u]of o.entries()){let d;try{d=JSON.parse(u);}catch{continue}if(!At(d))continue;let c=d.type;if(!c)continue;let l=Ge(d,r);if(tu(d)){let g=nu(d);s.push({timestamp:l,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||oo(d))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let p=d.item;if(p){if(c==="item.started"){s.push(...jf(l,p,eu(p,c,n,i)));continue}if(c==="item.completed"){let g=zf(l,p,eu(p,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Ff.has(r):!1}catch{return false}}};});function Xf(t){return t?Vf[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function Vr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function au(t){let e=[],n=0,r=false,s=false,o=0;for(let u=0;u<t.length;u++){let d=t[u];if(s){s=false;continue}if(d==="\\"&&r){s=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let c=t.slice(o,u+1).trim();c&&e.push(c),o=u+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function _n(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Yf(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);_n(i)?e.push(i):n=!0;continue}catch{}let o=au(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let u=JSON.parse(i);_n(u)?e.push(u):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function zt(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,iu).trim()}function du(t){let e=_n(t.error)?t.error:void 0,n=e&&_n(e.data)?e.data:void 0,r=zt(e?.name),s=zt(n?.message)??zt(e?.message)??zt(t.message)??zt(t.errorMessage)??zt(t.error),o=zt(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??ou;return (o?`${i} (ref: ${o})`:i).slice(0,iu)}function ru(t){let e=Yf(t),n=[],r=null,s=0,o=[],i,u=false;for(let d of e.events){let c=typeof d.type=="string"?d.type:void 0;if(c){if(c==="text"){let l=_n(d.part)?d.part:void 0,p=typeof l?.text=="string"?l.text:void 0;p?.trim()&&n.push(p.trim());continue}if(c==="result"){typeof d.result=="string"&&(r=d.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(du(d));continue}if(c==="step_finish"){u=true;let l=_n(d.part)?d.part:void 0;i=typeof l?.reason=="string"?l.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:u}}function uu(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function Xr(){return new J("OpenCode returned no assistant output.",gn,{code:"EMPTY_OUTPUT",kind:"transient"})}function Qf(){return new J("OpenCode emitted malformed JSON output.",gn,{code:"PROVIDER_CRASHED",kind:"transient"})}function su(t,e){switch(uu(t)){case "length":return new J("OpenCode stopped because the context window was exceeded.",gn,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new J("OpenCode stopped because the content filter blocked the response.",gn,{code:"UNKNOWN",kind:"permanent"});case "error":return new J(e?`OpenCode error: ${e}`:`${ou} while generating a response.`,gn,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var Jf,gn,ou,iu,Vf,To,yo=b(()=>{_();Bt();Jn();ln();jt();Jf=new Set(["step_start","step_finish"]),gn="cli/opencode",ou="OpenCode provider error",iu=240,Vf={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};To={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];Vr(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=Xf(e.mode);Vr(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!Vr(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!Vr(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let u;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(u={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:u}},extractText(t){let e=ru(t),n=e.errorMessages[0];if(n){let i=su("error",n);if(i)throw i}let r=su(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw Xr();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw Xr();return e.resultText}if(e.malformed)throw Qf();if(!e.hasTerminal)throw Xr();let o=uu(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw Xr()},interpretExit(t,e,n=""){if(t===0)return null;let s=ru(n).errorMessages[0];return s?new J(`OpenCode error: ${s}`,gn,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=pn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=au(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let u=Ge(i,n),d=i.type;if(d){if(d==="text"){let l=i.part?.text;l&&r.push({timestamp:u,type:"text",content:l});continue}if(d==="tool_use"){let c=i.part;if(!c)continue;let l=String(c.tool||""),p=String(c.callID||""),g=c.state,h=String(g?.status||""),m=g?.input,E=We(m);if(r.push({timestamp:u,type:"tool_use",toolName:l,toolUseId:p,toolInput:E}),h==="completed"&&g?.output!==void 0){let S=g.output,C=typeof S=="string"?S:JSON.stringify(S);r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:C,isError:false});}else h==="error"&&r.push({timestamp:u,type:"tool_result",toolUseId:p,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(d==="error"){let c=du(i);r.push({timestamp:u,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Jf.has(r):!1}catch{return false}}};});var cu=b(()=>{_();});function Yr(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function ng(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function rg(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!eg.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function dt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function sg(t,e){if(!(t?St(wo).some(o=>o.id===t):false)||!t)return e;let r=zn(wo,t),s=Id(wo)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function pt(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function So(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 Io(t){return t.step.step_index}function Re(t){if(typeof t!="string")return;let e=t.split(/\r?\n/,1)[0]?.trim();return e&&qr(e)?.slice(0,500).trim()||void 0}function og(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&tg.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|argument)/].some(o=>o.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 ig(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 ag(t){let e=dt(t)?t:void 0,n=e&&dt(e.error)?e.error:void 0,r=e?Re(e.code)??Re(e.error_code)??Re(n?.code)??Re(n?.error_code):void 0,s=typeof t=="string"?Re(t):e?Re(e.message)??Re(e.error)??Re(e.reason)??Re(n?.message)??Re(n?.error)??Re(n?.reason):void 0,o=og(r,s),i=e?pt(e.retry_after_ms)??pt(e.retryAfterMs)??pt(n?.retry_after_ms)??pt(n?.retryAfterMs):void 0;return {code:o,kind:ig(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function Zr(t){let e=ag(t);return new J(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function Ao(t){return new J(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function dg(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=Ro))throw new J(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${Ro} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function Eo(){return new J("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 es(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function ts(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 ug(t){let e=ts(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||es(e.event)?.status!=="SUCCESS"||Qr(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=So(s),i=Io(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!dt(s.usage)||pt(s.usage.input_tokens)===void 0||pt(s.usage.output_tokens)===void 0)return false;return true}function cg(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function lg(t,e){return dt(t)&&dt(e)?{...e,...t}:dt(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&dt(e)?{...e,message:t}:t??e}function pg(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=dt(o)?o:void 0,u=typeof o=="string"?Re(o):Re(i?.display_name)??Re(i?.action);u&&!n.includes(u)&&n.length<5&&n.push(u.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new J(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function Qr(t){let e=ts(t);if(!e)return;if(e.event.kind==="agy_error")return Zr(e.event.error);let n=es(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return pg(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return Ao("Antigravity returned a result with an unsupported status.");let r=n.error,s=lg(r==null||r===""?n:r,cg(t,e.index));return Zr(s)}function fu(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function fg(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function gg(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function _g(t){let e=fu(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function lu(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function pu(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var wo,eg,Ro,tg,Oo,No=b(()=>{_();Bt();cu();ro();jn();Gt();Kn();uo();wo="antigravity",eg=new Set(["--conversation","--resume","--continue"]),Ro=10*1024*1024,tg=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"]);Oo={command:"agy",maxInitialInputBytes:Ro,meta:{displayName:"Antigravity",models:bd(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=Wn(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){dg(t);let{model:r,effort:s}=It(e.model),o=po(r),i=o.model,u=e.effort??s??o.effort,d=sg(i,u),c=e.additionalArgs??[],l=rg(ng(c,new Set(["--input-format","--output-format"]))),p=i&&!Yr(c,"--model")?["--model",i]:[],g=Yr(c,"--effort")?[]:Bd(d),h=Yr(c,"--mode")||Yr(c,"--dangerously-skip-permissions")?[]:qd(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,...g,...h,...m,...l],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
53
53
  `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(t){let e=Gn(t),n=ts(e)?.event,r=Qr(e);if(r)throw r;let s=n?es(n):void 0;if(s){if(s.status!=="SUCCESS")throw Ao("Antigravity returned a result with an unsupported status.");if(typeof s.response!="string")throw Ao("Antigravity returned a successful result without a response string.");if(!s.response.trim())throw Eo();return s.response}if(e.length>0)throw Eo();let o=t.trim();if(!o)throw Eo();return o},extractPartialText(t){let e=Gn(t),n=ts(e)?.event;if(!n||n.kind==="agy_error")return;let r=es(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(t,e,n){let r=Gn(n??""),s=Qr(r);return s||(t!==0&&e.trim()?Zr(e):null)},parseResultMeta(t){let e=Gn(t),n=0,r=0,s=0,o=0,i=new Set;for(let d of e){if(d.kind!=="step_update"||d.step.state!=="DONE"||!dt(d.step.usage))continue;let c=So(d),l=Io(d);if(!c||!Number.isSafeInteger(l))continue;let p=JSON.stringify([c,l]);if(i.has(p))continue;let g=d.step.usage,h=pt(g.input_tokens),m=pt(g.output_tokens);h===void 0||m===void 0||(i.add(p),n+=h,r+=m,s+=pt(g.cache_read_tokens)??0,o+=1);}return {usage:o===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:s,costUsd:0,complete:ug(e)},model:null}},parseEvent(t,e,n){let r=Wn(t);if(!r)return [];let s=e??new Date().toISOString();if(r.kind==="agy_error")return [pu(s,Zr(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let h=Qr([r]);return h?[pu(s,h)]:[]}if(r.kind!=="step_update")return [];let{step:o}=r,i=So(r)??"unknown",u=Io(r),d=`${i}:${u}`;if(o.state==="DONE"&&lu(n,`antigravity:terminal:${d}`))return [];if(o.step_type==="agent_response")return typeof o.text_delta=="string"&&o.text_delta.length>0?[{timestamp:s,type:"text",content:o.text_delta}]:[];if(o.step_type!=="tool")return [];let c=dt(o.tool_info)?o.tool_info:void 0,l=gg(o,c);if(!l)return [];let p=fg(o);if(o.state==="ACTIVE"){if(lu(n,`antigravity:active:${d}`))return [];let h=fu(c?.parameters);return [{timestamp:s,type:"tool_use",toolName:l,toolUseId:p,...h===void 0?{}:{toolInput:h}}]}let g=_g(c?.output);return [{timestamp:s,type:"tool_result",toolName:l,toolUseId:p,...g===void 0?{}:{resultPreview:g}}]}};});var gu=b(()=>{_();un();ln();cn();jt();});function hn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function mn(t){return hn(t)?t:void 0}function Se(t){return typeof t=="string"?t:void 0}function Jt(t){let e=typeof t=="number"?t:Number(t??0);return Number.isFinite(e)?e:0}function yg(t){let e=[],n=-1,r=0,s=false,o=false;for(let i=0;i<t.length;i+=1){let u=t[i];if(n===-1){(u==="{"||u==="[")&&(n=i,r=1);continue}if(o){o=false;continue}if(u==="\\"&&s){o=true;continue}if(u==='"'){s=!s;continue}s||(u==="{"||u==="["?r+=1:(u==="}"||u==="]")&&(r-=1,r===0&&(e.push(t.slice(n,i+1)),n=-1)));}return n!==-1&&e.push(t.slice(n)),e}function Vn(t){let e=t.trim();if(!e)return [];try{let n=JSON.parse(e);return hn(n)?[n]:[]}catch{return yg(e).flatMap(n=>{try{let r=JSON.parse(n);return hn(r)?[r]:[]}catch{return []}})}}function Tu(t){let e=JSON.stringify(t);return e===void 0?String(t):e}function Kt(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.map(Kt).filter(n=>n!==void 0);return e.length>0?e.join(`
54
54
  `):void 0}if(hn(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=Kt(t[e]);if(n!==void 0)return n}}}function wg(t){let e=i=>Array.isArray(i)&&i.every(u=>Number.isInteger(u)&&u>=0&&u<=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)),s=i=>{let u=JSON.stringify(i,(d,c)=>e(c)?`<bytes:${c.length}>`:c);return u===void 0?String(i):u},o=t.rawOutput;if(o!=null){let i=mn(o);if(!i)return n(Kt(o))??s(o);let u;if(e(i.output)&&i.output.length>0&&(u=n(r(i.output))),!u&&e(i.stdout)&&i.stdout.length>0&&(u=n(r(i.stdout))),!u){let l=mn(i.Result);u=n(i.output)??n(l?.output)??n(Kt(o));}let d=e(i.stderr)&&i.stderr.length>0?r(i.stderr):void 0;if(d!==void 0)if(u){let l=u.endsWith(`
55
55
  `)||u.endsWith("\r")?"":`
@@ -49,7 +49,7 @@ ${r.join(`
49
49
  `);for(let r of e)if(r.trim())try{let s=JSON.parse(r);if(s.type==="result"){let o=s.usage,i=o?{inputTokens:Number(o.input_tokens??0)+Number(o.cache_read_input_tokens??0),outputTokens:Number(o.output_tokens??0),cachedInputTokens:Number(o.cache_read_input_tokens??0),costUsd:Number(s.total_cost_usd??0)}:null,a=s.modelUsage,u=a?Object.keys(a)[0]??null:null;return {usage:i,model:u}}}catch{}let n=bl(t);return n?{usage:{inputTokens:n.inputTokens,outputTokens:0,cachedInputTokens:n.cachedInputTokens,costUsd:0},model:n.model??null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];let s=It(n,e??new Date().toISOString()),o=Ek(n);if(o)return [{timestamp:s,type:"error",content:o,errorMessage:o}];let i=n.output_file,a=n.summary;if(r==="system"&&n.subtype==="task_notification"&&n.status==="completed"&&typeof i=="string"&&i.trim().length>0&&typeof a=="string"&&a.trim().length>0)return [{timestamp:s,type:"text",content:a}];if(r!=="assistant"&&r!=="user")return [];let c=n.message?.content;if(!Array.isArray(c))return [];let p=[];for(let l of c){let g=Ak(s,l);g&&p.push(g);}return p},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Tk.has(r):!1}catch{return false}}};Cl=200;});function Ll(t){let e=t.split(`
50
50
  `).filter(s=>s.trim()),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="assistant.message"&&typeof o.data?.content=="string"){let i=o.data.content;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var Ok,ua,ca=C(()=>{h();ts();os();ar();ur();dr();Nn();co();vn();Ok=new Set(["interactive","plan","autopilot"]);ua={command:"copilot",meta:{displayName:"Copilot",models:cl()},buildArgs(t,e,n){let r=e.additionalArgs?[...e.additionalArgs]:[];return e.model&&r.push("--model",e.model),e.mode&&Ok.has(e.mode)&&r.push("--mode",e.mode),e.effort&&(uo.copilot??[]).includes(e.effort)&&r.push("--effort",e.effort),{args:r,stdinMessage:t}},extractText(t){let e=Ll(t);if(e)return e;let n=t.trim();return Xt(n,"copilot")?"":n},extractPartialText(t){return Ll(t)},parseResultMeta(t){let e=cr(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n;try{n=JSON.parse(t);}catch{return []}let r=n.type;if(!r)return [];if(!r.startsWith("tool.execution")&&!r.startsWith("assistant.")&&r!=="user.message")return [];let s=n.data;if(!s)return [];let o=It(n,e??new Date().toISOString()),i=s.toolCallId;if(r==="tool.execution_start"){let a=String(s.toolName||""),u=s.arguments,c=bt(u);return (a==="bash"||a==="Bash")&&Ut(c)?[Bt(o,c,i)]:[{timestamp:o,type:"tool_use",toolName:a,toolInput:c,...i&&{toolUseId:i}}]}if(r==="tool.execution_complete"){let a=s.error;if(a)return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...St(String(a.message||""),true)}];let u=s.result,c=String(u?.content||"");return [{timestamp:o,type:"tool_result",...i&&{toolUseId:i},...St(c,false)}]}if(r==="assistant.message"){let a=String(s.content||"");return a?[{timestamp:o,type:"text",content:a}]:[]}return []}};});function Ck(t){let e=[],n=0,r=false,s=false,o=0;for(let a=0;a<t.length;a++){let u=t[a];if(s){s=false;continue}if(u==="\\"&&r){s=true;continue}if(u==='"'){r=!r;continue}if(!r){if(u==="{")n++;else if(u==="}"&&(n--,n===0)){let c=t.slice(o,a+1).trim();c&&e.push(c),o=a+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function Dk(t){return t[0]==="exec"?t.slice(1):t}function Pl(t){let e=t.split(`
51
51
  `).map(s=>s.trim()).filter(Boolean),n=[],r=null;for(let s of e)try{let o=JSON.parse(s);if(o.type==="item.completed"&&(o.item?.type==="message"||o.item?.type==="agent_message")&&typeof o.item?.text=="string"){let i=o.item.text;i.trim()&&n.push(i.trim());}o.type==="result"&&typeof o.result=="string"&&(r=o.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function un(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function $l(t){return t.type==="turn.failed"?true:t.type!=="error"?false:typeof t.message=="string"||typeof t.errorMessage=="string"||typeof t.error=="string"||un(t.error)}function Hl(t){let e=un(t.error)?t.error:void 0,n=[t.message,t.errorMessage,e?.message,e?.detail,typeof t.error=="string"?t.error:void 0];for(let r of n)if(typeof r=="string"&&r.trim())return r;return t.type==="turn.failed"?"Codex turn failed.":"Codex CLI reported an error."}function xk(t){for(let e of t.split(/\r?\n/)){if(!e.trim())continue;let n;try{n=JSON.parse(e);}catch{continue}if(un(n)&&$l(n))return Hl(n)}}function Ml(t,e,n,r){if(!n||t.type!=="command_execution"&&t.type!=="mcp_tool_call"||typeof t.id!="string"||!t.id.trim()||t.type==="mcp_tool_call"&&e==="item.started"&&(typeof t.server!="string"||typeof t.tool!="string"))return;let s=n.state.get("codex.pending");s||(s=new Map,n.state.set("codex.pending",s));let o=JSON.stringify([t.type,t.id]);if(e==="item.started"){let u=`codex:${JSON.stringify(t.id)}#${n.rowIndex}:${r}`,c=s.get(o)??[];return c.push(u),s.set(o,c),u}let i=s.get(o),a=i?.pop();return i?.length||s.delete(o),a}function Lk(t,e,n){let r=e.type;if(r==="command_execution"){let s=String(e.command||"");return Ut(s)?[Bt(t,s,n)]:[{timestamp:t,type:"tool_use",toolName:"Bash",toolInput:s,...n?{toolUseId:n}:{}}]}return r==="mcp_tool_call"?typeof e.server!="string"||typeof e.tool!="string"?[]:[{timestamp:t,type:"tool_use",toolName:`${e.server}/${e.tool}`,toolInput:bt(e.arguments),...n?{toolUseId:n}:{}}]:[]}function Pk(t,e,n){let r=e.type;if(r==="message"||r==="text"){let s=e.content;if(Array.isArray(s))for(let o of s){let i=Mk(t,o);if(i)return i}if(typeof e.text=="string")return {timestamp:t,type:"text",content:e.text}}if(r==="agent_message"&&typeof e.text=="string")return {timestamp:t,type:"text",content:e.text};if(r==="reasoning"){let s=typeof e.text=="string"?e.text.trim():"";return s?{timestamp:t,type:"thinking",content:s}:null}if(r==="command_execution"){let s=String(e.aggregated_output||e.output||""),o=!!e.is_error;return {timestamp:t,type:"tool_result",...St(s,o),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let s=un(e.result)?e.result:void 0,i=(Array.isArray(s?.content)?s.content:[]).filter(u=>un(u)&&u.type==="text"&&typeof u.text=="string").map(u=>u.text).join(`
52
- `),a=typeof e.error=="string"?e.error:un(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||a,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=bt(o);return s==="Bash"&&Ut(i)?Bt(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...St(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(un(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(a=>String(a.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Mk(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=bt(s);return r==="Bash"&&Ut(o)?Bt(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var Nk,vk,la,pa=C(()=>{h();In();ts();os();ar();ur();na();dr();ss();Nn();vn();Nk=new Set(["turn.started","turn.completed","item.updated"]),vk="cli/codex";la={command:"codex",meta:{displayName:"Codex",models:ul(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=dn(e.model),o=e.effort??s,i=e.resumeSessionId?_l(e.mode):gl(e.mode),a=hl(o),u=r?["-m",r]:[],c=Dk(e.additionalArgs??[]),l=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...l,...i,...a,...u,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...l,...i,...a,...u,...c],stdinMessage:t}},extractText(t){let e=xk(t);if(e)throw new oe(e,vk);let n=Pl(t);if(n)return n;let r=t.trim();return Xt(r,"codex")?"":r},extractPartialText(t){return Pl(t)},parseResultMeta(t){let e=cr(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Ck(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,a]of o.entries()){let u;try{u=JSON.parse(a);}catch{continue}if(!un(u))continue;let c=u.type;if(!c)continue;let p=It(u,r);if($l(u)){let g=Hl(u);s.push({timestamp:p,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||ta(u))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let l=u.item;if(l){if(c==="item.started"){s.push(...Lk(p,l,Ml(l,c,n,i)));continue}if(c==="item.completed"){let g=Pk(p,l,Ml(l,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Nk.has(r):!1}catch{return false}}};});function Uk(t){return t?Hk[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function _o(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function jl(t){let e=[],n=0,r=false,s=false,o=0;for(let a=0;a<t.length;a++){let u=t[a];if(s){s=false;continue}if(u==="\\"&&r){s=true;continue}if(u==='"'){r=!r;continue}if(!r){if(u==="{")n++;else if(u==="}"&&(n--,n===0)){let c=t.slice(o,a+1).trim();c&&e.push(c),o=a+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function fr(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Bk(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);fr(i)?e.push(i):n=!0;continue}catch{}let o=jl(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let a=JSON.parse(i);fr(a)?e.push(a):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function Cn(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,ql).trim()}function Wl(t){let e=fr(t.error)?t.error:void 0,n=e&&fr(e.data)?e.data:void 0,r=Cn(e?.name),s=Cn(n?.message)??Cn(e?.message)??Cn(t.message)??Cn(t.errorMessage)??Cn(t.error),o=Cn(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??Fl;return (o?`${i} (ref: ${o})`:i).slice(0,ql)}function Ul(t){let e=Bk(t),n=[],r=null,s=0,o=[],i,a=false;for(let u of e.events){let c=typeof u.type=="string"?u.type:void 0;if(c){if(c==="text"){let p=fr(u.part)?u.part:void 0,l=typeof p?.text=="string"?p.text:void 0;l?.trim()&&n.push(l.trim());continue}if(c==="result"){typeof u.result=="string"&&(r=u.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(Wl(u));continue}if(c==="step_finish"){a=true;let p=fr(u.part)?u.part:void 0;i=typeof p?.reason=="string"?p.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:a}}function Gl(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function ho(){return new oe("OpenCode returned no assistant output.",pr,{code:"EMPTY_OUTPUT",kind:"transient"})}function Fk(){return new oe("OpenCode emitted malformed JSON output.",pr,{code:"PROVIDER_CRASHED",kind:"transient"})}function Bl(t,e){switch(Gl(t)){case "length":return new oe("OpenCode stopped because the context window was exceeded.",pr,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new oe("OpenCode stopped because the content filter blocked the response.",pr,{code:"UNKNOWN",kind:"permanent"});case "error":return new oe(e?`OpenCode error: ${e}`:`${Fl} while generating a response.`,pr,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var $k,pr,Fl,ql,Hk,fa,ga=C(()=>{h();In();os();ur();vn();$k=new Set(["step_start","step_finish"]),pr="cli/opencode",Fl="OpenCode provider error",ql=240,Hk={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};fa={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];_o(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=Uk(e.mode);_o(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!_o(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!_o(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let a;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:a}},extractText(t){let e=Ul(t),n=e.errorMessages[0];if(n){let i=Bl("error",n);if(i)throw i}let r=Bl(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw ho();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw ho();return e.resultText}if(e.malformed)throw Fk();if(!e.hasTerminal)throw ho();let o=Gl(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw ho()},interpretExit(t,e,n=""){if(t===0)return null;let s=Ul(n).errorMessages[0];return s?new oe(`OpenCode error: ${s}`,pr,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=cr(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=jl(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let a=It(i,n),u=i.type;if(u){if(u==="text"){let p=i.part?.text;p&&r.push({timestamp:a,type:"text",content:p});continue}if(u==="tool_use"){let c=i.part;if(!c)continue;let p=String(c.tool||""),l=String(c.callID||""),g=c.state,_=String(g?.status||""),m=g?.input,k=bt(m);if(r.push({timestamp:a,type:"tool_use",toolName:p,toolUseId:l,toolInput:k}),_==="completed"&&g?.output!==void 0){let R=g.output,A=typeof R=="string"?R:JSON.stringify(R);r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:A,isError:false});}else _==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(u==="error"){let c=Wl(i);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?$k.has(r):!1}catch{return false}}};});var zl=C(()=>{h();});function mo(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Gk(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function zk(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!jk.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function Ft(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Kk(t,e){if(!(t?an(_a).some(o=>o.id===t):false)||!t)return e;let r=rs(_a,t),s=al(_a)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function Yt(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function ka(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 Ta(t){return t.step.step_index}function Xe(t){if(typeof t!="string")return;let e=t.split(/\r?\n/,1)[0]?.trim();return e&&oo(e)?.slice(0,500).trim()||void 0}function Vk(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&Wk.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|argument)/].some(o=>o.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 Jk(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 Xk(t){let e=Ft(t)?t:void 0,n=e&&Ft(e.error)?e.error:void 0,r=e?Xe(e.code)??Xe(e.error_code)??Xe(n?.code)??Xe(n?.error_code):void 0,s=typeof t=="string"?Xe(t):e?Xe(e.message)??Xe(e.error)??Xe(e.reason)??Xe(n?.message)??Xe(n?.error)??Xe(n?.reason):void 0,o=Vk(r,s),i=e?Yt(e.retry_after_ms)??Yt(e.retryAfterMs)??Yt(n?.retry_after_ms)??Yt(n?.retryAfterMs):void 0;return {code:o,kind:Jk(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function To(t){let e=Xk(t);return new oe(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function ya(t){return new oe(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function Yk(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=ma))throw new oe(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${ma} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function ha(){return new oe("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 yo(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function wo(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 Qk(t){let e=wo(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||yo(e.event)?.status!=="SUCCESS"||ko(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=ka(s),i=Ta(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!Ft(s.usage)||Yt(s.usage.input_tokens)===void 0||Yt(s.usage.output_tokens)===void 0)return false;return true}function Zk(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function eT(t,e){return Ft(t)&&Ft(e)?{...e,...t}:Ft(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&Ft(e)?{...e,message:t}:t??e}function tT(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=Ft(o)?o:void 0,a=typeof o=="string"?Xe(o):Xe(i?.display_name)??Xe(i?.action);a&&!n.includes(a)&&n.length<5&&n.push(a.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new oe(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function ko(t){let e=wo(t);if(!e)return;if(e.event.kind==="agy_error")return To(e.event.error);let n=yo(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return tT(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return ya("Antigravity returned a result with an unsupported status.");let r=n.error,s=eT(r==null||r===""?n:r,Zk(t,e.index));return To(s)}function Jl(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function nT(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function rT(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function sT(t){let e=Jl(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function Kl(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function Vl(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var _a,jk,ma,Wk,wa,Ra=C(()=>{h();In();zl();Zi();ns();Nn();ss();ao();_a="antigravity",jk=new Set(["--conversation","--resume","--continue"]),ma=160*1024,Wk=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"]);wa={command:"agy",maxInitialInputBytes:ma,meta:{displayName:"Antigravity",models:ll(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=es(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){Yk(t);let{model:r,effort:s}=dn(e.model),o=ia(r),i=o.model,a=e.effort??s??o.effort,u=Kk(i,a),c=e.additionalArgs??[],p=zk(Gk(c,new Set(["--input-format","--output-format"]))),l=i&&!mo(c,"--model")?["--model",i]:[],g=mo(c,"--effort")?[]:Sl(u),_=mo(c,"--mode")||mo(c,"--dangerously-skip-permissions")?[]:El(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",...l,...g,..._,...m,...p],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
52
+ `),a=typeof e.error=="string"?e.error:un(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||a,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let s=String(e.name||e.tool_name||""),o=e.input,i=bt(o);return s==="Bash"&&Ut(i)?Bt(t,i):{timestamp:t,type:"tool_use",toolName:s,toolInput:i}}if(r==="tool_result"){let s=!!e.is_error,o=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...St(o,s)}}if(r==="web_search"){let s=e.action,o;if(s?.type==="search"){let i=s.queries;o=String(s.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else o=e.query?"open: "+String(e.query):"";return !o&&!(un(s)&&s.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:o}}if(r==="file_change"){let s=e.changes;if(!Array.isArray(s)||s.length===0)return null;let o=s.map(a=>String(a.path||"")).filter(Boolean);if(o.length===0)return null;let i=o.length===1?o[0]:`${o.slice(0,2).join(", ")}${o.length>2?` (+${o.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Mk(t,e){let n=e.type;if(n==="text")return {timestamp:t,type:"text",content:String(e.text||"")};if(n==="tool_use"){let r=String(e.name||""),s=e.input,o=bt(s);return r==="Bash"&&Ut(o)?Bt(t,o):{timestamp:t,type:"tool_use",toolName:r,toolInput:o}}return null}var Nk,vk,la,pa=C(()=>{h();In();ts();os();ar();ur();na();dr();ss();Nn();vn();Nk=new Set(["turn.started","turn.completed","item.updated"]),vk="cli/codex";la={command:"codex",meta:{displayName:"Codex",models:ul(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:s}=dn(e.model),o=e.effort??s,i=e.resumeSessionId?_l(e.mode):gl(e.mode),a=hl(o),u=r?["-m",r]:[],c=Dk(e.additionalArgs??[]),l=c.includes("--json")||c.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...l,...i,...a,...u,...c,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...l,...i,...a,...u,...c],stdinMessage:t}},extractText(t){let e=xk(t);if(e)throw new oe(e,vk);let n=Pl(t);if(n)return n;let r=t.trim();return Xt(r,"codex")?"":r},extractPartialText(t){return Pl(t)},parseResultMeta(t){let e=cr(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(),s=[],o;try{JSON.parse(t),o=[t];}catch{o=Ck(t),o.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,a]of o.entries()){let u;try{u=JSON.parse(a);}catch{continue}if(!un(u))continue;let c=u.type;if(!c)continue;let p=It(u,r);if($l(u)){let g=Hl(u);s.push({timestamp:p,type:"error",content:g,errorMessage:g});continue}if(!c.startsWith("item.")&&!c.startsWith("turn.")&&!c.startsWith("thread.")||ta(u))continue;c==="thread.started"&&n&&n.state.delete("codex.pending");let l=u.item;if(l){if(c==="item.started"){s.push(...Lk(p,l,Ml(l,c,n,i)));continue}if(c==="item.completed"){let g=Pk(p,l,Ml(l,c,n,i));g&&s.push(g);continue}}}return s},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Nk.has(r):!1}catch{return false}}};});function Uk(t){return t?Hk[t]??{agent:"build",autoApprove:false}:{agent:void 0,autoApprove:false}}function _o(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function jl(t){let e=[],n=0,r=false,s=false,o=0;for(let a=0;a<t.length;a++){let u=t[a];if(s){s=false;continue}if(u==="\\"&&r){s=true;continue}if(u==='"'){r=!r;continue}if(!r){if(u==="{")n++;else if(u==="}"&&(n--,n===0)){let c=t.slice(o,a+1).trim();c&&e.push(c),o=a+1;}}}let i=t.slice(o).trim();return i&&e.push(i),e}function fr(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Bk(t){let e=[],n=false;for(let r of t.split(/\r?\n/)){let s=r.trim();if(!s)continue;try{let i=JSON.parse(s);fr(i)?e.push(i):n=!0;continue}catch{}let o=jl(s);o.length>1&&console.warn("[opencode] extractText: falling back to concatenated-JSON split for a malformed line");for(let i of o)try{let a=JSON.parse(i);fr(a)?e.push(a):n=!0;}catch{n=true;}}return {events:e,malformed:n}}function Cn(t){if(typeof t!="string")return;let e=t.split(/\r?\n/).map(n=>n.trim()).find(n=>n&&!/^at\s+/.test(n));if(e)return e.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+/g,"[path]").slice(0,ql).trim()}function Wl(t){let e=fr(t.error)?t.error:void 0,n=e&&fr(e.data)?e.data:void 0,r=Cn(e?.name),s=Cn(n?.message)??Cn(e?.message)??Cn(t.message)??Cn(t.errorMessage)??Cn(t.error),o=Cn(t.ref),i=r&&s&&r!==s?`${r}: ${s}`:r??s??Fl;return (o?`${i} (ref: ${o})`:i).slice(0,ql)}function Ul(t){let e=Bk(t),n=[],r=null,s=0,o=[],i,a=false;for(let u of e.events){let c=typeof u.type=="string"?u.type:void 0;if(c){if(c==="text"){let p=fr(u.part)?u.part:void 0,l=typeof p?.text=="string"?p.text:void 0;l?.trim()&&n.push(l.trim());continue}if(c==="result"){typeof u.result=="string"&&(r=u.result);continue}if(c==="tool_use"){s++;continue}if(c==="error"){o.push(Wl(u));continue}if(c==="step_finish"){a=true;let p=fr(u.part)?u.part:void 0;i=typeof p?.reason=="string"?p.reason:void 0;}}}return {...e,texts:n,resultText:r,toolUseCount:s,errorMessages:o,terminalReason:i,hasTerminal:a}}function Gl(t){return (t??"unknown").trim().toLowerCase().replace(/_/g,"-")}function ho(){return new oe("OpenCode returned no assistant output.",pr,{code:"EMPTY_OUTPUT",kind:"transient"})}function Fk(){return new oe("OpenCode emitted malformed JSON output.",pr,{code:"PROVIDER_CRASHED",kind:"transient"})}function Bl(t,e){switch(Gl(t)){case "length":return new oe("OpenCode stopped because the context window was exceeded.",pr,{code:"UNKNOWN",kind:"permanent"});case "content-filter":return new oe("OpenCode stopped because the content filter blocked the response.",pr,{code:"UNKNOWN",kind:"permanent"});case "error":return new oe(e?`OpenCode error: ${e}`:`${Fl} while generating a response.`,pr,{code:"PROVIDER_CRASHED",kind:"transient"});default:return null}}var $k,pr,Fl,ql,Hk,fa,ga=C(()=>{h();In();os();ur();vn();$k=new Set(["step_start","step_finish"]),pr="cli/opencode",Fl="OpenCode provider error",ql=240,Hk={build:{agent:"build",autoApprove:false},"build-auto":{agent:"build",autoApprove:true},plan:{agent:"plan",autoApprove:false},"plan-auto":{agent:"plan",autoApprove:true}};fa={command:"opencode",meta:{displayName:"OpenCode",capabilities:{resume:true}},buildArgs(t,e,n){let r=e.additionalArgs,s=r!==void 0?[...r]:["run"];_o(s,"--format")||s.push("--format","json"),e.resumeSessionId&&!s.includes("-s")&&!s.includes("--session")&&s.push("-s",e.resumeSessionId);let{agent:o,autoApprove:i}=Uk(e.mode);_o(s,"--agent")||o!==void 0&&s.push("--agent",o),i&&!_o(s,"--auto")&&s.push("--auto"),e.effort!==void 0&&!_o(s,"--variant")&&s.push("--variant",e.effort),e.model&&s.push("--model",e.model);let a;return !n&&!i&&!e.env?.OPENCODE_PERMISSION&&(a={OPENCODE_PERMISSION:JSON.stringify({external_directory:"allow"})}),{args:s,stdinMessage:t,env:a}},extractText(t){let e=Ul(t),n=e.errorMessages[0];if(n){let i=Bl("error",n);if(i)throw i}let r=Bl(e.terminalReason??"",void 0);if(r)throw r;let s=e.texts.length>0?e.texts[e.texts.length-1]:void 0;if(s!==void 0){if(!e.hasTerminal)throw ho();return s}if(e.resultText?.trim()){if(!e.hasTerminal)throw ho();return e.resultText}if(e.malformed)throw Fk();if(!e.hasTerminal)throw ho();let o=Gl(e.terminalReason);if((o==="stop"||o==="tool-calls")&&e.toolUseCount>0)return "";throw ho()},interpretExit(t,e,n=""){if(t===0)return null;let s=Ul(n).errorMessages[0];return s?new oe(`OpenCode error: ${s}`,pr,{code:"PROVIDER_CRASHED",kind:"transient"}):null},parseResultMeta(t){let e=cr(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e){let n=e??new Date().toISOString(),r=[],s;try{JSON.parse(t),s=[t];}catch{s=jl(t),s.length>1&&console.warn("[opencode] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let o of s){let i;try{i=JSON.parse(o);}catch{continue}let a=It(i,n),u=i.type;if(u){if(u==="text"){let p=i.part?.text;p&&r.push({timestamp:a,type:"text",content:p});continue}if(u==="tool_use"){let c=i.part;if(!c)continue;let p=String(c.tool||""),l=String(c.callID||""),g=c.state,_=String(g?.status||""),m=g?.input,k=bt(m);if(r.push({timestamp:a,type:"tool_use",toolName:p,toolUseId:l,toolInput:k}),_==="completed"&&g?.output!==void 0){let R=g.output,A=typeof R=="string"?R:JSON.stringify(R);r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:A,isError:false});}else _==="error"&&r.push({timestamp:a,type:"tool_result",toolUseId:l,resultPreview:String(g?.error||"tool error"),isError:true});continue}if(u==="error"){let c=Wl(i);r.push({timestamp:a,type:"error",content:c,errorMessage:c});continue}}}return r},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?$k.has(r):!1}catch{return false}}};});var zl=C(()=>{h();});function mo(t,e){return t.some(n=>n===e||n.startsWith(`${e}=`))}function Gk(t,e){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r],o=[...e].find(i=>s===i||s.startsWith(`${i}=`));o?s===o&&r+1<t.length&&(r+=1):n.push(s);}return n}function zk(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n],s=r.indexOf("="),o=s>0?r.slice(0,s):r;if(!jk.has(o)){e.push(r);continue}r===o&&n+1<t.length&&!t[n+1].startsWith("-")&&(n+=1);}return e}function Ft(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Kk(t,e){if(!(t?an(_a).some(o=>o.id===t):false)||!t)return e;let r=rs(_a,t),s=al(_a)[t]?.defaultEffort;if(r.length!==0)return e?r.includes(e)?e:s&&r.includes(s)?s:void 0:s}function Yt(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:void 0}function ka(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 Ta(t){return t.step.step_index}function Xe(t){if(typeof t!="string")return;let e=t.split(/\r?\n/,1)[0]?.trim();return e&&oo(e)?.slice(0,500).trim()||void 0}function Vk(t,e){let n=(t??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_");if(n!=="UNKNOWN"&&Wk.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|argument)/].some(o=>o.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 Jk(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 Xk(t){let e=Ft(t)?t:void 0,n=e&&Ft(e.error)?e.error:void 0,r=e?Xe(e.code)??Xe(e.error_code)??Xe(n?.code)??Xe(n?.error_code):void 0,s=typeof t=="string"?Xe(t):e?Xe(e.message)??Xe(e.error)??Xe(e.reason)??Xe(n?.message)??Xe(n?.error)??Xe(n?.reason):void 0,o=Vk(r,s),i=e?Yt(e.retry_after_ms)??Yt(e.retryAfterMs)??Yt(n?.retry_after_ms)??Yt(n?.retryAfterMs):void 0;return {code:o,kind:Jk(o),message:s??"Antigravity reported a terminal error.",...i===void 0?{}:{retryAfterMs:i}}}function To(t){let e=Xk(t);return new oe(e.message,"cli/antigravity",{code:e.code,kind:e.kind,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}})}function ya(t){return new oe(t,"cli/antigravity",{code:"INVALID_PROVIDER_FORMAT",kind:"config"})}function Yk(t){let e=new TextEncoder().encode(t).byteLength;if(!(e<=ma))throw new oe(`Prompt is too large for Antigravity: measured ${e} UTF-8 bytes; allowed ${ma} bytes. Shorten the context or choose another provider.`,"cli/antigravity",{code:"UNKNOWN",kind:"config"})}function ha(){return new oe("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 yo(t){if(t.kind==="result"||t.kind==="legacy_result")return t.result}function wo(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 Qk(t){let e=wo(t);if(!e||e.event.kind==="agy_error"||e.index!==t.length-1||yo(e.event)?.status!=="SUCCESS"||ko(t))return false;let r=new Map;for(let s of t){if(s.kind!=="step_update"||s.step.step_type!=="agent_response")continue;let o=ka(s),i=Ta(s);!o||!Number.isSafeInteger(i)||r.set(JSON.stringify([o,i]),s.step);}if(r.size===0)return false;for(let s of r.values())if(s.state!=="DONE"||!Ft(s.usage)||Yt(s.usage.input_tokens)===void 0||Yt(s.usage.output_tokens)===void 0)return false;return true}function Zk(t,e){for(let n=e-1;n>=0;n-=1){let r=t[n];if(r?.kind==="agy_error")return r.error}}function eT(t,e){return Ft(t)&&Ft(e)?{...e,...t}:Ft(t)&&typeof e=="string"?{...t,message:e}:typeof t=="string"&&Ft(e)?{...e,message:t}:t??e}function tT(t){let e=Array.isArray(t.denied_actions)?t.denied_actions:[],n=[];for(let o of e){let i=Ft(o)?o:void 0,a=typeof o=="string"?Xe(o):Xe(i?.display_name)??Xe(i?.action);a&&!n.includes(a)&&n.length<5&&n.push(a.slice(0,80));}let r=Math.max(0,e.length-n.length),s=n.length>0?` (${n.join(", ")}${r>0?`, +${r} more`:""})`:"";return new oe(`Permission denied: Antigravity blocked ${e.length} requested action${e.length===1?"":"s"}${s}.`,"cli/antigravity",{code:"UNKNOWN",kind:"permanent"})}function ko(t){let e=wo(t);if(!e)return;if(e.event.kind==="agy_error")return To(e.event.error);let n=yo(e.event);if(!n)return;if(Array.isArray(n.denied_actions)&&n.denied_actions.length>0)return tT(n);if(n.status==="SUCCESS")return;if(n.status!=="ERROR")return ya("Antigravity returned a result with an unsupported status.");let r=n.error,s=eT(r==null||r===""?n:r,Zk(t,e.index));return To(s)}function Jl(t){if(typeof t=="string")return t;if(t!=null)try{return JSON.stringify(t)}catch{return}}function nT(t){return `agy:${String(t.conversation_id)}:${String(t.step_index)}`}function rT(t,e){let n=typeof e?.name=="string"?e.name:t.tool_name;return typeof n=="string"&&n.trim()?n:void 0}function sT(t){let e=Jl(t);if(e)return e.length<=2e3?e:`${e.slice(0,1999)}\u2026`}function Kl(t,e){return t?t.state.has(e)?true:(t.state.set(e,true),false):false}function Vl(t,e){return {timestamp:t,type:"error",content:e.message,errorMessage:e.message,isError:true}}var _a,jk,ma,Wk,wa,Ra=C(()=>{h();In();zl();Zi();ns();Nn();ss();ao();_a="antigravity",jk=new Set(["--conversation","--resume","--continue"]),ma=10*1024*1024,Wk=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"]);wa={command:"agy",maxInitialInputBytes:ma,meta:{displayName:"Antigravity",models:ll(),defaultTimeoutMs:{query:12e4,execute:3e5},defaultIdleMs:6e5,capabilities:{resume:true,usageCompleteness:true}},extractSessionId(t){let e=es(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){Yk(t);let{model:r,effort:s}=dn(e.model),o=ia(r),i=o.model,a=e.effort??s??o.effort,u=Kk(i,a),c=e.additionalArgs??[],p=zk(Gk(c,new Set(["--input-format","--output-format"]))),l=i&&!mo(c,"--model")?["--model",i]:[],g=mo(c,"--effort")?[]:Sl(u),_=mo(c,"--mode")||mo(c,"--dangerously-skip-permissions")?[]:El(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",...l,...g,..._,...m,...p],stdinMessage:`${JSON.stringify({event:"user",message:{content:t}})}
53
53
  `,env:{AGY_CLI_DISABLE_AUTO_UPDATE:"true"}}},extractText(t){let e=On(t),n=wo(e)?.event,r=ko(e);if(r)throw r;let s=n?yo(n):void 0;if(s){if(s.status!=="SUCCESS")throw ya("Antigravity returned a result with an unsupported status.");if(typeof s.response!="string")throw ya("Antigravity returned a successful result without a response string.");if(!s.response.trim())throw ha();return s.response}if(e.length>0)throw ha();let o=t.trim();if(!o)throw ha();return o},extractPartialText(t){let e=On(t),n=wo(e)?.event;if(!n||n.kind==="agy_error")return;let r=yo(n);return r&&typeof r.response=="string"&&r.response.trim()?r.response:void 0},interpretExit(t,e,n){let r=On(n??""),s=ko(r);return s||(t!==0&&e.trim()?To(e):null)},parseResultMeta(t){let e=On(t),n=0,r=0,s=0,o=0,i=new Set;for(let u of e){if(u.kind!=="step_update"||u.step.state!=="DONE"||!Ft(u.step.usage))continue;let c=ka(u),p=Ta(u);if(!c||!Number.isSafeInteger(p))continue;let l=JSON.stringify([c,p]);if(i.has(l))continue;let g=u.step.usage,_=Yt(g.input_tokens),m=Yt(g.output_tokens);_===void 0||m===void 0||(i.add(l),n+=_,r+=m,s+=Yt(g.cache_read_tokens)??0,o+=1);}return {usage:o===0?null:{inputTokens:n,outputTokens:r,cachedInputTokens:s,costUsd:0,complete:Qk(e)},model:null}},parseEvent(t,e,n){let r=es(t);if(!r)return [];let s=e??new Date().toISOString();if(r.kind==="agy_error")return [Vl(s,To(r.error))];if(r.kind==="legacy_result"||r.kind==="result"){let _=ko([r]);return _?[Vl(s,_)]:[]}if(r.kind!=="step_update")return [];let{step:o}=r,i=ka(r)??"unknown",a=Ta(r),u=`${i}:${a}`;if(o.state==="DONE"&&Kl(n,`antigravity:terminal:${u}`))return [];if(o.step_type==="agent_response")return typeof o.text_delta=="string"&&o.text_delta.length>0?[{timestamp:s,type:"text",content:o.text_delta}]:[];if(o.step_type!=="tool")return [];let c=Ft(o.tool_info)?o.tool_info:void 0,p=rT(o,c);if(!p)return [];let l=nT(o);if(o.state==="ACTIVE"){if(Kl(n,`antigravity:active:${u}`))return [];let _=Jl(c?.parameters);return [{timestamp:s,type:"tool_use",toolName:p,toolUseId:l,..._===void 0?{}:{toolInput:_}}]}let g=sT(c?.output);return [{timestamp:s,type:"tool_result",toolName:p,toolUseId:l,...g===void 0?{}:{resultPreview:g}}]}};});var Xl=C(()=>{h();ar();ur();dr();vn();});function gr(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function _r(t){return gr(t)?t:void 0}function Ye(t){return typeof t=="string"?t:void 0}function xn(t){let e=typeof t=="number"?t:Number(t??0);return Number.isFinite(e)?e:0}function uT(t){let e=[],n=-1,r=0,s=false,o=false;for(let i=0;i<t.length;i+=1){let a=t[i];if(n===-1){(a==="{"||a==="[")&&(n=i,r=1);continue}if(o){o=false;continue}if(a==="\\"&&s){o=true;continue}if(a==='"'){s=!s;continue}s||(a==="{"||a==="["?r+=1:(a==="}"||a==="]")&&(r-=1,r===0&&(e.push(t.slice(n,i+1)),n=-1)));}return n!==-1&&e.push(t.slice(n)),e}function is(t){let e=t.trim();if(!e)return [];try{let n=JSON.parse(e);return gr(n)?[n]:[]}catch{return uT(e).flatMap(n=>{try{let r=JSON.parse(n);return gr(r)?[r]:[]}catch{return []}})}}function tp(t){let e=JSON.stringify(t);return e===void 0?String(t):e}function Dn(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.map(Dn).filter(n=>n!==void 0);return e.length>0?e.join(`
54
54
  `):void 0}if(gr(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=Dn(t[e]);if(n!==void 0)return n}}}function cT(t){let e=i=>Array.isArray(i)&&i.every(a=>Number.isInteger(a)&&a>=0&&a<=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)),s=i=>{let a=JSON.stringify(i,(u,c)=>e(c)?`<bytes:${c.length}>`:c);return a===void 0?String(i):a},o=t.rawOutput;if(o!=null){let i=_r(o);if(!i)return n(Dn(o))??s(o);let a;if(e(i.output)&&i.output.length>0&&(a=n(r(i.output))),!a&&e(i.stdout)&&i.stdout.length>0&&(a=n(r(i.stdout))),!a){let p=_r(i.Result);a=n(i.output)??n(p?.output)??n(Dn(o));}let u=e(i.stderr)&&i.stderr.length>0?r(i.stderr):void 0;if(u!==void 0)if(a){let p=a.endsWith(`
55
55
  `)||a.endsWith("\r")?"":`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/sdk",
3
- "version": "0.9.0-rc.186",
3
+ "version": "0.9.0-rc.187",
4
4
  "license": "UNLICENSED",
5
5
  "engines": {
6
6
  "node": ">=20.19.0"