agent-afk 3.11.1 → 3.12.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.
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +101 -95
- package/dist/telegram.mjs +110 -104
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -2022,7 +2022,7 @@ _ended: ${new Date().toISOString()}_
|
|
|
2022
2022
|
`)}function EO(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 Ik(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 _k(e,t,n,r,o="summary",s,i,a){let l=hk(e.text,e.attachments);r.setInFlight(!0);let c="",d=!1,u,p=!1,f=!1,g=!1,h,y=!1,b=[],w=new Map,E=e.text.startsWith("/")?e.text.split(/[\s:]/)[0]?.slice(1):void 0,A=new fn({out:Rr(),thinkingMode:o,...E?{activeSkillName:E}:{},onCancel:()=>{t.interrupt().catch(C=>{Oe()&&console.error(" "+m.error("session.interrupt() failed:"),C)})},...i?{onBackground:()=>{y=!0}}:{},...a?.history?{history:a.history}:{},...a?.autocompleteState?{autocompleteState:a.autocompleteState}:{},...r.scrollRegion?{scrollRegion:r.scrollRegion}:{}}),v=async()=>{if(!f){f=!0;try{await A.dispose()}catch{}}};try{console.log(),await A.arm();let C=A.getCompositor();if(s&&C){let R=C;s.fn=x=>R.commitAbove(x)}r.setActiveCompositor?.(C),r.rearmStatus?.();let S=e.attachments.length===0?e.text:Ik(e.text,e.attachments),T=t.sendMessageStream(S);if(await er(A.sink,async()=>{for await(let R of T){if(y&&i){let x=E??e.text.slice(0,40),$=i.register(x),I=Ii($,i);_i(T,c,l,$,i,I,n,r.onTurnComplete,t.abortSignal),await v(),console.log(m.dim(` \u2192 backgrounded as ${$.id}: ${$.label}`)),r.setInFlight(!1),r.rearmStatus?.();return}if(R.type==="chunk"&&R.chunk.type==="content"?(c+=R.chunk.content,d=!0):R.type==="message"&&!d&&(c=R.message.content),R.type==="chunk"&&R.chunk.type==="tool_use_detail"){let x=R.chunk,$={toolName:x.toolName,toolUseId:x.toolUseId,input:x.toolInput};w.set(x.toolUseId,$),b.push($)}else if(R.type==="chunk"&&R.chunk.type==="tool_result"){let x=R.chunk,$=w.get(x.toolUseId);$&&($.result=x.content,$.isError=x.isError,w.delete(x.toolUseId))}if(R.type==="paused"){await v(),console.log(ep({reason:R.reason,...R.resetsAt!==void 0?{resetsAt:R.resetsAt}:{},...R.accountId!==void 0?{accountId:R.accountId}:{}}));continue}if(R.type==="resumed"){let x=R.hotSwapped&&R.accountId?`\u25B6 Resumed on ${R.accountId}`:"\u25B6 Resumed";console.log(m.success(x));continue}if(R.type==="error"){await v(),Xn(Yn(R.error)),p=!0;continue}A.process(R),R.type==="done"&&(g=!0,h=R.metadata)}}),!f){let R=A.getCompositor();if(R)try{let{text:x,queued:$}=R.getBuffer();$&&x.length>0&&(u=x)}catch{}}if(await v(),g){wi(n,l,c,h,b),r.onTurnComplete&&await r.onTurnComplete(l,c).catch(()=>{}),d&&console.log(`
|
|
2023
2023
|
`);let R=Ck(c);if(R&&(console.log(Pk(R)),console.log(),r.onTerminalState))try{r.onTerminalState(R)}catch{}if(RO(h,n),r.onAfterTurn){let x=r.onAfterTurn();x instanceof Promise&&await x.catch(()=>{})}}}catch(C){await v(),p||Xn(Yn(C))}finally{await v(),s&&(s.fn=C=>console.log(C)),r.setActiveCompositor?.(null),r.setInFlight(!1),r.rearmStatus?.()}return u}function RO(e,t){if(!e)return;let n=[];e.durationMs&&n.push(ne(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(Y(r+o)+" tok"),n.length>0&&console.log(m.dim(" \u25E6 "+n.join(" \xB7 ")));let s=xc(t);if(s>.5){let i=s>.8?m.error:m.warning;console.log(i(` context ${Math.round(s*100)}% used of ${Y(Ge(t.model))}`))}console.log()}function Mk(e={}){let t=e.load??Ai,n=e.onResize??(i=>Qe.subscribe(i)),r="",o,s=n(()=>{r=""});return{renderIfChanged(i){let a=i??"unbound",l=t(a),c=Lh(l);return a===o&&c===r?[]:(o=a,r=c,c===""?[]:Ci(l))},invalidate(){r=""},dispose(){try{s()}catch{}}}}var Pu={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 $k(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=Pu[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,Z()-2);if(W(a)<=l)return a;let c=r+n.map(d=>Pu[d].color(Pu[d].glyph)).join(m.dim(" "))+i;return ue(c,l)}}}var Iu=["\u25D0","\u25D1","\u25D2","\u25D3"],Ia=class{stream;manager;registry;throttleMs;started=!1;lastRepaint=0;spinnerIndex=0;spinnerInterval=null;resizeUnsub=null;updateHandler=null;registryStartedHandler=null;registrySettledHandler=null;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.scheduleRepaint()},this.registrySettledHandler=t=>{this.scheduleRepaint()},this.registry.on("started",this.registryStartedHandler),this.registry.on("settled",this.registrySettledHandler)),this.resizeUnsub=Qe.subscribe(()=>this.repaint()),this.spinnerInterval=setInterval(()=>{this.spinnerIndex=(this.spinnerIndex+1)%Iu.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().map(s=>({kind:"turn",task:s})),...(this.registry?.list()??[]).filter(s=>s.status==="running").map(s=>({kind:"subagent",job:s}))],n=this.stream.rows??24,r=Math.max(0,Math.min(t.length,n-1));if(r!==this.rowCount&&(this.rowCount>0&&this.clearRows(),this.rowCount=r,this.onRowCountChange?.(r)),r===0)return;let o=Math.max(1,n-r);this.stream.write("\x1B[s");for(let s=0;s<r;s++){let i=t[s],a=o+s;this.stream.write(`\x1B[${a};1H`),this.stream.write("\x1B[2K"),this.stream.write(this.formatItemLine(i))}this.stream.write("\x1B[u")}clearRows(){if(!this.stream.isTTY)return;let t=this.stream.rows??24,n=Math.min(this.rowCount,t-1),r=Math.max(1,t-n);this.stream.write("\x1B[s");for(let o=0;o<n;o++)this.stream.write(`\x1B[${r+o};1H`),this.stream.write("\x1B[2K");this.stream.write("\x1B[u")}formatItemLine(t){return t.kind==="turn"?this.formatTaskLine(t.task):this.formatJobLine(t.job)}formatTaskLine(t){let n=Math.max(4,(this.stream.columns??80)-2),r=m.brand(Iu[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(`${Y(t.stats.tokens)} tok`);let l=Date.now()-t.startedAt;return a.push(ne(l)),a.length>0&&i.push(m.dim(a.join(" \xB7 "))),ue(" "+i.join(" "),n)}formatJobLine(t){let n=Math.max(4,(this.stream.columns??80)-2),r=m.brand(Iu[this.spinnerIndex]),o=m.dim(t.jobId),s=m.bold(t.label||t.jobId),i=[r,o,s],a=Date.now()-t.startedAt;return i.push(m.dim(ne(a))),ue(" "+i.join(" "),n)}};function Ok(e,t){let n=m.brand("afk")+m.dim(` (${e})`),r=t?m.warning(" \u25CF plan"):"";return n+r+m.dim(" \u203A ")}async function Dk(e,t,n,r){let o=null,s=[];e.session.current.waitForInitialization().then(async h=>{Oe()&&(o=Ti(h)),await ea(e.session.current),Oe()&&(s=bb())}).catch(()=>{});let i=await Ak(),a=Aa(),l,c=Mk(),d=$k();e.clearVerdictLedger=()=>d.reset();let u=new Pi;Jh(u),Zh(u),ny(u),ey(e.backgroundRegistry);let p=new Ia(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(),T=S.status==="succeeded"?"\u2713":"\u2717",R=[];if(S.resultText){let $=S.resultText.trim().split(`
|
|
2024
2024
|
`)[0]?.slice(0,80)??"";$&&R.push($)}S.error&&R.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&&R.push(x),e.replRenderer.writeLine(Gt({kind:S.status==="succeeded"?"checkpoint":"diagnosis",title:`${T} ${S.id} ${S.label}`,body:R})),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 y=d.render();y&&e.replRenderer.writeLine(y);let b,w;if(l!==void 0){let S=l;l=void 0;let T=Ok(e.stats.model,e.stats.planMode),R=Co({buffer:S.text,promptText:T,isTTY:!!process.stdout.isTTY,attachmentSummary:Ea([...S.attachments])});e.replRenderer.writeLine(R),b=S.text.trim(),w=S.attachments}else{let S=await Tk({rl:e.rl,promptFn:()=>Ok(e.stats.model,e.stats.planMode),onSigint:r,statusLine:e.statusLine,compositor:n.activeCompositor??void 0,history:i,autocompleteState:a,onShiftTab:()=>{let T=e.slashCtx;T.stats.planMode&&T.stats.pendingPlanExit?(T.stats.pendingPlanExit=!1,Mt(T,!1,{closureSummarySkipped:!0}).catch(()=>{})):Mt(T).catch(()=>{}),e.statusLine.rearm()}});b=S.text.trim(),w=S.attachments}if(!b&&w.length===0)continue;let E=!1;if(b.startsWith("/")){let S=await mh(b,e.slashCtx,w);if(S.handled){if(S.result==="exit"){e.rl.close();return}if((b==="/clear"||b.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}E=!0}i.push(b);let A=b;if(E){let S=Tc(b);if(S){let T=S.name.replace(/^\//,"").split(":").pop()??"";if(T&&ru(T)){let R={skillName:T,rawArgs:S.args,source:"plugin",capabilities:{compose:!0,subagents:!0}},x=e.session.current.sessionId,$=Oo(x),I=Date.now();J(`[afk trace] preflight.start commandName=${T}`);let O=!1,M=await $o(R,{cwd:e.stats.cwd??process.cwd(),artifactDir:$},L=>{Oe()&&e.replRenderer.writeLine(m.warning(`\u26A0 preflight(${T}) failed: `)+(L instanceof Error?L.message:String(L)))});O=M!==null,J(`[afk trace] preflight.end commandName=${T} durationMs=${Date.now()-I} success=${O}`),A=iu(M?.manifestBlock,b)}}}let v;if(e.firstTurnHook&&e.stats.totalTurns===0){let S=e.firstTurnHook;e.firstTurnHook=void 0,v=Promise.resolve().then(()=>S(b)).catch(T=>{e.completionWriter.fn(m.warning("\u26A0 ")+"first-turn hook failed: "+(T instanceof Error?T.message:String(T)))})}let C=await _k({text:A,attachments:w},e.session.current,e.stats,{setInFlight(S){n.turnInFlight=S},async onTurnComplete(S,T){await t.appendTurn(S,T)},async onAfterTurn(){await e.contextSampler.onTurn(e.stats.totalTurns),await Ah(e.slashCtx),e.statusLine.rearm()},rearmStatus:()=>e.statusLine.rearm(),onTerminalState:S=>d.push(S),setActiveCompositor:S=>{n.activeCompositor=S,e.replRenderer.setCompositor(S)},scrollRegion:e.statusLine},e.options.thinkingUi,e.completionWriter,u,{history:i,autocompleteState:a});l=C!==void 0?{text:C,attachments:[]}:void 0,v!==void 0&&await v}}finally{for(let h of u.running())u.cancel(h.id);p.stop(),c.dispose()}}import{execFile as AO}from"node:child_process";import{dirname as CO,isAbsolute as PO,resolve as IO}from"node:path";import{promisify as _O}from"node:util";var Lk=_O(AO),MO=3e3,$O=new Set(["empty","orphaned-dir","orphaned-registration","dead-owner"]);async function OO(){let t=(await Lk("git",["rev-parse","--git-common-dir"])).stdout.trim();if(!t)throw new Error("Not in a git repository.");let n=PO(t)?t:IO(process.cwd(),t);return CO(n)}async function Nk(e){if(e?.disabled)return{ran:!1,removedCount:0,skippedReason:"disabled"};let t;try{t=await OO()}catch{return{ran:!1,removedCount:0,skippedReason:"not-in-repo"}}let n,r=new Promise(o=>{n=setTimeout(()=>o("timeout"),MO)});try{let o=St({execFile:Lk,repoRoot:t,dryRun:!1,scope:"interactive",bypassSoftLaunch:!0}),s=await Promise.race([o,r]);if(s==="timeout")return{ran:!1,removedCount:0,skippedReason:"timeout"};let i=s;return i.warnings.some(c=>c.toLowerCase().includes("contested"))?{ran:!1,removedCount:0,skippedReason:"lock-contested"}:{ran:!0,removedCount:i.candidates.filter(c=>$O.has(c.verdict)&&i.removed.includes(c.path)).length}}catch{return{ran:!1,removedCount:0,skippedReason:"error"}}finally{n&&clearTimeout(n)}}import{promises as DO}from"node:fs";import{dirname as LO,join as NO}from"node:path";import{randomBytes as FO}from"node:crypto";var jO=["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(`
|
|
2025
|
-
`),Fk=/^[a-z0-9]+(-[a-z0-9]+){1,3}$/,_u=30,UO=1024,BO=8e3,WO="haiku";async function HO(e,t){let n=e.trim();if(n.length===0||n.startsWith("/"))return null;let r=JO(n,UO),o=new AbortController,s=setTimeout(()=>o.abort(),t.timeoutMs??BO),i=t.signal?qO([t.signal,o.signal]):o.signal,a;try{t.slugGenerator?a=await t.slugGenerator(r,i):a=await ha({token:t.token,model:t.model??WO,system:jO,user:r,maxTokens:32,signal:i})}catch{return null}finally{clearTimeout(s)}let l=KO(a);if(l===null)return null;let c=LO(t.worktreePath);return await GO(l,c)}function KO(e){let t=e.trim().toLowerCase();if(t.length===0)return null;if(Fk.test(t)&&t.length<=_u)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>_u)break;o=i}return Fk.test(o)?o:null}async function GO(e,t){if(!await zO(NO(t,e)))return e;let n=FO(2).toString("hex");return`${e.split("-").slice(0,3).join("-").slice(0,_u-5)}-${n}`}async function zO(e){try{return await DO.access(e),!0}catch{return!1}}function JO(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 qO(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 jk(e){let t=await HO(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??df)(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}:{}})}N();import{spawn as Uk}from"child_process";import{existsSync as ZO,mkdirSync as eD,readFileSync as Bk,unlinkSync as tD,writeFileSync as nD}from"fs";import{get as rD}from"https";import{join as Wk}from"path";import{readFileSync as VO}from"fs";import{dirname as YO,join as XO}from"path";import{fileURLToPath as QO}from"url";function Lt(){try{return"3.
|
|
2025
|
+
`),Fk=/^[a-z0-9]+(-[a-z0-9]+){1,3}$/,_u=30,UO=1024,BO=8e3,WO="haiku";async function HO(e,t){let n=e.trim();if(n.length===0||n.startsWith("/"))return null;let r=JO(n,UO),o=new AbortController,s=setTimeout(()=>o.abort(),t.timeoutMs??BO),i=t.signal?qO([t.signal,o.signal]):o.signal,a;try{t.slugGenerator?a=await t.slugGenerator(r,i):a=await ha({token:t.token,model:t.model??WO,system:jO,user:r,maxTokens:32,signal:i})}catch{return null}finally{clearTimeout(s)}let l=KO(a);if(l===null)return null;let c=LO(t.worktreePath);return await GO(l,c)}function KO(e){let t=e.trim().toLowerCase();if(t.length===0)return null;if(Fk.test(t)&&t.length<=_u)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>_u)break;o=i}return Fk.test(o)?o:null}async function GO(e,t){if(!await zO(NO(t,e)))return e;let n=FO(2).toString("hex");return`${e.split("-").slice(0,3).join("-").slice(0,_u-5)}-${n}`}async function zO(e){try{return await DO.access(e),!0}catch{return!1}}function JO(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 qO(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 jk(e){let t=await HO(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??df)(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}:{}})}N();import{spawn as Uk}from"child_process";import{existsSync as ZO,mkdirSync as eD,readFileSync as Bk,unlinkSync as tD,writeFileSync as nD}from"fs";import{get as rD}from"https";import{join as Wk}from"path";import{readFileSync as VO}from"fs";import{dirname as YO,join as XO}from"path";import{fileURLToPath as QO}from"url";function Lt(){try{return"3.12.0"}catch{}try{let e=YO(QO(import.meta.url));for(let t of["../../package.json","../package.json"])try{let n=JSON.parse(VO(XO(e,t),"utf-8"));if(typeof n.version=="string")return n.version}catch{}}catch{}return"0.0.0-unknown"}var oD=64*1024,sD=1440*60*1e3,iD="update-check.json",aD="pending-update.json";function Hk(){return Wk(rs(),iD)}function Mu(){return Wk(rs(),aD)}function Kk(){let e=rs();ZO(e)||eD(e,{recursive:!0})}function lD(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 cD(){try{let e=Bk(Hk(),"utf-8"),t=JSON.parse(e);if(typeof t.latestVersion=="string"&&typeof t.checkedAt=="number")return t}catch{}return null}function uD(){try{Kk();let e=`
|
|
2026
2026
|
const https = require('https');
|
|
2027
2027
|
const fs = require('fs');
|
|
2028
2028
|
const url = 'https://registry.npmjs.org/agent-afk/latest';
|