@easbot/agent 0.2.34 → 0.2.36

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 (94) hide show
  1. package/dist/chunks/acp-YNV6DSAY.mjs +22 -0
  2. package/dist/chunks/adapter-loader-ZVGLTKEK.mjs +1 -0
  3. package/dist/chunks/{agent-3TY5COL7.mjs → agent-42R2LKEK.mjs} +1 -1
  4. package/dist/chunks/{agent-SF44D677.mjs → agent-CBNCT4JD.mjs} +1 -1
  5. package/dist/chunks/app-267XBNKU.mjs +1 -0
  6. package/dist/chunks/bootstrap-YSY5JYBG.mjs +1 -0
  7. package/dist/chunks/{build-program-2H5HVRPR.mjs → build-program-DN4GMTCL.mjs} +1 -1
  8. package/dist/chunks/bus-MEXPAT3D.mjs +1 -0
  9. package/dist/chunks/{chunk-OI3BLNYR.mjs → chunk-3INOJAKC.mjs} +1 -1
  10. package/dist/chunks/{chunk-DPHR5M4T.mjs → chunk-ANA5RPJQ.mjs} +1 -1
  11. package/dist/chunks/{chunk-F6HODP64.mjs → chunk-B6I7MJE5.mjs} +1 -1
  12. package/dist/chunks/{chunk-HLW2EHPQ.mjs → chunk-DRWG7AVN.mjs} +1 -1
  13. package/dist/chunks/{chunk-BJ3DFGMC.mjs → chunk-HQE3WXCE.mjs} +1 -1
  14. package/dist/chunks/{chunk-OTJQZ7WY.mjs → chunk-IVLHWGNX.mjs} +7 -7
  15. package/dist/chunks/{chunk-JPLRWRX5.mjs → chunk-LQWOCD5V.mjs} +1 -1
  16. package/dist/chunks/chunk-SRFQPRTU.mjs +1050 -0
  17. package/dist/chunks/{chunk-352N6IPS.mjs → chunk-WQU6WFZO.mjs} +1 -1
  18. package/dist/chunks/{chunk-SGMMA2KV.mjs → chunk-YJG6NNVY.mjs} +1 -1
  19. package/dist/chunks/{chunk-KKGI52AW.mjs → chunk-ZV27OCHD.mjs} +1 -1
  20. package/dist/chunks/{command-M33DIHFA.mjs → command-TARCWEDT.mjs} +1 -1
  21. package/dist/chunks/compaction-2RGLDODF.mjs +1 -0
  22. package/dist/chunks/config-TCMIE43H.mjs +1 -0
  23. package/dist/chunks/{debug-C7S7OM6A.mjs → debug-IV6AE7PH.mjs} +3 -3
  24. package/dist/chunks/file-AOMTS73G.mjs +1 -0
  25. package/dist/chunks/gateway-SUNUN7H2.mjs +16 -0
  26. package/dist/chunks/{generate-QC7LMP4L.mjs → generate-CDWU5THL.mjs} +1 -1
  27. package/dist/chunks/{github-FO4EEXXO.mjs → github-4FJJXS4S.mjs} +2 -2
  28. package/dist/chunks/global-7MTUN7RF.mjs +1 -0
  29. package/dist/chunks/{import-YZ6DALJH.mjs → import-7URPIFDS.mjs} +1 -1
  30. package/dist/chunks/installation-RR72B5VK.mjs +1 -0
  31. package/dist/chunks/instance-JRUNVEOY.mjs +1 -0
  32. package/dist/chunks/loader-JM3F4QIB.mjs +1 -0
  33. package/dist/chunks/loader-UNE2FHGW.mjs +1 -0
  34. package/dist/chunks/lsp-BBUMLIWW.mjs +1 -0
  35. package/dist/chunks/{mcp-HYAPWABM.mjs → mcp-4N5YPRUC.mjs} +1 -1
  36. package/dist/chunks/mcp-6ZTBDPWC.mjs +1 -0
  37. package/dist/chunks/models-CJXQ73ZY.mjs +1 -0
  38. package/dist/chunks/{pr-HCRWGCWQ.mjs → pr-57GKW2NH.mjs} +1 -1
  39. package/dist/chunks/preferences-Y4LNARDF.mjs +1 -0
  40. package/dist/chunks/project-ZYIU2237.mjs +1 -0
  41. package/dist/chunks/prompt-GS6M2ZBC.mjs +1 -0
  42. package/dist/chunks/provider-O6YLQJVP.mjs +1 -0
  43. package/dist/chunks/registry-AMBTVLLZ.mjs +1 -0
  44. package/dist/chunks/revert-CRWOTK6M.mjs +1 -0
  45. package/dist/chunks/ripgrep-RAHKARMG.mjs +1 -0
  46. package/dist/chunks/{run-URKJ5DUT.mjs → run-SQ55OJGX.mjs} +2 -2
  47. package/dist/chunks/scheduler-TA5BQWMN.mjs +1 -0
  48. package/dist/chunks/server-6YDMGLVO.mjs +1 -0
  49. package/dist/chunks/session-5MTHIW6C.mjs +1 -0
  50. package/dist/chunks/session-DKFZNLKJ.mjs +1 -0
  51. package/dist/chunks/{session-MFCBHZIP.mjs → session-NGC7RO7S.mjs} +1 -1
  52. package/dist/chunks/share-JA7GTDRM.mjs +1 -0
  53. package/dist/chunks/snapshot-AAJ23W7N.mjs +1 -0
  54. package/dist/chunks/storage-L7PFYGAO.mjs +1 -0
  55. package/dist/chunks/tui-7JLDLNRO.mjs +1 -0
  56. package/dist/chunks/{tui-TT6OCQV4.mjs → tui-OM5OSJIB.mjs} +1 -1
  57. package/dist/chunks/types-SCQH7CCJ.mjs +1 -0
  58. package/dist/chunks/{update-VBHR764I.mjs → update-QUELQLCK.mjs} +1 -1
  59. package/dist/cli.mjs +2 -2
  60. package/package.json +13 -13
  61. package/dist/chunks/acp-AARVJTBA.mjs +0 -16
  62. package/dist/chunks/adapter-loader-CB3UW37H.mjs +0 -1
  63. package/dist/chunks/app-AGDSZJDM.mjs +0 -1
  64. package/dist/chunks/bootstrap-EDMSUWV2.mjs +0 -1
  65. package/dist/chunks/bus-YEQKNKMO.mjs +0 -1
  66. package/dist/chunks/chunk-QGDQQX6A.mjs +0 -1057
  67. package/dist/chunks/compaction-C7J7C53D.mjs +0 -1
  68. package/dist/chunks/config-4XNBHYBV.mjs +0 -1
  69. package/dist/chunks/file-7GFIUNTB.mjs +0 -1
  70. package/dist/chunks/gateway-GHZM2PJR.mjs +0 -16
  71. package/dist/chunks/global-SGSR543B.mjs +0 -1
  72. package/dist/chunks/installation-MSVVOKVK.mjs +0 -1
  73. package/dist/chunks/instance-7KTZRA5I.mjs +0 -1
  74. package/dist/chunks/loader-4M6NJ42J.mjs +0 -1
  75. package/dist/chunks/loader-Y2HF2YS3.mjs +0 -1
  76. package/dist/chunks/lsp-BBM7GYOR.mjs +0 -1
  77. package/dist/chunks/mcp-QADEQDMW.mjs +0 -1
  78. package/dist/chunks/models-STBKM4E7.mjs +0 -1
  79. package/dist/chunks/preferences-OIWBGPIP.mjs +0 -1
  80. package/dist/chunks/project-PGXZXAH4.mjs +0 -1
  81. package/dist/chunks/prompt-GCZ2IF3I.mjs +0 -1
  82. package/dist/chunks/provider-L2DUZROS.mjs +0 -1
  83. package/dist/chunks/registry-P52K6QCZ.mjs +0 -1
  84. package/dist/chunks/revert-RO5GTNSL.mjs +0 -1
  85. package/dist/chunks/ripgrep-TM67XB2T.mjs +0 -1
  86. package/dist/chunks/scheduler-336IG7TK.mjs +0 -1
  87. package/dist/chunks/server-AOQMZH73.mjs +0 -1
  88. package/dist/chunks/session-2GNR26CC.mjs +0 -1
  89. package/dist/chunks/session-MTKITUFM.mjs +0 -1
  90. package/dist/chunks/share-DNOEENLW.mjs +0 -1
  91. package/dist/chunks/snapshot-IQM4QQO6.mjs +0 -1
  92. package/dist/chunks/storage-6OI3SHPN.mjs +0 -1
  93. package/dist/chunks/tui-7R6TWIWS.mjs +0 -1
  94. package/dist/chunks/types-I46IFFJ2.mjs +0 -1
@@ -0,0 +1 @@
1
+ export{a as CustomEditor,h as createTuiApp,d as editorTheme,c as selectListTheme,b as theme}from'./chunk-IVLHWGNX.mjs';import'./chunk-CQVEAYYW.mjs';import'./chunk-SRFQPRTU.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-YJG6NNVY.mjs';import'./chunk-ANA5RPJQ.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-LQWOCD5V.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-3INOJAKC.mjs';import'./chunk-B6I7MJE5.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-HQE3WXCE.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-ZV27OCHD.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +1 @@
1
- import {a as a$3}from'./chunk-XPF2LJT2.mjs';import {a as a$1}from'./chunk-LAHYVX5K.mjs';import {a as a$4}from'./chunk-HLW2EHPQ.mjs';import {a as a$2,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-QGDQQX6A.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-SGMMA2KV.mjs';import'./chunk-DPHR5M4T.mjs';import'./chunk-JPLRWRX5.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-OI3BLNYR.mjs';import'./chunk-F6HODP64.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-BJ3DFGMC.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-KKGI52AW.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$4(e.directory,async()=>{await N(e);});}async function N(e){let{createTuiApp:c}=await import('./tui-7R6TWIWS.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(i("tui.command.description")).option("-m, --model <model>",i("tui.option.model")).option("-c, --continue",i("tui.option.continue")).option("-n, --new",i("tui.option.new")).option("-s, --session-id <id>",i("tui.option.session_id")).option("--agent <agent>",i("tui.option.agent",{vars:{agents:c.agentOptions}})).option("--prompt <prompt>",i("tui.option.prompt")).option("--fork",i("tui.option.fork")).option("--port <port>",i("tui.option.port"),parseInt).option("--hostname <hostname>",i("tui.option.hostname")).action(async n=>{o.debug("TUI command started",{hasOptions:!!n});try{console.log(g(i("tui.start.begin")));let t=c.config.directory;o.debug("Working directory resolved",{directory:t});let a=a$1(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(i("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(i("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(i("tui.validation.new_and_session_id_conflict"));if(e$1.fork){if(e$1.new)throw new Error(i("tui.validation.fork_cannot_use_with_new"));if(!e$1.continue&&!e$1.sessionId)throw new Error(i("tui.validation.fork_requires_session"))}if(e$1.agent&&!a$2(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(i("error.code",{vars:{code:e.code,message:e.message}}))),e.code){case "DIRECTORY_ERROR":console.error(e$1(i("error.directory.hint")));break;case "VALIDATION_ERROR":console.error(e$1(i("error.validation.hint")));break;case "PORT_ERROR":console.error(e$1(i("error.port.hint")));break;case "CONNECTION_ERROR":console.error(e$1(i("error.connection.hint")));break;case "INITIALIZATION_ERROR":console.error(e$1(i("error.initialization.hint")));break;case "RENDER_ERROR":console.error(e$1(i("error.render.hint")));break}e.cause&&console.error(e$1(i("error.original")),e.cause);}else e instanceof Error?(console.error(e$1(`${i("error.unknown")} ${e.message}`)),e.stack&&(console.error(e$1(i("error.stack"))),console.error(e.stack))):console.error(e$1(i("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$3.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
+ import {a as a$3}from'./chunk-XPF2LJT2.mjs';import {a as a$1}from'./chunk-LAHYVX5K.mjs';import {a as a$4}from'./chunk-DRWG7AVN.mjs';import {a as a$2,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-SRFQPRTU.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-YJG6NNVY.mjs';import'./chunk-ANA5RPJQ.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-LQWOCD5V.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-3INOJAKC.mjs';import'./chunk-B6I7MJE5.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-HQE3WXCE.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-ZV27OCHD.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$4(e.directory,async()=>{await N(e);});}async function N(e){let{createTuiApp:c}=await import('./tui-7JLDLNRO.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(i("tui.command.description")).option("-m, --model <model>",i("tui.option.model")).option("-c, --continue",i("tui.option.continue")).option("-n, --new",i("tui.option.new")).option("-s, --session-id <id>",i("tui.option.session_id")).option("--agent <agent>",i("tui.option.agent",{vars:{agents:c.agentOptions}})).option("--prompt <prompt>",i("tui.option.prompt")).option("--fork",i("tui.option.fork")).option("--port <port>",i("tui.option.port"),parseInt).option("--hostname <hostname>",i("tui.option.hostname")).action(async n=>{o.debug("TUI command started",{hasOptions:!!n});try{console.log(g(i("tui.start.begin")));let t=c.config.directory;o.debug("Working directory resolved",{directory:t});let a=a$1(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(i("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(i("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(i("tui.validation.new_and_session_id_conflict"));if(e$1.fork){if(e$1.new)throw new Error(i("tui.validation.fork_cannot_use_with_new"));if(!e$1.continue&&!e$1.sessionId)throw new Error(i("tui.validation.fork_requires_session"))}if(e$1.agent&&!a$2(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(i("error.code",{vars:{code:e.code,message:e.message}}))),e.code){case "DIRECTORY_ERROR":console.error(e$1(i("error.directory.hint")));break;case "VALIDATION_ERROR":console.error(e$1(i("error.validation.hint")));break;case "PORT_ERROR":console.error(e$1(i("error.port.hint")));break;case "CONNECTION_ERROR":console.error(e$1(i("error.connection.hint")));break;case "INITIALIZATION_ERROR":console.error(e$1(i("error.initialization.hint")));break;case "RENDER_ERROR":console.error(e$1(i("error.render.hint")));break}e.cause&&console.error(e$1(i("error.original")),e.cause);}else e instanceof Error?(console.error(e$1(`${i("error.unknown")} ${e.message}`)),e.stack&&(console.error(e$1(i("error.stack"))),console.error(e.stack))):console.error(e$1(i("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$3.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};
@@ -0,0 +1 @@
1
+ export{R as Acp,fb as Agent,_ as Codebase,db as Command,K as Compaction,fa as Context,lb as Info,gb as Keybinds,jb as Layout,_a as Mcp,Xa as McpLocal,Ya as McpOAuth,Za as McpRemote,$ as Memory,Wa as ModelId,aa as Note,cb as Permission,$a as PermissionAction,ab as PermissionObject,bb as PermissionRule,kb as Provider,ib as Server,eb as Skills,Sa as SubAgent,Ta as SubAgentConfigSchema,Ra as SubAgentModel,Pa as SubAgentRunMode,Qa as SubAgentTransportType,hb as TUI}from'./chunk-SRFQPRTU.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-YJG6NNVY.mjs';import'./chunk-ANA5RPJQ.mjs';export{a as Gateway}from'./chunk-ZBRXNYEM.mjs';import'./chunk-LQWOCD5V.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-3INOJAKC.mjs';import'./chunk-B6I7MJE5.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-HQE3WXCE.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-ZV27OCHD.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1,2 +1,2 @@
1
- import {a as a$1}from'./chunk-HLW2EHPQ.mjs';import {h,g,e,d}from'./chunk-M3K32WJV.mjs';import'./chunk-QGDQQX6A.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-SGMMA2KV.mjs';import'./chunk-DPHR5M4T.mjs';import'./chunk-JPLRWRX5.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-OI3BLNYR.mjs';import'./chunk-F6HODP64.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-BJ3DFGMC.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-KKGI52AW.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$1){t.command("update [target]").description(i("update.command.description")).option("--method <method>",i("update.option.method")).action(async(e$1,n)=>{m.debug("Update command started",{target:e$1,method:n.method});try{console.log(h(i("update.starting")));let{Global:s}=await import('./global-SGSR543B.mjs'),a=s.getVersion()||"unknown";console.log(g(i("update.current_version",{vars:{version:a}})));let o=e$1||"latest";o==="latest"&&(o=await f(),o==="latest"&&(console.error(e(i("update.latest_fetch_failed"))),process.exit(1))),console.log(g(i("update.target_version",{vars:{version:o}})));let p=o.replace(/^v/,"");Semver.isValid(p)||(console.error(e(i("update.invalid_version",{vars:{version:o}}))),process.exit(1));let v=Semver.compare(a,p);v===0&&(console.log(d(i("update.already_latest",{vars:{version:a}}))),process.exit(0)),v>0&&console.warn(g(i("update.downgrade_warning",{vars:{from:a,to:p}}))),console.log(g(i("update.downloading")));let l=await a$1(i$1.config.directory,()=>x(o,n.method));l.success?(console.log(d(i("update.success",{vars:{version:l.version||o}}))),process.exit(0)):(console.error(e(i("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(i("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"}
1
+ import {a as a$1}from'./chunk-DRWG7AVN.mjs';import {h,g,e,d}from'./chunk-M3K32WJV.mjs';import'./chunk-SRFQPRTU.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-YJG6NNVY.mjs';import'./chunk-ANA5RPJQ.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-LQWOCD5V.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-3INOJAKC.mjs';import'./chunk-B6I7MJE5.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-HQE3WXCE.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-ZV27OCHD.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$1){t.command("update [target]").description(i("update.command.description")).option("--method <method>",i("update.option.method")).action(async(e$1,n)=>{m.debug("Update command started",{target:e$1,method:n.method});try{console.log(h(i("update.starting")));let{Global:s}=await import('./global-7MTUN7RF.mjs'),a=s.getVersion()||"unknown";console.log(g(i("update.current_version",{vars:{version:a}})));let o=e$1||"latest";o==="latest"&&(o=await f(),o==="latest"&&(console.error(e(i("update.latest_fetch_failed"))),process.exit(1))),console.log(g(i("update.target_version",{vars:{version:o}})));let p=o.replace(/^v/,"");Semver.isValid(p)||(console.error(e(i("update.invalid_version",{vars:{version:o}}))),process.exit(1));let v=Semver.compare(a,p);v===0&&(console.log(d(i("update.already_latest",{vars:{version:a}}))),process.exit(0)),v>0&&console.warn(g(i("update.downgrade_warning",{vars:{from:a,to:p}}))),console.log(g(i("update.downloading")));let l=await a$1(i$1.config.directory,()=>x(o,n.method));l.success?(console.log(d(i("update.success",{vars:{version:l.version||o}}))),process.exit(0)):(console.error(e(i("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(i("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.debug(`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
2
  export{H as registerUpdateCommand};
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import {e,h}from'./chunks/chunk-M3K32WJV.mjs';import {a}from'./chunks/chunk-LFYBZHOI.mjs';import'./chunks/chunk-X6ISXWBN.mjs';process.noDeprecation=true;async function b(){let{loadEnv:o}=await import('@easbot/utils');o();let{Global:t}=await import('./chunks/global-SGSR543B.mjs');await t.init();let r=y(),h$1=()=>r.log_level?r.log_level:E.isLocal()?"DEBUG":"INFO";await a.init({logDir:t.Path.log,print:r.print_logs??false,dev:r.debug??false,level:h$1()});let w=a.create({service:"cli"}),{t:g}=await import('./chunks/i18n-OMQXNLBR.mjs'),{bootstrapProgram:m}=await import('./chunks/bootstrap-EDMSUWV2.mjs'),{Installation:E}=await import('./chunks/installation-MSVVOKVK.mjs'),{isTuiMode:d}=await import('./chunks/is-tui-mode-TFK352KK.mjs');await t.init();let f=process.argv.includes("acp")||process.argv.includes("serve")||process.argv.includes("gateway"),p;try{p=(await import('./chunks/app-AGDSZJDM.mjs')).getGlobalErrorHandler;}catch{}process.on("unhandledRejection",e=>{let c=d(),i=p?.(),a=e instanceof Error?e.message:String(e),n=e instanceof Error?e.stack:"";if(c){if(i){i(e,"unhandledRejection");return}try{process.stderr.write(`[TUI unhandledRejection] ${a}
2
+ import {e,h}from'./chunks/chunk-M3K32WJV.mjs';import {a}from'./chunks/chunk-LFYBZHOI.mjs';import'./chunks/chunk-X6ISXWBN.mjs';process.noDeprecation=true;async function b(){let{loadEnv:o}=await import('@easbot/utils');o();let{Global:t}=await import('./chunks/global-7MTUN7RF.mjs');await t.init();let r=y(),h$1=()=>r.log_level?r.log_level:E.isLocal()?"DEBUG":"INFO";await a.init({logDir:t.Path.log,print:r.print_logs??false,dev:r.debug??false,level:h$1()});let w=a.create({service:"cli"}),{t:g}=await import('./chunks/i18n-OMQXNLBR.mjs'),{bootstrapProgram:m}=await import('./chunks/bootstrap-YSY5JYBG.mjs'),{Installation:E}=await import('./chunks/installation-RR72B5VK.mjs'),{isTuiMode:d}=await import('./chunks/is-tui-mode-TFK352KK.mjs');await t.init();let f=process.argv.includes("acp")||process.argv.includes("serve")||process.argv.includes("gateway"),p;try{p=(await import('./chunks/app-267XBNKU.mjs')).getGlobalErrorHandler;}catch{}process.on("unhandledRejection",e=>{let c=d(),i=p?.(),a=e instanceof Error?e.message:String(e),n=e instanceof Error?e.stack:"";if(c){if(i){i(e,"unhandledRejection");return}try{process.stderr.write(`[TUI unhandledRejection] ${a}
3
3
  `),n&&process.stderr.write(`${n}
4
4
  `);}catch{}return}try{process.stderr.write(`[unhandledRejection] ${a}
5
5
  `),n&&process.stderr.write(`${n}
@@ -7,4 +7,4 @@ import {e,h}from'./chunks/chunk-M3K32WJV.mjs';import {a}from'./chunks/chunk-LFYB
7
7
  `),n&&process.stderr.write(`${n}
8
8
  `);}catch{}return}try{process.stderr.write(`[uncaughtException] ${a}
9
9
  `),n&&process.stderr.write(`${n}
10
- `);}catch{}f||process.exit(1);});try{let{initModelsRefresh:e}=await import('./chunks/models-STBKM4E7.mjs');e(),await(await m(r)).parseAsync(process.argv);}catch(e$1){w.error("CLI failed to execute",{error:e$1});let c=e$1 instanceof Error?e$1.message:String(e$1),i=e$1 instanceof Error?e$1.stack:"";console.error(e(g("cli.error.execution_failed"))),c&&console.error(h(g("cli.error.detail"))),i&&console.error(i),process.exit(1);}finally{await a.close();}}function y(){let s={directory:process.cwd(),print_logs:false,log_level:"INFO",debug:false};for(let o=0;o<process.argv.length;o++){let t=process.argv[o];if(t)if(t==="--cwd"&&o+1<process.argv.length){let r=process.argv[o+1];r&&!r.startsWith("-")&&(s.directory=r,o++);}else if(t.startsWith("--cwd="))s.directory=t.slice(6);else if(t==="--config"&&o+1<process.argv.length){let r=process.argv[o+1];r&&!r.startsWith("-")&&(s.config_path=r,o++);}else if(t.startsWith("--config="))s.config_path=t.slice(9);else if(t==="--print-logs")s.print_logs=true;else if(t==="--log-level"&&o+1<process.argv.length){let r=process.argv[o+1];r&&!r.startsWith("-")&&(s.log_level=r.toUpperCase(),o++);}else t.startsWith("--log-level=")?s.log_level=t.slice(12).toUpperCase():t==="--debug"&&(s.debug=true);}return s}b();
10
+ `);}catch{}f||process.exit(1);});try{let{initModelsRefresh:e}=await import('./chunks/models-CJXQ73ZY.mjs');e(),await(await m(r)).parseAsync(process.argv);}catch(e$1){w.error("CLI failed to execute",{error:e$1});let c=e$1 instanceof Error?e$1.message:String(e$1),i=e$1 instanceof Error?e$1.stack:"";console.error(e(g("cli.error.execution_failed"))),c&&console.error(h(g("cli.error.detail"))),i&&console.error(i),process.exit(1);}finally{await a.close();}}function y(){let s={directory:process.cwd(),print_logs:false,log_level:"INFO",debug:false};for(let o=0;o<process.argv.length;o++){let t=process.argv[o];if(t)if(t==="--cwd"&&o+1<process.argv.length){let r=process.argv[o+1];r&&!r.startsWith("-")&&(s.directory=r,o++);}else if(t.startsWith("--cwd="))s.directory=t.slice(6);else if(t==="--config"&&o+1<process.argv.length){let r=process.argv[o+1];r&&!r.startsWith("-")&&(s.config_path=r,o++);}else if(t.startsWith("--config="))s.config_path=t.slice(9);else if(t==="--print-logs")s.print_logs=true;else if(t==="--log-level"&&o+1<process.argv.length){let r=process.argv[o+1];r&&!r.startsWith("-")&&(s.log_level=r.toUpperCase(),o++);}else t.startsWith("--log-level=")?s.log_level=t.slice(12).toUpperCase():t==="--debug"&&(s.debug=true);}return s}b();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easbot/agent",
3
- "version": "0.2.34",
3
+ "version": "0.2.36",
4
4
  "description": "Core Agent for the easbot monorepo ecosystem",
5
5
  "type": "module",
6
6
  "bin": {
@@ -112,18 +112,18 @@
112
112
  "xdg-basedir": "5.1.0",
113
113
  "zod": "^4.4.3",
114
114
  "zod-to-json-schema": "^3.25.2",
115
- "@easbot/codebase": "0.2.34",
116
- "@easbot/gateway": "0.2.34",
117
- "@easbot/local-model-sdk": "0.2.34",
118
- "@easbot/mcp": "0.2.34",
119
- "@easbot/memory": "0.2.34",
120
- "@easbot/note": "0.2.34",
121
- "@easbot/sdk": "0.2.34",
122
- "@easbot/ollama-sdk": "0.2.34",
123
- "@easbot/plugin": "0.2.34",
124
- "@easbot/types": "0.2.34",
125
- "@easbot/tui": "0.2.34",
126
- "@easbot/utils": "0.2.34"
115
+ "@easbot/codebase": "0.2.36",
116
+ "@easbot/gateway": "0.2.36",
117
+ "@easbot/local-model-sdk": "0.2.36",
118
+ "@easbot/memory": "0.2.36",
119
+ "@easbot/plugin": "0.2.36",
120
+ "@easbot/note": "0.2.36",
121
+ "@easbot/mcp": "0.2.36",
122
+ "@easbot/tui": "0.2.36",
123
+ "@easbot/ollama-sdk": "0.2.36",
124
+ "@easbot/sdk": "0.2.36",
125
+ "@easbot/types": "0.2.36",
126
+ "@easbot/utils": "0.2.36"
127
127
  },
128
128
  "devDependencies": {
129
129
  "@actions/core": "^3.0.1",
@@ -1,16 +0,0 @@
1
- import {a as a$1}from'./chunk-LAHYVX5K.mjs';import {a as a$2}from'./chunk-HLW2EHPQ.mjs';import'./chunk-VII7JKGB.mjs';import {g,e,d,k,i as i$1,b,h,c,a as a$3}from'./chunk-M3K32WJV.mjs';import {ob,da,wa,Na}from'./chunk-QGDQQX6A.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-SGMMA2KV.mjs';import'./chunk-DPHR5M4T.mjs';import'./chunk-JPLRWRX5.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-OI3BLNYR.mjs';import'./chunk-F6HODP64.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-BJ3DFGMC.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-KKGI52AW.mjs';import'./chunk-X6ISXWBN.mjs';import'commander';import {z as z$1}from'zod';import U from'path';import {getProxyConfig}from'@easbot/utils';z$1.object({agentId:z$1.string(),agentType:z$1.string(),directory:z$1.string(),timestamp:z$1.number()});z$1.object({agentId:z$1.string(),reason:z$1.enum(["normal","error","timeout"]),timestamp:z$1.number()});z$1.object({agentId:z$1.string(),status:z$1.enum(["idle","busy","error"]),timestamp:z$1.number()});z$1.object({agentId:z$1.string(),error:z$1.string(),context:z$1.record(z$1.string(),z$1.any()).optional(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string(),update:z$1.record(z$1.string(),z$1.any()),timestamp:z$1.number()});z$1.object({requestId:z$1.string(),sessionId:z$1.string(),permission:z$1.string(),tool:z$1.object({callID:z$1.string().optional()}).optional(),metadata:z$1.record(z$1.string(),z$1.any()).optional(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string(),inputTokens:z$1.number(),outputTokens:z$1.number(),totalTokens:z$1.number(),model:z$1.string(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string(),messageId:z$1.string(),messageType:z$1.enum(["text","tool_call","tool_result","system"]),content:z$1.any(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string(),messageId:z$1.string(),messageType:z$1.enum(["text","tool_call","tool_result","system"]),response:z$1.any(),duration:z$1.number(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string(),messageId:z$1.string(),toolName:z$1.string(),input:z$1.record(z$1.string(),z$1.any()),output:z$1.any().optional(),status:z$1.enum(["started","completed","failed"]),error:z$1.string().optional(),duration:z$1.number().optional(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string().optional(),errorType:z$1.enum(["connection","timeout","validation","runtime","unknown"]),code:z$1.string().optional(),message:z$1.string(),stack:z$1.string().optional(),context:z$1.record(z$1.string(),z$1.any()).optional(),timestamp:z$1.number()});z$1.object({sessionId:z$1.string(),previousState:z$1.enum(["idle","active","paused","terminated"]),newState:z$1.enum(["idle","active","paused","terminated"]),reason:z$1.string().optional(),timestamp:z$1.number()});a.create({service:"event-subscription-flow"});var r=a.create({service:"cli-command-acp"});async function B(c,t){let o=await ob.getACPServerConfig();r.debug("Merging ACP configuration",{baseConfig:{channel:o.channel,port:o.port,hostname:o.hostname,timeout:o.timeout},cliOptions:{channel:t.channel,port:t.port,hostname:t.hostname,timeout:t.timeout}});let s={};if(t.channel!==void 0){let l=t.channel.toLowerCase();Object.values(da).includes(l)?(s.channel=l,r.debug("CLI override: channel",{value:s.channel})):r.warn("Invalid channel type from command line",{value:t.channel});}if(t.port!==void 0&&(t.port>0&&t.port<=65535?(s.port=t.port,r.debug("CLI override: port",{value:s.port})):r.warn("Invalid port from command line",{value:t.port})),t.hostname!==void 0&&(s.hostname=t.hostname,r.debug("CLI override: hostname",{value:s.hostname})),t.timeout!==void 0&&(t.timeout>0?(s.timeout=t.timeout,r.debug("CLI override: timeout",{value:s.timeout})):r.warn("Invalid timeout from command line",{value:t.timeout})),t.hostname!==void 0||t.port!==void 0){let l=t.hostname??o.hostname??"127.0.0.1",a=t.port??o.port??3e3;o.ws&&(s.ws={...o.ws,url:`ws://${l}:${a}`}),o.http&&(s.http={...o.http,baseUrl:`http://${l}:${a}`}),r.debug("CLI override: ws.url and http.baseUrl updated",{hostname:t.hostname,port:t.port,wsUrl:s.ws?.url,httpBaseUrl:s.http?.baseUrl});}t.timeout!==void 0&&(s.ws||s.http)&&(s.ws&&(s.ws.timeout=t.timeout),s.http&&(s.http.timeout=t.timeout),r.debug("CLI override: ws.timeout and http.timeout updated",{timeout:t.timeout}));let p={...o,...s};return r.debug("Merged ACP configuration",{channel:p.channel,port:p.port,hostname:p.hostname,timeout:p.timeout}),p}async function D(c$1,t,o){r.info("Starting ACP service",{channel:t.channel,port:t.port,hostname:t.hostname,debug:o.config.debug}),await wa.init({directory:c$1,printLogs:o.config.print_logs,logLevel:o.config.log_level,channel:t.channel});await wa.ensureACPService(t);console.log(""),console.log(d(i("acp.server.started"))),console.log(k(60)),console.log(i$1(i("acp.field.directory"),c$1,15)),console.log(i$1(i("acp.field.worktree"),Na.project.worktree||"N/A",15)),console.log(i$1(i("acp.field.channel"),t.channel,15));let p=b();switch(t.channel){case "websocket":{let a,d="/";if(t.ws?.url)try{let u=new URL(t.ws.url),m=u.port||"3000",$=u.hostname;d=u.pathname||"/",a=`ws://${$}:${m}${d==="/"?"":d}`;}catch{a=t.ws.url;}else a=`ws://${t.hostname}:${t.port}`;console.log(i$1(i("acp.field.ws_url"),a,15)),console.log(i$1(i("acp.field.ws_path"),d,15)),t.ws?(console.log(h(i("acp.websocket.config"))),console.log(i$1(i("acp.field.timeout"),`${t.ws.timeout??t.timeout}ms`,15)),console.log(i$1(i("acp.field.batch_size"),`${t.ws.batchSize??10}`,15)),console.log(i$1(i("acp.field.batch_interval"),`${t.ws.batchInterval??50}ms`,15)),console.log(i$1(i("acp.field.heartbeat"),`${t.ws.heartbeatInterval??3e4}ms`,15))):console.log(i$1(i("acp.field.timeout"),`${t.timeout}ms`,15));break}case "http":t.http?.baseUrl?console.log(i$1(i("acp.field.base_url"),t.http.baseUrl,15)):console.log(i$1(i("acp.field.host"),`${t.hostname}:${t.port}`,15)),t.http?.timeout?console.log(i$1(i("acp.field.timeout"),`${t.http.timeout}ms`,15)):console.log(i$1(i("acp.field.timeout"),`${t.timeout}ms`,15));break;case "stdio":console.log(i$1(i("acp.field.mode"),i("acp.mode.stdio"),15)),console.log(i$1(i("acp.field.protocol"),i("acp.protocol"),15)),console.log(i$1(i("acp.field.timeout"),`${t.timeout}ms`,15));break;default:console.log(i$1(i("acp.field.host"),`${t.hostname}:${t.port}`,15)),console.log(i$1(i("acp.field.timeout"),`${t.timeout}ms`,15));}console.log(i$1(i("acp.field.debug"),o.config.debug?c(p,a$3.success,i("common.enabled")):c(p,a$3.muted,i("common.disabled")),15));let l=getProxyConfig();if(l.enabled){let a=l.https||l.http||"configured";console.log(i$1(i("acp.field.proxy"),a,15));}console.log(k(60)),console.log(""),r.info("ACPServer started successfully"),z();}function z(){let c=process.env.EASBOT_RUN_MODE==="ephemeral"||!process.stdin.isTTY&&process.env.EASBOT_RUN_MODE!=="persistent",t=async o=>{r.debug(`Received ${o}, shutting down...`),c||console.log(`
2
- ${i("acp.shutdown.received",{vars:{signal:o}})}`);try{await wa.destroy(),r.debug("EasbotAdapter state destroyed"),c||console.log(d(i("acp.shutdown.completed")));}catch(s){r.error("Error during shutdown",{error:s instanceof Error?s.message:String(s)});}c?process.kill(process.pid,"SIGKILL"):process.exit(0);};process.on("SIGINT",()=>{t("SIGINT").catch(console.error);}),process.on("SIGTERM",()=>{t("SIGTERM").catch(console.error);}),process.stdout.on("error",o=>{(o.code==="EPIPE"||o.code==="EIO")&&(r.info("stdout pipe broken, exiting"),t("stdout-broken").catch(()=>{c?process.kill(process.pid,"SIGKILL"):process.exit(0);}));});}async function O(c,t,o){r.debug("ACP command executed",{options:t});let s=o?.config?.debug??false,p=o?.config?.print_logs??false,l=o?.config?.log_level??"INFO";r.debug("Global options from context",{debug:o?.config?.debug,print_logs:o?.config?.print_logs,log_level:o?.config?.log_level,isDebug:s,printLogs:p,logLevel:l});try{let a=o.config.directory?U.resolve(o.config.directory):process.cwd();r.debug("Working directory resolved",{directory:a});let d=a$1(a);if(!d.valid)throw r.error("Working directory validation failed",{directory:a,error:d.error}),new Error(`Invalid working directory: ${d.error}`);let u=d.normalizedPath;r.debug("Working directory validated",{validatedDirectory:u}),console.log(g(i("acp.directory.resolved",{vars:{cwd:u}}))),await a$2(u,async()=>{let m=await B(u,t);if(r.debug("ACP server configuration",{channel:m.channel,port:m.port,hostname:m.hostname,timeout:m.timeout,enabled:m.enabled}),!m.enabled){r.warn("ACP server is disabled by configuration"),console.log(g(i("acp.disabled")));return}await D(u,m,o),r.info("ACP server started successfully");});}catch(a){r.error("Failed to start ACP server",{error:a instanceof Error?a.message:String(a)}),console.error(e(i("acp.error.start_failed",{vars:{error:a instanceof Error?a.message:String(a)}}))),process.exit(1);}}function We(c,t){let o=c.command("acp").description(i("acp.command.description")).addHelpText("after",`
3
-
4
- ${i("acp.help.examples")}
5
- $ agent acp # ${i("acp.help.example.default")}
6
- $ agent acp --channel http # ${i("acp.help.example.http")}
7
- $ agent acp --port 8080 # ${i("acp.help.example.port")}
8
- $ agent acp --hostname 0.0.0.0 # ${i("acp.help.example.hostname")}
9
- $ agent acp --channel ws --debug # ${i("acp.help.example.debug")}
10
-
11
- ${i("acp.help.env")}
12
- ACP_CHANNEL ${i("acp.help.env.channel")}
13
- ACP_PORT ${i("acp.help.env.port")}
14
- ACP_HOSTNAME ${i("acp.help.env.hostname")}
15
- ACP_TIMEOUT ${i("acp.help.env.timeout")}
16
- ACP_ENABLED ${i("acp.help.env.enabled")}`);o.option("-c, --channel <type>",i("acp.option.channel")).option("-p, --port <number>",i("acp.option.port"),s=>parseInt(s,10)).option("-H, --hostname <address>",i("acp.option.hostname")).option("-t, --timeout <milliseconds>",i("acp.option.timeout"),s=>parseInt(s,10)),o.command("*",{isDefault:true}).action(async()=>{let s=o.opts();await O(o,s,t);});}export{We as registerAcpCommand};
@@ -1 +0,0 @@
1
- export{ha as getACPClientsConfig,ga as getACPServerConfig,ka as getAcpAgentName,ia as getAcpAgentRuntimeConfig,ja as getAcpModelConfig,fa as loadACPConfig}from'./chunk-QGDQQX6A.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-SGMMA2KV.mjs';import'./chunk-DPHR5M4T.mjs';import'./chunk-JPLRWRX5.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-OI3BLNYR.mjs';import'./chunk-F6HODP64.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-BJ3DFGMC.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-KKGI52AW.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{h as createTuiApp,g as getGlobalErrorHandler,e as registerGlobalErrorHandler,f as unregisterGlobalErrorHandler}from'./chunk-OTJQZ7WY.mjs';import'./chunk-CQVEAYYW.mjs';import'./chunk-QGDQQX6A.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-SGMMA2KV.mjs';import'./chunk-DPHR5M4T.mjs';import'./chunk-JPLRWRX5.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-OI3BLNYR.mjs';import'./chunk-F6HODP64.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-BJ3DFGMC.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-KKGI52AW.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{a as bootstrap,b as bootstrapProgram}from'./chunk-HLW2EHPQ.mjs';import'./chunk-QGDQQX6A.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-SGMMA2KV.mjs';import'./chunk-DPHR5M4T.mjs';import'./chunk-JPLRWRX5.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-OI3BLNYR.mjs';import'./chunk-F6HODP64.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-BJ3DFGMC.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-KKGI52AW.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +0,0 @@
1
- export{a as Bus}from'./chunk-QGDQQX6A.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-SGMMA2KV.mjs';import'./chunk-DPHR5M4T.mjs';import'./chunk-JPLRWRX5.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-OI3BLNYR.mjs';import'./chunk-F6HODP64.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-BJ3DFGMC.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-KKGI52AW.mjs';import'./chunk-X6ISXWBN.mjs';