agent-afk 3.14.0 → 3.15.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 +98 -97
- package/dist/telegram.mjs +122 -121
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -2040,7 +2040,7 @@ _ended: ${new Date().toISOString()}_
|
|
|
2040
2040
|
`)}function Z$(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 Jk(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 Vk(e,t,n,r,o="summary",s,i,a){let l=$k(e.text,e.attachments);r.setInFlight(!0);let c="",u=!1,d,m=!1,f=!1,g=!1,h,b=!1,y=[],S=new Map,v=e.text.startsWith("/")?e.text.split(/[\s:]/)[0]?.slice(1):void 0,x=new Rt({out:Dr(),thinkingMode:o,...v?{activeSkillName:v}:{},onCancel:()=>{t.interrupt().catch(_=>{Be()&&console.error(" "+p.error("session.interrupt() failed:"),_)})},...i?{onBackground:()=>{b=!0}}:{},...a?.history?{history:a.history}:{},...a?.autocompleteState?{autocompleteState:a.autocompleteState}:{},...r.scrollRegion?{scrollRegion:r.scrollRegion}:{}}),k=async()=>{if(!f){f=!0;try{await x.dispose()}catch{}}};try{console.log(),await x.arm();let _=x.getCompositor();if(s&&_){let C=_;s.fn=R=>C.commitAbove(R)}r.setActiveCompositor?.(_),r.rearmStatus?.();let T=e.attachments.length===0?e.text:Jk(e.text,e.attachments),A=t.sendMessageStream(T);if(await en(x.sink,async()=>{for await(let C of A){if(b&&i){let R=v??e.text.slice(0,40),O=i.register(R),M=ji(O,i);Bi(A,c,l,O,i,M,n,r.onTurnComplete,t.abortSignal),await k(),console.log(p.dim(` \u2192 backgrounded as ${O.id}: ${O.label}`)),r.setInFlight(!1),r.rearmStatus?.();return}if(C.type==="chunk"&&C.chunk.type==="content"?(c+=C.chunk.content,u=!0):C.type==="message"&&!u&&(c=C.message.content),C.type==="chunk"&&C.chunk.type==="tool_use_detail"){let R=C.chunk,O={toolName:R.toolName,toolUseId:R.toolUseId,input:R.toolInput};S.set(R.toolUseId,O),y.push(O)}else if(C.type==="chunk"&&C.chunk.type==="tool_result"){let R=C.chunk,O=S.get(R.toolUseId);O&&(O.result=R.content,O.isError=R.isError,S.delete(R.toolUseId))}if(C.type==="paused"){await k(),console.log(gp({reason:C.reason,...C.resetsAt!==void 0?{resetsAt:C.resetsAt}:{},...C.accountId!==void 0?{accountId:C.accountId}:{}}));continue}if(C.type==="resumed"){let R=C.hotSwapped&&C.accountId?`\u25B6 Resumed on ${C.accountId}`:"\u25B6 Resumed";console.log(p.success(R));continue}if(C.type==="error"){await k(),rr(nr(C.error)),m=!0;continue}x.process(C),C.type==="done"&&(g=!0,h=C.metadata)}}),!f){let C=x.getCompositor();if(C)try{let{text:R,queued:O}=C.getBuffer();O&&R.length>0&&(d=R)}catch{}}if(await k(),g){Un(n,l,c,h,y),r.onTurnComplete&&await r.onTurnComplete(l,c).catch(()=>{}),u&&console.log(`
|
|
2041
2041
|
`);let C=qk(c);if(C&&(console.log(zk(C)),console.log(),r.onTerminalState))try{r.onTerminalState(C)}catch{}if(eD(h,n),r.onAfterTurn){let R=r.onAfterTurn();R instanceof Promise&&await R.catch(()=>{})}}}catch(_){await k(),m||rr(nr(_))}finally{await k(),s&&(s.fn=_=>console.log(_)),r.setActiveCompositor?.(null),r.setInFlight(!1),r.rearmStatus?.()}return d}function eD(e,t){if(!e)return;let n=[];e.durationMs&&n.push(se(e.durationMs)),e.totalCostUsd!==void 0&&n.push(Fe(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(p.dim(" \u25E6 "+n.join(" \xB7 ")));let s=$c(t),i=Xe(t.model);if(s>=1){let a=Math.round((s-1)*i),l=Math.round(i/1e3);console.log(p.error(` context OVER ${l}k tok by ~${Q(a)} tok \u2014 model output may be silently truncated`))}else if(s>.5){let a=s>.8?p.error:p.warning;console.log(a(` context ${Math.round(s*100)}% used of ${Q(i)}`))}console.log()}function Yk(e={}){let t=e.load??Fi,n=e.onResize??(i=>nt.subscribe(i)),r="",o,s=n(()=>{r=""});return{renderIfChanged(i){let a=i??"unbound",l=t(a),c=ty(l);return a===o&&c===r?[]:(o=a,r=c,c===""?[]:Ni(l))},invalidate(){r=""},dispose(){try{s()}catch{}}}}var Wu={done:{glyph:"\u2713",color:p.success,label:"done"},blocked:{glyph:"\u2298",color:p.error,label:"blocked"},asking:{glyph:"?",color:p.warning,label:"asking"},interrupted:{glyph:"\u23F8",color:p.meta,label:"interrupted"}};function Xk(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=p.dim(" ledger "),o=p.dim(" \xB7 "),s=n.map(u=>{let d=Wu[u];return d.color(`${d.glyph} ${d.label}`)}),i=p.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(u=>Wu[u].color(Wu[u].glyph)).join(p.dim(" "))+i;return ce(c,l)}}}var Hu=["\u25D0","\u25D1","\u25D2","\u25D3"],ja=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=nt.subscribe(()=>this.repaint()),this.spinnerInterval=setInterval(()=>{this.spinnerIndex=(this.spinnerIndex+1)%Hu.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=p.brand(Hu[this.spinnerIndex]),o=p.dim(t.id),s=p.bold(t.label),i=[r,o,s];t.progressDescription&&i.push(p.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(se(l)),a.length>0&&i.push(p.dim(a.join(" \xB7 "))),ce(" "+i.join(" "),n)}formatJobLine(t){let n=Math.max(4,(this.stream.columns??80)-2),r=p.brand(Hu[this.spinnerIndex]),o=p.dim(t.jobId),s=p.bold(t.label||t.jobId),i=[r,o,s],a=Date.now()-t.startedAt;return i.push(p.dim(se(a))),ce(" "+i.join(" "),n)}};function Qk(e,t){let n=p.brand("afk")+p.dim(` (${e})`),r=t?p.warning(" \u25CF plan"):"";return n+r+p.dim(" \u203A ")}async function Zk(e,t,n,r){let o=null,s=[];e.session.current.waitForInitialization().then(async h=>{Be()&&(o=Oi(h)),await da(e.session.current),Be()&&(s=Nb())}).catch(()=>{});let i=await Gk(),a=Fa(),l,c=Yk(),u=Xk();e.clearVerdictLedger=()=>u.reset();let d=new Ui;py(d),by(d),Sy(d),ky(e.backgroundRegistry);let m=new ja(d,e.backgroundRegistry);m.setRowCountChangeHandler(h=>{e.statusLine.setExtraRows(h)}),m.start();let f=50,g=[];d.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 T of s)e.replRenderer.writeLine(T);e.replRenderer.writeLine(""),s=[]}for(;g.length>0;){let T=g.shift(),A=T.status==="succeeded"?"\u2713":"\u2717",C=[];if(T.resultText){let O=T.resultText.trim().split(`
|
|
2042
2042
|
`)[0]?.slice(0,80)??"";O&&C.push(O)}T.error&&C.push(T.error.message);let R=[T.stats.toolUses>0?`${T.stats.toolUses} tools`:"",T.stats.tokens>0?`${Math.round(T.stats.tokens/1e3)}k tok`:"",T.stats.durationMs>0?`${Math.round(T.stats.durationMs/1e3)}s`:""].filter(Boolean).join(" \xB7 ");R&&C.push(R),e.replRenderer.writeLine(Yt({kind:T.status==="succeeded"?"checkpoint":"diagnosis",title:`${A} ${T.id} ${T.label}`,body:C})),e.replRenderer.writeLine("")}let h=c.renderIfChanged(e.stats.sessionId);if(h.length>0){for(let T of h)e.replRenderer.writeLine(T);e.replRenderer.writeLine("")}let b=u.render();b&&e.replRenderer.writeLine(b);let y,S;if(l!==void 0){let T=l;l=void 0;let A=Qk(e.stats.model,e.stats.planMode),C=Bo({buffer:T.text,promptText:A,isTTY:!!process.stdout.isTTY,attachmentSummary:Da([...T.attachments])});e.replRenderer.writeLine(C),y=T.text.trim(),S=T.attachments}else{let T=await Bk({rl:e.rl,promptFn:()=>Qk(e.stats.model,e.stats.planMode),onSigint:r,statusLine:e.statusLine,compositor:n.activeCompositor??void 0,history:i,autocompleteState:a,onShiftTab:()=>{let A=e.slashCtx;A.stats.planMode&&A.stats.pendingPlanExit?(A.stats.pendingPlanExit=!1,Nt(A,!1,{closureSummarySkipped:!0}).catch(()=>{})):Nt(A).catch(()=>{}),e.statusLine.rearm()}});y=T.text.trim(),S=T.attachments}if(!y&&S.length===0)continue;let v=!1;if(y.startsWith("/")){let T=await $h(y,e.slashCtx,S);if(T.handled){if(T.result==="exit"){e.rl.close();return}if((y==="/clear"||y.startsWith("/clear "))&&(await t.rotateOnClear(),e.replRenderer.writeLine(p.dim(` transcript: ${t.path()}`)),u.reset()),T.result!==null&&typeof T.result=="object"&&"kind"in T.result&&T.result.kind==="submit"){l={text:T.result.message,attachments:S??[]},e.statusLine.rearm();continue}e.statusLine.rearm();continue}v=!0}i.push(y);let x=y;if(v){let T=Oc(y);if(T){let A=T.name.replace(/^\//,"").split(":").pop()??"";if(A&&hu(A)){let C={skillName:A,rawArgs:T.args,source:"plugin",capabilities:{compose:!0,subagents:!0}},R=e.session.current.sessionId,O=zo(R),M=Date.now();q(`[afk trace] preflight.start commandName=${A}`);let $=!1,U=await qo(C,{cwd:e.stats.cwd??process.cwd(),artifactDir:O},N=>{Be()&&e.replRenderer.writeLine(p.warning(`\u26A0 preflight(${A}) failed: `)+(N instanceof Error?N.message:String(N)))});$=U!==null,q(`[afk trace] preflight.end commandName=${A} durationMs=${Date.now()-M} success=${$}`),x=ku(U?.manifestBlock,y)}}}let k;if(e.firstTurnHook&&e.stats.totalTurns===0){let T=e.firstTurnHook;e.firstTurnHook=void 0,k=Promise.resolve().then(()=>T(y)).catch(A=>{e.completionWriter.fn(p.warning("\u26A0 ")+"first-turn hook failed: "+(A instanceof Error?A.message:String(A)))})}let _=await Vk({text:x,attachments:S},e.session.current,e.stats,{setInFlight(T){n.turnInFlight=T},async onTurnComplete(T,A){await t.appendTurn(T,A)},async onAfterTurn(){await e.contextSampler.onTurn(e.stats.totalTurns),await qh(e.slashCtx),e.statusLine.rearm()},rearmStatus:()=>e.statusLine.rearm(),onTerminalState:T=>u.push(T),setActiveCompositor:T=>{n.activeCompositor=T,e.replRenderer.setCompositor(T)},scrollRegion:e.statusLine},e.options.thinkingUi,e.completionWriter,d,{history:i,autocompleteState:a});l=_!==void 0?{text:_,attachments:[]}:void 0,k!==void 0&&await k}}finally{for(let h of d.running())d.cancel(h.id);m.stop(),c.dispose()}}import{execFile as tD}from"node:child_process";import{dirname as nD,isAbsolute as rD,resolve as oD}from"node:path";import{promisify as sD}from"node:util";var ew=sD(tD),iD=3e3,aD=new Set(["empty","orphaned-dir","orphaned-registration","dead-owner"]);async function lD(){let t=(await ew("git",["rev-parse","--git-common-dir"])).stdout.trim();if(!t)throw new Error("Not in a git repository.");let n=rD(t)?t:oD(process.cwd(),t);return nD(n)}async function tw(e){if(e?.disabled)return{ran:!1,removedCount:0,skippedReason:"disabled"};let t;try{t=await lD()}catch{return{ran:!1,removedCount:0,skippedReason:"not-in-repo"}}let n,r=new Promise(o=>{n=setTimeout(()=>o("timeout"),iD)});try{let o=_t({execFile:ew,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=>aD.has(c.verdict)&&i.removed.includes(c.path)).length}}catch{return{ran:!1,removedCount:0,skippedReason:"error"}}finally{n&&clearTimeout(n)}}import{promises as cD}from"node:fs";import{dirname as uD,join as dD}from"node:path";import{randomBytes as pD}from"node:crypto";var mD=["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(`
|
|
2043
|
-
`),nw=/^[a-z0-9]+(-[a-z0-9]+){1,3}$/,Ku=30,fD=1024,gD=8e3,hD="haiku";async function yD(e,t){let n=e.trim();if(n.length===0||n.startsWith("/"))return null;let r=SD(n,fD),o=new AbortController,s=setTimeout(()=>o.abort(),t.timeoutMs??gD),i=t.signal?vD([t.signal,o.signal]):o.signal,a;try{t.slugGenerator?a=await t.slugGenerator(r,i):a=await Ra({token:t.token,model:t.model??hD,system:mD,user:r,maxTokens:32,signal:i})}catch{return null}finally{clearTimeout(s)}let l=bD(a);if(l===null)return null;let c=uD(t.worktreePath);return await kD(l,c)}function bD(e){let t=e.trim().toLowerCase();if(t.length===0)return null;if(nw.test(t)&&t.length<=Ku)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>Ku)break;o=i}return nw.test(o)?o:null}async function kD(e,t){if(!await wD(dD(t,e)))return e;let n=pD(2).toString("hex");return`${e.split("-").slice(0,3).join("-").slice(0,Ku-5)}-${n}`}async function wD(e){try{return await cD.access(e),!0}catch{return!1}}function SD(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 vD(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 rw(e){let t=await yD(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??Cf)(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}:{}})}F();import{spawn as ow}from"child_process";import{existsSync as RD,mkdirSync as _D,readFileSync as sw,unlinkSync as CD,writeFileSync as PD}from"fs";import{get as ID}from"https";import{join as iw}from"path";import{readFileSync as TD}from"fs";import{dirname as ED,join as xD}from"path";import{fileURLToPath as AD}from"url";function Wt(){try{return"3.
|
|
2043
|
+
`),nw=/^[a-z0-9]+(-[a-z0-9]+){1,3}$/,Ku=30,fD=1024,gD=8e3,hD="haiku";async function yD(e,t){let n=e.trim();if(n.length===0||n.startsWith("/"))return null;let r=SD(n,fD),o=new AbortController,s=setTimeout(()=>o.abort(),t.timeoutMs??gD),i=t.signal?vD([t.signal,o.signal]):o.signal,a;try{t.slugGenerator?a=await t.slugGenerator(r,i):a=await Ra({token:t.token,model:t.model??hD,system:mD,user:r,maxTokens:32,signal:i})}catch{return null}finally{clearTimeout(s)}let l=bD(a);if(l===null)return null;let c=uD(t.worktreePath);return await kD(l,c)}function bD(e){let t=e.trim().toLowerCase();if(t.length===0)return null;if(nw.test(t)&&t.length<=Ku)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>Ku)break;o=i}return nw.test(o)?o:null}async function kD(e,t){if(!await wD(dD(t,e)))return e;let n=pD(2).toString("hex");return`${e.split("-").slice(0,3).join("-").slice(0,Ku-5)}-${n}`}async function wD(e){try{return await cD.access(e),!0}catch{return!1}}function SD(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 vD(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 rw(e){let t=await yD(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??Cf)(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}:{}})}F();import{spawn as ow}from"child_process";import{existsSync as RD,mkdirSync as _D,readFileSync as sw,unlinkSync as CD,writeFileSync as PD}from"fs";import{get as ID}from"https";import{join as iw}from"path";import{readFileSync as TD}from"fs";import{dirname as ED,join as xD}from"path";import{fileURLToPath as AD}from"url";function Wt(){try{return"3.15.0"}catch{}try{let e=ED(AD(import.meta.url));for(let t of["../../package.json","../package.json"])try{let n=JSON.parse(TD(xD(e,t),"utf-8"));if(typeof n.version=="string")return n.version}catch{}}catch{}return"0.0.0-unknown"}K();var MD=64*1024,OD=1440*60*1e3,$D="update-check.json",DD="pending-update.json";function aw(){return iw(gs(),$D)}function Gu(){return iw(gs(),DD)}function lw(){let e=gs();RD(e)||_D(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 FD(){try{let e=sw(aw(),"utf-8"),t=JSON.parse(e);if(typeof t.latestVersion=="string"&&typeof t.checkedAt=="number")return t}catch{}return null}function ND(){try{lw();let e=`
|
|
2044
2044
|
const https = require('https');
|
|
2045
2045
|
const fs = require('fs');
|
|
2046
2046
|
const url = 'https://registry.npmjs.org/agent-afk/latest';
|