agent-afk 3.4.0 → 3.5.0

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.
Files changed (2) hide show
  1. package/dist/cli.mjs +1 -1
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -1989,7 +1989,7 @@ _ended: ${new Date().toISOString()}_
1989
1989
  `)}function ZM(e){let t=[],n=(r,o)=>{o&&o.trim().length>0&&t.push({label:r,value:o.trim()})};switch(e.kind){case"done":n("done",e.whatWasDone),n("evidence",e.evidence),n("deferred",e.deferred);break;case"blocked":n("blocks",e.whatBlocks),n("unblock",e.unblockCondition),n("progress",e.alreadyDone);break;case"asking":n("question",e.question),n("resolves",e.assumption),n("after",e.followup);break;case"interrupted":n("was doing",e.whatWasInProgress),n("saved at",e.stateLocation),n("resume",e.resumeRequires);break}return t}function Ab(e,t,n){let r=[];n&&n.trim().length>0&&r.push({type:"text",text:n}),e&&r.push({type:"text",text:e});for(let o of t)r.push({type:"image",source:{type:"base64",media_type:o.mediaType,data:o.bytes.toString("base64")}});return r}async function Cb(e,t,n,r,o="summary",s,i,a){let l=mb(e.text,e.attachments);r.setInFlight(!0);let c="",d=!1,u,p=!1,f=!1,g=!1,h,b=!1,y=[],w=new Map,v=e.text.startsWith("/")?e.text.split(/[\s:]/)[0]?.slice(1):void 0,A=new sn({out:gr(),thinkingMode:o,...v?{activeSkillName:v}:{},onCancel:()=>{t.interrupt().catch(_=>{Me()&&console.error(" "+m.error("session.interrupt() failed:"),_)})},...i?{onBackground:()=>{b=!0}}:{},...a?.history?{history:a.history}:{},...a?.autocompleteState?{autocompleteState:a.autocompleteState}:{}}),T=async()=>{if(!f){f=!0;try{await A.dispose()}catch{}}};try{console.log(),await A.arm();let _=A.getCompositor();if(s&&_){let E=_;s.fn=x=>E.commitAbove(x)}r.setActiveCompositor?.(_),r.rearmStatus?.();let S=e.attachments.length===0?e.text:Ab(e.text,e.attachments),R=t.sendMessageStream(S);if(await Gn(A.sink,async()=>{for await(let E of R){if(b&&i){let x=v??e.text.slice(0,40),O=i.register(x),P=fi(O,i);gi(R,c,l,O,i,P,n,r.onTurnComplete,t.abortSignal),await T(),console.log(m.dim(` \u2192 backgrounded as ${O.id}: ${O.label}`)),r.setInFlight(!1),r.rearmStatus?.();return}if(E.type==="chunk"&&E.chunk.type==="content"?(c+=E.chunk.content,d=!0):E.type==="message"&&!d&&(c=E.message.content),E.type==="chunk"&&E.chunk.type==="tool_use_detail"){let x=E.chunk,O={toolName:x.toolName,toolUseId:x.toolUseId,input:x.toolInput};w.set(x.toolUseId,O),y.push(O)}else if(E.type==="chunk"&&E.chunk.type==="tool_result"){let x=E.chunk,O=w.get(x.toolUseId);O&&(O.result=x.content,O.isError=x.isError,w.delete(x.toolUseId))}if(E.type==="paused"){await T(),console.log(hd({reason:E.reason,...E.resetsAt!==void 0?{resetsAt:E.resetsAt}:{},...E.accountId!==void 0?{accountId:E.accountId}:{}}));continue}if(E.type==="resumed"){let x=E.hotSwapped&&E.accountId?`\u25B6 Resumed on ${E.accountId}`:"\u25B6 Resumed";console.log(m.success(x));continue}if(E.type==="error"){await T(),Wn(Bn(E.error)),p=!0;continue}A.process(E),E.type==="done"&&(g=!0,h=E.metadata)}}),!f){let E=A.getCompositor();if(E)try{let{text:x,queued:O}=E.getBuffer();O&&x.length>0&&(u=x)}catch{}}if(await T(),g){oi(n,l,c,h,y),r.onTurnComplete&&await r.onTurnComplete(l,c).catch(()=>{}),d&&console.log(`
1990
1990
  `);let E=Eb(c);if(E&&(console.log(Rb(E)),console.log(),r.onTerminalState))try{r.onTerminalState(E)}catch{}if(e0(h,n),r.onAfterTurn){let x=r.onAfterTurn();x instanceof Promise&&await x.catch(()=>{})}}}catch(_){await T(),p||Wn(Bn(_))}finally{await T(),s&&(s.fn=_=>console.log(_)),r.setActiveCompositor?.(null),r.setInFlight(!1),r.rearmStatus?.()}return u}function e0(e,t){if(!e)return;let n=[];e.durationMs&&n.push(te(e.durationMs)),e.totalCostUsd!==void 0&&n.push(_e(e.totalCostUsd));let r=Number(e.usage?.input_tokens??0),o=Number(e.usage?.output_tokens??0);r+o>0&&n.push(q(r+o)+" tok"),n.length>0&&console.log(m.dim(" \u25E6 "+n.join(" \xB7 ")));let s=ec(t);if(s>.5){let i=s>.8?m.error:m.warning;console.log(i(` context ${Math.round(s*100)}% used of ${q(Qe(t.model))}`))}console.log()}function Pb(e={}){let t=e.load??di,n=e.onResize??(i=>Nt.subscribe(i)),r="",o,s=n(()=>{r=""});return{renderIfChanged(i){let a=i??"unbound",l=t(a),c=zg(l);return a===o&&c===r?[]:(o=a,r=c,c===""?[]:pi(l))},invalidate(){r=""},dispose(){try{s()}catch{}}}}var tu={done:{glyph:"\u2713",color:m.success,label:"done"},blocked:{glyph:"\u2298",color:m.error,label:"blocked"},asking:{glyph:"?",color:m.warning,label:"asking"},interrupted:{glyph:"\u23F8",color:m.meta,label:"interrupted"}};function _b(e={}){let t=Math.max(2,e.capacity??8),n=[];return{push(r){n.push(r.kind),n.length>t&&(n=n.slice(n.length-t))},reset(){n=[]},entries(){return n},render(){if(n.length===0)return null;let r=m.dim(" ledger "),o=m.dim(" \xB7 "),s=n.map(d=>{let u=tu[d];return u.color(`${u.glyph} ${u.label}`)}),i=m.dim(` (${n.length} turn${n.length===1?"":"s"})`),a=r+s.join(o)+i,l=Math.max(20,ne()-2);if(W(a)<=l)return a;let c=r+n.map(d=>tu[d].color(tu[d].glyph)).join(m.dim(" "))+i;return de(c,l)}}}var Ib=["\u25D0","\u25D1","\u25D2","\u25D3"],la=class{stream;manager;registry;throttleMs;started=!1;lastRepaint=0;spinnerIndex=0;spinnerInterval=null;resizeUnsub=null;updateHandler=null;registryStartedHandler=null;registrySettledHandler=null;subagentRunningCount=0;rowCount=0;onRowCountChange;constructor(t,n,r={}){this.manager=t,this.registry=n,this.stream=r.stream??process.stdout,this.throttleMs=r.throttleMs??200}setRowCountChangeHandler(t){this.onRowCountChange=t}start(){this.started||(this.started=!0,this.updateHandler=()=>this.scheduleRepaint(),this.manager.on("update",this.updateHandler),this.manager.on("complete",this.updateHandler),this.registry&&(this.registryStartedHandler=t=>{this.subagentRunningCount++,this.scheduleRepaint()},this.registrySettledHandler=t=>{this.subagentRunningCount=Math.max(0,this.subagentRunningCount-1),this.scheduleRepaint()},this.registry.on("started",this.registryStartedHandler),this.registry.on("settled",this.registrySettledHandler)),this.resizeUnsub=Nt.subscribe(()=>this.repaint()),this.spinnerInterval=setInterval(()=>{this.spinnerIndex=(this.spinnerIndex+1)%Ib.length,this.rowCount>0&&this.repaint()},Math.max(this.throttleMs,50)))}stop(){this.started&&(this.started=!1,this.updateHandler&&(this.manager.removeListener("update",this.updateHandler),this.manager.removeListener("complete",this.updateHandler),this.updateHandler=null),this.registry&&(this.registryStartedHandler&&(this.registry.off("started",this.registryStartedHandler),this.registryStartedHandler=null),this.registrySettledHandler&&(this.registry.off("settled",this.registrySettledHandler),this.registrySettledHandler=null)),this.resizeUnsub&&(this.resizeUnsub(),this.resizeUnsub=null),this.spinnerInterval&&(clearInterval(this.spinnerInterval),this.spinnerInterval=null),this.rowCount>0&&(this.clearRows(),this.rowCount=0,this.onRowCountChange?.(0)))}scheduleRepaint(){Date.now()-this.lastRepaint<this.throttleMs||this.repaint()}repaint(){if(!this.started||!this.stream.isTTY)return;this.lastRepaint=Date.now();let t=this.manager.running(),n=t.length+this.subagentRunningCount;if(n!==this.rowCount&&(this.rowCount>0&&this.clearRows(),this.rowCount=n,this.onRowCountChange?.(n)),n===0)return;let o=(this.stream.rows??24)-n;this.stream.write("\x1B[s");for(let s=0;s<t.length;s++){let i=t[s],a=o+s;this.stream.write(`\x1B[${a};1H`),this.stream.write("\x1B[2K"),this.stream.write(this.formatTaskLine(i))}this.stream.write("\x1B[u")}clearRows(){if(!this.stream.isTTY)return;let n=(this.stream.rows??24)-this.rowCount;this.stream.write("\x1B[s");for(let r=0;r<this.rowCount;r++)this.stream.write(`\x1B[${n+r};1H`),this.stream.write("\x1B[2K");this.stream.write("\x1B[u")}formatTaskLine(t){let n=Math.max(4,(this.stream.columns??80)-2),r=m.brand(Ib[this.spinnerIndex]),o=m.dim(t.id),s=m.bold(t.label),i=[r,o,s];t.progressDescription&&i.push(m.dim(t.progressDescription));let a=[];t.stats.toolUses>0&&a.push(`${t.stats.toolUses} tool${t.stats.toolUses===1?"":"s"}`),t.stats.tokens>0&&a.push(`${q(t.stats.tokens)} tok`);let l=Date.now()-t.startedAt;return a.push(te(l)),a.length>0&&i.push(m.dim(a.join(" \xB7 "))),de(" "+i.join(" "),n)}};function Mb(e,t){let n=m.brand("afk")+m.dim(` (${e})`),r=t?m.warning(" \u25CF plan"):"";return n+r+m.dim(" \u203A ")}async function $b(e,t,n,r){let o=null,s=[];e.session.current.waitForInitialization().then(async h=>{Me()&&(o=ai(h)),await Di(e.session.current),Me()&&(s=ky())}).catch(()=>{});let i=await xb(),a=sa(),l,c=Pb(),d=_b();e.clearVerdictLedger=()=>d.reset();let u=new mi;rh(u),lh(u),dh(u),ch(e.backgroundRegistry);let p=new la(u,e.backgroundRegistry);p.setRowCountChangeHandler(h=>{e.statusLine.setExtraRows(h)}),p.start();let f=50,g=[];u.on("complete",h=>{g.length>=f&&g.shift(),g.push(h)});try{for(;;){if(o&&(e.replRenderer.writeLine(o),e.replRenderer.writeLine(""),o=null),s.length>0){for(let S of s)e.replRenderer.writeLine(S);e.replRenderer.writeLine(""),s=[]}for(;g.length>0;){let S=g.shift(),R=S.status==="succeeded"?"\u2713":"\u2717",E=[];if(S.resultText){let O=S.resultText.trim().split(`
1991
1991
  `)[0]?.slice(0,80)??"";O&&E.push(O)}S.error&&E.push(S.error.message);let x=[S.stats.toolUses>0?`${S.stats.toolUses} tools`:"",S.stats.tokens>0?`${Math.round(S.stats.tokens/1e3)}k tok`:"",S.stats.durationMs>0?`${Math.round(S.stats.durationMs/1e3)}s`:""].filter(Boolean).join(" \xB7 ");x&&E.push(x),e.replRenderer.writeLine(Ft({kind:S.status==="succeeded"?"checkpoint":"diagnosis",title:`${R} ${S.id} ${S.label}`,body:E})),e.replRenderer.writeLine("")}let h=c.renderIfChanged(e.stats.sessionId);if(h.length>0){for(let S of h)e.replRenderer.writeLine(S);e.replRenderer.writeLine("")}let b=d.render();b&&e.replRenderer.writeLine(b);let y,w;if(l!==void 0){let S=l;l=void 0;let R=Mb(e.stats.model,e.stats.planMode),E=mo({buffer:S.text,promptText:R,isTTY:!!process.stdout.isTTY});e.replRenderer.writeLine(E),y=S.text.trim(),w=S.attachments}else{let S=await wb({rl:e.rl,promptFn:()=>Mb(e.stats.model,e.stats.planMode),onSigint:r,statusLine:e.statusLine,compositor:n.activeCompositor??void 0,history:i,autocompleteState:a,onShiftTab:()=>{let R=e.slashCtx;R.stats.planMode&&R.stats.pendingPlanExit?(R.stats.pendingPlanExit=!1,Rt(R,!1,{closureSummarySkipped:!0}).catch(()=>{})):Rt(R).catch(()=>{}),e.statusLine.rearm()}});y=S.text.trim(),w=S.attachments}if(!y&&w.length===0)continue;let v=!1;if(y.startsWith("/")){let S=await Tg(y,e.slashCtx,w);if(S.handled){if(S.result==="exit"){e.rl.close();return}if((y==="/clear"||y.startsWith("/clear "))&&(await t.rotateOnClear(),e.replRenderer.writeLine(m.dim(` transcript: ${t.path()}`)),d.reset()),S.result!==null&&typeof S.result=="object"&&"kind"in S.result&&S.result.kind==="submit"){l={text:S.result.message,attachments:w??[]},e.statusLine.rearm();continue}e.statusLine.rearm();continue}v=!0}i.push(y);let A=y;if(v){let S=Zl(y);if(S){let R=S.name.replace(/^\//,"").split(":").pop()??"";if(R&&_c(R)){let E={skillName:R,rawArgs:S.args,source:"plugin",capabilities:{compose:!0,subagents:!0}},x=e.session.current.sessionId,O=ko(x),P=await bo(E,{cwd:process.cwd(),artifactDir:O},M=>{Me()&&e.replRenderer.writeLine(m.warning(`\u26A0 preflight(${R}) failed: `)+(M instanceof Error?M.message:String(M)))});A=Mc(P?.manifestBlock,y)}}}let T;if(e.firstTurnHook&&e.stats.totalTurns===0){let S=e.firstTurnHook;e.firstTurnHook=void 0,T=Promise.resolve().then(()=>S(y)).catch(R=>{e.completionWriter.fn(m.warning("\u26A0 ")+"first-turn hook failed: "+(R instanceof Error?R.message:String(R)))})}let _=await Cb({text:A,attachments:w},e.session.current,e.stats,{setInFlight(S){n.turnInFlight=S},async onTurnComplete(S,R){await t.appendTurn(S,R)},async onAfterTurn(){await e.contextSampler.onTurn(e.stats.totalTurns),await Ng(e.slashCtx),e.statusLine.rearm()},rearmStatus:()=>e.statusLine.rearm(),onTerminalState:S=>d.push(S),setActiveCompositor:S=>{n.activeCompositor=S,e.replRenderer.setCompositor(S)}},e.options.thinkingUi,e.completionWriter,u,{history:i,autocompleteState:a});l=_!==void 0?{text:_,attachments:[]}:void 0,T!==void 0&&await T}}finally{for(let h of u.running())u.cancel(h.id);p.stop(),c.dispose()}}import{promises as n0}from"node:fs";import{dirname as r0,join as o0}from"node:path";import{randomBytes as s0}from"node:crypto";import t0 from"@anthropic-ai/sdk";import{randomUUID as Ob}from"node:crypto";async function Db(e){let{token:t,model:n,system:r,user:o,maxTokens:s=64,signal:i,clientFactory:a}=e;if(!t)throw new Error("oneShotCompletion: token required");let l=Zo(t),c=Nr(t,l),d=a?a(c):new t0(c),u=Ob(),p=Ob(),f=wt(l,u,p),g={};Object.keys(f).length>0&&(g.headers=f),i&&(g.signal=i);let h=await d.messages.create({model:n,max_tokens:s,system:r,messages:[{role:"user",content:o}]},Object.keys(g).length>0?g:void 0),b=[];for(let w of h.content)w.type==="text"&&b.push(w.text);let y=b.join("").trim();return y.length===0&&console.warn("oneShotCompletion: response contained no text blocks \u2014 returning empty string"),y}var i0=["Generate a 2-4 word kebab-case slug describing this work request.","Rules:","- ASCII lowercase letters and digits only, separated by single hyphens","- 2 to 4 hyphen-separated words","- Maximum 30 characters total","- No prefix, no quotes, no punctuation other than hyphens","- Output ONLY the slug \u2014 no explanation, no preamble","Examples: fix-cleanup-race, add-telegram-allowlist, refactor-prompt-loader, debug-flaky-test"].join(`
1992
- `),Lb=/^[a-z0-9]+(-[a-z0-9]+){1,3}$/,nu=30,a0=1024,l0=8e3,c0="haiku";async function u0(e,t){let n=e.trim();if(n.length===0||n.startsWith("/"))return null;let r=f0(n,a0),o=new AbortController,s=setTimeout(()=>o.abort(),t.timeoutMs??l0),i=t.signal?g0([t.signal,o.signal]):o.signal,a;try{t.slugGenerator?a=await t.slugGenerator(r,i):a=await Db({token:t.token,model:t.model??c0,system:i0,user:r,maxTokens:32,signal:i})}catch{return null}finally{clearTimeout(s)}let l=d0(a);if(l===null)return null;let c=r0(t.worktreePath);return await p0(l,c)}function d0(e){let t=e.trim().toLowerCase();if(t.length===0)return null;if(Lb.test(t)&&t.length<=nu)return t;let n=t.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");if(n.length===0)return null;let r=n.split("-").filter(s=>s.length>0).slice(0,4);if(r.length<2)return null;let o=r[0];for(let s=1;s<r.length;s++){let i=`${o}-${r[s]}`;if(i.length>nu)break;o=i}return Lb.test(o)?o:null}async function p0(e,t){if(!await m0(o0(t,e)))return e;let n=s0(2).toString("hex");return`${e.split("-").slice(0,3).join("-").slice(0,nu-5)}-${n}`}async function m0(e){try{return await n0.access(e),!0}catch{return!1}}function f0(e,t){let n=Buffer.from(e,"utf8");if(n.length<=t)return e;let r=t;for(;r>0&&n[r]!==void 0&&(n[r]&192)===128;)r--;return n.slice(0,r).toString("utf8")}function g0(e){let t=AbortSignal.any;if(typeof t=="function")return t.call(AbortSignal,e);let n=new AbortController;for(let r of e){if(r.aborted)return n.abort(r.reason),n.signal;r.addEventListener("abort",()=>n.abort(r.reason),{once:!0})}return n.signal}async function Nb(e){let t=await u0(e.message,{token:e.token,...e.model!==void 0?{model:e.model}:{},...e.timeoutMs!==void 0?{timeoutMs:e.timeoutMs}:{},worktreePath:e.handle.path,...e.signal!==void 0?{signal:e.signal}:{},...e.slugGenerator!==void 0?{slugGenerator:e.slugGenerator}:{}});if(t===null)return{status:"skipped",reason:"slug generation returned null"};let r=await(e.renameFn??Rm)(e.handle,t,e.branchPrefix!==void 0?{branchPrefix:e.branchPrefix}:void 0);return r.ok?(e.session&&e.session.setCwd(r.newPath),{status:"renamed",oldPath:r.oldPath,newPath:r.newPath,oldBranch:r.oldBranch,newBranch:r.newBranch}):(r.partial==="branch"&&e.session&&e.session.setCwd(e.handle.path),{status:"failed",reason:r.reason,...r.partial!==void 0?{partial:r.partial}:{}})}L();import{spawn as Fb}from"child_process";import{existsSync as w0,mkdirSync as S0,readFileSync as jb,unlinkSync as v0,writeFileSync as T0}from"fs";import{get as x0}from"https";import{join as Ub}from"path";import{readFileSync as h0}from"fs";import{dirname as y0,join as b0}from"path";import{fileURLToPath as k0}from"url";function Ct(){try{return"3.4.0"}catch{}try{let e=y0(k0(import.meta.url));for(let t of["../../package.json","../package.json"])try{let n=JSON.parse(h0(b0(e,t),"utf-8"));if(typeof n.version=="string")return n.version}catch{}}catch{}return"0.0.0-unknown"}var E0=64*1024,R0=1440*60*1e3,A0="update-check.json",C0="pending-update.json";function Bb(){return Ub(Ho(),A0)}function ru(){return Ub(Ho(),C0)}function Wb(){let e=Ho();w0(e)||S0(e,{recursive:!0})}function P0(e,t){let n=e.split(".").map(Number),r=t.split(".").map(Number),o=Math.max(n.length,r.length);for(let s=0;s<o;s++){let i=n[s]??0,a=r[s]??0;if(a>i)return!0;if(a<i)return!1}return!1}function _0(){try{let e=jb(Bb(),"utf-8"),t=JSON.parse(e);if(typeof t.latestVersion=="string"&&typeof t.checkedAt=="number")return t}catch{}return null}function I0(){try{Wb();let e=`
1992
+ `),Lb=/^[a-z0-9]+(-[a-z0-9]+){1,3}$/,nu=30,a0=1024,l0=8e3,c0="haiku";async function u0(e,t){let n=e.trim();if(n.length===0||n.startsWith("/"))return null;let r=f0(n,a0),o=new AbortController,s=setTimeout(()=>o.abort(),t.timeoutMs??l0),i=t.signal?g0([t.signal,o.signal]):o.signal,a;try{t.slugGenerator?a=await t.slugGenerator(r,i):a=await Db({token:t.token,model:t.model??c0,system:i0,user:r,maxTokens:32,signal:i})}catch{return null}finally{clearTimeout(s)}let l=d0(a);if(l===null)return null;let c=r0(t.worktreePath);return await p0(l,c)}function d0(e){let t=e.trim().toLowerCase();if(t.length===0)return null;if(Lb.test(t)&&t.length<=nu)return t;let n=t.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");if(n.length===0)return null;let r=n.split("-").filter(s=>s.length>0).slice(0,4);if(r.length<2)return null;let o=r[0];for(let s=1;s<r.length;s++){let i=`${o}-${r[s]}`;if(i.length>nu)break;o=i}return Lb.test(o)?o:null}async function p0(e,t){if(!await m0(o0(t,e)))return e;let n=s0(2).toString("hex");return`${e.split("-").slice(0,3).join("-").slice(0,nu-5)}-${n}`}async function m0(e){try{return await n0.access(e),!0}catch{return!1}}function f0(e,t){let n=Buffer.from(e,"utf8");if(n.length<=t)return e;let r=t;for(;r>0&&n[r]!==void 0&&(n[r]&192)===128;)r--;return n.slice(0,r).toString("utf8")}function g0(e){let t=AbortSignal.any;if(typeof t=="function")return t.call(AbortSignal,e);let n=new AbortController;for(let r of e){if(r.aborted)return n.abort(r.reason),n.signal;r.addEventListener("abort",()=>n.abort(r.reason),{once:!0})}return n.signal}async function Nb(e){let t=await u0(e.message,{token:e.token,...e.model!==void 0?{model:e.model}:{},...e.timeoutMs!==void 0?{timeoutMs:e.timeoutMs}:{},worktreePath:e.handle.path,...e.signal!==void 0?{signal:e.signal}:{},...e.slugGenerator!==void 0?{slugGenerator:e.slugGenerator}:{}});if(t===null)return{status:"skipped",reason:"slug generation returned null"};let r=await(e.renameFn??Rm)(e.handle,t,e.branchPrefix!==void 0?{branchPrefix:e.branchPrefix}:void 0);return r.ok?(e.session&&e.session.setCwd(r.newPath),{status:"renamed",oldPath:r.oldPath,newPath:r.newPath,oldBranch:r.oldBranch,newBranch:r.newBranch}):(r.partial==="branch"&&e.session&&e.session.setCwd(e.handle.path),{status:"failed",reason:r.reason,...r.partial!==void 0?{partial:r.partial}:{}})}L();import{spawn as Fb}from"child_process";import{existsSync as w0,mkdirSync as S0,readFileSync as jb,unlinkSync as v0,writeFileSync as T0}from"fs";import{get as x0}from"https";import{join as Ub}from"path";import{readFileSync as h0}from"fs";import{dirname as y0,join as b0}from"path";import{fileURLToPath as k0}from"url";function Ct(){try{return"3.5.0"}catch{}try{let e=y0(k0(import.meta.url));for(let t of["../../package.json","../package.json"])try{let n=JSON.parse(h0(b0(e,t),"utf-8"));if(typeof n.version=="string")return n.version}catch{}}catch{}return"0.0.0-unknown"}var E0=64*1024,R0=1440*60*1e3,A0="update-check.json",C0="pending-update.json";function Bb(){return Ub(Ho(),A0)}function ru(){return Ub(Ho(),C0)}function Wb(){let e=Ho();w0(e)||S0(e,{recursive:!0})}function P0(e,t){let n=e.split(".").map(Number),r=t.split(".").map(Number),o=Math.max(n.length,r.length);for(let s=0;s<o;s++){let i=n[s]??0,a=r[s]??0;if(a>i)return!0;if(a<i)return!1}return!1}function _0(){try{let e=jb(Bb(),"utf-8"),t=JSON.parse(e);if(typeof t.latestVersion=="string"&&typeof t.checkedAt=="number")return t}catch{}return null}function I0(){try{Wb();let e=`
1993
1993
  const https = require('https');
1994
1994
  const fs = require('fs');
1995
1995
  const url = 'https://registry.npmjs.org/agent-afk/latest';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-afk",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "CLI tool for interacting with AI agents via multiple interfaces",
5
5
  "main": "dist/index.mjs",
6
6
  "type": "module",