@easbot/agent 0.2.30 → 0.2.33

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 (119) hide show
  1. package/dist/chunks/acp-VDKINAWR.mjs +16 -0
  2. package/dist/chunks/adapter-loader-HTS4EEL4.mjs +1 -0
  3. package/dist/chunks/agent-EXH3EXNP.mjs +1 -0
  4. package/dist/chunks/agent-IKNANWOU.mjs +1 -0
  5. package/dist/chunks/app-BZWD4E32.mjs +1 -0
  6. package/dist/chunks/{auth-4K3ZL6IZ.mjs → auth-3CQMCCCN.mjs} +1 -1
  7. package/dist/chunks/bootstrap-CB65J4FA.mjs +1 -0
  8. package/dist/chunks/build-program-HXXT6DQM.mjs +11 -0
  9. package/dist/chunks/bus-S6EWJZAJ.mjs +1 -0
  10. package/dist/chunks/{chunk-Z7TE4DF3.mjs → chunk-3GBVNLVL.mjs} +1 -1
  11. package/dist/chunks/{chunk-7P4KNLBL.mjs → chunk-4GMKI6FY.mjs} +1 -1
  12. package/dist/chunks/chunk-EXZOV2YR.mjs +1043 -0
  13. package/dist/chunks/{chunk-4HF47RUG.mjs → chunk-HACAZH7T.mjs} +1 -1
  14. package/dist/chunks/{chunk-AJ67PJXE.mjs → chunk-OEPPJZFZ.mjs} +1 -1
  15. package/dist/chunks/{chunk-BS7N6B5S.mjs → chunk-R3MXNCX5.mjs} +1 -1
  16. package/dist/chunks/chunk-T75GE4R6.mjs +59 -0
  17. package/dist/chunks/{chunk-5HMIZBWX.mjs → chunk-UNBJ6Y7L.mjs} +3 -3
  18. package/dist/chunks/{chunk-TM2XNUSK.mjs → chunk-W7J4LU42.mjs} +1 -1
  19. package/dist/chunks/{chunk-LK3TQ5IO.mjs → chunk-WIU6CVKP.mjs} +1 -1
  20. package/dist/chunks/{chunk-CTNROYWQ.mjs → chunk-XTHATUY4.mjs} +1 -1
  21. package/dist/chunks/{chunk-7GBBUT6F.mjs → chunk-YZOAYITQ.mjs} +1 -1
  22. package/dist/chunks/{command-O3GFGULS.mjs → command-V7QNKP7O.mjs} +1 -1
  23. package/dist/chunks/compaction-HKN7HOBD.mjs +1 -0
  24. package/dist/chunks/config-LSCANUOQ.mjs +1 -0
  25. package/dist/chunks/confirm-dialog-SJOXJWYU.mjs +1 -0
  26. package/dist/chunks/debug-4SGU2Y2Q.mjs +3 -0
  27. package/dist/chunks/export-PNCMUMDM.mjs +1 -0
  28. package/dist/chunks/file-KHHRKYLJ.mjs +1 -0
  29. package/dist/chunks/gateway-SSDLJMXI.mjs +16 -0
  30. package/dist/chunks/generate-NUX2GBYY.mjs +2 -0
  31. package/dist/chunks/github-W2LFG2G6.mjs +33 -0
  32. package/dist/chunks/global-ZK2HE4L2.mjs +1 -0
  33. package/dist/chunks/i18n-OMQXNLBR.mjs +1 -0
  34. package/dist/chunks/import-NFHPQNA7.mjs +2 -0
  35. package/dist/chunks/installation-4XG5GKF2.mjs +1 -0
  36. package/dist/chunks/instance-6HPNQZR5.mjs +1 -0
  37. package/dist/chunks/loader-4EPHUIR3.mjs +1 -0
  38. package/dist/chunks/loader-PVSCRHAG.mjs +1 -0
  39. package/dist/chunks/lsp-XWC37KPE.mjs +1 -0
  40. package/dist/chunks/mcp-BR3CYNJB.mjs +1 -0
  41. package/dist/chunks/mcp-MMYCROXT.mjs +1 -0
  42. package/dist/chunks/models-M5BT6WMD.mjs +1 -0
  43. package/dist/chunks/pr-4X42BEJT.mjs +3 -0
  44. package/dist/chunks/preferences-XV3DOFFV.mjs +1 -0
  45. package/dist/chunks/project-VUSYTQRZ.mjs +1 -0
  46. package/dist/chunks/prompt-TC6ZOCJ7.mjs +1 -0
  47. package/dist/chunks/provider-RSD6RHBA.mjs +1 -0
  48. package/dist/chunks/registry-JC6QFFEI.mjs +1 -0
  49. package/dist/chunks/revert-Q4KBW2OL.mjs +1 -0
  50. package/dist/chunks/ripgrep-CKVVXX5D.mjs +1 -0
  51. package/dist/chunks/run-BD36UNJF.mjs +22 -0
  52. package/dist/chunks/scheduler-S37CNKWR.mjs +1 -0
  53. package/dist/chunks/server-PWL7MLW7.mjs +1 -0
  54. package/dist/chunks/session-27P45HFD.mjs +1 -0
  55. package/dist/chunks/session-2ECCHYP7.mjs +1 -0
  56. package/dist/chunks/session-R3U252OC.mjs +1 -0
  57. package/dist/chunks/settings-panel-ZMAGAWRF.mjs +1 -0
  58. package/dist/chunks/share-VRVDSUF4.mjs +1 -0
  59. package/dist/chunks/snapshot-JKLZBDBN.mjs +1 -0
  60. package/dist/chunks/stats-QSNMP7FP.mjs +1 -0
  61. package/dist/chunks/storage-2SFY3R4G.mjs +1 -0
  62. package/dist/chunks/tui-P7HR545F.mjs +1 -0
  63. package/dist/chunks/tui-SW7BOEMQ.mjs +1 -0
  64. package/dist/chunks/types-WCQ4KHSB.mjs +1 -0
  65. package/dist/chunks/update-424STNM5.mjs +2 -0
  66. package/dist/cli.mjs +7 -7
  67. package/package.json +13 -13
  68. package/dist/chunks/acp-SPVCZX63.mjs +0 -16
  69. package/dist/chunks/adapter-loader-SXX45I3Z.mjs +0 -1
  70. package/dist/chunks/agent-MZLOGOQI.mjs +0 -1
  71. package/dist/chunks/agent-NGOXDVCS.mjs +0 -1
  72. package/dist/chunks/app-O5NQHNXV.mjs +0 -1
  73. package/dist/chunks/bootstrap-DR4J35PX.mjs +0 -1
  74. package/dist/chunks/build-program-P7RW5T4M.mjs +0 -11
  75. package/dist/chunks/bus-KR322KXZ.mjs +0 -1
  76. package/dist/chunks/chunk-OMJJOGWG.mjs +0 -1060
  77. package/dist/chunks/chunk-Q4GRHLDQ.mjs +0 -59
  78. package/dist/chunks/compaction-3MYHNS44.mjs +0 -1
  79. package/dist/chunks/config-LDSDIKTW.mjs +0 -1
  80. package/dist/chunks/confirm-dialog-JSKEM3X2.mjs +0 -1
  81. package/dist/chunks/debug-RSDPOIUJ.mjs +0 -3
  82. package/dist/chunks/export-CLUTYBVZ.mjs +0 -1
  83. package/dist/chunks/file-ZOJ6S2UR.mjs +0 -1
  84. package/dist/chunks/gateway-YVMVF6XX.mjs +0 -16
  85. package/dist/chunks/generate-5ZEWLM3X.mjs +0 -2
  86. package/dist/chunks/github-GY4WY3V6.mjs +0 -33
  87. package/dist/chunks/global-5ORB5ZJI.mjs +0 -1
  88. package/dist/chunks/import-NJ27YSF4.mjs +0 -2
  89. package/dist/chunks/installation-Z2BKBIKH.mjs +0 -1
  90. package/dist/chunks/instance-J5JTNYNN.mjs +0 -1
  91. package/dist/chunks/loader-LIGT5CRC.mjs +0 -1
  92. package/dist/chunks/loader-TZZM2FQ7.mjs +0 -1
  93. package/dist/chunks/lsp-W37T7EBX.mjs +0 -1
  94. package/dist/chunks/mcp-LU6TQSHT.mjs +0 -1
  95. package/dist/chunks/mcp-UXTV2MD5.mjs +0 -1
  96. package/dist/chunks/models-TNJAQQV6.mjs +0 -1
  97. package/dist/chunks/pr-NWXGDNAA.mjs +0 -3
  98. package/dist/chunks/preferences-IPQIZ4PF.mjs +0 -1
  99. package/dist/chunks/project-XTL74VR6.mjs +0 -1
  100. package/dist/chunks/prompt-EGX2NAWC.mjs +0 -1
  101. package/dist/chunks/provider-YEOVG4GT.mjs +0 -1
  102. package/dist/chunks/registry-5OGN2DD4.mjs +0 -1
  103. package/dist/chunks/revert-UEWEVDZW.mjs +0 -1
  104. package/dist/chunks/ripgrep-Z3UZ5FOB.mjs +0 -1
  105. package/dist/chunks/run-TJFYT5A2.mjs +0 -22
  106. package/dist/chunks/scheduler-GNEGF2HE.mjs +0 -1
  107. package/dist/chunks/server-K7LUKQBB.mjs +0 -1
  108. package/dist/chunks/session-DVY2QAPP.mjs +0 -1
  109. package/dist/chunks/session-HARVTO2S.mjs +0 -1
  110. package/dist/chunks/session-YY3OP5DZ.mjs +0 -1
  111. package/dist/chunks/settings-panel-SM37CCB4.mjs +0 -1
  112. package/dist/chunks/share-VULKGSBV.mjs +0 -1
  113. package/dist/chunks/snapshot-IN2OXNN4.mjs +0 -1
  114. package/dist/chunks/stats-FP5BZIOF.mjs +0 -1
  115. package/dist/chunks/storage-OTAVCTZ6.mjs +0 -1
  116. package/dist/chunks/tui-IZJVGM2K.mjs +0 -1
  117. package/dist/chunks/tui-XXGYOYB4.mjs +0 -1
  118. package/dist/chunks/types-NRDHCKIO.mjs +0 -1
  119. package/dist/chunks/update-6CXRBZ6A.mjs +0 -2
@@ -1,22 +0,0 @@
1
- import {a as a$4}from'./chunk-FXOUIXIL.mjs';import {a as a$2}from'./chunk-Z7TE4DF3.mjs';import {e,f,b,c,a as a$3,g,i,d,j as j$1}from'./chunk-M3K32WJV.mjs';import {za,j,k as k$1,m as m$1}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import {a as a$1}from'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';import x from'path';import {promises}from'fs';import {pathToFileURL}from'url';import {EOL}from'os';import {Locale}from'@easbot/utils';var V=a.create({service:"cli-command-run"});function G(t){let o=t.state;return {input:o.input,metadata:"metadata"in o?o.metadata:{},part:t}}function m(t){console.log(j$1(t.icon,t.title,t.description));}function k(t,o){console.log(),console.log(j$1(t.icon,t.title,t.description)),o?.trim()&&console.log(o),console.log();}function X(t){let o=t.state,n="input"in o?o.input:void 0,i=("title"in o&&o.title?o.title:void 0)||(n&&typeof n=="object"&&Object.keys(n).length>0?JSON.stringify(n):"Unknown");console.log(j$1("\u2699",`${t.tool} ${i}`));}function w(t){if(!t)return "";if(x.isAbsolute(t)){let o=x.posix.relative(process.cwd(),t)||".";return a$4(o)}return a$4(t)}var U={glob:t=>{let o=t.input.path??"",n=`Glob "${t.input.pattern}"`,i=o?`in ${w(o)}`:"",s=t.metadata.count,e=s===void 0?i:`${i}${i?" \xB7 ":""}${s} ${s===1?"match":"matches"}`;m({icon:"\u2731",title:n,...e&&{description:e}});},grep:t=>{let o=t.input.path??"",n=`Grep "${t.input.pattern}"`,i=o?`in ${w(o)}`:"",s=t.metadata.matches,e=s===void 0?i:`${i}${i?" \xB7 ":""}${s} ${s===1?"match":"matches"}`;m({icon:"\u2731",title:n,...e&&{description:e}});},list:t=>{let o=t.input.path?w(t.input.path):"";m({icon:"\u2192",title:o?`List ${o}`:"List"});},read:t=>{let o=w(t.input.filePath),n=Object.entries(t.input).filter(([s,e])=>s==="filePath"?false:typeof e=="string"||typeof e=="number"||typeof e=="boolean"),i=n.length>0?`[${n.map(([s,e])=>`${s}=${e}`).join(", ")}]`:void 0;m({icon:"\u2192",title:`Read ${o}`,...i&&{description:i}});},write:t=>{k({icon:"\u2190",title:`Write ${w(t.input.filePath)}`},t.part.state.status==="completed"?t.part.state.output:void 0);},webfetch:t=>{m({icon:"%",title:`WebFetch ${t.input.url}`});},edit:t=>{let o=w(t.input.filePath),n=t.metadata.diff;k({icon:"\u2190",title:`Edit ${o}`},n);},codesearch:t=>{m({icon:"\u25C7",title:`Exa Code Search "${t.input.query}"`});},websearch:t=>{m({icon:"\u25C8",title:`Exa Web Search "${t.input.query}"`});},task:t=>{if(t.input.operation==="create"){let n=Locale.titlecase(t.input.subagent_type??"unknown"),s=t.input.description??`${n} Task`;m({icon:"\u2022",title:s,description:`${n} Agent`});}else m({icon:"?",title:"Task Query"});},skill:t=>{m({icon:"\u2192",title:`Skill "${t.input.name}"`});},bash:t=>{let o=t.part.state.status==="completed"?t.part.state.output?.trim():void 0;k({icon:"$",title:`${t.input.command}`},o);},todo:t=>{if(t.input.operation==="write"){let o=t.input.todos;Array.isArray(o)&&k({icon:"#",title:"Todos"},o.map(n=>`${n.status==="completed"?"[x]":"[ ]"} ${n.content}`).join(`
2
- `));}else if(t.input.operation==="read"){let o=t.metadata.todos;Array.isArray(o)&&k({icon:"#",title:"Todos"},o.map(n=>`${n.status==="completed"?"[x]":"[ ]"} ${n.content}`).join(`
3
- `));}}};function Z(t){let o=U[t.tool];o?o(G(t)):X(t);}function to(t,o){t.command("run [message...]").description(a$1("run.command.description")).option("--command <command>",a$1("run.option.command")).option("-c, --continue",a$1("run.option.continue")).option("-s, --session <id>",a$1("run.option.session")).option("--fork",a$1("run.option.fork")).option("--share",a$1("run.option.share")).option("-m, --model <model>",a$1("run.option.model")).option("--agent <agent>",a$1("run.option.agent")).option("--format <format>",a$1("run.option.format"),"default").option("-f, --file <files...>",a$1("run.option.file")).option("--title <title>",a$1("run.option.title")).option("--variant <variant>",a$1("run.option.variant")).option("--thinking",a$1("run.option.thinking"),false).action(async(n,i)=>{await tt(n,i,o),process.exit(0);});}async function tt(t,o,n){await a$2(n.config.directory,async()=>{await ot(t,o,n);});}async function ot(t,o,n){let i=t.join(" "),s=n.config.directory,e$1=[];if(o.file){let c=Array.isArray(o.file)?o.file:[o.file];for(let u of c){let T=x.resolve(s,u);try{let R=(await promises.stat(T)).isDirectory()?"application/x-directory":"text/plain";e$1.push({type:"file",url:pathToFileURL(T).href,filename:x.basename(T),mime:R});}catch(g){let R=g instanceof Error?g.message:String(g),H=g&&typeof g=="object"&&"code"in g?g.code:"UNKNOWN";console.error(e(a$1("run.error.file_not_found",{vars:{file:u}}))),V.error("Failed to access file",{filePath:u,resolvedPath:T,error:R,code:H}),process.exit(1);}}}i.trim().length===0&&!o.command&&(console.error(e(a$1("run.error.no_message"))),process.exit(1)),o.fork&&!o.continue&&!o.session&&(console.error(e(a$1("run.error.fork_requires_session"))),process.exit(1));let a=await(async()=>{if(!o.agent)return;let{data:c}=await n.sdk.app.agents({});if(!c?.find(T=>T.name===o.agent)){console.log(f(a$1("run.warning.agent_not_found",{vars:{agent:o.agent}})));return}return o.agent})(),l=await et(o,i,n);l||(console.error(e(a$1("run.error.session_not_found"))),process.exit(1));let h=!o.continue&&!o.session,I=new Map,y=new AbortController,q=new AbortController,C=await n.sdk.global.event({signal:y.signal}),{stream:d}=C,p,Q=new Promise(c=>{p=c;}),z=await n.sdk.session.event({sessionID:l},{signal:q.signal}),{stream:B}=z;(async()=>{try{for await(let c of d){let u=c.payload;rt(u,l,o,I);}}catch{}})();(async()=>{try{for await(let c of B){let u=c.payload;u.type==="session.status"&&u.properties.status.type==="idle"&&p?.();}}catch{}})();try{if(o.command)await za.command({sessionID:l,agent:a,model:o.model,command:o.command,arguments:i,variant:o.variant});else {let c=o.model?j.parseModel(o.model):void 0,u=c?{providerID:c.providerID||"default-provider",modelID:c.modelID}:void 0;await za.prompt({sessionID:l,agent:a,model:u,variant:o.variant,parts:[...e$1,{type:"text",text:i}]});}await Q;}finally{if(y.abort(),q.abort(),h)try{await n.sdk.session.delete({sessionID:l});}catch{console.warn(f(a$1("run.warning.session_cleanup_failed",{vars:{sessionId:l}})));}}}async function et(t,o,n){let s=(await n.sdk.session.list()).data,e=t.continue?s?.find(h=>!h.parentID)?.id:t.session;if(e&&t.fork)return (await n.sdk.session.fork({sessionID:e})).data?.id;if(e)return e;let a=nt(t,o);return (await n.sdk.session.create({title:a})).data?.id}function nt(t,o){if(t.title!==void 0)return t.title!==""?t.title:o.slice(0,50)+(o.length>50?"...":"")}async function rt(t,o,n,i$1){function s(e,a){return n.format==="json"?(process.stdout.write(JSON.stringify({type:e,timestamp:Date.now(),sessionID:o,...a})+EOL),true):false}if(t.type==="message.updated"&&t.properties.info.role==="assistant"&&n.format!=="json"&&i$1.get("start")!==true&&(console.log(),console.log(`> ${t.properties.info.agent} \xB7 ${t.properties.info.modelID}`),console.log(),i$1.set("start",true)),t.type==="message.part.updated"){let e=t.properties.part;if(e.sessionID!==o)return;if(e.type==="tool"&&e.state.status==="completed"){if(s("tool_use",{part:e}))return;Z(e);}if(e.type==="tool"&&e.tool==="task"&&e.state.status==="running"&&n.format!=="json"){if(i$1.get(e.id)===true)return;U.task(G(e)),i$1.set(e.id,true);}if(e.type==="step-start"&&s("step_start",{part:e})||e.type==="step-finish"&&s("step_finish",{part:e}))return;if(e.type==="text"&&e.time?.end){if(s("text",{part:e}))return;let a=e.text.trim();if(!a)return;if(!process.stdout.isTTY){process.stdout.write(a+EOL);return}console.log(),console.log(a),console.log();}if(e.type==="reasoning"&&e.time?.end&&n.thinking){if(s("reasoning",{part:e}))return;let a=e.text.trim();if(!a)return;let l=`Thinking: ${a}`;if(process.stdout.isTTY){console.log(),console.log(`\x1B[2m\x1B[3m${l}\x1B[0m`),console.log();return}process.stdout.write(l+EOL);}}if(t.type==="session.error"){let e$1=t.properties;if(e$1.sessionID!==o||!e$1.error)return;let a=String(e$1.error.name);if("data"in e$1.error&&e$1.error.data&&"message"in e$1.error.data&&(a=String(e$1.error.data.message)),s("error",{error:e$1.error}))return;console.error(e(a));}if(t.type==="permission.asked"){let e=t.properties;if(e.sessionID!==o)return;if(n.format==="json"){await k$1.reply({requestID:e.id,reply:"once"});return}let a=b();console.log(`
4
- `+c(a,a$3.muted,"=".repeat(80))),console.log(g(a$1("run.permission.request",{vars:{permission:e.permission}}))),console.log(i(a$1("run.permission.targets_label"),e.patterns.join(", "))),console.log(c(a,a$3.muted,"=".repeat(80)));let l=await st();await k$1.reply({requestID:e.id,reply:l});}if(t.type==="question.asked"){let e=t.properties;if(e.sessionID!==o)return;if(n.format==="json"){await m$1.reject(e.id);return}let a=b();console.log(`
5
- `+c(a,a$3.muted,"=".repeat(80))),console.log(g(a$1("run.question.agent_asking"))),console.log(c(a,a$3.muted,"=".repeat(80)));let l=await it(e.questions);await m$1.reply({requestID:e.id,answers:l});}}async function st(t){let{createInterface:o}=await import('readline'),n=o({input:process.stdin,output:process.stdout});return new Promise(i=>{let s=`
6
- `+a$1("run.permission.select_action")+`
7
- [y] `+a$1("run.permission.once")+`
8
- [a] `+a$1("run.permission.always")+`
9
- [n] `+a$1("run.permission.reject")+`
10
- `+a$1("run.permission.input_prompt")+": ";n.question(s,e$1=>{n.close();let a=e$1.trim().toLowerCase();a==="y"||a==="yes"?(console.log(d(a$1("run.permission.allowed"))+`
11
- `),i("once")):a==="a"||a==="always"?(console.log(d(a$1("run.permission.always_allowed"))+`
12
- `),i("always")):(console.log(e(a$1("run.permission.rejected"))+`
13
- `),i("reject"));});})}async function it(t){let{createInterface:o}=await import('readline'),n=[];for(let i=0;i<t.length;i++){let s=t[i];console.log(`
14
- `+a$1("run.question.header",{vars:{current:i+1,total:t.length}})),console.log(a$1("run.question.title",{vars:{title:s.header}})),console.log(a$1("run.question.question",{vars:{question:s.question}})),s.options&&s.options.length>0&&(console.log(`
15
- `+a$1("run.question.options")),s.options.forEach((a,l)=>{console.log(` [${l+1}] ${a.label} - ${a.description}`);}),s.custom!==false?s.multiple?console.log(`
16
- `+a$1("run.question.hint.custom_enabled_multiple")):console.log(`
17
- `+a$1("run.question.hint.custom_enabled")):s.multiple?console.log(`
18
- `+a$1("run.question.hint.custom_disabled_multiple")):console.log(`
19
- `+a$1("run.question.hint.custom_disabled")));let e$1=null;for(;!e$1;){let a=o({input:process.stdin,output:process.stdout});e$1=await new Promise(l=>{let h=s.multiple?`
20
- `+a$1("run.question.input_prompt_multiple")+": ":`
21
- `+a$1("run.question.input_prompt")+": ";a.question(h,I=>{a.close();let y=I.trim();if(!y){l([]);return}if(/^(\d+(?:,\s*\d+)*)$/.test(y)){let C=y.split(",").map(p=>parseInt(p.trim(),10)),d=[];for(let p of C)p>0&&p<=s.options.length&&d.push(s.options[p-1].label);if(d.length===0){console.log(e(a$1("run.question.invalid_input"))),l(null);return}if(!s.multiple&&d.length>1){let p=d[0];l(p!==void 0?[p]:d);}else l(d);}else s.custom===false?(console.log(e(a$1("run.question.invalid_option"))),l(null)):l([y]);});});}n.push(e$1),console.log(d(a$1("run.question.answered",{vars:{answer:e$1.join(", ")||"(\u7A7A)"}}))+`
22
- `);}return n}export{to as registerRunCommand};
@@ -1 +0,0 @@
1
- export{Ba as DEFAULT_HEARTBEAT_TEMPLATE,Ca as DEFAULT_SCHEDULED_TEMPLATE,Ha as HookEvent,Da as PromptTemplate,Ga as Scheduler,Ea as TaskHistory,c as TaskStorage,d as TaskStore,i as describeCron,h as formatCronExpression,g as getNextFireTime,f as isValidCron,e as parseCronExpression,Fa as recordTaskExecution}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{ua as Server}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{La as Session,ha as Task}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{La as Session}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- import {a as a$3}from'./chunk-TYD2M4SP.mjs';import {a as a$5}from'./chunk-FXOUIXIL.mjs';import {a as a$2}from'./chunk-Z7TE4DF3.mjs';import'./chunk-CQVEAYYW.mjs';import {l,d,b,c,a as a$4,e,h,i}from'./chunk-M3K32WJV.mjs';import {Y}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import {a as a$1}from'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';a.create({service:"cli-api-tui"});var t=a.create({service:"cli-command-session"});function se(P,n){let m=P.command("session").description(a$1("session.command.description"));m.command("list").description(a$1("session.command.list.description")).option("-n, --max-count <number>",a$1("session.command.list.option.max_count"),parseInt).option("--format <format>",a$1("session.command.list.option.format"),"table").action(async s=>{await a$2(n.config.directory,async()=>{try{t.info("Listing sessions",{maxCount:s.maxCount,format:s.format});let{data:e}=await n.sdk.session.list({limit:s.maxCount});if(!e||e.length===0){console.log(l(a$1("session.list.empty")));return}if(s.format==="json")console.log(Y.formatSessionJSON(e));else {console.log(d(a$1("session.list.success",{vars:{count:e.length}}))),console.log("");let p=b();console.log(a$3({columns:[{key:"id",header:a$1("session.table.header.id"),minWidth:25},{key:"title",header:a$1("session.table.header.title"),flex:!0,minWidth:20},{key:"created",header:a$1("session.table.header.created"),minWidth:20},{key:"updated",header:a$1("session.table.header.updated"),minWidth:20}],rows:e.map(a=>({id:a.id,title:a.title||c(p,a$4.muted,a$1("session.untitled")),created:new Date(a.time.created).toLocaleString(),updated:new Date(a.time.updated).toLocaleString()})),width:process.stdout.columns||120,border:"unicode"}));}t.debug("Session list displayed",{count:e.length});}catch(e$1){t.error("Failed to list sessions",{error:e$1 instanceof Error?e$1.message:String(e$1)}),console.error(e(a$1("session.list.error"))),process.exit(1);}});}),m.command("info <session-id>").description(a$1("session.command.info.description")).action(async s=>{await a$2(n.config.directory,async()=>{try{t.debug("Getting session info",{sessionId:s});let{data:e$1}=await n.sdk.session.get({sessionID:s}),p=b();e$1||(console.error(e(a$1("session.get.not_found",{vars:{sessionId:s}}))),process.exit(1)),console.log(d(a$1("session.get.success"))),console.log(""),console.log(h(a$1("session.info.heading"))),console.log(""),console.log(i(a$1("session.field.id")+":",e$1.id,12)),console.log(i(a$1("session.field.title")+":",e$1.title||c(p,a$4.muted,a$1("session.untitled")),12)),console.log(i(a$1("session.field.created")+":",new Date(e$1.time.created).toLocaleString(),12)),console.log(i(a$1("session.field.updated")+":",new Date(e$1.time.updated).toLocaleString(),12)),e$1.directory&&console.log(i(a$1("session.field.directory")+":",a$5(e$1.directory),12)),e$1.projectID&&console.log(i(a$1("session.field.project_id")+":",e$1.projectID,12)),t.debug("Session info displayed",{sessionId:s});}catch(e$1){t.error("Failed to get session info",{sessionId:s,error:e$1 instanceof Error?e$1.message:String(e$1)}),console.error(e(a$1("session.get.error"))),process.exit(1);}});}),m.command("delete <session-id>").description(a$1("session.command.delete.description")).action(async s=>{await a$2(n.config.directory,async()=>{try{t.debug("Deleting session",{sessionId:s}),await n.sdk.session.delete({sessionID:s}),console.log(d(a$1("session.delete.success"))),t.debug("Session deleted",{sessionId:s});}catch(e$1){t.error("Failed to delete session",{sessionId:s,error:e$1 instanceof Error?e$1.message:String(e$1)}),console.error(e(a$1("session.delete.error"))),process.exit(1);}});});}export{se as registerSessionCommands};
@@ -1 +0,0 @@
1
- import {a as a$1}from'./chunk-5HMIZBWX.mjs';import'./chunk-X6ISXWBN.mjs';import {SettingsList}from'@easbot/tui';var a={label:(t,i)=>i?`\x1B[1;36m${t}\x1B[0m`:t,value:(t,i)=>i?`\x1B[1;33m${t}\x1B[0m`:`\x1B[33m${t}\x1B[0m`,description:t=>`\x1B[90m${t}\x1B[0m`,cursor:"\x1B[36m\u2192\x1B[0m ",hint:t=>`\x1B[90m${t}\x1B[0m`};function b(t){let{currentSettings:i,onChange:n,onCancel:s,maxVisible:o=10}=t,l=[{id:"thinkingLevel",label:a$1("tui.settings.item.thinking_level"),currentValue:i.thinkingLevel||"off",description:a$1("tui.settings.desc.thinking_level"),values:["off","low","medium","high"]},{id:"showThinking",label:a$1("tui.settings.item.show_thinking"),currentValue:i.showThinking?"true":"false",description:a$1("tui.settings.desc.show_thinking"),values:["false","true"]},{id:"verboseLevel",label:a$1("tui.settings.item.verbose_level"),currentValue:i.verboseLevel||"off",description:a$1("tui.settings.desc.verbose_level"),values:["off","on"]},{id:"messageLimit",label:a$1("tui.settings.item.message_limit"),currentValue:String(i.messageLimit||50),description:a$1("tui.settings.desc.message_limit"),values:["25","50","100"]},{id:"toolsExpanded",label:a$1("tui.settings.item.tools_expanded"),currentValue:i.toolsExpanded?"true":"false",description:a$1("tui.settings.desc.tools_expanded"),values:["false","true"]},{id:"localShellPermission",label:a$1("tui.settings.item.local_shell_permission"),currentValue:i.localShellPermission||"ask",description:a$1("tui.settings.desc.local_shell_permission"),values:["ask","on","off"]},{id:"contextMode",label:a$1("tui.settings.item.context_mode"),currentValue:i.contextMode||"general",description:a$1("tui.settings.desc.context_mode"),values:["general","coder"]}];return new SettingsList(l,o,a,n,s,{enableSearch:false})}export{b as createSettingsPanel};
@@ -1 +0,0 @@
1
- export{Ka as Share}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{Ia as Snapshot}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- import {a as a$2}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import'./chunk-CQVEAYYW.mjs';import {h as h$1,d,e}from'./chunk-M3K32WJV.mjs';import {a as a$1}from'./chunk-5HMIZBWX.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';var u=a.create({service:"cli-command-stats"});async function h(a,g){let{data:r}=await a.sdk.session.list({}),t={totalSessions:r?.length??0,totalMessages:0,totalCost:0,totalTokens:{input:0,output:0,reasoning:0,cache:{read:0,write:0}},toolUsage:{},modelUsage:{}};if(!r||r.length===0)return t;for(let d of r){let{data:l}=await a.sdk.session.messages({sessionID:d.id});if(l){t.totalMessages+=l.length;for(let s of l){if(s.info.role==="assistant"){t.totalCost+=s.info.cost||0;let o=`${s.info.providerID}/${s.info.modelID}`;t.modelUsage[o]||(t.modelUsage[o]={messages:0,tokens:0,cost:0}),t.modelUsage[o].messages++,t.modelUsage[o].cost+=s.info.cost||0,s.info.tokens&&(t.totalTokens.input+=s.info.tokens.input||0,t.totalTokens.output+=s.info.tokens.output||0,t.totalTokens.reasoning+=s.info.tokens.reasoning||0,t.totalTokens.cache.read+=s.info.tokens.cache?.read||0,t.totalTokens.cache.write+=s.info.tokens.cache?.write||0);}for(let o of s.parts)o.type==="tool"&&o.tool&&(t.toolUsage[o.tool]=(t.toolUsage[o.tool]||0)+1);}}}return t}function m(a){return a>=1e6?(a/1e6).toFixed(1)+"M":a>=1e3?(a/1e3).toFixed(1)+"K":a.toString()}function U(a,g){a.command("stats").description(a$1("stats.command.description")).option("--days <number>",a$1("stats.option.days")).option("--tools <number>",a$1("stats.option.tools")).option("--models [number]",a$1("stats.option.models")).action(async r=>{u.debug("Displaying stats",{options:r});try{console.log(h$1(a$1("stats.loading")));let t=await h(g,r.days);console.log(d(a$1("stats.display_ready"))),console.log(""),console.log(h$1(a$1("stats.overview"))),console.log(a$2({columns:[{key:"label",header:a$1("stats.table.header.metric"),minWidth:25},{key:"value",header:a$1("stats.table.header.value"),flex:!0}],rows:[{label:a$1("stats.metric.sessions"),value:t.totalSessions.toLocaleString()},{label:a$1("stats.metric.messages"),value:t.totalMessages.toLocaleString()}],width:process.stdout.columns||80,border:"unicode"})),console.log(""),console.log(h$1(a$1("stats.cost_tokens")));let d$1=Number.isNaN(t.totalCost)?0:t.totalCost;if(console.log(a$2({columns:[{key:"label",header:a$1("stats.table.header.metric"),minWidth:25},{key:"value",header:a$1("stats.table.header.value"),flex:!0}],rows:[{label:a$1("stats.metric.total_cost"),value:`$${d$1.toFixed(2)}`},{label:a$1("stats.metric.input"),value:m(t.totalTokens.input)},{label:a$1("stats.metric.output"),value:m(t.totalTokens.output)},{label:a$1("stats.metric.cache_read"),value:m(t.totalTokens.cache.read)},{label:a$1("stats.metric.cache_write"),value:m(t.totalTokens.cache.write)}],width:process.stdout.columns||80,border:"unicode"})),r.tools&&Object.keys(t.toolUsage).length>0){console.log(""),console.log(h$1(a$1("stats.tool_usage")));let l=Object.entries(t.toolUsage).sort(([,o],[,n])=>n-o).slice(0,r.tools),s=Object.values(t.toolUsage).reduce((o,n)=>o+n,0);console.log(a$2({columns:[{key:"tool",header:a$1("stats.table.header.tool"),minWidth:20},{key:"count",header:a$1("stats.table.header.count"),minWidth:10},{key:"percent",header:a$1("stats.table.header.percent"),flex:!0}],rows:l.map(([o,n])=>({tool:o,count:n.toString(),percent:`${(n/s*100).toFixed(1)}%`})),width:process.stdout.columns||80,border:"unicode"}));}u.debug("Stats displayed successfully");}catch(t){u.error("Failed to display stats",{error:t instanceof Error?t.message:String(t)}),console.error(e(a$1("stats.error.failed",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}export{U as registerStatsCommand};
@@ -1 +0,0 @@
1
- export{a as Storage}from'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- import {a as a$4}from'./chunk-XPF2LJT2.mjs';import {a as a$2}from'./chunk-LAHYVX5K.mjs';import {a as a$5}from'./chunk-Z7TE4DF3.mjs';import {a as a$3,b,c,d as d$1,e,h}from'./chunk-VII7JKGB.mjs';import {g,d,e as e$1}from'./chunk-M3K32WJV.mjs';import'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import {a as a$1}from'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import {b as b$1}from'./chunk-X6ISXWBN.mjs';import'path';var o=a.create({service:"cli-command-tui"});async function C(e){await a$5(e.directory,async()=>{await N(e);});}async function N(e){let{createTuiApp:c}=await import('./tui-XXGYOYB4.mjs'),{TUI:n,ProcessTerminal:t}=await import('@easbot/tui'),a=e.agent;a?o.debug("Using agent from command line",{agentName:a}):o.debug("Agent not specified, will use persisted or default");let s=e.model;s?o.debug("Using model from command line",{modelInfo:s}):o.debug("Model not specified, will use persisted or agent default");let m=new t,d=new n(m),_=await c(d,{directory:e.directory,agent:e.agent,model:e.model,sessionId:e.sessionId,new:e.new,continue:e.continue,fork:e.fork,prompt:e.prompt,onExit:async()=>{await y();}});for(let l of _.children)d.addChild(l);d.start(),d.requestRender(),await new Promise(l=>{let P=()=>{d.stop(),l();};process.once("exit",P);});}async function y(){return Promise.resolve()}function j(e,c){e.command("tui").description(a$1("tui.command.description")).option("-m, --model <model>",a$1("tui.option.model")).option("-c, --continue",a$1("tui.option.continue")).option("-n, --new",a$1("tui.option.new")).option("-s, --session-id <id>",a$1("tui.option.session_id")).option("--agent <agent>",a$1("tui.option.agent",{vars:{agents:c.agentOptions}})).option("--prompt <prompt>",a$1("tui.option.prompt")).option("--fork",a$1("tui.option.fork")).option("--port <port>",a$1("tui.option.port"),parseInt).option("--hostname <hostname>",a$1("tui.option.hostname")).action(async n=>{o.debug("TUI command started",{hasOptions:!!n});try{console.log(g(a$1("tui.start.begin")));let t=c.config.directory;o.debug("Working directory resolved",{directory:t});let a=a$2(t);if(!a.valid)throw o.error("Working directory validation failed",{directory:t,error:a.error}),new Error(`Invalid working directory: ${a.error}`);let s=a.normalizedPath;o.debug("Working directory validated",{validatedDirectory:s}),console.log(g(a$1("tui.directory.change",{vars:{cwd:s}}))),o.debug("Validating options",{options:n}),x(n);let m={directory:s,new:n.new,sessionId:n.sessionId,agent:n.agent,model:n.model,prompt:n.prompt,fork:n.fork,continue:n.continue};o.info("Starting TUI",{tuiStartOptions:m}),await C(m),console.log(d(a$1("tui.start.success"))),o.info("TUI started successfully");}catch(t){throw o.error("TUI command failed",{error:t instanceof Error?t.message:String(t),stack:t instanceof Error?t.stack:void 0}),A(t),t}finally{await S();}});}function x(e$1){if(o.debug("Validating TUI options",{options:e$1}),e$1.new&&e$1.sessionId)throw new Error(a$1("tui.validation.new_and_session_id_conflict"));if(e$1.fork){if(e$1.new)throw new Error(a$1("tui.validation.fork_cannot_use_with_new"));if(!e$1.continue&&!e$1.sessionId)throw new Error(a$1("tui.validation.fork_requires_session"))}if(e$1.agent&&!a$3(e$1.agent))throw new Error(`Invalid agent ID format: ${e$1.agent}`);if(e$1.sessionId&&!b(e$1.sessionId))throw new Error(`Invalid session ID format: ${e$1.sessionId}`);if(e$1.model&&!c(e$1.model))throw new Error(`Invalid model name format: ${e$1.model}. Expected format: provider/model`);if(e$1.port!==void 0&&!d$1(e$1.port))throw new Error(`Invalid port number: ${e$1.port}. Port must be between 1 and 65535`);if(e$1.hostname&&!e(e$1.hostname))throw new Error(`Invalid hostname: ${e$1.hostname}`);if(e$1.prompt&&!h(e$1.prompt))throw new Error("Prompt text is too long. Maximum length is 10000 characters");o.debug("TUI options validated successfully");}var f=class extends Error{constructor(n,t,a){super(t);b$1(this,"code");b$1(this,"cause");this.name="TuiError",this.code=n,this.cause=a;}};function A(e){if(e instanceof f){switch(console.error(e$1(a$1("error.code",{vars:{code:e.code,message:e.message}}))),e.code){case "DIRECTORY_ERROR":console.error(e$1(a$1("error.directory.hint")));break;case "VALIDATION_ERROR":console.error(e$1(a$1("error.validation.hint")));break;case "PORT_ERROR":console.error(e$1(a$1("error.port.hint")));break;case "CONNECTION_ERROR":console.error(e$1(a$1("error.connection.hint")));break;case "INITIALIZATION_ERROR":console.error(e$1(a$1("error.initialization.hint")));break;case "RENDER_ERROR":console.error(e$1(a$1("error.render.hint")));break}e.cause&&console.error(e$1(a$1("error.original")),e.cause);}else e instanceof Error?(console.error(e$1(`${a$1("error.unknown")} ${e.message}`)),e.stack&&(console.error(e$1(a$1("error.stack"))),console.error(e.stack))):console.error(e$1(a$1("error.unknown")),e);}async function S(){o.debug("Starting TUI resource cleanup");try{await y(),o.debug("TUI API cleanup completed");}catch(e){o.error("TUI API cleanup failed",{error:e instanceof Error?e.message:String(e)});}try{await a$4.cleanup(),o.debug("Resource manager cleanup completed");}catch(e){o.error("Resource manager cleanup failed",{error:e instanceof Error?e.message:String(e)});}o.debug("TUI resource cleanup completed");}export{j as registerTuiCommand};
@@ -1 +0,0 @@
1
- export{a as CustomEditor,h as createTuiApp,d as editorTheme,c as selectListTheme,b as theme}from'./chunk-Q4GRHLDQ.mjs';import'./chunk-CQVEAYYW.mjs';import'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{R as Acp,eb as Agent,_ as Codebase,cb as Command,K as Compaction,ia as Context,kb as Info,fb as Keybinds,ib as Layout,Za as Mcp,Wa as McpLocal,Xa as McpOAuth,Ya as McpRemote,$ as Memory,Va as ModelId,aa as Note,bb as Permission,_a as PermissionAction,$a as PermissionObject,ab as PermissionRule,jb as Provider,hb as Server,db as Skills,Ra as SubAgent,Sa as SubAgentConfigSchema,Qa as SubAgentModel,Oa as SubAgentRunMode,Pa as SubAgentTransportType,gb as TUI}from'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';export{a as Gateway}from'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1,2 +0,0 @@
1
- import {a as a$2}from'./chunk-Z7TE4DF3.mjs';import {h,g,e,d}from'./chunk-M3K32WJV.mjs';import'./chunk-OMJJOGWG.mjs';import'./chunk-LK3TQ5IO.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-CTNROYWQ.mjs';import'./chunk-TM2XNUSK.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import {a as a$1}from'./chunk-5HMIZBWX.mjs';import'./chunk-AJ67PJXE.mjs';import'./chunk-7P4KNLBL.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-7GBBUT6F.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-BS7N6B5S.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';import {Semver,Shell,Fetch,PKG}from'@easbot/utils';var m=a.create({service:"cli-command-update"});function H(t,i){t.command("update [target]").description(a$1("update.command.description")).option("--method <method>",a$1("update.option.method")).action(async(e$1,n)=>{m.debug("Update command started",{target:e$1,method:n.method});try{console.log(h(a$1("update.starting")));let{Global:s}=await import('./global-5ORB5ZJI.mjs'),a=s.getVersion()||"unknown";console.log(g(a$1("update.current_version",{vars:{version:a}})));let o=e$1||"latest";o==="latest"&&(o=await f(),o==="latest"&&(console.error(e(a$1("update.latest_fetch_failed"))),process.exit(1))),console.log(g(a$1("update.target_version",{vars:{version:o}})));let p=o.replace(/^v/,"");Semver.isValid(p)||(console.error(e(a$1("update.invalid_version",{vars:{version:o}}))),process.exit(1));let v=Semver.compare(a,p);v===0&&(console.log(d(a$1("update.already_latest",{vars:{version:a}}))),process.exit(0)),v>0&&console.warn(g(a$1("update.downgrade_warning",{vars:{from:a,to:p}}))),console.log(g(a$1("update.downloading")));let l=await a$2(i.config.directory,()=>x(o,n.method));l.success?(console.log(d(a$1("update.success",{vars:{version:l.version||o}}))),process.exit(0)):(console.error(e(a$1("update.failed",{vars:{error:l.error||"Unknown error"}}))),process.exit(1));}catch(s){m.error("Update failed",{error:s instanceof Error?s.message:String(s)}),console.error(e(a$1("update.error",{vars:{error:s instanceof Error?s.message:String(s)}}))),process.exit(1);}});}async function x(t,i){try{let e=t;t==="latest"?e=await f():(e=t.replace(/^v/,""),Semver.isValid(e)||(e=await f(),m.debug("Invalid version provided, using latest",{target:t,version:e})));let n=i||await E();m.debug("Updating to version",{version:e,method:n});let s=process.platform==="win32"?"cmd":void 0,a=V(n,e);m.info(`Using ${n} to update`,{version:e,shell:s,command:a});let o=await Shell.run(s,a,{windowsHide:!0,timeout:600*1e3,env:{npm_config_loglevel:"error",PNPM_LOGLEVEL:"error",BUN_LOG_LEVEL:"error"}});return o.code===0?{success:!0,version:e}:{success:!1,error:o.stderr||o.stdout||`Exit code: ${o.code}`||"Update failed"}}catch(e){return {success:false,error:e instanceof Error?e.message:String(e)}}}function V(t,i){let n=`@easbot/agent@${i}`;switch(t){case "pnpm":return `pnpm add -g ${n} --loglevel error`;case "bun":return `bun add -g ${n}`;default:return `npm install -g ${n} --loglevel error`}}async function f(){try{return (await Fetch.get("https://registry.npmjs.org/@easbot/agent/latest")).data?.version||"latest"}catch{return "latest"}}async function E(){let t=await PKG.packageManager();return t?t.name:"npm"}
2
- export{H as registerUpdateCommand};