@easbot/agent 0.2.36 → 0.2.40

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 (99) hide show
  1. package/dist/chunks/acp-SMAI7EJF.mjs +22 -0
  2. package/dist/chunks/adapter-loader-X3GZRT3I.mjs +1 -0
  3. package/dist/chunks/agent-BS6BU766.mjs +1 -0
  4. package/dist/chunks/{agent-42R2LKEK.mjs → agent-SXVN3QRB.mjs} +1 -1
  5. package/dist/chunks/app-4GCI3HZT.mjs +1 -0
  6. package/dist/chunks/{auth-3CQMCCCN.mjs → auth-SUHJJM24.mjs} +1 -1
  7. package/dist/chunks/bootstrap-SVDRDCAU.mjs +1 -0
  8. package/dist/chunks/{build-program-DN4GMTCL.mjs → build-program-U2HDARWA.mjs} +1 -1
  9. package/dist/chunks/bus-SGXNL3LP.mjs +1 -0
  10. package/dist/chunks/{chunk-DRWG7AVN.mjs → chunk-3Q4UCILK.mjs} +1 -1
  11. package/dist/chunks/{chunk-DEZT7DOH.mjs → chunk-CCRIJZBK.mjs} +1 -1
  12. package/dist/chunks/{chunk-ZV27OCHD.mjs → chunk-DJYON7M6.mjs} +2 -2
  13. package/dist/chunks/{chunk-LQWOCD5V.mjs → chunk-H45MZAM6.mjs} +1 -1
  14. package/dist/chunks/{chunk-WQU6WFZO.mjs → chunk-IXO5FAWI.mjs} +1 -1
  15. package/dist/chunks/chunk-JII5HRIF.mjs +2 -0
  16. package/dist/chunks/{chunk-B6I7MJE5.mjs → chunk-O2JOXYKG.mjs} +1 -1
  17. package/dist/chunks/{chunk-IVLHWGNX.mjs → chunk-VLDQ4LGX.mjs} +15 -15
  18. package/dist/chunks/{chunk-YJG6NNVY.mjs → chunk-XQXI2ZHB.mjs} +1 -1
  19. package/dist/chunks/{chunk-SRFQPRTU.mjs → chunk-YGFGAD5H.mjs} +242 -242
  20. package/dist/chunks/{chunk-ANA5RPJQ.mjs → chunk-ZFGVQIO5.mjs} +1 -1
  21. package/dist/chunks/{chunk-3INOJAKC.mjs → chunk-ZG2HQDXQ.mjs} +1 -1
  22. package/dist/chunks/{command-TARCWEDT.mjs → command-B7POR3LZ.mjs} +1 -1
  23. package/dist/chunks/compaction-4CV7NS2Z.mjs +1 -0
  24. package/dist/chunks/{config-TCMIE43H.mjs → config-JY4V5KGI.mjs} +1 -1
  25. package/dist/chunks/{debug-IV6AE7PH.mjs → debug-LXNXB4VY.mjs} +3 -3
  26. package/dist/chunks/event-NO7SFKKX.mjs +1 -0
  27. package/dist/chunks/{export-PNCMUMDM.mjs → export-4CIOZYMY.mjs} +1 -1
  28. package/dist/chunks/file-Q7BJ3BEC.mjs +1 -0
  29. package/dist/chunks/gateway-HTBKKYKV.mjs +16 -0
  30. package/dist/chunks/{generate-CDWU5THL.mjs → generate-JBIFOTPV.mjs} +1 -1
  31. package/dist/chunks/{github-4FJJXS4S.mjs → github-XXJJ62IF.mjs} +1 -1
  32. package/dist/chunks/global-FDT3NNWD.mjs +1 -0
  33. package/dist/chunks/{import-7URPIFDS.mjs → import-37R7O4NM.mjs} +1 -1
  34. package/dist/chunks/installation-WZEFRTPQ.mjs +1 -0
  35. package/dist/chunks/instance-AK3F7UK2.mjs +1 -0
  36. package/dist/chunks/loader-2FMNUQDJ.mjs +1 -0
  37. package/dist/chunks/loader-JWZHDUVM.mjs +1 -0
  38. package/dist/chunks/lsp-N672BWEP.mjs +1 -0
  39. package/dist/chunks/mcp-JIUYQ7QS.mjs +1 -0
  40. package/dist/chunks/{mcp-4N5YPRUC.mjs → mcp-X4FA7X53.mjs} +1 -1
  41. package/dist/chunks/models-OEA6XF6K.mjs +1 -0
  42. package/dist/chunks/{pr-57GKW2NH.mjs → pr-WCMJT7VY.mjs} +1 -1
  43. package/dist/chunks/preferences-EUHOPNM3.mjs +1 -0
  44. package/dist/chunks/project-WTLNG2LH.mjs +1 -0
  45. package/dist/chunks/prompt-6OETS3YU.mjs +1 -0
  46. package/dist/chunks/provider-DC7XQTFP.mjs +1 -0
  47. package/dist/chunks/registry-ZXV6XNKB.mjs +1 -0
  48. package/dist/chunks/revert-PEILY52K.mjs +1 -0
  49. package/dist/chunks/ripgrep-4XTDDATX.mjs +1 -0
  50. package/dist/chunks/{run-SQ55OJGX.mjs → run-PN7YADL6.mjs} +5 -5
  51. package/dist/chunks/scheduler-2U6D3A47.mjs +1 -0
  52. package/dist/chunks/server-23WY43I2.mjs +1 -0
  53. package/dist/chunks/session-2ZGF74EQ.mjs +1 -0
  54. package/dist/chunks/session-CQ3VGE4U.mjs +1 -0
  55. package/dist/chunks/{session-NGC7RO7S.mjs → session-FVNB4WZV.mjs} +1 -1
  56. package/dist/chunks/share-V2US2NJE.mjs +1 -0
  57. package/dist/chunks/snapshot-3CGXXTES.mjs +1 -0
  58. package/dist/chunks/{stats-QSNMP7FP.mjs → stats-RPGHGZUR.mjs} +1 -1
  59. package/dist/chunks/storage-GQ3NTV5N.mjs +1 -0
  60. package/dist/chunks/{tui-OM5OSJIB.mjs → tui-ABXWVS6I.mjs} +1 -1
  61. package/dist/chunks/tui-Y47JRG6G.mjs +1 -0
  62. package/dist/chunks/{types-SCQH7CCJ.mjs → types-BFRURHUE.mjs} +1 -1
  63. package/dist/chunks/{update-QUELQLCK.mjs → update-SO2ZPDG3.mjs} +1 -1
  64. package/dist/cli.mjs +2 -2
  65. package/package.json +13 -13
  66. package/dist/chunks/acp-YNV6DSAY.mjs +0 -22
  67. package/dist/chunks/adapter-loader-ZVGLTKEK.mjs +0 -1
  68. package/dist/chunks/agent-CBNCT4JD.mjs +0 -1
  69. package/dist/chunks/app-267XBNKU.mjs +0 -1
  70. package/dist/chunks/bootstrap-YSY5JYBG.mjs +0 -1
  71. package/dist/chunks/bus-MEXPAT3D.mjs +0 -1
  72. package/dist/chunks/chunk-HQE3WXCE.mjs +0 -2
  73. package/dist/chunks/compaction-2RGLDODF.mjs +0 -1
  74. package/dist/chunks/event-A4SSIBOT.mjs +0 -1
  75. package/dist/chunks/file-AOMTS73G.mjs +0 -1
  76. package/dist/chunks/gateway-SUNUN7H2.mjs +0 -16
  77. package/dist/chunks/global-7MTUN7RF.mjs +0 -1
  78. package/dist/chunks/installation-RR72B5VK.mjs +0 -1
  79. package/dist/chunks/instance-JRUNVEOY.mjs +0 -1
  80. package/dist/chunks/loader-JM3F4QIB.mjs +0 -1
  81. package/dist/chunks/loader-UNE2FHGW.mjs +0 -1
  82. package/dist/chunks/lsp-BBUMLIWW.mjs +0 -1
  83. package/dist/chunks/mcp-6ZTBDPWC.mjs +0 -1
  84. package/dist/chunks/models-CJXQ73ZY.mjs +0 -1
  85. package/dist/chunks/preferences-Y4LNARDF.mjs +0 -1
  86. package/dist/chunks/project-ZYIU2237.mjs +0 -1
  87. package/dist/chunks/prompt-GS6M2ZBC.mjs +0 -1
  88. package/dist/chunks/provider-O6YLQJVP.mjs +0 -1
  89. package/dist/chunks/registry-AMBTVLLZ.mjs +0 -1
  90. package/dist/chunks/revert-CRWOTK6M.mjs +0 -1
  91. package/dist/chunks/ripgrep-RAHKARMG.mjs +0 -1
  92. package/dist/chunks/scheduler-TA5BQWMN.mjs +0 -1
  93. package/dist/chunks/server-6YDMGLVO.mjs +0 -1
  94. package/dist/chunks/session-5MTHIW6C.mjs +0 -1
  95. package/dist/chunks/session-DKFZNLKJ.mjs +0 -1
  96. package/dist/chunks/share-JA7GTDRM.mjs +0 -1
  97. package/dist/chunks/snapshot-AAJ23W7N.mjs +0 -1
  98. package/dist/chunks/storage-L7PFYGAO.mjs +0 -1
  99. package/dist/chunks/tui-7JLDLNRO.mjs +0 -1
@@ -1 +1 @@
1
- import {formatLocalISOCompact}from'@easbot/utils';import {CommandMetadataSchema}from'@easbot/plugin';export{CommandMetadataSchema as a}from'@easbot/plugin';async function h(n){let{ConfigMarkdown:t}=await import('./markdown-Z6UXVBNP.mjs'),e=await t.parse(n);return {metadata:CommandMetadataSchema.parse(e.data),content:e.content}}function x(n,t,e="command"){return {name:n.name,description:n.description,agent:n.agent,model:n.model,source:e,scope:n.scope,commandType:n.commandType??"prompt",hints:n.hints??[],hidden:n.hidden??false,execute:async(o,i)=>{let m=w(t,o);return {title:n.name,metadata:{sessionID:i.sessionID},output:m,success:true,parts:[{type:"text",text:m}]}}}}async function D(n,t="command"){let{glob:e}=await import('glob'),{Filesystem:o}=await import('@easbot/utils');if(!await o.isDir(n))return [];let i=await e("*.md",{cwd:n,absolute:true,nodir:true,follow:false,dot:false}),m=[];for(let r of i){let{ConfigMarkdown:d}=await import('./markdown-Z6UXVBNP.mjs'),{Bus:u}=await import('./bus-MEXPAT3D.mjs'),{Session:p}=await import('./session-5MTHIW6C.mjs'),{NamedError:C}=await import('@easbot/utils');await d.parse(r).then(a=>{let s=CommandMetadataSchema.parse(a.data),f=x(s,a.content,t);m.push(f);}).catch(a=>{let s=a instanceof Error?a.message:`Failed to load command ${r}`;u.publish(p.Event.Error,{error:new C.Unknown({message:s}).toObject()});});}return m}function g(n){return n instanceof Date?formatLocalISOCompact(n):Array.isArray(n)||n!==null&&typeof n=="object"&&n.constructor===Object?JSON.stringify(n,null,2):String(n)}function w(n,t){return typeof t=="string"?n.replace(/\{\{ARGUMENTS\}\}/gi,t):n.replace(/\{\{(\w+)\}\}/gi,(e,o)=>{let i=o.toUpperCase();if(i==="ARGUMENTS")return JSON.stringify(t);let m=t[o]??t[i];return m===void 0?`{{${o}}}`:g(m)})}function I(n,t){let{init:e,isEnabled:o,...i}=t;return {...i,name:n,isEnabled:o,init:e?async m=>({isEnabled:(await e(m)).isEnabled??(typeof o=="function"?await o():o)}):void 0}}export{h as b,x as c,D as d,w as e,I as f};
1
+ import {formatLocalISOCompact}from'@easbot/utils';import {CommandMetadataSchema}from'@easbot/plugin';export{CommandMetadataSchema as a}from'@easbot/plugin';async function h(n){let{ConfigMarkdown:t}=await import('./markdown-Z6UXVBNP.mjs'),e=await t.parse(n);return {metadata:CommandMetadataSchema.parse(e.data),content:e.content}}function x(n,t,e="command"){return {name:n.name,description:n.description,agent:n.agent,model:n.model,source:e,scope:n.scope,commandType:n.commandType??"prompt",hints:n.hints??[],hidden:n.hidden??false,execute:async(o,i)=>{let m=w(t,o);return {title:n.name,metadata:{sessionId:i.sessionId},output:m,success:true,parts:[{type:"text",text:m}]}}}}async function I(n,t="command"){let{glob:e}=await import('glob'),{Filesystem:o}=await import('@easbot/utils');if(!await o.isDir(n))return [];let i=await e("*.md",{cwd:n,absolute:true,nodir:true,follow:false,dot:false}),m=[];for(let r of i){let{ConfigMarkdown:d}=await import('./markdown-Z6UXVBNP.mjs'),{Bus:u}=await import('./bus-SGXNL3LP.mjs'),{Session:p}=await import('./session-2ZGF74EQ.mjs'),{NamedError:C}=await import('@easbot/utils');await d.parse(r).then(a=>{let s=CommandMetadataSchema.parse(a.data),f=x(s,a.content,t);m.push(f);}).catch(a=>{let s=a instanceof Error?a.message:`Failed to load command ${r}`;u.publish(p.Event.Error,{error:new C.Unknown({message:s}).toObject()});});}return m}function g(n){return n instanceof Date?formatLocalISOCompact(n):Array.isArray(n)||n!==null&&typeof n=="object"&&n.constructor===Object?JSON.stringify(n,null,2):String(n)}function w(n,t){return typeof t=="string"?n.replace(/\{\{ARGUMENTS\}\}/gi,t):n.replace(/\{\{(\w+)\}\}/gi,(e,o)=>{let i=o.toUpperCase();if(i==="ARGUMENTS")return JSON.stringify(t);let m=t[o]??t[i];return m===void 0?`{{${o}}}`:g(m)})}function P(n,t){let{init:e,isEnabled:o,...i}=t;return {...i,name:n,isEnabled:o,init:e?async m=>({isEnabled:(await e(m)).isEnabled??(typeof o=="function"?await o():o)}):void 0}}export{h as b,x as c,I as d,w as e,P as f};
@@ -1,2 +1,2 @@
1
- import {a as a$2,b}from'./chunk-B6I7MJE5.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import {a as a$1}from'./chunk-ZV27OCHD.mjs';import _ from'path';import d from'fs/promises';import t from'zod';import {lazy,Fetch}from'@easbot/utils';var n;(r=>{let g=a.create({service:"models.dev"}),s=_.join(a$1.Path.cache,"models.json");r.Model=t.object({id:t.string(),name:t.string(),family:t.string().optional(),release_date:t.string(),attachment:t.boolean(),reasoning:t.boolean(),temperature:t.boolean(),tool_call:t.boolean(),interleaved:t.union([t.literal(true),t.object({field:t.enum(["reasoning_content","reasoning_details"])}).strict()]).optional(),cost:t.object({input:t.number(),output:t.number(),cache_read:t.number().optional(),cache_write:t.number().optional(),context_over_200k:t.object({input:t.number(),output:t.number(),cache_read:t.number().optional(),cache_write:t.number().optional()}).optional()}).optional(),limit:t.object({context:t.number(),input:t.number().optional(),output:t.number()}),modalities:t.object({input:t.array(t.enum(["text","audio","image","video","pdf"])),output:t.array(t.enum(["text","audio","image","video","pdf"]))}).optional(),experimental:t.boolean().optional(),status:t.enum(["alpha","beta","deprecated"]).optional(),options:t.record(t.string(),t.any()),headers:t.record(t.string(),t.string()).optional(),provider:t.object({npm:t.string()}).optional(),variants:t.record(t.string(),t.record(t.string(),t.any())).optional()}),r.Provider=t.object({api:t.string().optional(),name:t.string(),env:t.array(t.string()),id:t.string(),npm:t.string().optional(),models:t.record(t.string(),r.Model)});function a$3(){return a$2.EASBOT_MODELS_URL||"https://models.dev"}r.Data=lazy(async()=>{let e=a$2.EASBOT_MODELS_PATH??s,p=await d.readFile(e,"utf-8").then(i=>JSON.parse(i)).catch(()=>{});if(p)return p;let c=await import('./models-snapshot-XTWYGG3T.mjs').then(i=>i.snapshot).catch(()=>{});return c||(a$2.EASBOT_DISABLE_MODELS_FETCH?{}:(await Fetch.get(a$3())).data)});async function E(){return await(0, r.Data)()}r.get=E;async function v(){try{let e=await Fetch.get(a$3(),{headers:{"User-Agent":`EasBot/${b.getVersion()}`},responseType:"text"});e.ok&&(await d.writeFile(s,e.data),r.Data.reset());}catch(e){g.warn("Failed to refresh models from models.dev, using cached or snapshot data",{error:e instanceof Error?e.message:String(e),url:a$3()});}}r.refresh=v;})(n||(n={}));function z(){a$2.EASBOT_DISABLE_MODELS_FETCH||(n.refresh(),setInterval(async()=>{await n.refresh();},60*1e3*60).unref());}
1
+ import {a as a$2,b}from'./chunk-O2JOXYKG.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import {a as a$1}from'./chunk-DJYON7M6.mjs';import _ from'path';import d from'fs/promises';import t from'zod';import {lazy,Fetch}from'@easbot/utils';var n;(r=>{let g=a.create({service:"models.dev"}),s=_.join(a$1.Path.cache,"models.json");r.Model=t.object({id:t.string(),name:t.string(),family:t.string().optional(),release_date:t.string(),attachment:t.boolean(),reasoning:t.boolean(),temperature:t.boolean(),tool_call:t.boolean(),interleaved:t.union([t.literal(true),t.object({field:t.enum(["reasoning_content","reasoning_details"])}).strict()]).optional(),cost:t.object({input:t.number(),output:t.number(),cache_read:t.number().optional(),cache_write:t.number().optional(),context_over_200k:t.object({input:t.number(),output:t.number(),cache_read:t.number().optional(),cache_write:t.number().optional()}).optional()}).optional(),limit:t.object({context:t.number(),input:t.number().optional(),output:t.number()}),modalities:t.object({input:t.array(t.enum(["text","audio","image","video","pdf"])),output:t.array(t.enum(["text","audio","image","video","pdf"]))}).optional(),experimental:t.boolean().optional(),status:t.enum(["alpha","beta","deprecated"]).optional(),options:t.record(t.string(),t.any()),headers:t.record(t.string(),t.string()).optional(),provider:t.object({npm:t.string()}).optional(),variants:t.record(t.string(),t.record(t.string(),t.any())).optional()}),r.Provider=t.object({api:t.string().optional(),name:t.string(),env:t.array(t.string()),id:t.string(),npm:t.string().optional(),models:t.record(t.string(),r.Model)});function a$3(){return a$2.EASBOT_MODELS_URL||"https://models.dev"}r.Data=lazy(async()=>{let e=a$2.EASBOT_MODELS_PATH??s,p=await d.readFile(e,"utf-8").then(i=>JSON.parse(i)).catch(()=>{});if(p)return p;let c=await import('./models-snapshot-XTWYGG3T.mjs').then(i=>i.snapshot).catch(()=>{});return c||(a$2.EASBOT_DISABLE_MODELS_FETCH?{}:(await Fetch.get(a$3())).data)});async function E(){return await(0, r.Data)()}r.get=E;async function v(){try{let e=await Fetch.get(a$3(),{headers:{"User-Agent":`EasBot/${b.getVersion()}`},responseType:"text"});e.ok&&(await d.writeFile(s,e.data),r.Data.reset());}catch(e){g.warn("Failed to refresh models from models.dev, using cached or snapshot data",{error:e instanceof Error?e.message:String(e),url:a$3()});}}r.refresh=v;})(n||(n={}));function z(){a$2.EASBOT_DISABLE_MODELS_FETCH||(n.refresh(),setInterval(async()=>{await n.refresh();},60*1e3*60).unref());}
2
2
  export{n as a,z as b};
@@ -1 +1 @@
1
- export{a as CommandMetadataSchema,c as createCommandFromMarkdown,f as define,b as loadCommandFromFile,e as replaceTemplateVars,d as scanCommands}from'./chunk-ANA5RPJQ.mjs';import'./chunk-X6ISXWBN.mjs';
1
+ export{a as CommandMetadataSchema,c as createCommandFromMarkdown,f as define,b as loadCommandFromFile,e as replaceTemplateVars,d as scanCommands}from'./chunk-ZFGVQIO5.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{O as Compaction,o as CompactionCache,n as DEFAULT_CACHE_CONFIG,p as createCompactionCache,q as subscribeCacheEvents}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +1 @@
1
- export{fb as Agent,db as Command,pb as Config,ob as ConfigDirectoryTypoError,lb as Info,v as InvalidError,u as JsonError,gb as Keybinds,jb as Layout,_a as Mcp,Xa as McpLocal,Ya as McpOAuth,Za as McpRemote,Wa as ModelId,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,D as deduplicatePlugins,H as directories,G as get,U as getACPClientsConfig,T as getACPServerConfig,X as getAcpAgentName,V as getAcpAgentRuntimeConfig,W as getAcpModelConfig,ga as getFileCacheConfig,J as getGlobal,C as getPluginName,Va as getSubAgentConfig,ha as getTokenEstimationConfig,I as global,t as installDependencies,L as isAutoCompactEnabled,N as isBackupEnabled,M as isPruneEnabled,x as load,S as loadACPConfig,z as loadAgent,ca as loadCodebase,A as loadCommand,ia as loadContextConfig,w as loadFile,ea as loadKnowledge,da as loadMemory,ba as loadNote,B as loadPlugin,Ua as loadSubAgentConfig,r as mergeConfigConcatArrays,s as needsInstall,y as parseConfig,E as state,mb as update,nb as updateGlobal,F as waitForDependencies}from'./chunk-SRFQPRTU.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-YJG6NNVY.mjs';import'./chunk-ANA5RPJQ.mjs';export{h as getAgentRegistryConfig,m as getAgentSyncConfig,k as getAuthConfig,d as getChannelConfig,e as getConnectionPoolConfig,l as getGatewayClusterConfig,c as getGatewayServerConfig,j as getHTTPSConfig,f as getMessageQueueConfig,i as getSessionConfig,b as loadGatewayConfig}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
+ export{fb as Agent,db as Command,pb as Config,ob as ConfigDirectoryTypoError,lb as Info,v as InvalidError,u as JsonError,gb as Keybinds,jb as Layout,_a as Mcp,Xa as McpLocal,Ya as McpOAuth,Za as McpRemote,Wa as ModelId,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,D as deduplicatePlugins,H as directories,G as get,U as getACPClientsConfig,T as getACPServerConfig,X as getAcpAgentName,V as getAcpAgentRuntimeConfig,W as getAcpModelConfig,ga as getFileCacheConfig,J as getGlobal,C as getPluginName,Va as getSubAgentConfig,ha as getTokenEstimationConfig,I as global,t as installDependencies,L as isAutoCompactEnabled,N as isBackupEnabled,M as isPruneEnabled,x as load,S as loadACPConfig,z as loadAgent,ca as loadCodebase,A as loadCommand,ia as loadContextConfig,w as loadFile,ea as loadKnowledge,da as loadMemory,ba as loadNote,B as loadPlugin,Ua as loadSubAgentConfig,r as mergeConfigConcatArrays,s as needsInstall,y as parseConfig,E as state,mb as update,nb as updateGlobal,F as waitForDependencies}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';export{h as getAgentRegistryConfig,m as getAgentSyncConfig,k as getAuthConfig,d as getChannelConfig,e as getConnectionPoolConfig,l as getGatewayClusterConfig,c as getGatewayServerConfig,j as getHTTPSConfig,f as getMessageQueueConfig,i as getSessionConfig,b as loadGatewayConfig}from'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1,3 +1,3 @@
1
- import {a as a$1}from'./chunk-DRWG7AVN.mjs';import {e}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 {c,d}from'./chunk-X6ISXWBN.mjs';import {PKG}from'@easbot/utils';var v=a.create({service:"debug.config"});function k(g,s){g.command("config").description(i("debug.config.command.describe")).action(async()=>{v.debug("Loading configuration");try{let r=await s.sdk.config.get();console.log(JSON.stringify(r.data,null,2));}catch(r){v.error("Failed to load configuration",{error:r instanceof Error?r.message:String(r)}),console.error(e(i("debug.config.error.load_failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}var l=a.create({service:"debug.file"});function F(g,s){let n=g.command("file").description(i("debug.file.command.describe"));n.command("search <query>").description(i("debug.file.search.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{File:t}=await import('./file-AOMTS73G.mjs');l.debug("Searching files",{query:r});try{let o=await t.search({query:r});console.log(o.join(`
2
- `));}catch(o){l.error("File search failed",{query:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.file.search.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("read <path>").description(i("debug.file.read.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{File:t}=await import('./file-AOMTS73G.mjs');l.debug("Reading file",{path:r});try{let o=await t.read(r);console.log(JSON.stringify(o,null,2));}catch(o){l.error("File read failed",{path:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.file.read.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("status").description(i("debug.file.status.command.describe")).action(async()=>{await a$1(s.config.directory,async()=>{let{File:r}=await import('./file-AOMTS73G.mjs');l.debug("Getting file status");try{let t=await r.status();console.log(JSON.stringify(t,null,2));}catch(t){l.error("File status failed",{error:t instanceof Error?t.message:String(t)}),console.error(e(i("debug.file.status.error",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}),n.command("list <path>").description(i("debug.file.list.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{File:t}=await import('./file-AOMTS73G.mjs');l.debug("Listing files",{path:r});try{let o=await t.list(r);console.log(JSON.stringify(o,null,2));}catch(o){l.error("File list failed",{path:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.file.list.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("tree [dir]").description(i("debug.file.tree.command.describe")).option("--limit <number>",i("debug.file.tree.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-RAHKARMG.mjs'),{Instance:p}=await import('./instance-JRUNVEOY.mjs');l.debug("Showing file tree",{dir:r});try{let i=await o.tree({cwd:r||p.directory,limit:t?.limit||200});console.log(JSON.stringify(i,null,2));}catch(i$1){l.error("File tree failed",{dir:r,error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.file.tree.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});});}var u=a.create({service:"debug.lsp"});function x(g,s){let n=g.command("lsp").description(i("debug.lsp.command.describe"));n.command("diagnostics <file>").description(i("debug.lsp.diagnostics.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-BBUMLIWW.mjs');u.debug("Getting diagnostics",{file:r});try{await t.touchFile(r,!0),await PKG.sleep(1e3);let o=await t.diagnostics();console.log(JSON.stringify(o,null,2));}catch(o){u.error("Failed to get diagnostics",{file:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.lsp.diagnostics.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("symbols <query>").description(i("debug.lsp.symbols.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-BBUMLIWW.mjs');u.debug("Searching workspace symbols",{query:r});try{var o=[];try{let d=c(o,a.Default.time("symbols"));let h=await t.workspaceSymbol(r);console.log(JSON.stringify(h,null,2));}catch(p){var i$1=p,S=!0;}finally{d(o,i$1,S);}}catch(d){u.error("Failed to search symbols",{query:r,error:d instanceof Error?d.message:String(d)}),console.error(e(i("debug.lsp.symbols.error",{vars:{error:d instanceof Error?d.message:String(d)}}))),process.exit(1);}});}),n.command("document-symbols <file>").description(i("debug.lsp.document_symbols.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-BBUMLIWW.mjs');u.debug("Getting document symbols",{file:r});try{var o=[];try{let d=c(o,a.Default.time("document-symbols"));let h=await t.documentSymbol({file:r});console.log(JSON.stringify(h,null,2));}catch(p){var i$1=p,S=!0;}finally{d(o,i$1,S);}}catch(d){u.error("Failed to get document symbols",{file:r,error:d instanceof Error?d.message:String(d)}),console.error(e(i("debug.lsp.document_symbols.error",{vars:{error:d instanceof Error?d.message:String(d)}}))),process.exit(1);}});});}var y=a.create({service:"debug.ripgrep"});function L(g,s){let n=g.command("rg").description(i("debug.ripgrep.command.describe"));n.command("tree").description(i("debug.ripgrep.tree.command.describe")).option("--limit <number>",i("debug.ripgrep.tree.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-RAHKARMG.mjs'),{Instance:p}=await import('./instance-JRUNVEOY.mjs');y.debug("Showing file tree",{limit:t?.limit});try{let i=await o.tree({cwd:p.directory,limit:t?.limit});console.log(i);}catch(i$1){y.error("File tree failed",{error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.ripgrep.tree.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});}),n.command("files").description(i("debug.ripgrep.files.command.describe")).option("--query <string>",i("debug.ripgrep.files.option.query.description")).option("--glob <string>",i("debug.ripgrep.files.option.glob.description")).option("--limit <number>",i("debug.ripgrep.files.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-RAHKARMG.mjs'),{Instance:p}=await import('./instance-JRUNVEOY.mjs');y.debug("Listing files",{query:t?.query,glob:t?.glob,limit:t?.limit});try{let i=[];for await(let S of o.files({cwd:p.directory,glob:t?.glob?[t.glob]:void 0}))if(i.push(S),t?.limit&&i.length>=t.limit)break;console.log(i.join(`
3
- `));}catch(i$1){y.error("File listing failed",{error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.ripgrep.files.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});}),n.command("search <pattern>").description(i("debug.ripgrep.search.command.describe")).option("--glob <glob...>",i("debug.ripgrep.search.option.glob.description")).option("--limit <number>",i("debug.ripgrep.search.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-RAHKARMG.mjs'),{Instance:p}=await import('./instance-JRUNVEOY.mjs');y.debug("Searching files",{pattern:r,glob:t?.glob,limit:t?.limit});try{let i=await o.search({cwd:p.directory,pattern:r,glob:t?.glob,limit:t?.limit});console.log(JSON.stringify(i,null,2));}catch(i$1){y.error("Search failed",{pattern:r,error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.ripgrep.search.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});});}var G=a.create({service:"debug.scrap"});function P(g,s){g.command("scrap").description(i("debug.scrap.command.describe")).action(async()=>{G.debug("Listing projects");let r=await s.sdk.project.list();console.log(JSON.stringify(r.data,null,2));});}var O=a.create({service:"debug.skill"});function J(g,s){g.command("skill").description(i("debug.skill.command.describe")).action(async()=>{O.debug("Listing skills");try{let r=await s.sdk.app.skills();console.log(JSON.stringify(r.data,null,2));}catch(r){O.error("Failed to list skills",{error:r instanceof Error?r.message:String(r)}),console.error(e(i("debug.skill.error.list_failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}var w=a.create({service:"debug.snapshot"});function N(g,s){let n=g.command("snapshot").description(i("debug.snapshot.command.describe"));n.command("track").description(i("debug.snapshot.track.command.describe")).action(async()=>{await a$1(s.config.directory,async()=>{let{Snapshot:r}=await import('./snapshot-AAJ23W7N.mjs');w.debug("Tracking snapshot");try{let t=await r.track();console.log(t);}catch(t){w.error("Snapshot track failed",{error:t instanceof Error?t.message:String(t)}),console.error(e(i("debug.snapshot.track.error",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}),n.command("patch <hash>").description(i("debug.snapshot.patch.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{Snapshot:t}=await import('./snapshot-AAJ23W7N.mjs');w.debug("Getting snapshot patch",{hash:r});try{let o=await t.patch(r);console.log(o);}catch(o){w.error("Snapshot patch failed",{hash:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.snapshot.patch.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("diff <hash>").description(i("debug.snapshot.diff.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{Snapshot:t}=await import('./snapshot-AAJ23W7N.mjs');w.debug("Getting snapshot diff",{hash:r});try{let o=await t.diff(r);console.log(o);}catch(o){w.error("Snapshot diff failed",{hash:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.snapshot.diff.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});});}a.create({service:"debug"});function Nr(g,s){let n=g.command("debug").description(i("debug.command.description"));k(n,s),F(n,s),x(n,s),L(n,s),P(n,s),J(n,s),N(n,s),n.command("agent <name>").description(i("debug.agent.command.describe")).option("--tool <tool-id>",i("debug.agent.option.tool.description")).option("--params <json>",i("debug.agent.option.params.description")).action(async(r,t)=>{let{registerAgentCommand:o}=await import('./agent-CBNCT4JD.mjs');o(s,r,t);}),n.command("paths").description(i("debug.paths.command.describe")).action(async()=>{let{Global:r}=await import('./global-7MTUN7RF.mjs');for(let[t,o]of Object.entries(r.Path))console.log(`${t.padEnd(10)}${o}`);}),n.command("wait").description(i("debug.wait.command.describe")).action(async()=>{await a$1(s.config.directory,async()=>{await new Promise(r=>setTimeout(r,1e3*60*60*24));});});}export{Nr as registerDebugCommands};
1
+ import {a as a$1}from'./chunk-3Q4UCILK.mjs';import {e}from'./chunk-M3K32WJV.mjs';import'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import {c,d}from'./chunk-X6ISXWBN.mjs';import {PKG}from'@easbot/utils';var v=a.create({service:"debug.config"});function k(g,s){g.command("config").description(i("debug.config.command.describe")).action(async()=>{v.debug("Loading configuration");try{let r=await s.sdk.config.get();console.log(JSON.stringify(r.data,null,2));}catch(r){v.error("Failed to load configuration",{error:r instanceof Error?r.message:String(r)}),console.error(e(i("debug.config.error.load_failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}var l=a.create({service:"debug.file"});function F(g,s){let n=g.command("file").description(i("debug.file.command.describe"));n.command("search <query>").description(i("debug.file.search.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{File:t}=await import('./file-Q7BJ3BEC.mjs');l.debug("Searching files",{query:r});try{let o=await t.search({query:r});console.log(o.join(`
2
+ `));}catch(o){l.error("File search failed",{query:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.file.search.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("read <path>").description(i("debug.file.read.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{File:t}=await import('./file-Q7BJ3BEC.mjs');l.debug("Reading file",{path:r});try{let o=await t.read(r);console.log(JSON.stringify(o,null,2));}catch(o){l.error("File read failed",{path:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.file.read.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("status").description(i("debug.file.status.command.describe")).action(async()=>{await a$1(s.config.directory,async()=>{let{File:r}=await import('./file-Q7BJ3BEC.mjs');l.debug("Getting file status");try{let t=await r.status();console.log(JSON.stringify(t,null,2));}catch(t){l.error("File status failed",{error:t instanceof Error?t.message:String(t)}),console.error(e(i("debug.file.status.error",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}),n.command("list <path>").description(i("debug.file.list.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{File:t}=await import('./file-Q7BJ3BEC.mjs');l.debug("Listing files",{path:r});try{let o=await t.list(r);console.log(JSON.stringify(o,null,2));}catch(o){l.error("File list failed",{path:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.file.list.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("tree [dir]").description(i("debug.file.tree.command.describe")).option("--limit <number>",i("debug.file.tree.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-4XTDDATX.mjs'),{Instance:p}=await import('./instance-AK3F7UK2.mjs');l.debug("Showing file tree",{dir:r});try{let i=await o.tree({cwd:r||p.directory,limit:t?.limit||200});console.log(JSON.stringify(i,null,2));}catch(i$1){l.error("File tree failed",{dir:r,error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.file.tree.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});});}var u=a.create({service:"debug.lsp"});function x(g,s){let n=g.command("lsp").description(i("debug.lsp.command.describe"));n.command("diagnostics <file>").description(i("debug.lsp.diagnostics.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-N672BWEP.mjs');u.debug("Getting diagnostics",{file:r});try{await t.touchFile(r,!0),await PKG.sleep(1e3);let o=await t.diagnostics();console.log(JSON.stringify(o,null,2));}catch(o){u.error("Failed to get diagnostics",{file:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.lsp.diagnostics.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("symbols <query>").description(i("debug.lsp.symbols.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-N672BWEP.mjs');u.debug("Searching workspace symbols",{query:r});try{var o=[];try{let d=c(o,a.Default.time("symbols"));let h=await t.workspaceSymbol(r);console.log(JSON.stringify(h,null,2));}catch(p){var i$1=p,S=!0;}finally{d(o,i$1,S);}}catch(d){u.error("Failed to search symbols",{query:r,error:d instanceof Error?d.message:String(d)}),console.error(e(i("debug.lsp.symbols.error",{vars:{error:d instanceof Error?d.message:String(d)}}))),process.exit(1);}});}),n.command("document-symbols <file>").description(i("debug.lsp.document_symbols.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-N672BWEP.mjs');u.debug("Getting document symbols",{file:r});try{var o=[];try{let d=c(o,a.Default.time("document-symbols"));let h=await t.documentSymbol({file:r});console.log(JSON.stringify(h,null,2));}catch(p){var i$1=p,S=!0;}finally{d(o,i$1,S);}}catch(d){u.error("Failed to get document symbols",{file:r,error:d instanceof Error?d.message:String(d)}),console.error(e(i("debug.lsp.document_symbols.error",{vars:{error:d instanceof Error?d.message:String(d)}}))),process.exit(1);}});});}var y=a.create({service:"debug.ripgrep"});function L(g,s){let n=g.command("rg").description(i("debug.ripgrep.command.describe"));n.command("tree").description(i("debug.ripgrep.tree.command.describe")).option("--limit <number>",i("debug.ripgrep.tree.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-4XTDDATX.mjs'),{Instance:p}=await import('./instance-AK3F7UK2.mjs');y.debug("Showing file tree",{limit:t?.limit});try{let i=await o.tree({cwd:p.directory,limit:t?.limit});console.log(i);}catch(i$1){y.error("File tree failed",{error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.ripgrep.tree.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});}),n.command("files").description(i("debug.ripgrep.files.command.describe")).option("--query <string>",i("debug.ripgrep.files.option.query.description")).option("--glob <string>",i("debug.ripgrep.files.option.glob.description")).option("--limit <number>",i("debug.ripgrep.files.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-4XTDDATX.mjs'),{Instance:p}=await import('./instance-AK3F7UK2.mjs');y.debug("Listing files",{query:t?.query,glob:t?.glob,limit:t?.limit});try{let i=[];for await(let S of o.files({cwd:p.directory,glob:t?.glob?[t.glob]:void 0}))if(i.push(S),t?.limit&&i.length>=t.limit)break;console.log(i.join(`
3
+ `));}catch(i$1){y.error("File listing failed",{error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.ripgrep.files.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});}),n.command("search <pattern>").description(i("debug.ripgrep.search.command.describe")).option("--glob <glob...>",i("debug.ripgrep.search.option.glob.description")).option("--limit <number>",i("debug.ripgrep.search.option.limit.description")).action(async(r,t)=>{await a$1(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-4XTDDATX.mjs'),{Instance:p}=await import('./instance-AK3F7UK2.mjs');y.debug("Searching files",{pattern:r,glob:t?.glob,limit:t?.limit});try{let i=await o.search({cwd:p.directory,pattern:r,glob:t?.glob,limit:t?.limit});console.log(JSON.stringify(i,null,2));}catch(i$1){y.error("Search failed",{pattern:r,error:i$1 instanceof Error?i$1.message:String(i$1)}),console.error(e(i("debug.ripgrep.search.error",{vars:{error:i$1 instanceof Error?i$1.message:String(i$1)}}))),process.exit(1);}});});}var G=a.create({service:"debug.scrap"});function P(g,s){g.command("scrap").description(i("debug.scrap.command.describe")).action(async()=>{G.debug("Listing projects");let r=await s.sdk.project.list();console.log(JSON.stringify(r.data,null,2));});}var O=a.create({service:"debug.skill"});function J(g,s){g.command("skill").description(i("debug.skill.command.describe")).action(async()=>{O.debug("Listing skills");try{let r=await s.sdk.app.skills();console.log(JSON.stringify(r.data,null,2));}catch(r){O.error("Failed to list skills",{error:r instanceof Error?r.message:String(r)}),console.error(e(i("debug.skill.error.list_failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}var w=a.create({service:"debug.snapshot"});function N(g,s){let n=g.command("snapshot").description(i("debug.snapshot.command.describe"));n.command("track").description(i("debug.snapshot.track.command.describe")).action(async()=>{await a$1(s.config.directory,async()=>{let{Snapshot:r}=await import('./snapshot-3CGXXTES.mjs');w.debug("Tracking snapshot");try{let t=await r.track();console.log(t);}catch(t){w.error("Snapshot track failed",{error:t instanceof Error?t.message:String(t)}),console.error(e(i("debug.snapshot.track.error",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}),n.command("patch <hash>").description(i("debug.snapshot.patch.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{Snapshot:t}=await import('./snapshot-3CGXXTES.mjs');w.debug("Getting snapshot patch",{hash:r});try{let o=await t.patch(r);console.log(o);}catch(o){w.error("Snapshot patch failed",{hash:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.snapshot.patch.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("diff <hash>").description(i("debug.snapshot.diff.command.describe")).action(async r=>{await a$1(s.config.directory,async()=>{let{Snapshot:t}=await import('./snapshot-3CGXXTES.mjs');w.debug("Getting snapshot diff",{hash:r});try{let o=await t.diff(r);console.log(o);}catch(o){w.error("Snapshot diff failed",{hash:r,error:o instanceof Error?o.message:String(o)}),console.error(e(i("debug.snapshot.diff.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});});}a.create({service:"debug"});function Nr(g,s){let n=g.command("debug").description(i("debug.command.description"));k(n,s),F(n,s),x(n,s),L(n,s),P(n,s),J(n,s),N(n,s),n.command("agent <name>").description(i("debug.agent.command.describe")).option("--tool <tool-id>",i("debug.agent.option.tool.description")).option("--params <json>",i("debug.agent.option.params.description")).action(async(r,t)=>{let{registerAgentCommand:o}=await import('./agent-BS6BU766.mjs');o(s,r,t);}),n.command("paths").description(i("debug.paths.command.describe")).action(async()=>{let{Global:r}=await import('./global-FDT3NNWD.mjs');for(let[t,o]of Object.entries(r.Path))console.log(`${t.padEnd(10)}${o}`);}),n.command("wait").description(i("debug.wait.command.describe")).action(async()=>{await a$1(s.config.directory,async()=>{await new Promise(r=>setTimeout(r,1e3*60*60*24));});});}export{Nr as registerDebugCommands};
@@ -0,0 +1 @@
1
+ export{c as TuiEvent}from'./chunk-CCRIJZBK.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +1 @@
1
- import {e,h}from'./chunk-M3K32WJV.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';var n=a.create({service:"cli-command-export"});function S(p,i$1){p.command("export [sessionID]").description(i("export.command.description")).action(async o=>{n.debug("Exporting session",{sessionId:o});try{if(!o){let{data:e$1}=await i$1.sdk.session.list({});(!e$1||e$1.length===0)&&(console.error(e(i("export.error.no_sessions"))),process.exit(1));let a=[...e$1].sort((f,l)=>l.time.updated-f.time.updated)[0];a||(console.error(e(i("export.error.no_sessions"))),process.exit(1)),o=a.id,n.debug("Using latest session",{sessionId:o});}console.log(h(i("export.exporting",{vars:{sessionId:o}})));let{data:r}=await i$1.sdk.session.get({sessionID:o}),{data:c}=await i$1.sdk.session.messages({sessionID:o}),g={info:r,messages:(c??[]).map(e=>({info:e.info,parts:e.parts}))};console.log(JSON.stringify(g,null,2)),n.debug("Session exported successfully",{sessionId:o});}catch(r){n.error("Failed to export session",{sessionId:o,error:r instanceof Error?r.message:String(r)}),console.error(e(i("export.error.failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}export{S as registerExportCommand};
1
+ import {e,h}from'./chunk-M3K32WJV.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';var n=a.create({service:"cli-command-export"});function S(c,i$1){c.command("export [sessionId]").description(i("export.command.description")).action(async o=>{n.debug("Exporting session",{sessionId:o});try{if(!o){let{data:e$1}=await i$1.sdk.session.list({});(!e$1||e$1.length===0)&&(console.error(e(i("export.error.no_sessions"))),process.exit(1));let a=[...e$1].sort((f,l)=>l.time.updated-f.time.updated)[0];a||(console.error(e(i("export.error.no_sessions"))),process.exit(1)),o=a.id,n.debug("Using latest session",{sessionId:o});}console.log(h(i("export.exporting",{vars:{sessionId:o}})));let{data:r}=await i$1.sdk.session.get({sessionId:o}),{data:d}=await i$1.sdk.session.messages({sessionId:o}),g={info:r,messages:(d??[]).map(e=>({info:e.info,parts:e.parts}))};console.log(JSON.stringify(g,null,2)),n.debug("Session exported successfully",{sessionId:o});}catch(r){n.error("Failed to export session",{sessionId:o,error:r instanceof Error?r.message:String(r)}),console.error(e(i("export.error.failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}export{S as registerExportCommand};
@@ -0,0 +1 @@
1
+ export{ka as File}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1,16 @@
1
+ import {a as a$1}from'./chunk-LAHYVX5K.mjs';import {a as a$2}from'./chunk-3Q4UCILK.mjs';import'./chunk-VII7JKGB.mjs';import {g,f,e,d,h,k,a as a$3,c as c$1,b,i as i$1}from'./chunk-M3K32WJV.mjs';import {Aa,Oa,Ba,Y}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import {c}from'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import {a as a$4}from'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';import'commander';import {Gateway}from'@easbot/gateway';import {Identifier,getProxyConfig}from'@easbot/utils';var P=a.create({service:"local-agent"}),_;(o=>{function d(r){return r.map(a=>a.type==="image"?{type:"file",mime:a.mime||"image/jpeg",url:typeof a.image=="string"?a.image:a.image.toString()}:a.type==="file"&&"data"in a&&!("url"in a)?{...a,url:typeof a.data=="string"?a.data:a.data.toString()}:a)}async function s(r){let{source:a,title:i,agent:l,parts:c,model:m,system:p,tools:A}=r;P.debug("LocalAgent.run started",{source:a,title:i,agent:l});let H=Identifier.ascending("message"),I=c.find(y=>y.type==="command");if(I){P.debug("LocalAgent.run: executing command",{command:I.command,arguments:I.arguments});let y=await Aa.command({sessionId:a,messageId:H,agent:l,model:m?`${m.providerId}/${m.modelId}`:void 0,arguments:I.arguments??"",command:I.command});return {title:i,output:y.output,metadata:{sessionId:a,source:a,agent:l,success:y.success,error:y.error,...y.metadata}}}let j=(await Aa.prompt({messageId:H,sessionId:a,system:p,tools:A,agent:l,model:m,parts:d(c)})).parts.findLast(y=>y.type==="text")?.text??"";return P.debug("LocalAgent.run completed",{source:a,title:i,agent:l,contentLength:j.length}),{title:i,output:j,metadata:{sessionId:a,source:a,agent:l}}}o.run=s;async function e(r,a){P.debug("LocalAgent.runAsync started",{title:r.title,agent:r.agent}),(async()=>{try{let i=await o.run(r);P.debug("LocalAgent.runAsync completed, triggering callback",{title:r.title,agent:r.agent,contentLength:i.output.length}),await a(i);}catch(i){P.error("LocalAgent.runAsync failed",{title:r.title,agent:r.agent,error:String(i)}),await a({title:r.title,output:`Error: ${i}`,metadata:{error:String(i)}});}})();}o.runAsync=e;})(_||(_={}));var n=a.create({service:"cli-command-gateway"});function O(d$1,s,e){let o=b();console.log(""),console.log(d(i("gateway.server.started"))),console.log(k(60)),e?.directory&&console.log(i$1(i("gateway.field.directory"),e.directory,15));let r={stopped:a$3.muted,starting:a$3.info,running:a$3.success,stopping:a$3.info,error:a$3.error},a=c$1(o,r[d$1]||a$3.muted,d$1.toUpperCase());if(console.log(i$1(i("gateway.field.status"),a,15)),d$1==="running"){let l=s.https?.enabled?"wss":"ws",c=s.path||"/",m=`${l}://${s.hostname}:${s.port}${c}`;console.log(i$1(i("gateway.field.ws_url"),m,15)),console.log(i$1(i("gateway.field.port"),String(s.port),15)),console.log(i$1(i("gateway.field.hostname"),s.hostname,15)),console.log(i$1(i("gateway.field.tls"),s.https?.enabled?i("common.enabled"):i("common.disabled"),15));}e?.debug!==void 0&&console.log(i$1(i("gateway.field.debug"),e.debug?c$1(o,a$3.success,i("common.enabled")):c$1(o,a$3.muted,i("common.disabled")),15));let i$2=getProxyConfig();if(i$2.enabled){let l=i$2.https||i$2.http||"configured";console.log(i$1(i("gateway.field.proxy"),l,15));}e?.error&&console.log(i$1(i("gateway.field.error"),e.error,15)),console.log(k(60)),console.log("");}function F(){let d$1=async s=>{n.debug(`Received ${s}, shutting down...`),console.log(`
2
+ ${i("gateway.shutdown.received",{vars:{signal:s}})}`);try{await Gateway.stop(),n.debug("Gateway state destroyed"),console.log(d(i("gateway.shutdown.completed")));}catch(e){n.error("Error during shutdown",{error:e instanceof Error?e.message:String(e)});}process.exit(0);};process.on("SIGINT",()=>{d$1("SIGINT").catch(console.error);}),process.on("SIGTERM",()=>{d$1("SIGTERM").catch(console.error);});}async function z(d,s){n.debug("createAgentAdapter: starting",{directory:d}),n.debug("createAgentAdapter: calling Instance.provide");let e=await Oa.provide({directory:d,fn:async()=>{n.debug("createAgentAdapter: Instance.provide fn called");let{Project:l}=await import('./project-WTLNG2LH.mjs');n.debug("createAgentAdapter: Project imported, calling fromDirectory");let{project:c,sandbox:m}=await l.fromDirectory(d);n.debug("createAgentAdapter: fromDirectory completed",{projectId:c.id});let p={directory:d,worktree:m,project:c};return n.debug("createAgentAdapter: fn returning",{directory:d,projectId:c.id}),p}});n.debug("createAgentAdapter: Instance.provide completed",{directory:e.directory,projectId:e.project.id});let o={Path:{home:a$4.Path.home,data:a$4.Path.data,cache:a$4.Path.cache,config:a$4.Path.config,state:a$4.Path.state,log:a$4.Path.log,bin:a$4.Path.bin}};n.debug("global paths injected",{data:o.Path.data,log:o.Path.log,home:o.Path.home});let r={directory:e.directory,worktree:e.worktree};return await Y.state(),{subAgentRunner:{async run(l){try{let c={source:l.source||l.sessionId||"gateway",title:l.title||"Message from gateway",agent:l.agent||"gateway",parts:l.parts||[]},m=await Y.run(c);return {success:!0,output:m.output,metadata:m.metadata}}catch(c){return n.error("SubAgent.run failed",{error:c instanceof Error?c.message:String(c)}),{success:false,error:c instanceof Error?c.message:String(c)}}}},localAgentRunner:{async run(l){try{let c=!l.source&&s.sdk,m=l.source||void 0;if(c){let A=await s.sdk.session.create({directory:s.config.directory});A.data&&(m=A.data.id,n.debug("LocalAgent.run: created new session",{sessionId:m}));}if(!m)throw new Error("No session ID available");let p=await _.run({...l,source:m});return n.debug("LocalAgent.run completed",{title:p.title,sessionId:m}),p}catch(c){throw n.error("LocalAgent.run failed",{error:c instanceof Error?c.message:String(c)}),c}}},hookRegistry:Ba,global:o,instance:r,sdk:s.sdk}}async function B(d,s,e$1){n.debug("Gateway start command executed",{options:s});try{let o=e$1.config.directory;n.debug("Working directory resolved",{directory:o});let r=a$1(o);if(!r.valid)throw n.error("Working directory validation failed",{directory:o,error:r.error}),new Error(`Invalid working directory: ${r.error}`);let a=r.normalizedPath;n.debug("Working directory validated",{validatedDirectory:a}),console.log(g(i("gateway.directory.resolved",{vars:{cwd:a}}))),await a$2(a,async()=>{let{initLog:i$1,setAgentAdapter:l}=await import('@easbot/gateway');await i$1({logDir:process.env.EASBOT_LOG_PATH??process.cwd(),print:e$1.config.print_logs??!1,dev:e$1.config.debug??!1,level:e$1.config.log_level??"INFO"});let m=await z(a,e$1);n.debug("executeGatewayStart: createAgentAdapter completed"),l(m),n.debug("Agent adapter injected into Gateway");let p=await c();if(n.debug("Gateway server configuration",{port:p.port,hostname:p.hostname,path:p.path,tls:p.https?.enabled,enabled:p.enabled}),!p.enabled){n.warn("Gateway server is disabled by configuration"),console.log(f(i("gateway.disabled")));return}await Gateway.start(p),n.info("Gateway server started successfully"),O("running",p,{directory:a,debug:e$1.config.debug}),F(),await new Promise(()=>{});});}catch(o){n.error("Failed to start Gateway server",{error:o instanceof Error?o.message:String(o)}),console.error(e(i("gateway.error.start_failed",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}}async function K(d$1,s){n.debug("Gateway stop command executed",{options:d$1});try{let e=s.config.directory;await a$2(e,async()=>{if(Gateway.getStatus()==="stopped"){console.log(g(i("gateway.status.already_stopped")));return}await Gateway.stop(),console.log(d(i("gateway.stopped")));let r=await c();O("stopped",r,{directory:e});});}catch(e$1){n.error("Failed to stop Gateway server",{error:e$1 instanceof Error?e$1.message:String(e$1)}),console.error(e(i("gateway.error.stop_failed",{vars:{error:e$1 instanceof Error?e$1.message:String(e$1)}}))),process.exit(1);}}async function q(d$1,s,e$1){n.debug("Gateway restart command executed",{options:s});try{let o=e$1.config.directory;await a$2(o,async()=>{let r=await c();if(!r.enabled){n.warn("Gateway server is disabled by configuration"),console.log(f(i("gateway.disabled")));return}console.log(g(i("gateway.restarting"))),await Gateway.restart(r),console.log(d(i("gateway.restarted"))),O("running",r,{directory:o,debug:e$1.config.debug}),F(),await new Promise(()=>{});});}catch(o){n.error("Failed to restart Gateway server",{error:o instanceof Error?o.message:String(o)}),console.error(e(i("gateway.error.restart_failed",{vars:{error:o instanceof Error?o.message:String(o)}}))),await a.close(),process.exit(1);}}async function J(d,s){n.debug("Gateway status command executed",{options:d});try{let e=s.config.directory;await a$2(e,async()=>{let o=Gateway.getStatus(),a=(await Gateway.get())?.getStatus(),i$2=await c();console.log(""),console.log(h(i("gateway.status.title"))),console.log(k(60));let l={stopped:a$3.muted,starting:a$3.info,running:a$3.success,stopping:a$3.info,error:a$3.error},c$2=c$1(b(),l[o]||a$3.muted,o.toUpperCase());if(console.log(i$1(i("gateway.field.status"),c$2,15)),a){console.log(i$1(i("gateway.field.port"),String(a.port),15)),console.log(i$1(i("gateway.field.hostname"),a.hostname||i$2.hostname,15)),console.log(i$1(i("gateway.field.path"),i$2.path||"/",15)),console.log(i$1(i("gateway.field.connections"),String(a.connections||0),15));let m=i$2.https?.enabled?"wss":"ws",p=i$2.path||"/",A=`${m}://${a.hostname||i$2.hostname}:${a.port}${p}`;console.log(i$1(i("gateway.field.ws_url"),A,15));}console.log(k(60)),console.log("");});}catch(e$1){n.error("Failed to get Gateway status",{error:e$1 instanceof Error?e$1.message:String(e$1)}),console.error(e(i("gateway.error.status_failed",{vars:{error:e$1 instanceof Error?e$1.message:String(e$1)}}))),process.exit(1);}}async function Q(d,s){n.debug("Gateway config show command executed",{options:d});try{let e=s.config.directory;await a$2(e,async()=>{let o=await Gateway.config();if(!o){console.log(f(i("gateway.config.not_found")));return}if(console.log(""),console.log(h(i("gateway.config.heading"))),console.log(k(60)),o.server&&(console.log(h(i("gateway.config.server"))),console.log(i$1(" enabled",String(o.server.enabled??!0),12)),console.log(i$1(" port",String(o.server.port??3001),12)),console.log(i$1(" hostname",o.server.hostname??"0.0.0.0",12)),console.log(i$1(" tls",String(o.server.https?.enabled??!1),12)),console.log(i$1(" cors",String(o.server.cors??!0),12))),o.channels){console.log(""),console.log(h(i("gateway.config.channels")));let r=Object.keys(o.channels);if(r.length===0)console.log(g(" "+i("gateway.config.no_channels")));else for(let a of r){let i$2=o.channels[a];i$2&&console.log(i$1(` ${a}`,i$2.enabled?i("common.enabled"):i("common.disabled"),12));}}o.connectionPool&&(console.log(""),console.log(h(i("gateway.config.connection_pool"))),console.log(i$1(" maxConnectionsPerChannel",String(o.connectionPool.maxConnectionsPerChannel??100),25)),console.log(i$1(" idleTimeout",`${o.connectionPool.idleTimeout??3e5}ms`,25)),console.log(i$1(" reuseStrategy",o.connectionPool.reuseStrategy??"lru",25))),o.agentRegistry&&(console.log(""),console.log(h(i("gateway.config.agent_registry"))),console.log(i$1(" heartbeatInterval",`${o.agentRegistry.heartbeatInterval??3e4}ms`,20)),console.log(i$1(" heartbeatTimeout",`${o.agentRegistry.heartbeatTimeout??9e4}ms`,20))),console.log(k(60)),console.log("");});}catch(e$1){n.error("Failed to show Gateway config",{error:e$1 instanceof Error?e$1.message:String(e$1)}),console.error(e(i("gateway.error.config_failed",{vars:{error:e$1 instanceof Error?e$1.message:String(e$1)}}))),process.exit(1);}}function Ae(d,s){let e=d.command("gateway").description(i("gateway.command.description")).helpOption("-h, --help",i("gateway.help.option")).addHelpText("after",`
3
+
4
+ ${i("gateway.help.examples")}
5
+ easbot gateway start # ${i("gateway.help.example.default")}
6
+ easbot gateway start --port 8080 # ${i("gateway.help.example.port")}
7
+ easbot gateway start --hostname 127.0.0.1 # ${i("gateway.help.example.hostname")}
8
+ easbot gateway stop # ${i("gateway.help.example.stop")}
9
+ easbot gateway restart # ${i("gateway.help.example.restart")}
10
+ easbot gateway config show # ${i("gateway.help.example.config")}
11
+
12
+ ${i("gateway.help.env")}
13
+ GATEWAY_PORT ${i("gateway.help.env.port")}
14
+ GATEWAY_HOSTNAME ${i("gateway.help.env.hostname")}
15
+ GATEWAY_TLS ${i("gateway.help.env.tls")}
16
+ `);e.option("-D, --directory <path>",i("gateway.option.directory")).option("-p, --port <number>",i("gateway.option.port"),r=>parseInt(r,10)).option("-H, --hostname <address>",i("gateway.option.hostname")).option("--tls",i("gateway.option.tls")).option("--tls-cert <path>",i("gateway.option.tls_cert")).option("--tls-key <path>",i("gateway.option.tls_key")).option("-d, --debug",i("gateway.option.debug"),false),e.command("start").description(i("gateway.command.start")).addHelpText("after",i("gateway.help.subcommand.start.after")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){e.commands.find(a=>a.name()==="start")?.outputHelp(),process.exit(0);return}let r=e.opts();await B(e,r,s);}),e.command("stop").description(i("gateway.command.stop")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){e.commands.find(a=>a.name()==="stop")?.outputHelp(),process.exit(0);return}let r=e.opts();await K(r,s);}),e.command("restart").description(i("gateway.command.restart")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){e.commands.find(a=>a.name()==="restart")?.outputHelp(),process.exit(0);return}let r=e.opts();await q(e,r,s);}),e.command("status").description(i("gateway.command.status")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){e.commands.find(a=>a.name()==="status")?.outputHelp(),process.exit(0);return}let r=e.opts();await J(r,s);});let o=e.command("config").description(i("gateway.command.config"));o.command("show").description(i("gateway.command.config_show")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){o.commands.find(a=>a.name()==="show")?.outputHelp(),process.exit(0);return}let r=e.opts();await Q(r,s);});}export{Ae as registerGatewayCommand};
@@ -1,2 +1,2 @@
1
- import {e}from'./chunk-M3K32WJV.mjs';import {ya}from'./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'./chunk-LFYBZHOI.mjs';import'./chunk-ZV27OCHD.mjs';import'./chunk-X6ISXWBN.mjs';function g(o,a){o.command("generate").description(i("generate.command.description")).action(async()=>{await c();});}async function c(){try{let o=await ya();for(let t of Object.values(o.paths??{}))for(let r of ["get","post","put","delete","patch"]){let e=t[r];e?.operationId&&(e["x-codeSamples"]=[{lang:"js",source:['import { createEasbotClient } from "@easbot/sdk"',"","const client = createEasbotClient()",`await client.${e.operationId}({`," ...","})"].join(`
1
+ import {e}from'./chunk-M3K32WJV.mjs';import {ya}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';function g(o,a){o.command("generate").description(i("generate.command.description")).action(async()=>{await c();});}async function c(){try{let o=await ya();for(let t of Object.values(o.paths??{}))for(let r of ["get","post","put","delete","patch"]){let e=t[r];e?.operationId&&(e["x-codeSamples"]=[{lang:"js",source:['import { createEasbotClient } from "@easbot/sdk"',"","const client = createEasbotClient()",`await client.${e.operationId}({`," ...","})"].join(`
2
2
  `)}]);}let a=JSON.stringify(o,null,2);await new Promise((t,r)=>{process.stdout.write(a,e=>{e?r(e):t();});});}catch(o){console.error(e(i("generate.error.failed",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}}export{g as registerGenerateCommand};
@@ -1,4 +1,4 @@
1
- import {a as a$1}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import'./chunk-CQVEAYYW.mjs';import {g,e,h,i as i$1,k,d}from'./chunk-M3K32WJV.mjs';import {Oa}from'./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 {Shell,PKG,Fetch}from'@easbot/utils';var m=a.create({service:"cli-command-github"}),R=".github/workflows/opencode.yml",S="https://github.com/apps/opencode-agent";function z(e,t){let r=e.command("github").description(i("github.command.description"));r.command("install").description(i("github.command.install.description")).option("--provider <provider>",i("github.option.provider")).option("--model <model>",i("github.option.model")).action(async a=>{m.debug("Installing GitHub app"),await j(t,a);}),r.command("run").description(i("github.command.run.description")).option("--event <json>",i("github.option.event")).option("--token <token>",i("github.option.token")).action(async a=>{m.debug("Running GitHub agent",{options:a}),console.log(g(i("github.run.info")));});}async function j(e$1,t){try{Oa.project.vcs!=="git"&&(console.error(e(i("github.error.not_git_repo"))),process.exit(1)),console.log(h(i("github.install.starting")));let a=await W(),n=E(a);n||(console.error(e(i("github.error.parse_remote"))),process.exit(1)),console.log(i$1(i("github.field.owner"),n.owner)),console.log(i$1(i("github.field.repo"),n.repo)),console.log(k(60)),console.log(g(i("github.install.step1")));let i$2=`${S}?target=${n.owner}/${n.repo}`;console.log(g(i("github.install.open_url",{vars:{url:i$2}}))),await F(i$2),console.log(g(i("github.install.waiting")));let s=0,d$1=60;for(;s<d$1;){if(await H(n.owner,n.repo)){console.log(d(i("github.install.installed")));break}s++,await D(1e3);}s>=d$1&&(console.error(e(i("github.install.timeout"))),process.exit(1));let c=t.provider||await L(e$1),v=t.model||await T(e$1,c);console.log(k(60)),console.log(g(i("github.install.generating_workflow"))),await A(e$1,n.owner,n.repo,c,v),console.log(d(i("github.install.workflow_created",{vars:{file:R}}))),console.log(""),console.log(h(i("github.install.next_steps"))),console.log(g("1. "+i("github.install.step1_hint"))),console.log(g("2. "+i("github.install.step2_hint",{vars:{owner:n.owner,repo:n.repo}}))),console.log(g("3. "+i("github.install.step3_hint"))),m.debug("GitHub app installation complete",{owner:n.owner,repo:n.repo});}catch(r){m.error("Failed to install GitHub app",{error:r instanceof Error?r.message:String(r)}),console.error(e(i("github.install.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}}async function W(){let e=process.platform==="win32"?"cmd":void 0,t=Shell.spawn(e,"git remote get-url origin");if(await t.exited!==0)throw new Error("Failed to get git remote");return await PKG.nodeReadableStreamToText(t.stdout)}function E(e){let t=e.match(/^(?:(?:https?|ssh):\/\/)?(?:git@)?github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?$/);return t?{owner:t[1],repo:t[2]}:null}async function F(e){let t=process.platform==="darwin"?`open ${e}`:process.platform==="win32"?`start ${e}`:`xdg-open ${e}`;try{let r=process.platform==="win32"?"cmd":void 0;await Shell.spawn(r,t).exited;}catch{m.debug("Could not open browser automatically");}}async function H(e,t){try{return !!(await Fetch.get(`https://api.opencode.ai/get_github_app_installation?owner=${e}&repo=${t}`)).data?.installation}catch{return false}}async function L(e){let{data:t}=await e.sdk.config.providers({}),r=t?.providers||[],a={easbot:0,anthropic:1,openai:2,google:3},n=r.sort((i,s)=>(a[i.id]??99)-(a[s.id]??99));return console.log(""),console.log(g(i("github.install.select_provider"))),console.log(a$1({columns:[{key:"index",header:"#",minWidth:4},{key:"id",header:i("github.table.header.id"),minWidth:15},{key:"name",header:i("github.table.header.name"),flex:true},{key:"hint",header:"",minWidth:15}],rows:n.map((i,s)=>({index:`${s+1}`,id:i.id,name:i.name||i.id,hint:i.id==="easbot"?"recommended":""})),width:process.stdout.columns||80,border:"unicode"})),console.log(""),n[0]?.id||"easbot"}async function T(e,t){let{data:r}=await e.sdk.config.providers({}),n=(r?.providers||[]).find(s=>s.id===t);if(!n?.models)return "default";let i$1=Object.entries(n.models);if(i$1.length===0)return "default";console.log(""),console.log(g(i("github.install.select_model")));for(let s=0;s<i$1.length;s++){let[d,c]=i$1[s];console.log(` ${s+1}. ${c.name||d}`);}return console.log(""),i$1[0]?.[0]||"default"}async function A(e,t,r,a,n){let{data:i}=await e.sdk.config.providers({}),c=(i?.providers||[]).find(p=>p.id===a)?.env||[],y=`name: opencode
1
+ import {a as a$1}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import'./chunk-CQVEAYYW.mjs';import {g,e,h,i as i$1,k,d}from'./chunk-M3K32WJV.mjs';import {Oa}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';import {Shell,PKG,Fetch}from'@easbot/utils';var m=a.create({service:"cli-command-github"}),R=".github/workflows/opencode.yml",S="https://github.com/apps/opencode-agent";function z(e,t){let r=e.command("github").description(i("github.command.description"));r.command("install").description(i("github.command.install.description")).option("--provider <provider>",i("github.option.provider")).option("--model <model>",i("github.option.model")).action(async a=>{m.debug("Installing GitHub app"),await j(t,a);}),r.command("run").description(i("github.command.run.description")).option("--event <json>",i("github.option.event")).option("--token <token>",i("github.option.token")).action(async a=>{m.debug("Running GitHub agent",{options:a}),console.log(g(i("github.run.info")));});}async function j(e$1,t){try{Oa.project.vcs!=="git"&&(console.error(e(i("github.error.not_git_repo"))),process.exit(1)),console.log(h(i("github.install.starting")));let a=await W(),n=E(a);n||(console.error(e(i("github.error.parse_remote"))),process.exit(1)),console.log(i$1(i("github.field.owner"),n.owner)),console.log(i$1(i("github.field.repo"),n.repo)),console.log(k(60)),console.log(g(i("github.install.step1")));let i$2=`${S}?target=${n.owner}/${n.repo}`;console.log(g(i("github.install.open_url",{vars:{url:i$2}}))),await F(i$2),console.log(g(i("github.install.waiting")));let s=0,d$1=60;for(;s<d$1;){if(await H(n.owner,n.repo)){console.log(d(i("github.install.installed")));break}s++,await D(1e3);}s>=d$1&&(console.error(e(i("github.install.timeout"))),process.exit(1));let c=t.provider||await L(e$1),v=t.model||await T(e$1,c);console.log(k(60)),console.log(g(i("github.install.generating_workflow"))),await A(e$1,n.owner,n.repo,c,v),console.log(d(i("github.install.workflow_created",{vars:{file:R}}))),console.log(""),console.log(h(i("github.install.next_steps"))),console.log(g("1. "+i("github.install.step1_hint"))),console.log(g("2. "+i("github.install.step2_hint",{vars:{owner:n.owner,repo:n.repo}}))),console.log(g("3. "+i("github.install.step3_hint"))),m.debug("GitHub app installation complete",{owner:n.owner,repo:n.repo});}catch(r){m.error("Failed to install GitHub app",{error:r instanceof Error?r.message:String(r)}),console.error(e(i("github.install.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}}async function W(){let e=process.platform==="win32"?"cmd":void 0,t=Shell.spawn(e,"git remote get-url origin");if(await t.exited!==0)throw new Error("Failed to get git remote");return await PKG.nodeReadableStreamToText(t.stdout)}function E(e){let t=e.match(/^(?:(?:https?|ssh):\/\/)?(?:git@)?github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?$/);return t?{owner:t[1],repo:t[2]}:null}async function F(e){let t=process.platform==="darwin"?`open ${e}`:process.platform==="win32"?`start ${e}`:`xdg-open ${e}`;try{let r=process.platform==="win32"?"cmd":void 0;await Shell.spawn(r,t).exited;}catch{m.debug("Could not open browser automatically");}}async function H(e,t){try{return !!(await Fetch.get(`https://api.opencode.ai/get_github_app_installation?owner=${e}&repo=${t}`)).data?.installation}catch{return false}}async function L(e){let{data:t}=await e.sdk.config.providers({}),r=t?.providers||[],a={easbot:0,anthropic:1,openai:2,google:3},n=r.sort((i,s)=>(a[i.id]??99)-(a[s.id]??99));return console.log(""),console.log(g(i("github.install.select_provider"))),console.log(a$1({columns:[{key:"index",header:"#",minWidth:4},{key:"id",header:i("github.table.header.id"),minWidth:15},{key:"name",header:i("github.table.header.name"),flex:true},{key:"hint",header:"",minWidth:15}],rows:n.map((i,s)=>({index:`${s+1}`,id:i.id,name:i.name||i.id,hint:i.id==="easbot"?"recommended":""})),width:process.stdout.columns||80,border:"unicode"})),console.log(""),n[0]?.id||"easbot"}async function T(e,t){let{data:r}=await e.sdk.config.providers({}),n=(r?.providers||[]).find(s=>s.id===t);if(!n?.models)return "default";let i$1=Object.entries(n.models);if(i$1.length===0)return "default";console.log(""),console.log(g(i("github.install.select_model")));for(let s=0;s<i$1.length;s++){let[d,c]=i$1[s];console.log(` ${s+1}. ${c.name||d}`);}return console.log(""),i$1[0]?.[0]||"default"}async function A(e,t,r,a,n){let{data:i}=await e.sdk.config.providers({}),c=(i?.providers||[]).find(p=>p.id===a)?.env||[],y=`name: opencode
2
2
 
3
3
  on:
4
4
  issue_comment:
@@ -0,0 +1 @@
1
+ export{a as Global}from'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1,2 +1,2 @@
1
- import {h,e,d}from'./chunk-M3K32WJV.mjs';import {Oa}from'./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 {a as a$1}from'./chunk-HQE3WXCE.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-ZV27OCHD.mjs';import'./chunk-X6ISXWBN.mjs';import {PKG}from'@easbot/utils';var m=a.create({service:"cli-command-import"});function _(g,u){g.command("import <file>").description(i("import.command.description")).action(async t=>{m.debug("Importing session",{file:t});try{let s=t.startsWith("http://")||t.startsWith("https://"),o;if(s){console.log(h(i("import.fetching_url",{vars:{url:t}})));let r=await fetch(t);r.ok||(console.error(e(i("import.error.fetch_failed",{vars:{status:r.statusText}}))),process.exit(1)),o=await r.json();}else {console.log(h(i("import.reading_file",{vars:{file:t}})));let r=await PKG.file(t).text();o=JSON.parse(r);}o?.info||(console.error(e(i("import.error.invalid_format"))),process.exit(1)),m.debug("Importing session data",{sessionId:o.info.id}),await a$1.write(["session",Oa.project.id,o.info.id],o.info);for(let r of o.messages){await a$1.write(["message",o.info.id,r.info.id],r.info);for(let c of r.parts)await a$1.write(["part",r.info.id,c.id],c);}console.log(d(i("import.success",{vars:{sessionId:o.info.id}})));}catch(s){m.error("Failed to import session",{file:t,error:s instanceof Error?s.message:String(s)}),console.error(e(i("import.error.failed",{vars:{error:s instanceof Error?s.message:String(s)}}))),process.exit(1);}});}
1
+ import {h,e,d}from'./chunk-M3K32WJV.mjs';import {Oa}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import {a as a$1}from'./chunk-JII5HRIF.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';import {PKG}from'@easbot/utils';var m=a.create({service:"cli-command-import"});function _(g,u){g.command("import <file>").description(i("import.command.description")).action(async t=>{m.debug("Importing session",{file:t});try{let s=t.startsWith("http://")||t.startsWith("https://"),o;if(s){console.log(h(i("import.fetching_url",{vars:{url:t}})));let r=await fetch(t);r.ok||(console.error(e(i("import.error.fetch_failed",{vars:{status:r.statusText}}))),process.exit(1)),o=await r.json();}else {console.log(h(i("import.reading_file",{vars:{file:t}})));let r=await PKG.file(t).text();o=JSON.parse(r);}o?.info||(console.error(e(i("import.error.invalid_format"))),process.exit(1)),m.debug("Importing session data",{sessionId:o.info.id}),await a$1.write(["session",Oa.project.id,o.info.id],o.info);for(let r of o.messages){await a$1.write(["message",o.info.id,r.info.id],r.info);for(let c of r.parts)await a$1.write(["part",r.info.id,c.id],c);}console.log(d(i("import.success",{vars:{sessionId:o.info.id}})));}catch(s){m.error("Failed to import session",{file:t,error:s instanceof Error?s.message:String(s)}),console.error(e(i("import.error.failed",{vars:{error:s instanceof Error?s.message:String(s)}}))),process.exit(1);}});}
2
2
  export{_ as registerImportCommand};
@@ -0,0 +1 @@
1
+ export{b as Installation}from'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{Oa as Instance}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{H as directories,G as get,J as getGlobal,I as global,E as state,F as waitForDependencies}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{a as PluginLoader,b as createPluginLoader}from'./chunk-IXO5FAWI.mjs';import'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{b as LSP}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{P as MCP}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +1 @@
1
- import {a as a$3}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import {a as a$2}from'./chunk-DRWG7AVN.mjs';import'./chunk-CQVEAYYW.mjs';import {l,d,e,h,i as i$1,b,c,a as a$4}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 as a$1}from'./chunk-LFYBZHOI.mjs';import'./chunk-ZV27OCHD.mjs';import'./chunk-X6ISXWBN.mjs';var a=a$1.create({service:"cli-command-mcp"});function T(w,c$1){let M=w.command("mcp").description(i("mcp.command.description"));M.command("list").description(i("mcp.command.list.description")).action(async()=>{await a$2(c$1.config.directory,async()=>{try{a.info("Listing MCP servers");let{data:o}=await c$1.sdk.config.get({directory:c$1.config.directory}),r=o?.mcp||{},n=Object.entries(r).map(([s,m])=>({name:s,type:m.type||"local",command:m.command,url:m.url,enabled:m.enabled,environment:m.environment,headers:m.headers}));if(n.length===0){console.log(l(i("mcp.list.empty")));return}console.log(d(i("mcp.list.success",{vars:{count:n.length}}))),console.log(""),console.log(a$3({columns:[{key:"name",header:i("mcp.table.header.name"),minWidth:20},{key:"command",header:i("mcp.table.header.command"),minWidth:30},{key:"disabled",header:i("mcp.table.header.disabled"),minWidth:10}],rows:n.map(s=>({name:s.name,command:s.type==="local"?s.command?.join(" ")||"":s.url||"",disabled:s.enabled===!1?i("common.yes"):i("common.no")})),width:process.stdout.columns||80,border:"unicode"})),a.debug("MCP server list displayed",{count:n.length});}catch(o){a.error("Failed to list MCP servers",{error:o instanceof Error?o.message:String(o)}),console.error(e(i("mcp.list.error"))),process.exit(1);}});}),M.command("info <name>").description(i("mcp.command.info.description")).action(async o=>{await a$2(c$1.config.directory,async()=>{try{a.debug("Getting MCP server info",{name:o});let{data:r}=await c$1.sdk.config.get({directory:c$1.config.directory}),n=r?.mcp?.[o];n||(console.error(e(i("mcp.info.notfound",{vars:{name:o}}))),process.exit(1));let s=n.type||"local",m=n.command,d$1=n.url,l=n.enabled,f=n.environment,g=n.headers;if(console.log(d(i("mcp.info.success"))),console.log(""),console.log(h(i("mcp.info.heading"))),console.log(""),console.log(i$1(i("mcp.info.field.name")+":",o)),console.log(i$1(i("mcp.info.field.type")+":",s)),s==="local"||!s){if(console.log(i$1(i("mcp.info.field.command")+":",m?.join(" ")||"")),console.log(i$1(i("mcp.info.field.enabled")+":",l!==!1?i("common.yes"):i("common.no"))),f&&Object.keys(f).length>0){console.log(i$1(i("mcp.info.field.environment")+":",""));let p=b();console.log(c(p,a$4.muted,JSON.stringify(f,null,2)));}}else if(s==="remote"&&(console.log(i$1(i("mcp.info.field.url")+":",d$1||"")),console.log(i$1(i("mcp.info.field.enabled")+":",l!==!1?i("common.yes"):i("common.no"))),g&&Object.keys(g).length>0)){console.log(i$1(i("mcp.info.field.headers")+":",""));let p=b();console.log(c(p,a$4.muted,JSON.stringify(g,null,2)));}a.debug("MCP server info displayed",{name:o});}catch(r){a.error("Failed to get MCP server info",{name:o,error:r instanceof Error?r.message:String(r)}),console.error(e(i("mcp.info.error",{vars:{error:String(r)}}))),process.exit(1);}});}),M.command("add").description(i("mcp.command.add.description")).requiredOption("--name <name>",i("mcp.command.add.option.name")).requiredOption("--command <command>",i("mcp.command.add.option.command")).option("--args <json>",i("mcp.command.add.option.args")).option("--env <json>",i("mcp.command.add.option.env")).action(async o=>{await a$2(c$1.config.directory,async()=>{try{a.debug("Adding MCP server",{name:o.name}),console.log(h(i("mcp.add.begin")));let r;if(o.args)try{r=JSON.parse(o.args),Array.isArray(r)||(console.error(e(i("mcp.add.error.args_invalid"))),process.exit(1));}catch{console.error(e(i("mcp.add.error.args_invalid"))),process.exit(1);}let n;if(o.env)try{n=JSON.parse(o.env),(typeof n!="object"||Array.isArray(n))&&(console.error(e(i("mcp.add.error.env_invalid"))),process.exit(1));}catch{console.error(e(i("mcp.add.error.env_invalid"))),process.exit(1);}let s={type:"local",command:[o.command,...r||[]]};n&&(s.environment=n),await c$1.sdk.config.update({directory:c$1.config.directory,config:{mcp:{[o.name]:s}}});let{data:m}=await c$1.sdk.config.get({directory:c$1.config.directory}),d$1=m?.mcp?.[o.name],l=d$1.type;console.log(d(i("mcp.add.success",{vars:{name:o.name}}))),console.log(""),console.log(h(i("mcp.info.heading"))),console.log(""),console.log(i$1(i("mcp.info.field.name")+":",o.name)),console.log(i$1(i("mcp.info.field.type")+":",l||"local"));let f=d$1.command,g=d$1.environment,p=d$1.url,P=d$1.headers;if(l==="local"||!l){if(console.log(i$1(i("mcp.info.field.command")+":",f?.join(" ")||[o.command].join(" "))),g&&Object.keys(g).length>0){console.log(i$1(i("mcp.info.field.environment")+":",""));let S=b();console.log(c(S,a$4.muted,JSON.stringify(g,null,2)));}}else if(l==="remote"&&(console.log(i$1(i("mcp.info.field.url")+":",p||"")),P&&Object.keys(P).length>0)){console.log(i$1(i("mcp.info.field.headers")+":",""));let S=b();console.log(c(S,a$4.muted,JSON.stringify(P,null,2)));}a.debug("MCP server added successfully",{name:o.name});}catch(r){a.error("Failed to add MCP server",{name:o.name,error:r instanceof Error?r.message:String(r)}),console.error(e(i("mcp.add.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}),M.command("remove <name>").description(i("mcp.command.remove.description")).action(async o=>{await a$2(c$1.config.directory,async()=>{try{a.debug("Removing MCP server",{name:o}),console.log(h(i("mcp.remove.begin")));let{data:r}=await c$1.sdk.config.get({directory:c$1.config.directory});r?.mcp?.[o]||(console.error(e(i("mcp.remove.not_found",{vars:{name:o}}))),process.exit(1)),await c$1.sdk.config.update({directory:c$1.config.directory,config:{mcp:{[o]:null}}}),console.log(d(i("mcp.remove.success",{vars:{name:o}}))),a.debug("MCP server removed successfully",{name:o});}catch(r){a.error("Failed to remove MCP server",{name:o,error:r instanceof Error?r.message:String(r)}),console.error(e(i("mcp.remove.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});});}export{T as registerMcpCommands};
1
+ import {a as a$3}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import {a as a$2}from'./chunk-3Q4UCILK.mjs';import'./chunk-CQVEAYYW.mjs';import {l,d,e,h,i as i$1,b,c,a as a$4}from'./chunk-M3K32WJV.mjs';import'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import {a as a$1}from'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';var a=a$1.create({service:"cli-command-mcp"});function T(w,c$1){let M=w.command("mcp").description(i("mcp.command.description"));M.command("list").description(i("mcp.command.list.description")).action(async()=>{await a$2(c$1.config.directory,async()=>{try{a.info("Listing MCP servers");let{data:o}=await c$1.sdk.config.get({directory:c$1.config.directory}),r=o?.mcp||{},n=Object.entries(r).map(([s,m])=>({name:s,type:m.type||"local",command:m.command,url:m.url,enabled:m.enabled,environment:m.environment,headers:m.headers}));if(n.length===0){console.log(l(i("mcp.list.empty")));return}console.log(d(i("mcp.list.success",{vars:{count:n.length}}))),console.log(""),console.log(a$3({columns:[{key:"name",header:i("mcp.table.header.name"),minWidth:20},{key:"command",header:i("mcp.table.header.command"),minWidth:30},{key:"disabled",header:i("mcp.table.header.disabled"),minWidth:10}],rows:n.map(s=>({name:s.name,command:s.type==="local"?s.command?.join(" ")||"":s.url||"",disabled:s.enabled===!1?i("common.yes"):i("common.no")})),width:process.stdout.columns||80,border:"unicode"})),a.debug("MCP server list displayed",{count:n.length});}catch(o){a.error("Failed to list MCP servers",{error:o instanceof Error?o.message:String(o)}),console.error(e(i("mcp.list.error"))),process.exit(1);}});}),M.command("info <name>").description(i("mcp.command.info.description")).action(async o=>{await a$2(c$1.config.directory,async()=>{try{a.debug("Getting MCP server info",{name:o});let{data:r}=await c$1.sdk.config.get({directory:c$1.config.directory}),n=r?.mcp?.[o];n||(console.error(e(i("mcp.info.notfound",{vars:{name:o}}))),process.exit(1));let s=n.type||"local",m=n.command,d$1=n.url,l=n.enabled,f=n.environment,g=n.headers;if(console.log(d(i("mcp.info.success"))),console.log(""),console.log(h(i("mcp.info.heading"))),console.log(""),console.log(i$1(i("mcp.info.field.name")+":",o)),console.log(i$1(i("mcp.info.field.type")+":",s)),s==="local"||!s){if(console.log(i$1(i("mcp.info.field.command")+":",m?.join(" ")||"")),console.log(i$1(i("mcp.info.field.enabled")+":",l!==!1?i("common.yes"):i("common.no"))),f&&Object.keys(f).length>0){console.log(i$1(i("mcp.info.field.environment")+":",""));let p=b();console.log(c(p,a$4.muted,JSON.stringify(f,null,2)));}}else if(s==="remote"&&(console.log(i$1(i("mcp.info.field.url")+":",d$1||"")),console.log(i$1(i("mcp.info.field.enabled")+":",l!==!1?i("common.yes"):i("common.no"))),g&&Object.keys(g).length>0)){console.log(i$1(i("mcp.info.field.headers")+":",""));let p=b();console.log(c(p,a$4.muted,JSON.stringify(g,null,2)));}a.debug("MCP server info displayed",{name:o});}catch(r){a.error("Failed to get MCP server info",{name:o,error:r instanceof Error?r.message:String(r)}),console.error(e(i("mcp.info.error",{vars:{error:String(r)}}))),process.exit(1);}});}),M.command("add").description(i("mcp.command.add.description")).requiredOption("--name <name>",i("mcp.command.add.option.name")).requiredOption("--command <command>",i("mcp.command.add.option.command")).option("--args <json>",i("mcp.command.add.option.args")).option("--env <json>",i("mcp.command.add.option.env")).action(async o=>{await a$2(c$1.config.directory,async()=>{try{a.debug("Adding MCP server",{name:o.name}),console.log(h(i("mcp.add.begin")));let r;if(o.args)try{r=JSON.parse(o.args),Array.isArray(r)||(console.error(e(i("mcp.add.error.args_invalid"))),process.exit(1));}catch{console.error(e(i("mcp.add.error.args_invalid"))),process.exit(1);}let n;if(o.env)try{n=JSON.parse(o.env),(typeof n!="object"||Array.isArray(n))&&(console.error(e(i("mcp.add.error.env_invalid"))),process.exit(1));}catch{console.error(e(i("mcp.add.error.env_invalid"))),process.exit(1);}let s={type:"local",command:[o.command,...r||[]]};n&&(s.environment=n),await c$1.sdk.config.update({directory:c$1.config.directory,config:{mcp:{[o.name]:s}}});let{data:m}=await c$1.sdk.config.get({directory:c$1.config.directory}),d$1=m?.mcp?.[o.name],l=d$1.type;console.log(d(i("mcp.add.success",{vars:{name:o.name}}))),console.log(""),console.log(h(i("mcp.info.heading"))),console.log(""),console.log(i$1(i("mcp.info.field.name")+":",o.name)),console.log(i$1(i("mcp.info.field.type")+":",l||"local"));let f=d$1.command,g=d$1.environment,p=d$1.url,P=d$1.headers;if(l==="local"||!l){if(console.log(i$1(i("mcp.info.field.command")+":",f?.join(" ")||[o.command].join(" "))),g&&Object.keys(g).length>0){console.log(i$1(i("mcp.info.field.environment")+":",""));let S=b();console.log(c(S,a$4.muted,JSON.stringify(g,null,2)));}}else if(l==="remote"&&(console.log(i$1(i("mcp.info.field.url")+":",p||"")),P&&Object.keys(P).length>0)){console.log(i$1(i("mcp.info.field.headers")+":",""));let S=b();console.log(c(S,a$4.muted,JSON.stringify(P,null,2)));}a.debug("MCP server added successfully",{name:o.name});}catch(r){a.error("Failed to add MCP server",{name:o.name,error:r instanceof Error?r.message:String(r)}),console.error(e(i("mcp.add.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}),M.command("remove <name>").description(i("mcp.command.remove.description")).action(async o=>{await a$2(c$1.config.directory,async()=>{try{a.debug("Removing MCP server",{name:o}),console.log(h(i("mcp.remove.begin")));let{data:r}=await c$1.sdk.config.get({directory:c$1.config.directory});r?.mcp?.[o]||(console.error(e(i("mcp.remove.not_found",{vars:{name:o}}))),process.exit(1)),await c$1.sdk.config.update({directory:c$1.config.directory,config:{mcp:{[o]:null}}}),console.log(d(i("mcp.remove.success",{vars:{name:o}}))),a.debug("MCP server removed successfully",{name:o});}catch(r){a.error("Failed to remove MCP server",{name:o,error:r instanceof Error?r.message:String(r)}),console.error(e(i("mcp.remove.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});});}export{T as registerMcpCommands};
@@ -0,0 +1 @@
1
+ export{a as ModelsDev,b as initModelsRefresh}from'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1,3 +1,3 @@
1
- import {e,h,g,d}from'./chunk-M3K32WJV.mjs';import {Oa}from'./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 {Shell,PKG}from'@easbot/utils';var f=a.create({service:"cli-command-pr"});function F(N,v){N.command("pr <number>").description(i("pr.command.description")).action(async d$1=>{f.debug("Checking out PR",{prNumber:d$1});try{Oa.project.vcs!=="git"&&(console.error(e(i("pr.error.not_git_repo"))),process.exit(1));let r=parseInt(d$1,10);(Number.isNaN(r)||r<=0)&&(console.error(e(i("pr.error.invalid_number",{vars:{number:d$1}}))),process.exit(1)),console.log(h(i("pr.checking_out",{vars:{prNumber:String(r)}})));let c=process.platform==="win32"?"cmd":void 0,g$1=`pr/${r}`;await Shell.spawn(c,`gh pr checkout ${r} --branch ${g$1} --force`).exited!==0&&(console.error(e(i("pr.error.checkout_failed"))),console.error(g(i("pr.error.gh_not_installed"))),process.exit(1)),console.log(d(i("pr.checkout_success",{vars:{prNumber:String(r),branch:g$1}})));let w=Shell.spawn(c,`gh pr view ${r} --json headRepository,headRepositoryOwner,isCrossRepository,headRefName,body`),C=await w.exited,h$1;if(C===0){let y=await PKG.nodeReadableStreamToText(w.stdout);if(y.trim())try{let t=JSON.parse(y);if(t?.isCrossRepository&&t.headRepository&&t.headRepositoryOwner){let n=t.headRepositoryOwner.login,m=t.headRepository.name,s=n,u=Shell.spawn(c,"git remote"),R=await PKG.nodeReadableStreamToText(u.stdout);await u.exited,R.split(`
1
+ import {e,h,g,d}from'./chunk-M3K32WJV.mjs';import {Oa}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';import {Shell,PKG}from'@easbot/utils';var f=a.create({service:"cli-command-pr"});function F(N,v){N.command("pr <number>").description(i("pr.command.description")).action(async d$1=>{f.debug("Checking out PR",{prNumber:d$1});try{Oa.project.vcs!=="git"&&(console.error(e(i("pr.error.not_git_repo"))),process.exit(1));let r=parseInt(d$1,10);(Number.isNaN(r)||r<=0)&&(console.error(e(i("pr.error.invalid_number",{vars:{number:d$1}}))),process.exit(1)),console.log(h(i("pr.checking_out",{vars:{prNumber:String(r)}})));let c=process.platform==="win32"?"cmd":void 0,g$1=`pr/${r}`;await Shell.spawn(c,`gh pr checkout ${r} --branch ${g$1} --force`).exited!==0&&(console.error(e(i("pr.error.checkout_failed"))),console.error(g(i("pr.error.gh_not_installed"))),process.exit(1)),console.log(d(i("pr.checkout_success",{vars:{prNumber:String(r),branch:g$1}})));let w=Shell.spawn(c,`gh pr view ${r} --json headRepository,headRepositoryOwner,isCrossRepository,headRefName,body`),C=await w.exited,h$1;if(C===0){let y=await PKG.nodeReadableStreamToText(w.stdout);if(y.trim())try{let t=JSON.parse(y);if(t?.isCrossRepository&&t.headRepository&&t.headRepositoryOwner){let n=t.headRepositoryOwner.login,m=t.headRepository.name,s=n,u=Shell.spawn(c,"git remote"),R=await PKG.nodeReadableStreamToText(u.stdout);await u.exited,R.split(`
2
2
  `).includes(s)||(await Shell.spawn(c,`git remote add ${s} https://github.com/${n}/${m}.git`).exited,console.log(g(i("pr.added_fork_remote",{vars:{remote:s}}))));}if(t?.body){let n=t.body.match(/https:\/\/opncd\.ai\/s\/([a-zA-Z0-9_-]+)/);if(n){let m=n[0];console.log(g(i("pr.found_session",{vars:{url:m}})));let s=Shell.spawn(c,`easbot import ${m}`);if(await s.exited===0){let x=(await PKG.nodeReadableStreamToText(s.stdout)).match(/Imported session: ([a-zA-Z0-9_-]+)/);x&&(h$1=x[1],console.log(d(i("pr.session_imported",{vars:{sessionId:h$1}}))));}}}}catch{f.debug("Failed to parse PR info JSON");}}console.log(""),console.log(d(i("pr.ready"))),console.log(g(i("pr.start_easbot",{vars:{branch:g$1}}))),f.debug("PR checkout complete",{prNumber:r,sessionId:h$1});}catch(e$1){f.error("Failed to checkout PR",{prNumber:d$1,error:e$1 instanceof Error?e$1.message:String(e$1)}),console.error(e(i("pr.error.failed",{vars:{error:e$1 instanceof Error?e$1.message:String(e$1)}}))),process.exit(1);}});}
3
3
  export{F as registerPrCommand};
@@ -0,0 +1 @@
1
+ export{a as loadTuiState,b as saveTuiStateToStorage}from'./chunk-H45MZAM6.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{Na as Project}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{Aa as SessionPrompt}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{j as Provider}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{na as ToolRegistry}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{l as SessionRevert}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{a as Ripgrep}from'./chunk-XQXI2ZHB.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1,8 +1,8 @@
1
- import {a as a$3}from'./chunk-FXOUIXIL.mjs';import {a as a$1}from'./chunk-DRWG7AVN.mjs';import {e,f,b,c,a as a$2,g,i as i$1,d,j as j$1}from'./chunk-M3K32WJV.mjs';import {Aa,j,k as k$1,m as m$1}from'./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 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$3(o)}return a$3(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(`
1
+ import {a as a$3}from'./chunk-FXOUIXIL.mjs';import {a as a$1}from'./chunk-3Q4UCILK.mjs';import {e,f,b,c,a as a$2,g,i as i$1,d,j as j$1}from'./chunk-M3K32WJV.mjs';import {Aa,j,k as k$1,m as m$1}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.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$3(o)}return a$3(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
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(i("run.command.description")).option("--command <command>",i("run.option.command")).option("-c, --continue",i("run.option.continue")).option("-s, --session <id>",i("run.option.session")).option("--fork",i("run.option.fork")).option("--share",i("run.option.share")).option("-m, --model <model>",i("run.option.model")).option("--agent <agent>",i("run.option.agent")).option("--format <format>",i("run.option.format"),"default").option("-f, --file <files...>",i("run.option.file")).option("--title <title>",i("run.option.title")).option("--variant <variant>",i("run.option.variant")).option("--thinking",i("run.option.thinking"),false).action(async(n,i)=>{await tt(n,i,o),process.exit(0);});}async function tt(t,o,n){await a$1(n.config.directory,async()=>{await ot(t,o,n);});}async function ot(t,o,n){let i$1=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(i("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$1.trim().length===0&&!o.command&&(console.error(e(i("run.error.no_message"))),process.exit(1)),o.fork&&!o.continue&&!o.session&&(console.error(e(i("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(i("run.warning.agent_not_found",{vars:{agent:o.agent}})));return}return o.agent})(),l=await et(o,i$1,n);l||(console.error(e(i("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 Aa.command({sessionID:l,agent:a,model:o.model,command:o.command,arguments:i$1,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 Aa.prompt({sessionID:l,agent:a,model:u,variant:o.variant,parts:[...e$1,{type:"text",text:i$1}]});}await Q;}finally{if(y.abort(),q.abort(),h)try{await n.sdk.session.delete({sessionID:l});}catch{console.warn(f(i("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$2){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$2.get("start")!==true&&(console.log(),console.log(`> ${t.properties.info.agent} \xB7 ${t.properties.info.modelID}`),console.log(),i$2.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$2.get(e.id)===true)return;U.task(G(e)),i$2.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$2.muted,"=".repeat(80))),console.log(g(i("run.permission.request",{vars:{permission:e.permission}}))),console.log(i$1(i("run.permission.targets_label"),e.patterns.join(", "))),console.log(c(a,a$2.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$2.muted,"=".repeat(80))),console.log(g(i("run.question.agent_asking"))),console.log(c(a,a$2.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$1=>{let s=`
3
+ `));}}};function Z(t){let o=U[t.tool];o?o(G(t)):X(t);}function to(t,o){t.command("run [message...]").description(i("run.command.description")).option("--command <command>",i("run.option.command")).option("-c, --continue",i("run.option.continue")).option("-s, --session <id>",i("run.option.session")).option("--fork",i("run.option.fork")).option("--share",i("run.option.share")).option("-m, --model <model>",i("run.option.model")).option("--agent <agent>",i("run.option.agent")).option("--format <format>",i("run.option.format"),"default").option("-f, --file <files...>",i("run.option.file")).option("--title <title>",i("run.option.title")).option("--variant <variant>",i("run.option.variant")).option("--thinking",i("run.option.thinking"),false).action(async(n,i)=>{await tt(n,i,o),process.exit(0);});}async function tt(t,o,n){await a$1(n.config.directory,async()=>{await ot(t,o,n);});}async function ot(t,o,n){let i$1=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(i("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$1.trim().length===0&&!o.command&&(console.error(e(i("run.error.no_message"))),process.exit(1)),o.fork&&!o.continue&&!o.session&&(console.error(e(i("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(i("run.warning.agent_not_found",{vars:{agent:o.agent}})));return}return o.agent})(),l=await et(o,i$1,n);l||(console.error(e(i("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:f$1}=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 f$1){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 Aa.command({sessionId:l,agent:a,model:o.model,command:o.command,arguments:i$1,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 Aa.prompt({sessionId:l,agent:a,model:u,variant:o.variant,parts:[...e$1,{type:"text",text:i$1}]});}await Q;}finally{if(y.abort(),q.abort(),h)try{await n.sdk.session.delete({sessionId:l});}catch{console.warn(f(i("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$2){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$2.get("start")!==true&&(console.log(),console.log(`> ${t.properties.info.agent} \xB7 ${t.properties.info.modelId}`),console.log(),i$2.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$2.get(e.id)===true)return;U.task(G(e)),i$2.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$2.muted,"=".repeat(80))),console.log(g(i("run.permission.request",{vars:{permission:e.permission}}))),console.log(i$1(i("run.permission.targets_label"),e.patterns.join(", "))),console.log(c(a,a$2.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$2.muted,"=".repeat(80))),console.log(g(i("run.question.agent_asking"))),console.log(c(a,a$2.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$1=>{let s=`
6
6
  `+i("run.permission.select_action")+`
7
7
  [y] `+i("run.permission.once")+`
8
8
  [a] `+i("run.permission.always")+`
@@ -18,5 +18,5 @@ import {a as a$3}from'./chunk-FXOUIXIL.mjs';import {a as a$1}from'./chunk-DRWG7A
18
18
  `+i("run.question.hint.custom_disabled_multiple")):console.log(`
19
19
  `+i("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
20
  `+i("run.question.input_prompt_multiple")+": ":`
21
- `+i("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(i("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(i("run.question.invalid_option"))),l(null)):l([y]);});});}n.push(e$1),console.log(d(i("run.question.answered",{vars:{answer:e$1.join(", ")||"(\u7A7A)"}}))+`
21
+ `+i("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)),f=[];for(let p of C)p>0&&p<=s.options.length&&f.push(s.options[p-1].label);if(f.length===0){console.log(e(i("run.question.invalid_input"))),l(null);return}if(!s.multiple&&f.length>1){let p=f[0];l(p!==void 0?[p]:f);}else l(f);}else s.custom===false?(console.log(e(i("run.question.invalid_option"))),l(null)):l([y]);});});}n.push(e$1),console.log(d(i("run.question.answered",{vars:{answer:e$1.join(", ")||"(\u7A7A)"}}))+`
22
22
  `);}return n}export{to as registerRunCommand};
@@ -0,0 +1 @@
1
+ export{Ca as DEFAULT_HEARTBEAT_TEMPLATE,Da as DEFAULT_SCHEDULED_TEMPLATE,Ia as HookEvent,Ea as PromptTemplate,Ha as Scheduler,Fa as TaskHistory,c as TaskStorage,d as TaskStore,i as describeCron,h as formatCronExpression,g as getNextFireTime,f as isValidCron,e as parseCronExpression,Ga as recordTaskExecution}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{wa as Server}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{Ma as Session,Z as Task}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{Ma as Session}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +1 @@
1
- import {a as a$2}from'./chunk-TYD2M4SP.mjs';import {a as a$4}from'./chunk-FXOUIXIL.mjs';import {a as a$1}from'./chunk-DRWG7AVN.mjs';import'./chunk-CQVEAYYW.mjs';import {l,d,b,c,a as a$3,e,h,i as i$1}from'./chunk-M3K32WJV.mjs';import {ja}from'./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';a.create({service:"cli-api-tui"});var t=a.create({service:"cli-command-session"});function se(P,n){let m=P.command("session").description(i("session.command.description"));m.command("list").description(i("session.command.list.description")).option("-n, --max-count <number>",i("session.command.list.option.max_count"),parseInt).option("--format <format>",i("session.command.list.option.format"),"table").action(async s=>{await a$1(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(i("session.list.empty")));return}if(s.format==="json")console.log(ja.formatSessionJSON(e));else {console.log(d(i("session.list.success",{vars:{count:e.length}}))),console.log("");let p=b();console.log(a$2({columns:[{key:"id",header:i("session.table.header.id"),minWidth:25},{key:"title",header:i("session.table.header.title"),flex:!0,minWidth:20},{key:"created",header:i("session.table.header.created"),minWidth:20},{key:"updated",header:i("session.table.header.updated"),minWidth:20}],rows:e.map(a=>({id:a.id,title:a.title||c(p,a$3.muted,i("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(i("session.list.error"))),process.exit(1);}});}),m.command("info <session-id>").description(i("session.command.info.description")).action(async s=>{await a$1(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(i("session.get.not_found",{vars:{sessionId:s}}))),process.exit(1)),console.log(d(i("session.get.success"))),console.log(""),console.log(h(i("session.info.heading"))),console.log(""),console.log(i$1(i("session.field.id")+":",e$1.id,12)),console.log(i$1(i("session.field.title")+":",e$1.title||c(p,a$3.muted,i("session.untitled")),12)),console.log(i$1(i("session.field.created")+":",new Date(e$1.time.created).toLocaleString(),12)),console.log(i$1(i("session.field.updated")+":",new Date(e$1.time.updated).toLocaleString(),12)),e$1.directory&&console.log(i$1(i("session.field.directory")+":",a$4(e$1.directory),12)),e$1.projectID&&console.log(i$1(i("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(i("session.get.error"))),process.exit(1);}});}),m.command("delete <session-id>").description(i("session.command.delete.description")).action(async s=>{await a$1(n.config.directory,async()=>{try{t.debug("Deleting session",{sessionId:s}),await n.sdk.session.delete({sessionID:s}),console.log(d(i("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(i("session.delete.error"))),process.exit(1);}});});}export{se as registerSessionCommands};
1
+ import {a as a$2}from'./chunk-TYD2M4SP.mjs';import {a as a$4}from'./chunk-FXOUIXIL.mjs';import {a as a$1}from'./chunk-3Q4UCILK.mjs';import'./chunk-CQVEAYYW.mjs';import {l,d,b,c,a as a$3,e,h,i as i$1}from'./chunk-M3K32WJV.mjs';import {ja}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import {i}from'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.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(i("session.command.description"));m.command("list").description(i("session.command.list.description")).option("-n, --max-count <number>",i("session.command.list.option.max_count"),parseInt).option("--format <format>",i("session.command.list.option.format"),"table").action(async s=>{await a$1(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(i("session.list.empty")));return}if(s.format==="json")console.log(ja.formatSessionJSON(e));else {console.log(d(i("session.list.success",{vars:{count:e.length}}))),console.log("");let p=b();console.log(a$2({columns:[{key:"id",header:i("session.table.header.id"),minWidth:25},{key:"title",header:i("session.table.header.title"),flex:!0,minWidth:20},{key:"created",header:i("session.table.header.created"),minWidth:20},{key:"updated",header:i("session.table.header.updated"),minWidth:20}],rows:e.map(a=>({id:a.id,title:a.title||c(p,a$3.muted,i("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(i("session.list.error"))),process.exit(1);}});}),m.command("info <session-id>").description(i("session.command.info.description")).action(async s=>{await a$1(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(i("session.get.not_found",{vars:{sessionId:s}}))),process.exit(1)),console.log(d(i("session.get.success"))),console.log(""),console.log(h(i("session.info.heading"))),console.log(""),console.log(i$1(i("session.field.id")+":",e$1.id,12)),console.log(i$1(i("session.field.title")+":",e$1.title||c(p,a$3.muted,i("session.untitled")),12)),console.log(i$1(i("session.field.created")+":",new Date(e$1.time.created).toLocaleString(),12)),console.log(i$1(i("session.field.updated")+":",new Date(e$1.time.updated).toLocaleString(),12)),e$1.directory&&console.log(i$1(i("session.field.directory")+":",a$4(e$1.directory),12)),e$1.providerId&&console.log(i$1(i("session.field.project_id")+":",e$1.providerId,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(i("session.get.error"))),process.exit(1);}});}),m.command("delete <session-id>").description(i("session.command.delete.description")).action(async s=>{await a$1(n.config.directory,async()=>{try{t.debug("Deleting session",{sessionId:s}),await n.sdk.session.delete({sessionId:s}),console.log(d(i("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(i("session.delete.error"))),process.exit(1);}});});}export{se as registerSessionCommands};
@@ -0,0 +1 @@
1
+ export{La as Share}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -0,0 +1 @@
1
+ export{Ja as Snapshot}from'./chunk-YGFGAD5H.mjs';import'./chunk-CCRIJZBK.mjs';import'./chunk-XQXI2ZHB.mjs';import'./chunk-ZFGVQIO5.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-H45MZAM6.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-UNBJ6Y7L.mjs';import'./chunk-ZG2HQDXQ.mjs';import'./chunk-O2JOXYKG.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';
@@ -1 +1 @@
1
- import {a as a$1}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import'./chunk-CQVEAYYW.mjs';import {h as h$1,d,e}from'./chunk-M3K32WJV.mjs';import {i}from'./chunk-UNBJ6Y7L.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(i("stats.command.description")).option("--days <number>",i("stats.option.days")).option("--tools <number>",i("stats.option.tools")).option("--models [number]",i("stats.option.models")).action(async r=>{u.debug("Displaying stats",{options:r});try{console.log(h$1(i("stats.loading")));let t=await h(g,r.days);console.log(d(i("stats.display_ready"))),console.log(""),console.log(h$1(i("stats.overview"))),console.log(a$1({columns:[{key:"label",header:i("stats.table.header.metric"),minWidth:25},{key:"value",header:i("stats.table.header.value"),flex:!0}],rows:[{label:i("stats.metric.sessions"),value:t.totalSessions.toLocaleString()},{label:i("stats.metric.messages"),value:t.totalMessages.toLocaleString()}],width:process.stdout.columns||80,border:"unicode"})),console.log(""),console.log(h$1(i("stats.cost_tokens")));let d$1=Number.isNaN(t.totalCost)?0:t.totalCost;if(console.log(a$1({columns:[{key:"label",header:i("stats.table.header.metric"),minWidth:25},{key:"value",header:i("stats.table.header.value"),flex:!0}],rows:[{label:i("stats.metric.total_cost"),value:`$${d$1.toFixed(2)}`},{label:i("stats.metric.input"),value:m(t.totalTokens.input)},{label:i("stats.metric.output"),value:m(t.totalTokens.output)},{label:i("stats.metric.cache_read"),value:m(t.totalTokens.cache.read)},{label:i("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(i("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$1({columns:[{key:"tool",header:i("stats.table.header.tool"),minWidth:20},{key:"count",header:i("stats.table.header.count"),minWidth:10},{key:"percent",header:i("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(i("stats.error.failed",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}export{U as registerStatsCommand};
1
+ import {a as a$1}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import'./chunk-CQVEAYYW.mjs';import {h as h$1,d,e}from'./chunk-M3K32WJV.mjs';import {i}from'./chunk-UNBJ6Y7L.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(i("stats.command.description")).option("--days <number>",i("stats.option.days")).option("--tools <number>",i("stats.option.tools")).option("--models [number]",i("stats.option.models")).action(async r=>{u.debug("Displaying stats",{options:r});try{console.log(h$1(i("stats.loading")));let t=await h(g,r.days);console.log(d(i("stats.display_ready"))),console.log(""),console.log(h$1(i("stats.overview"))),console.log(a$1({columns:[{key:"label",header:i("stats.table.header.metric"),minWidth:25},{key:"value",header:i("stats.table.header.value"),flex:!0}],rows:[{label:i("stats.metric.sessions"),value:t.totalSessions.toLocaleString()},{label:i("stats.metric.messages"),value:t.totalMessages.toLocaleString()}],width:process.stdout.columns||80,border:"unicode"})),console.log(""),console.log(h$1(i("stats.cost_tokens")));let d$1=Number.isNaN(t.totalCost)?0:t.totalCost;if(console.log(a$1({columns:[{key:"label",header:i("stats.table.header.metric"),minWidth:25},{key:"value",header:i("stats.table.header.value"),flex:!0}],rows:[{label:i("stats.metric.total_cost"),value:`$${d$1.toFixed(2)}`},{label:i("stats.metric.input"),value:m(t.totalTokens.input)},{label:i("stats.metric.output"),value:m(t.totalTokens.output)},{label:i("stats.metric.cache_read"),value:m(t.totalTokens.cache.read)},{label:i("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(i("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$1({columns:[{key:"tool",header:i("stats.table.header.tool"),minWidth:20},{key:"count",header:i("stats.table.header.count"),minWidth:10},{key:"percent",header:i("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(i("stats.error.failed",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}export{U as registerStatsCommand};
@@ -0,0 +1 @@
1
+ export{a as Storage}from'./chunk-JII5HRIF.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-DJYON7M6.mjs';import'./chunk-X6ISXWBN.mjs';