@crewx/sdk 0.9.0-rc.228 → 0.9.0-rc.229

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.
@@ -59,7 +59,7 @@ ${r.join(`
59
59
 
60
60
  `):""}function Bg(t){let e=t.toLowerCase();return e.includes("out of extra usage")||e.includes("rate limit")||e.includes("quota")}function _u(t){return t.replace(/\s+/g," ").trim()}function Fg(t,e){let n=t?.description;if(typeof n!="string")return;let r=_u(n);if(!r||r===_u(e))return;if(r.length<=pu)return r;let o=r.slice(0,pu-1);return /[\uD800-\uDBFF]$/.test(o)&&(o=o.slice(0,-1)),`${o}\u2026`}function Wg(t,e){let n=e.type;if(n==="text"){let r=String(e.text||"");return r?{timestamp:t,type:"text",content:r}:null}if(n==="thinking"){let r=typeof e.thinking=="string"?e.thinking.trim():"";return r?{timestamp:t,type:"thinking",content:r}:null}if(n==="tool_use"){let r=String(e.name||""),o=e.id,s=e.input,i=it(s);if(r==="Bash"&&St(i))return It(t,i,o);let c=Fg(s,i);return {timestamp:t,type:"tool_use",toolUseId:o,toolName:r,toolInput:i,...c?{toolTitle:c}:{}}}if(n==="tool_result"){let r=!!e.is_error,o=e.tool_use_id,s=e.output??e.content??"",i;return typeof s=="string"?i=s:Array.isArray(s)?i=s.filter(c=>c.type==="text"&&typeof c.text=="string").map(c=>c.text).join(`
61
61
  `):i=JSON.stringify(s),{timestamp:t,type:"tool_result",toolUseId:o,...st(i,r)}}return null}var Lg,Mg,Co,pu,ai=C(()=>{g();Js();Xt();Vs();Hn();Un();qn();Bn();Ar();Yt();Nr();mn();ru();ii();Lg=new Set(["tool_progress"]),Mg="cli/claude";Co={command:"claude",meta:{displayName:"Claude",models:Uc(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:o}=Qt(e.model),s=e.effort??o,i=Jc(e.mode),c=Vc(s),d=r?["--model",r]:[],u=e.mode==="bypassPermissions"?[]:["--allowedTools",...iu(e.builtinAllow)],l=e.resumeSessionId?["--resume",e.resumeSessionId]:[];if(e.additionalArgs!==void 0){let _=[...e.additionalArgs];return _.indexOf("-p")!==-1?{args:["--output-format","stream-json","--verbose",...l,...i,...c,...d,...u,..._],stdinMessage:t,env:bo}:{args:["--output-format","stream-json","--verbose",...l,...i,...c,...d,...u,..._],stdinMessage:t,env:bo}}return {args:["-p","--output-format","stream-json","--verbose",...l,...i,...c,...d,...u],stdinMessage:t,env:bo}},extractText(t){let e=cu(t);if(e?.is_error===true){let o=Co.extractFailure(JSON.stringify(e));if(o)throw o;let s=typeof e.subtype=="string"?e.subtype:"unknown",i=typeof e.terminal_reason=="string"?e.terminal_reason:"unknown";throw new G(lu(e)??`Claude ended without an answer (subtype=${s}, terminal_reason=${i})`,Mg,{code:"EMPTY_OUTPUT",kind:"permanent"})}let n=du(t);if(n)return n;let r=t.trim();return Rt(r,"claude")?"":r},extractPartialText(t){return du(t)},extractFailure(t){try{let e=JSON.parse(t),n=fu(e);if(n)return new hn(n)}catch{}return null},interpretExit(t,e,n){let r=$g(n??"");if(r)return new G(`Claude is not logged in (exit ${t}): ${r}. Sign in to this account with the official "claude auth login".`,"cli/claude",{code:"AUTH_REQUIRED",kind:"config"});let o=lu(cu(n??""));return o?new G(o,"cli/claude"):null},observeRateLimit(t){try{let e=JSON.parse(t);return Hg(e)}catch{return}},parseResultMeta(t){let e=t.split(`
62
- `);for(let r of e)if(r.trim())try{let o=JSON.parse(r);if(o.type==="result"){let s=o.usage,i=s?{inputTokens:Number(s.input_tokens??0)+Number(s.cache_read_input_tokens??0),outputTokens:Number(s.output_tokens??0),cachedInputTokens:Number(s.cache_read_input_tokens??0),costUsd:Number(o.total_cost_usd??0)}:null,c=o.modelUsage,d=c?Object.keys(c)[0]??null:null;return {usage:i,model:d}}}catch{}let n=nu(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 o=at(n,e??new Date().toISOString()),s=Ug(n);if(s)return [{timestamp:o,type:"error",content:s,errorMessage:s}];let i=n.output_file,c=n.summary;if(r==="system"&&n.subtype==="task_notification"&&n.status==="completed"&&typeof i=="string"&&i.trim().length>0&&typeof c=="string"&&c.trim().length>0)return [{timestamp:o,type:"text",content:c}];if(r!=="assistant"&&r!=="user")return [];let u=n.message?.content;if(!Array.isArray(u))return [];let l=[];for(let p of u){let _=Wg(o,p);_&&l.push(_);}return l},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Lg.has(r):!1}catch{return false}}};pu=200;});function gu(t){let e=t.split(`
62
+ `);for(let r of e)if(r.trim())try{let o=JSON.parse(r);if(o.type==="result"){let s=o.usage,i=s?{inputTokens:Number(s.input_tokens??0)+Number(s.cache_read_input_tokens??0),outputTokens:Number(s.output_tokens??0),cachedInputTokens:Number(s.cache_read_input_tokens??0),costUsd:Number(o.total_cost_usd??0)}:null,c=o.modelUsage,d=c?Object.keys(c)[0]??null:null;return {usage:i,model:d}}}catch{}let n=nu(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 o=at(n,e??new Date().toISOString()),s=Ug(n);if(s)return [{timestamp:o,type:"error",content:s,errorMessage:s}];if(r!=="assistant"&&r!=="user")return [];let c=n.message?.content;if(!Array.isArray(c))return [];let d=[];for(let u of c){let l=Wg(o,u);l&&d.push(l);}return d},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?Lg.has(r):!1}catch{return false}}};pu=200;});function gu(t){let e=t.split(`
63
63
  `).filter(o=>o.trim()),n=[],r=null;for(let o of e)try{let s=JSON.parse(o);if(s.type==="assistant.message"&&typeof s.data?.content=="string"){let i=s.data.content;i.trim()&&n.push(i.trim());}s.type==="result"&&typeof s.result=="string"&&(r=s.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var Gg,di,ci=C(()=>{g();Hn();Nr();Un();Bn();qn();Yt();Oo();mn();Gg=new Set(["interactive","plan","autopilot"]);di={command:"copilot",meta:{displayName:"Copilot",models:Bc()},buildArgs(t,e,n){let r=e.additionalArgs?[...e.additionalArgs]:[];return e.model&&r.push("--model",e.model),e.mode&&Gg.has(e.mode)&&r.push("--mode",e.mode),e.effort&&(No.copilot??[]).includes(e.effort)&&r.push("--effort",e.effort),{args:r,stdinMessage:t}},extractText(t){let e=gu(t);if(e)return e;let n=t.trim();return Rt(n,"copilot")?"":n},extractPartialText(t){return gu(t)},parseResultMeta(t){let e=Wn(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 o=n.data;if(!o)return [];let s=at(n,e??new Date().toISOString()),i=o.toolCallId;if(r==="tool.execution_start"){let c=String(o.toolName||""),d=o.arguments,u=it(d);return (c==="bash"||c==="Bash")&&St(u)?[It(s,u,i)]:[{timestamp:s,type:"tool_use",toolName:c,toolInput:u,...i&&{toolUseId:i}}]}if(r==="tool.execution_complete"){let c=o.error;if(c)return [{timestamp:s,type:"tool_result",...i&&{toolUseId:i},...st(String(c.message||""),true)}];let d=o.result,u=String(d?.content||"");return [{timestamp:s,type:"tool_result",...i&&{toolUseId:i},...st(u,false)}]}if(r==="assistant.message"){let c=String(o.content||"");return c?[{timestamp:s,type:"text",content:c}]:[]}return []}};});function Kg(t){let e=[],n=0,r=false,o=false,s=0;for(let c=0;c<t.length;c++){let d=t[c];if(o){o=false;continue}if(d==="\\"&&r){o=true;continue}if(d==='"'){r=!r;continue}if(!r){if(d==="{")n++;else if(d==="}"&&(n--,n===0)){let u=t.slice(s,c+1).trim();u&&e.push(u),s=c+1;}}}let i=t.slice(s).trim();return i&&e.push(i),e}function Jg(t){return t[0]==="exec"?t.slice(1):t}function hu(t){let e=t.split(`
64
64
  `).map(o=>o.trim()).filter(Boolean),n=[],r=null;for(let o of e)try{let s=JSON.parse(o);if(s.type==="item.completed"&&(s.item?.type==="message"||s.item?.type==="agent_message")&&typeof s.item?.text=="string"){let i=s.item.text;i.trim()&&n.push(i.trim());}s.type==="result"&&typeof s.result=="string"&&(r=s.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function Zt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ku(t){return t.type==="turn.failed"?true:t.type!=="error"?false:typeof t.message=="string"||typeof t.errorMessage=="string"||typeof t.error=="string"||Zt(t.error)}function yu(t){let e=Zt(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 Vg(t){for(let e of t.split(/\r?\n/)){if(!e.trim())continue;let n;try{n=JSON.parse(e);}catch{continue}if(Zt(n)&&ku(n))return yu(n)}}function mu(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 o=n.state.get("codex.pending");o||(o=new Map,n.state.set("codex.pending",o));let s=JSON.stringify([t.type,t.id]);if(e==="item.started"){let d=`codex:${JSON.stringify(t.id)}#${n.rowIndex}:${r}`,u=o.get(s)??[];return u.push(d),o.set(s,u),d}let i=o.get(s),c=i?.pop();return i?.length||o.delete(s),c}function Xg(t,e,n){let r=e.type;if(r==="command_execution"){let o=String(e.command||"");return St(o)?[It(t,o,n)]:[{timestamp:t,type:"tool_use",toolName:"Bash",toolInput:o,...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:it(e.arguments),...n?{toolUseId:n}:{}}]:[]}function Yg(t,e,n){let r=e.type;if(r==="message"||r==="text"){let o=e.content;if(Array.isArray(o))for(let s of o){let i=Qg(t,s);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 o=typeof e.text=="string"?e.text.trim():"";return o?{timestamp:t,type:"thinking",content:o}:null}if(r==="command_execution"){let o=String(e.aggregated_output||e.output||""),s=!!e.is_error;return {timestamp:t,type:"tool_result",...st(o,s),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let o=Zt(e.result)?e.result:void 0,i=(Array.isArray(o?.content)?o.content:[]).filter(d=>Zt(d)&&d.type==="text"&&typeof d.text=="string").map(d=>d.text).join(`
65
65
  `),c=typeof e.error=="string"?e.error:Zt(e.error)&&typeof e.error.message=="string"?e.error.message:"";return {timestamp:t,type:"tool_result",resultPreview:i||c,isError:e.status==="failed"||e.status==="error"||e.is_error===true||e.error!=null,...n?{toolUseId:n}:{}}}if(r==="tool_use"){let o=String(e.name||e.tool_name||""),s=e.input,i=it(s);return o==="Bash"&&St(i)?It(t,i):{timestamp:t,type:"tool_use",toolName:o,toolInput:i}}if(r==="tool_result"){let o=!!e.is_error,s=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...st(s,o)}}if(r==="web_search"){let o=e.action,s;if(o?.type==="search"){let i=o.queries;s=String(o.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else s=e.query?"open: "+String(e.query):"";return !s&&!(Zt(o)&&o.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:s}}if(r==="file_change"){let o=e.changes;if(!Array.isArray(o)||o.length===0)return null;let s=o.map(c=>String(c.path||"")).filter(Boolean);if(s.length===0)return null;let i=s.length===1?s[0]:`${s.slice(0,2).join(", ")}${s.length>2?` (+${s.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function Qg(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||""),o=e.input,s=it(o);return r==="Bash"&&St(s)?It(t,s):{timestamp:t,type:"tool_use",toolName:r,toolInput:s}}return null}var jg,zg,ui,li=C(()=>{g();Xt();Hn();Nr();Un();Bn();Qs();qn();Ar();Yt();mn();jg=new Set(["turn.started","turn.completed","item.updated"]),zg="cli/codex";ui={command:"codex",meta:{displayName:"Codex",models:qc(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:o}=Qt(e.model),s=e.effort??o,i=e.resumeSessionId?zc(e.mode):jc(e.mode),c=Kc(s),d=r?["-m",r]:[],u=Jg(e.additionalArgs??[]),p=u.includes("--json")||u.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...p,...i,...c,...d,...u,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...p,...i,...c,...d,...u],stdinMessage:t}},extractText(t){let e=Vg(t);if(e)throw new G(e,zg);let n=hu(t);if(n)return n;let r=t.trim();return Rt(r,"codex")?"":r},extractPartialText(t){return hu(t)},parseResultMeta(t){let e=Wn(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e,n){let r=e??new Date().toISOString(),o=[],s;try{JSON.parse(t),s=[t];}catch{s=Kg(t),s.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,c]of s.entries()){let d;try{d=JSON.parse(c);}catch{continue}if(!Zt(d))continue;let u=d.type;if(!u)continue;let l=at(d,r);if(ku(d)){let _=yu(d);o.push({timestamp:l,type:"error",content:_,errorMessage:_});continue}if(!u.startsWith("item.")&&!u.startsWith("turn.")&&!u.startsWith("thread.")||Ys(d))continue;u==="thread.started"&&n&&n.state.delete("codex.pending");let p=d.item;if(p){if(u==="item.started"){o.push(...Xg(l,p,mu(p,u,n,i)));continue}if(u==="item.completed"){let _=Yg(l,p,mu(p,u,n,i));_&&o.push(_);continue}}}return o},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?jg.has(r):!1}catch{return false}}};});function Ye(t,e=240){if(typeof t!="string")return;let n=t.split(/\r?\n/).map(r=>r.trim()).find(r=>r&&!/^at\s+/.test(r));if(n)return n.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(^|[\s"'(=])((?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+)/g,"$1[path]").slice(0,e).trim()}function Or(t){let e=Ye(t);if(e)return Ye(e.replace(/^Upstream request failed:\s*/i,""),200)}var Tu=C(()=>{g();});var wu=C(()=>{g();});function eh(t){let e=t.match(/(?:^|[^0-9])([0-9]{1,5})(?![0-9])/);if(!e)return null;let n=Number(e[1]);return Number.isInteger(n)&&n>0&&n<=65535?n:null}function th(){return new Promise(t=>{let e=false,n,r=o=>{e||(e=true,n&&clearTimeout(n),t(o));};n=setTimeout(()=>r(null),Eu),n.unref();try{execFile("chcp.com",[],{encoding:"ascii",timeout:Eu,windowsHide:!0},(s,i)=>{if(s){r(null);return}r(eh(String(i)));}).once("error",()=>r(null));}catch{r(null);}})}function nh(){return process.platform!=="win32"?Promise.resolve(null):(xo||(xo=th(),xo.then(t=>{},()=>{})),xo)}function rh(){process.platform==="win32"&&nh();}var Eu,xo,Su=C(()=>{g();Eu=1e3;rh();});function sh(t,e){let n={};for(let[r,o]of Object.entries(t))o!==void 0&&(e.includes(r)||(n[r]=o));return n}function pi(t){return sh(t,oh)}var oh,_i=C(()=>{g();oh=["CREWX_ASSIGNED_TASK_ID","CREWX_DETACHED_RUNNER"];});function Do(){if(process.env.CREWX_HOME){let t=Oe.resolve(process.env.CREWX_HOME);try{return Au.realpathSync(t)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return t;throw e}}return process.platform!=="win32"&&process.env.XDG_CONFIG_HOME?Oe.join(process.env.XDG_CONFIG_HOME,"crewx"):Oe.join(Va.homedir(),".crewx")}var Nu=C(()=>{g();});function br(t=Do()){let e=join(t,"opencode-xdg");return {XDG_DATA_HOME:join(e,"data"),XDG_STATE_HOME:join(e,"state")}}function Cr(t=Do()){return join(br(t).XDG_DATA_HOME,"opencode")}async function ch(){return (await import('better-sqlite3')).default}function uh(t){return join(t,"opencode.db")}function lh(t){let e=t??process.env.XDG_DATA_HOME??join(homedir(),".local","share");return join(resolve(e),"opencode","opencode.db")}function vu(t,e){return !!t.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(e)}function ph(t){let e;try{e=typeof t=="string"?JSON.parse(t):t;}catch{return false}if(!e||typeof e!="object"||Array.isArray(e))return false;let n=e;return n.type==="key"&&typeof n.key=="string"&&!("refresh"in n)&&!("refresh_token"in n)&&!("expires"in n)&&!("expires_at"in n)&&!("expires_in"in n)}function _h(t,e){if(!existsSync(e))return [];let n;try{return n=new t(e,{readonly:!0,fileMustExist:!0}),vu(n,"credential")?n.prepare(`
@@ -59,7 +59,7 @@ ${r.join(`
59
59
 
60
60
  `):""}function vT(t){let e=t.toLowerCase();return e.includes("out of extra usage")||e.includes("rate limit")||e.includes("quota")}function Jp(t){return t.replace(/\s+/g," ").trim()}function CT(t,e){let n=t?.description;if(typeof n!="string")return;let r=Jp(n);if(!r||r===Jp(e))return;if(r.length<=Vp)return r;let o=r.slice(0,Vp-1);return /[\uD800-\uDBFF]$/.test(o)&&(o=o.slice(0,-1)),`${o}\u2026`}function DT(t,e){let n=e.type;if(n==="text"){let r=String(e.text||"");return r?{timestamp:t,type:"text",content:r}:null}if(n==="thinking"){let r=typeof e.thinking=="string"?e.thinking.trim():"";return r?{timestamp:t,type:"thinking",content:r}:null}if(n==="tool_use"){let r=String(e.name||""),o=e.id,s=e.input,i=Bt(s);if(r==="Bash"&&on(i))return sn(t,i,o);let a=CT(s,i);return {timestamp:t,type:"tool_use",toolUseId:o,toolName:r,toolInput:i,...a?{toolTitle:a}:{}}}if(n==="tool_result"){let r=!!e.is_error,o=e.tool_use_id,s=e.output??e.content??"",i;return typeof s=="string"?i=s:Array.isArray(s)?i=s.filter(a=>a.type==="text"&&typeof a.text=="string").map(a=>a.text).join(`
61
61
  `):i=JSON.stringify(s),{timestamp:t,type:"tool_result",toolUseId:o,...Ut(i,r)}}return null}var ST,bT,Ys,Vp,td=x(()=>{h();ja();Cn();Wa();Po();Mr();$r();Hr();$o();Dn();Ho();Zn();Up();ed();ST=new Set(["tool_progress"]),bT="cli/claude";Ys={command:"claude",meta:{displayName:"Claude",models:wp(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:o}=xn(e.model),s=e.effort??o,i=vp(e.mode),a=Cp(s),c=r?["--model",r]:[],u=e.mode==="bypassPermissions"?[]:["--allowedTools",...Fp(e.builtinAllow)],p=e.resumeSessionId?["--resume",e.resumeSessionId]:[];if(e.additionalArgs!==void 0){let f=[...e.additionalArgs];return f.indexOf("-p")!==-1?{args:["--output-format","stream-json","--verbose",...p,...i,...a,...c,...u,...f],stdinMessage:t,env:Xs}:{args:["--output-format","stream-json","--verbose",...p,...i,...a,...c,...u,...f],stdinMessage:t,env:Xs}}return {args:["-p","--output-format","stream-json","--verbose",...p,...i,...a,...c,...u],stdinMessage:t,env:Xs}},extractText(t){let e=Gp(t);if(e?.is_error===true){let o=Ys.extractFailure(JSON.stringify(e));if(o)throw o;let s=typeof e.subtype=="string"?e.subtype:"unknown",i=typeof e.terminal_reason=="string"?e.terminal_reason:"unknown";throw new J(Kp(e)??`Claude ended without an answer (subtype=${s}, terminal_reason=${i})`,bT,{code:"EMPTY_OUTPUT",kind:"permanent"})}let n=Wp(t);if(n)return n;let r=t.trim();return kn(r,"claude")?"":r},extractPartialText(t){return Wp(t)},extractFailure(t){try{let e=JSON.parse(t),n=Xp(e);if(n)return new Yn(n)}catch{}return null},interpretExit(t,e,n){let r=AT(n??"");if(r)return new J(`Claude is not logged in (exit ${t}): ${r}. Sign in to this account with the official "claude auth login".`,"cli/claude",{code:"AUTH_REQUIRED",kind:"config"});let o=Kp(Gp(n??""));return o?new J(o,"cli/claude"):null},observeRateLimit(t){try{let e=JSON.parse(t);return IT(e)}catch{return}},parseResultMeta(t){let e=t.split(`
62
- `);for(let r of e)if(r.trim())try{let o=JSON.parse(r);if(o.type==="result"){let s=o.usage,i=s?{inputTokens:Number(s.input_tokens??0)+Number(s.cache_read_input_tokens??0),outputTokens:Number(s.output_tokens??0),cachedInputTokens:Number(s.cache_read_input_tokens??0),costUsd:Number(o.total_cost_usd??0)}:null,a=o.modelUsage,c=a?Object.keys(a)[0]??null:null;return {usage:i,model:c}}}catch{}let n=Hp(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 o=qt(n,e??new Date().toISOString()),s=NT(n);if(s)return [{timestamp:o,type:"error",content:s,errorMessage:s}];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:o,type:"text",content:a}];if(r!=="assistant"&&r!=="user")return [];let u=n.message?.content;if(!Array.isArray(u))return [];let p=[];for(let l of u){let f=DT(o,l);f&&p.push(f);}return p},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?ST.has(r):!1}catch{return false}}};Vp=200;});function Yp(t){let e=t.split(`
62
+ `);for(let r of e)if(r.trim())try{let o=JSON.parse(r);if(o.type==="result"){let s=o.usage,i=s?{inputTokens:Number(s.input_tokens??0)+Number(s.cache_read_input_tokens??0),outputTokens:Number(s.output_tokens??0),cachedInputTokens:Number(s.cache_read_input_tokens??0),costUsd:Number(o.total_cost_usd??0)}:null,a=o.modelUsage,c=a?Object.keys(a)[0]??null:null;return {usage:i,model:c}}}catch{}let n=Hp(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 o=qt(n,e??new Date().toISOString()),s=NT(n);if(s)return [{timestamp:o,type:"error",content:s,errorMessage:s}];if(r!=="assistant"&&r!=="user")return [];let a=n.message?.content;if(!Array.isArray(a))return [];let c=[];for(let u of a){let p=DT(o,u);p&&c.push(p);}return c},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?ST.has(r):!1}catch{return false}}};Vp=200;});function Yp(t){let e=t.split(`
63
63
  `).filter(o=>o.trim()),n=[],r=null;for(let o of e)try{let s=JSON.parse(o);if(s.type==="assistant.message"&&typeof s.data?.content=="string"){let i=s.data.content;i.trim()&&n.push(i.trim());}s.type==="result"&&typeof s.result=="string"&&(r=s.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}var xT,nd,rd=x(()=>{h();Po();Ho();Mr();Hr();$r();Dn();Vs();Zn();xT=new Set(["interactive","plan","autopilot"]);nd={command:"copilot",meta:{displayName:"Copilot",models:Ep()},buildArgs(t,e,n){let r=e.additionalArgs?[...e.additionalArgs]:[];return e.model&&r.push("--model",e.model),e.mode&&xT.has(e.mode)&&r.push("--mode",e.mode),e.effort&&(Ks.copilot??[]).includes(e.effort)&&r.push("--effort",e.effort),{args:r,stdinMessage:t}},extractText(t){let e=Yp(t);if(e)return e;let n=t.trim();return kn(n,"copilot")?"":n},extractPartialText(t){return Yp(t)},parseResultMeta(t){let e=Br(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 o=n.data;if(!o)return [];let s=qt(n,e??new Date().toISOString()),i=o.toolCallId;if(r==="tool.execution_start"){let a=String(o.toolName||""),c=o.arguments,u=Bt(c);return (a==="bash"||a==="Bash")&&on(u)?[sn(s,u,i)]:[{timestamp:s,type:"tool_use",toolName:a,toolInput:u,...i&&{toolUseId:i}}]}if(r==="tool.execution_complete"){let a=o.error;if(a)return [{timestamp:s,type:"tool_result",...i&&{toolUseId:i},...Ut(String(a.message||""),true)}];let c=o.result,u=String(c?.content||"");return [{timestamp:s,type:"tool_result",...i&&{toolUseId:i},...Ut(u,false)}]}if(r==="assistant.message"){let a=String(o.content||"");return a?[{timestamp:s,type:"text",content:a}]:[]}return []}};});function MT(t){let e=[],n=0,r=false,o=false,s=0;for(let a=0;a<t.length;a++){let c=t[a];if(o){o=false;continue}if(c==="\\"&&r){o=true;continue}if(c==='"'){r=!r;continue}if(!r){if(c==="{")n++;else if(c==="}"&&(n--,n===0)){let u=t.slice(s,a+1).trim();u&&e.push(u),s=a+1;}}}let i=t.slice(s).trim();return i&&e.push(i),e}function $T(t){return t[0]==="exec"?t.slice(1):t}function Qp(t){let e=t.split(`
64
64
  `).map(o=>o.trim()).filter(Boolean),n=[],r=null;for(let o of e)try{let s=JSON.parse(o);if(s.type==="item.completed"&&(s.item?.type==="message"||s.item?.type==="agent_message")&&typeof s.item?.text=="string"){let i=s.item.text;i.trim()&&n.push(i.trim());}s.type==="result"&&typeof s.result=="string"&&(r=s.result);}catch{}if(n.length>0)return n[n.length-1];if(r)return r}function Pn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function e_(t){return t.type==="turn.failed"?true:t.type!=="error"?false:typeof t.message=="string"||typeof t.errorMessage=="string"||typeof t.error=="string"||Pn(t.error)}function t_(t){let e=Pn(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 HT(t){for(let e of t.split(/\r?\n/)){if(!e.trim())continue;let n;try{n=JSON.parse(e);}catch{continue}if(Pn(n)&&e_(n))return t_(n)}}function Zp(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 o=n.state.get("codex.pending");o||(o=new Map,n.state.set("codex.pending",o));let s=JSON.stringify([t.type,t.id]);if(e==="item.started"){let c=`codex:${JSON.stringify(t.id)}#${n.rowIndex}:${r}`,u=o.get(s)??[];return u.push(c),o.set(s,u),c}let i=o.get(s),a=i?.pop();return i?.length||o.delete(s),a}function UT(t,e,n){let r=e.type;if(r==="command_execution"){let o=String(e.command||"");return on(o)?[sn(t,o,n)]:[{timestamp:t,type:"tool_use",toolName:"Bash",toolInput:o,...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 BT(t,e,n){let r=e.type;if(r==="message"||r==="text"){let o=e.content;if(Array.isArray(o))for(let s of o){let i=qT(t,s);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 o=typeof e.text=="string"?e.text.trim():"";return o?{timestamp:t,type:"thinking",content:o}:null}if(r==="command_execution"){let o=String(e.aggregated_output||e.output||""),s=!!e.is_error;return {timestamp:t,type:"tool_result",...Ut(o,s),...n?{toolUseId:n}:{}}}if(r==="mcp_tool_call"){let o=Pn(e.result)?e.result:void 0,i=(Array.isArray(o?.content)?o.content:[]).filter(c=>Pn(c)&&c.type==="text"&&typeof c.text=="string").map(c=>c.text).join(`
65
65
  `),a=typeof e.error=="string"?e.error:Pn(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 o=String(e.name||e.tool_name||""),s=e.input,i=Bt(s);return o==="Bash"&&on(i)?sn(t,i):{timestamp:t,type:"tool_use",toolName:o,toolInput:i}}if(r==="tool_result"){let o=!!e.is_error,s=String(e.output||e.content||"");return {timestamp:t,type:"tool_result",...Ut(s,o)}}if(r==="web_search"){let o=e.action,s;if(o?.type==="search"){let i=o.queries;s=String(o.query||"")||(i?.length?i.join(", "):"")||String(e.query||"");}else s=e.query?"open: "+String(e.query):"";return !s&&!(Pn(o)&&o.type==="other"&&e.query==="")?null:{timestamp:t,type:"tool_use",toolName:"WebSearch",toolInput:s}}if(r==="file_change"){let o=e.changes;if(!Array.isArray(o)||o.length===0)return null;let s=o.map(a=>String(a.path||"")).filter(Boolean);if(s.length===0)return null;let i=s.length===1?s[0]:`${s.slice(0,2).join(", ")}${s.length>2?` (+${s.length-2})`:""}`;return {timestamp:t,type:"tool_use",toolName:"Edit",toolInput:i}}return null}function qT(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||""),o=e.input,s=Bt(o);return r==="Bash"&&on(s)?sn(t,s):{timestamp:t,type:"tool_use",toolName:r,toolInput:s}}return null}var PT,LT,od,sd=x(()=>{h();Cn();Po();Ho();Mr();Hr();Ka();$r();$o();Dn();Zn();PT=new Set(["turn.started","turn.completed","item.updated"]),LT="cli/codex";od={command:"codex",meta:{displayName:"Codex",models:Rp(),capabilities:{resume:true}},buildArgs(t,e,n){let{model:r,effort:o}=xn(e.model),s=e.effort??o,i=e.resumeSessionId?Np(e.mode):Ip(e.mode),a=Op(s),c=r?["-m",r]:[],u=$T(e.additionalArgs??[]),l=u.includes("--json")||u.includes("--experimental-json")?[]:["--json"];return e.resumeSessionId?{args:["exec","resume",...l,...i,...a,...c,...u,e.resumeSessionId,"-"],stdinMessage:t}:{args:["exec",...l,...i,...a,...c,...u],stdinMessage:t}},extractText(t){let e=HT(t);if(e)throw new J(e,LT);let n=Qp(t);if(n)return n;let r=t.trim();return kn(r,"codex")?"":r},extractPartialText(t){return Qp(t)},parseResultMeta(t){let e=Br(t);return e?{usage:{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0},model:null}:{usage:null,model:null}},parseEvent(t,e,n){let r=e??new Date().toISOString(),o=[],s;try{JSON.parse(t),s=[t];}catch{s=MT(t),s.length>1&&console.warn("[codex] parseEvent: falling back to concatenated-JSON split for a malformed line");}for(let[i,a]of s.entries()){let c;try{c=JSON.parse(a);}catch{continue}if(!Pn(c))continue;let u=c.type;if(!u)continue;let p=qt(c,r);if(e_(c)){let f=t_(c);o.push({timestamp:p,type:"error",content:f,errorMessage:f});continue}if(!u.startsWith("item.")&&!u.startsWith("turn.")&&!u.startsWith("thread.")||za(c))continue;u==="thread.started"&&n&&n.state.delete("codex.pending");let l=c.item;if(l){if(u==="item.started"){o.push(...UT(p,l,Zp(l,u,n,i)));continue}if(u==="item.completed"){let f=BT(p,l,Zp(l,u,n,i));f&&o.push(f);continue}}}return o},suppressOutputLine(t){let e=t.trim();if(!e.startsWith("{")||!e.endsWith("}"))return false;try{let r=JSON.parse(e).type;return r?PT.has(r):!1}catch{return false}}};});function Nt(t,e=240){if(typeof t!="string")return;let n=t.split(/\r?\n/).map(r=>r.trim()).find(r=>r&&!/^at\s+/.test(r));if(n)return n.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/(^|[\s"'(=])((?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()\[\]{}]+[\\/])*[^\s"'`()\[\]{}]+)/g,"$1[path]").slice(0,e).trim()}function Uo(t){let e=Nt(t);if(e)return Nt(e.replace(/^Upstream request failed:\s*/i,""),200)}var n_=x(()=>{h();});var r_=x(()=>{h();});function jT(t){let e=t.match(/(?:^|[^0-9])([0-9]{1,5})(?![0-9])/);if(!e)return null;let n=Number(e[1]);return Number.isInteger(n)&&n>0&&n<=65535?n:null}function WT(){return new Promise(t=>{let e=false,n,r=o=>{e||(e=true,n&&clearTimeout(n),t(o));};n=setTimeout(()=>r(null),o_),n.unref();try{execFile("chcp.com",[],{encoding:"ascii",timeout:o_,windowsHide:!0},(s,i)=>{if(s){r(null);return}r(jT(String(i)));}).once("error",()=>r(null));}catch{r(null);}})}function GT(){return process.platform!=="win32"?Promise.resolve(null):(Qs||(Qs=WT(),Qs.then(t=>{},()=>{})),Qs)}function zT(){process.platform==="win32"&&GT();}var o_,Qs,i_=x(()=>{h();o_=1e3;zT();});function VT(t,e){let n={};for(let[r,o]of Object.entries(t))o!==void 0&&(e.includes(r)||(n[r]=o));return n}function id(t){return VT(t,KT)}var KT,ad=x(()=>{h();KT=["CREWX_ASSIGNED_TASK_ID","CREWX_DETACHED_RUNNER"];});function Zs(){if(process.env.CREWX_HOME){let t=Qe.resolve(process.env.CREWX_HOME);try{return ql.realpathSync(t)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return t;throw e}}return process.platform!=="win32"&&process.env.XDG_CONFIG_HOME?Qe.join(process.env.XDG_CONFIG_HOME,"crewx"):Qe.join(lu.homedir(),".crewx")}var c_=x(()=>{h();});function qo(t=Zs()){let e=join(t,"opencode-xdg");return {XDG_DATA_HOME:join(e,"data"),XDG_STATE_HOME:join(e,"state")}}function Fo(t=Zs()){return join(qo(t).XDG_DATA_HOME,"opencode")}async function QT(){return (await import('better-sqlite3')).default}function ZT(t){return join(t,"opencode.db")}function ew(t){let e=t??process.env.XDG_DATA_HOME??join(homedir(),".local","share");return join(resolve(e),"opencode","opencode.db")}function l_(t,e){return !!t.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(e)}function tw(t){let e;try{e=typeof t=="string"?JSON.parse(t):t;}catch{return false}if(!e||typeof e!="object"||Array.isArray(e))return false;let n=e;return n.type==="key"&&typeof n.key=="string"&&!("refresh"in n)&&!("refresh_token"in n)&&!("expires"in n)&&!("expires_at"in n)&&!("expires_in"in n)}function nw(t,e){if(!existsSync(e))return [];let n;try{return n=new t(e,{readonly:!0,fileMustExist:!0}),l_(n,"credential")?n.prepare(`
package/dist/index.d.ts CHANGED
@@ -141,6 +141,8 @@ export type { ProcessLeaseAcquireResult, ProcessLeaseClock, ProcessLeaseHandle,
141
141
  export { hashWorkspaceId, normalizeWorkspacePath, resolveWorkspaceOwnerPath, slugify } from './utils/workspace';
142
142
  export { formatTimestamp, formatDisplayTimestamp } from './utils/timestamp';
143
143
  export type { TaskLogEntry, TaskLogEntryType } from './types/task-log.types';
144
+ export { foldClaudeBackgroundTasks } from './task-log/claude-background-task';
145
+ export type { ClaudeBackgroundTask, ClaudeBackgroundTaskLogRow, ClaudeBackgroundTaskStatus, FoldClaudeBackgroundTasksResult, } from './task-log/claude-background-task';
144
146
  export { anchorChildTasks } from './task-log/anchor-child-tasks';
145
147
  export type { AnchorChildInput } from './task-log/anchor-child-tasks';
146
148
  export { DELEGATION_RESULT_MARKER, DELEGATION_RESULT_PREFIX, consumeDelegationResult, formatDelegationResult, formatDelegationTrailer, isDelegationResult, parseDelegationResult, parseDelegationTrailer, stripDelegationResult, stripDelegationTrailer, } from './task-log/delegation-trailer';