()
| 38 | import { executeToolCall } from './tools'; |
| 39 | |
| 40 | export function createProgram() { |
| 41 | const program = new Command(); |
| 42 | |
| 43 | program |
| 44 | .name('lh') |
| 45 | .description('LobeHub CLI - manage and connect to LobeHub services') |
| 46 | .version(cliVersion); |
| 47 | |
| 48 | const internalToolWorker = program |
| 49 | .command('tool-worker') |
| 50 | .description('Internal command for isolated tool execution') |
| 51 | .requiredOption('--api <name>') |
| 52 | .requiredOption('--args-b64 <value>') |
| 53 | .option('--timeout <ms>') |
| 54 | .action(async (options: { api: string; argsB64: string; timeout?: string }) => { |
| 55 | const argsStr = Buffer.from(options.argsB64, 'base64').toString('utf8'); |
| 56 | const parsedTimeout = |
| 57 | options.timeout && options.timeout.trim() |
| 58 | ? Number.parseInt(options.timeout, 10) |
| 59 | : undefined; |
| 60 | const result = await executeToolCall( |
| 61 | options.api, |
| 62 | argsStr, |
| 63 | Number.isFinite(parsedTimeout) ? parsedTimeout : undefined, |
| 64 | ); |
| 65 | process.stdout.write(JSON.stringify(result)); |
| 66 | }); |
| 67 | internalToolWorker.helpInformation = () => ''; |
| 68 | |
| 69 | registerLoginCommand(program); |
| 70 | registerLogoutCommand(program); |
| 71 | registerCompletionCommand(program); |
| 72 | registerManCommand(program); |
| 73 | registerConnectCommand(program); |
| 74 | registerDeviceCommand(program); |
| 75 | registerStatusCommand(program); |
| 76 | registerDocCommand(program); |
| 77 | registerSearchCommand(program); |
| 78 | registerKbCommand(program); |
| 79 | registerMemoryCommand(program); |
| 80 | registerAgentCommand(program); |
| 81 | registerAgentGroupCommand(program); |
| 82 | registerAgentSignalCommand(program); |
| 83 | registerBotCommand(program); |
| 84 | registerGenerateCommand(program); |
| 85 | registerFileCommand(program); |
| 86 | registerHeteroCommand(program); |
| 87 | registerSkillCommand(program); |
| 88 | registerSessionGroupCommand(program); |
| 89 | registerTaskCommand(program); |
| 90 | registerThreadCommand(program); |
| 91 | registerTopicCommand(program); |
| 92 | registerMessageCommand(program); |
| 93 | registerModelCommand(program); |
| 94 | registerNotifyCommand(program); |
| 95 | registerProviderCommand(program); |
| 96 | registerPluginCommand(program); |
| 97 | registerUserCommand(program); |
no test coverage detected