openbotgate 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -170,7 +170,7 @@ npm run build && npm start # 生产模式
170
170
  | `execution.maxOutputLength` | 单次输出最大长度 | 10000 |
171
171
  | `execution.shellOutputEncoding` | Shell 输出编码(如 Windows 下 gbk,可选) | 系统编码 |
172
172
  | **白名单** | | |
173
- | `allowedCodeTools` | 允许的 Code 工具(适配器名列表) | opencode, cursorcode, claudecode, openaicodex, qwencode, kimicode, geminicode, openclaw, nanobot |
173
+ | `allowedCodeTools` | 允许的 Code 工具(适配器名列表) | opencode, cursorcode, claudecode, openaicodex, qwencode, kimicode, geminicode, openclaw, nanobot, codebuddy |
174
174
  | `allowedShellCommands` | 允许的 Shell 命令首词列表 | git, pwd |
175
175
  | **覆盖** | | |
176
176
  | `codeToolOverrides` | Code 适配器 → 实际可执行名(如 claudecode: claude.ps1) | {} |
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,mBAAmB;AACnB,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAS/C,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,WAAW;IACX,GAAG,EAAE;QACH,qCAAqC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,iCAAiC;QACjC,GAAG,EAAE,MAAM,CAAC;QACZ,2BAA2B;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,wBAAwB;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,mDAAmD;QACnD,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAsGD,wBAAgB,UAAU,IAAI,SAAS,CAItC;AAED,eAAO,MAAM,MAAM,WAAe,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,mBAAmB;AACnB,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAiB/C,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,WAAW;IACX,GAAG,EAAE;QACH,qCAAqC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,iCAAiC;QACjC,GAAG,EAAE,MAAM,CAAC;QACZ,2BAA2B;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,wBAAwB;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,mDAAmD;QACnD,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAsGD,wBAAgB,UAAU,IAAI,SAAS,CAItC;AAED,eAAO,MAAM,MAAM,WAAe,CAAC"}
@@ -41,8 +41,16 @@ const yaml = __importStar(require("js-yaml"));
41
41
  /** 最大允许执行超时(毫秒) */
42
42
  exports.MAX_EXECUTION_TIMEOUT_MS = 180000;
43
43
  const DEFAULT_ALLOWED_CODE_TOOLS = [
44
- 'opencode', 'cursorcode', 'claudecode', 'openaicodex',
45
- 'qwencode', 'kimicode', 'geminicode', 'openclaw', 'nanobot',
44
+ 'opencode',
45
+ 'claudecode',
46
+ 'openaicodex',
47
+ 'geminicode',
48
+ 'cursorcode',
49
+ 'qwencode',
50
+ 'kimicode',
51
+ 'openclaw',
52
+ 'nanobot',
53
+ 'codebuddy',
46
54
  ];
47
55
  const DEFAULT_ALLOWED_SHELL_COMMANDS = ['git', 'pwd'];
48
56
  function defaultConfig() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAiD/C,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/handler/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAmD/C,wBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D"}
@@ -5,10 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.run = run;
7
7
  const config_1 = require("../../config/config");
8
+ const registry_1 = require("../../runtime/tools/registry");
8
9
  const logger_1 = __importDefault(require("../../utils/logger"));
9
10
  const HELP_CODE = `*Code* (tool + session)
10
11
  • \`/code\` - Show current tool / list available tools
11
- • \`/code <tool>\` - Switch default tool (opencode, cursor, claude, codex, qwen, kimi, openclaw, gemini, nanobot)
12
+ • \`/code <tool>\` - Switch default tool (<allowed code tools>)
12
13
  • \`/code <tool> "prompt"\` - One-shot execute with specified tool
13
14
  • \`/new\` - Start new session (clear history)
14
15
  • \`/session\` - List sessions | \`/session <id>\` - Switch to session
@@ -22,8 +23,11 @@ const HELP_TASK = `*Task*
22
23
  • \`/status\` - Show system status
23
24
  • \`/tasks\` - List running tasks
24
25
  • \`/cancel <task_id>\` - Cancel a task`;
26
+ const PLACEHOLDER_CODE_TOOLS = '<allowed code tools>';
25
27
  const PLACEHOLDER_SHELL = '<allowed shell commands>';
26
28
  function buildHelpText() {
29
+ const codeToolList = registry_1.toolRegistry.getEnabled().map((t) => t.commandName).join(', ') || '(none)';
30
+ const helpCode = HELP_CODE.replace(PLACEHOLDER_CODE_TOOLS, codeToolList);
27
31
  const shellLines = config_1.config.allowedShellCommands.length
28
32
  ? config_1.config.allowedShellCommands
29
33
  .map((name) => `• \`/${name} <args>\` - Execute ${name} command`)
@@ -33,7 +37,7 @@ function buildHelpText() {
33
37
  return [
34
38
  '*AI Code Gateway - Help*',
35
39
  '',
36
- HELP_CODE,
40
+ helpCode,
37
41
  '',
38
42
  helpShell,
39
43
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/handler/commands/help.ts"],"names":[],"mappings":";;;;;AAiDA,kBAGC;AAnDD,gDAA6C;AAC7C,gEAAwC;AAExC,MAAM,SAAS,GAAG;;;;;;;;4EAQ0D,CAAC;AAE7E,MAAM,UAAU,GAAG;;CAElB,CAAC;AAEF,MAAM,SAAS,GAAG;;;wCAGsB,CAAC;AAIzC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG,eAAM,CAAC,oBAAoB,CAAC,MAAM;QACnD,CAAC,CAAC,eAAM,CAAC,oBAAoB;aACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,uBAAuB,IAAI,UAAU,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,kCAAkC,CAAC;IAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAEpE,OAAO;QACL,0BAA0B;QAC1B,EAAE;QACF,SAAS;QACT,EAAE;QACF,SAAS;QACT,EAAE;QACF,SAAS;QACT,EAAE;QACF,oEAAoE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,gBAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,EAAE,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/handler/commands/help.ts"],"names":[],"mappings":";;;;;AAmDA,kBAGC;AArDD,gDAA6C;AAC7C,2DAA4D;AAC5D,gEAAwC;AAExC,MAAM,SAAS,GAAG;;;;;;;;4EAQ0D,CAAC;AAE7E,MAAM,UAAU,GAAG;;CAElB,CAAC;AAEF,MAAM,SAAS,GAAG;;;wCAGsB,CAAC;AAEzC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AACtD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,SAAS,aAAa;IACpB,MAAM,YAAY,GAAG,uBAAY,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IAChG,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,eAAM,CAAC,oBAAoB,CAAC,MAAM;QACnD,CAAC,CAAC,eAAM,CAAC,oBAAoB;aACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,uBAAuB,IAAI,UAAU,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,kCAAkC,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAEpE,OAAO;QACL,0BAA0B;QAC1B,EAAE;QACF,QAAQ;QACR,EAAE;QACF,SAAS;QACT,EAAE;QACF,SAAS;QACT,EAAE;QACF,oEAAoE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,GAAG,CAAC,GAAmB;IAC3C,gBAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,EAAE,CAAC,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManager.d.ts","sourceRoot":"","sources":["../../src/runtime/sessionManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,uGAAuG;IACvG,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAWD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;gBAE5B,QAAQ,CAAC,EAAE,MAAM;IAK7B,2DAA2D;IAC3D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IASvC,oCAAoC;IACpC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAOlE,qDAAqD;IACrD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUlC,qGAAqG;IACrG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUvC,sEAAsE;IACtE,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO5C,wCAAwC;IACxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,IAAI;IAsBZ,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,IAAI;CAmBb;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"sessionManager.d.ts","sourceRoot":"","sources":["../../src/runtime/sessionManager.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,uGAAuG;IACvG,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAqBD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;gBAE5B,QAAQ,CAAC,EAAE,MAAM;IAK7B,2DAA2D;IAC3D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IASvC,oCAAoC;IACpC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAOlE,qDAAqD;IACrD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUlC,qGAAqG;IACrG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUvC,sEAAsE;IACtE,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO5C,wCAAwC;IACxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,IAAI;IAsBZ,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,IAAI;CAmBb;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -40,14 +40,24 @@ exports.sessionManager = exports.SessionManager = void 0;
40
40
  const fs = __importStar(require("fs"));
41
41
  const path = __importStar(require("path"));
42
42
  const logger_1 = __importDefault(require("../utils/logger"));
43
- const DEFAULT_SESSION = {
44
- tool: 'opencode',
45
- sessionId: null,
46
- model: null,
47
- agent: null,
48
- cwd: null,
49
- newSessionRequested: false,
50
- };
43
+ const config_1 = require("../config/config");
44
+ /**
45
+ * Get default tool from config (first in allowedCodeTools).
46
+ * Falls back to 'opencode' if config is empty.
47
+ */
48
+ function getDefaultTool() {
49
+ return config_1.config.allowedCodeTools[0] || 'opencode';
50
+ }
51
+ function createDefaultSession() {
52
+ return {
53
+ tool: getDefaultTool(),
54
+ sessionId: null,
55
+ model: null,
56
+ agent: null,
57
+ cwd: null,
58
+ newSessionRequested: false,
59
+ };
60
+ }
51
61
  /**
52
62
  * Manages per-user session state with JSON file persistence.
53
63
  * - In-memory Map for fast access
@@ -67,7 +77,7 @@ class SessionManager {
67
77
  const existing = this.sessions.get(userId);
68
78
  if (existing)
69
79
  return existing;
70
- const session = { ...DEFAULT_SESSION };
80
+ const session = createDefaultSession();
71
81
  this.sessions.set(userId, session);
72
82
  return session;
73
83
  }
@@ -107,7 +117,7 @@ class SessionManager {
107
117
  }
108
118
  /** Full reset including tool and cwd */
109
119
  fullReset(userId) {
110
- this.sessions.set(userId, { ...DEFAULT_SESSION });
120
+ this.sessions.set(userId, createDefaultSession());
111
121
  this.scheduleSave();
112
122
  }
113
123
  load() {
@@ -120,7 +130,7 @@ class SessionManager {
120
130
  const data = JSON.parse(raw);
121
131
  for (const [userId, session] of Object.entries(data)) {
122
132
  // Merge with defaults to handle schema changes
123
- this.sessions.set(userId, { ...DEFAULT_SESSION, ...session });
133
+ this.sessions.set(userId, { ...createDefaultSession(), ...session });
124
134
  }
125
135
  logger_1.default.info(`📁 Loaded ${this.sessions.size} user sessions from ${this.filePath}`);
126
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/runtime/sessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/runtime/sessionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { BaseToolAdapter } from './base';
2
+ import type { RunOptions, ToolCapabilities } from './base';
3
+ /**
4
+ * Adapter for CodeBuddy Code CLI (腾讯云).
5
+ * - Execute: codebuddy -p "prompt" [-y]
6
+ * - Non-interactive: -p/--print; -y skips permission prompts for automation.
7
+ * @see https://www.codebuddy.ai/docs/zh/cli/quickstart
8
+ */
9
+ export declare class CodeBuddyAdapter extends BaseToolAdapter {
10
+ readonly name = "codebuddy";
11
+ readonly commandName = "codebuddy";
12
+ readonly displayName = "CodeBuddy";
13
+ readonly capabilities: ToolCapabilities;
14
+ buildCommand(prompt: string, _options: RunOptions): string;
15
+ }
16
+ //# sourceMappingURL=codebuddy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codebuddy.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/codebuddy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE3D;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,eAAe;IACnC,QAAQ,CAAC,WAAW,eAAe;IACnC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAQrC;IAEF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM;CAK3D"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodeBuddyAdapter = void 0;
4
+ const base_1 = require("./base");
5
+ /**
6
+ * Adapter for CodeBuddy Code CLI (腾讯云).
7
+ * - Execute: codebuddy -p "prompt" [-y]
8
+ * - Non-interactive: -p/--print; -y skips permission prompts for automation.
9
+ * @see https://www.codebuddy.ai/docs/zh/cli/quickstart
10
+ */
11
+ class CodeBuddyAdapter extends base_1.BaseToolAdapter {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.name = 'codebuddy';
15
+ this.commandName = 'codebuddy';
16
+ this.displayName = 'CodeBuddy';
17
+ this.capabilities = {
18
+ session: false,
19
+ model: false,
20
+ agent: false,
21
+ compact: false,
22
+ listModels: false,
23
+ listSessions: false,
24
+ listAgents: false,
25
+ };
26
+ }
27
+ buildCommand(prompt, _options) {
28
+ const exe = this.getExecutable();
29
+ // -y: skip permission prompts in headless/gateway usage
30
+ return `${exe} -p "${this.escapePrompt(prompt)}" -y`;
31
+ }
32
+ }
33
+ exports.CodeBuddyAdapter = CodeBuddyAdapter;
34
+ //# sourceMappingURL=codebuddy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codebuddy.js","sourceRoot":"","sources":["../../../src/runtime/tools/codebuddy.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AAGzC;;;;;GAKG;AACH,MAAa,gBAAiB,SAAQ,sBAAe;IAArD;;QACW,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,WAAW,CAAC;QAC1B,gBAAW,GAAG,WAAW,CAAC;QAC1B,iBAAY,GAAqB;YACxC,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SAClB,CAAC;IAOJ,CAAC;IALC,YAAY,CAAC,MAAc,EAAE,QAAoB;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,wDAAwD;QACxD,OAAO,GAAG,GAAG,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;IACvD,CAAC;CACF;AAnBD,4CAmBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAuB1C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAIpF;AAED,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAyB1C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAIpF;AAED,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -11,6 +11,7 @@ const openclaw_1 = require("./openclaw");
11
11
  const nanobot_1 = require("./nanobot");
12
12
  const cursorcode_1 = require("./cursorcode");
13
13
  const geminicode_1 = require("./geminicode");
14
+ const codebuddy_1 = require("./codebuddy");
14
15
  const ALL_ADAPTERS = [
15
16
  new opencode_1.OpenCodeAdapter(),
16
17
  new claudecode_1.ClaudeCodeAdapter(),
@@ -21,6 +22,7 @@ const ALL_ADAPTERS = [
21
22
  new nanobot_1.NanobotAdapter(),
22
23
  new cursorcode_1.CursorCodeAdapter(),
23
24
  new geminicode_1.GeminiCodeAdapter(),
25
+ new codebuddy_1.CodeBuddyAdapter(),
24
26
  ];
25
27
  /**
26
28
  * Register all built-in tool adapters with the registry.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/tools/index.ts"],"names":[],"mappings":";;;AA2BA,kCAIC;AA9BD,yCAA6C;AAC7C,6CAAiD;AACjD,+CAA6C;AAC7C,yCAA6C;AAC7C,yCAAyC;AACzC,yCAA6C;AAC7C,uCAA2C;AAC3C,6CAAiD;AACjD,6CAAiD;AAEjD,MAAM,YAAY,GAAkB;IAClC,IAAI,0BAAe,EAAE;IACrB,IAAI,8BAAiB,EAAE;IACvB,IAAI,0BAAY,EAAE;IAClB,IAAI,0BAAe,EAAE;IACrB,IAAI,sBAAW,EAAE;IACjB,IAAI,0BAAe,EAAE;IACrB,IAAI,wBAAc,EAAE;IACpB,IAAI,8BAAiB,EAAE;IACvB,IAAI,8BAAiB,EAAE;CACxB,CAAC;AAEF;;;GAGG;AACH,SAAgB,WAAW,CAAC,QAAkD;IAC5E,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAGD,uCAA0C;AAAjC,wGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/tools/index.ts"],"names":[],"mappings":";;;AA6BA,kCAIC;AAhCD,yCAA6C;AAC7C,6CAAiD;AACjD,+CAA6C;AAC7C,yCAA6C;AAC7C,yCAAyC;AACzC,yCAA6C;AAC7C,uCAA2C;AAC3C,6CAAiD;AACjD,6CAAiD;AACjD,2CAA+C;AAE/C,MAAM,YAAY,GAAkB;IAClC,IAAI,0BAAe,EAAE;IACrB,IAAI,8BAAiB,EAAE;IACvB,IAAI,0BAAY,EAAE;IAClB,IAAI,0BAAe,EAAE;IACrB,IAAI,sBAAW,EAAE;IACjB,IAAI,0BAAe,EAAE;IACrB,IAAI,wBAAc,EAAE;IACpB,IAAI,8BAAiB,EAAE;IACvB,IAAI,8BAAiB,EAAE;IACvB,IAAI,4BAAgB,EAAE;CACvB,CAAC;AAEF;;;GAGG;AACH,SAAgB,WAAW,CAAC,QAAkD;IAC5E,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAGD,uCAA0C;AAAjC,wGAAA,YAAY,OAAA"}
@@ -0,0 +1,17 @@
1
+ import { BaseToolAdapter } from './base';
2
+ import type { RunOptions, ToolCapabilities } from './base';
3
+ /**
4
+ * Adapter for Qoder CLI.
5
+ * - Execute: qodercli -p "prompt" (Print mode, non-interactive)
6
+ * @see https://docs.qoder.com/cli/using-cli
7
+ */
8
+ export declare class QoderCodeAdapter extends BaseToolAdapter {
9
+ readonly name = "qodercode";
10
+ readonly commandName = "qoder";
11
+ readonly displayName = "Qoder";
12
+ readonly capabilities: ToolCapabilities;
13
+ /** Qoder CLI 可执行名为 qodercli */
14
+ protected getDefaultExecutable(): string;
15
+ buildCommand(prompt: string, _options: RunOptions): string;
16
+ }
17
+ //# sourceMappingURL=qodercode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qodercode.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/qodercode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE3D;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,WAAW;IAC/B,QAAQ,CAAC,WAAW,WAAW;IAC/B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAQrC;IAEF,+BAA+B;IAC/B,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM;CAG3D"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QoderCodeAdapter = void 0;
4
+ const base_1 = require("./base");
5
+ /**
6
+ * Adapter for Qoder CLI.
7
+ * - Execute: qodercli -p "prompt" (Print mode, non-interactive)
8
+ * @see https://docs.qoder.com/cli/using-cli
9
+ */
10
+ class QoderCodeAdapter extends base_1.BaseToolAdapter {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.name = 'qodercode';
14
+ this.commandName = 'qoder';
15
+ this.displayName = 'Qoder';
16
+ this.capabilities = {
17
+ session: false,
18
+ model: false,
19
+ agent: false,
20
+ compact: false,
21
+ listModels: false,
22
+ listSessions: false,
23
+ listAgents: false,
24
+ };
25
+ }
26
+ /** Qoder CLI 可执行名为 qodercli */
27
+ getDefaultExecutable() {
28
+ return 'qodercli';
29
+ }
30
+ buildCommand(prompt, _options) {
31
+ return `${this.getExecutable()} -p "${this.escapePrompt(prompt)}"`;
32
+ }
33
+ }
34
+ exports.QoderCodeAdapter = QoderCodeAdapter;
35
+ //# sourceMappingURL=qodercode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qodercode.js","sourceRoot":"","sources":["../../../src/runtime/tools/qodercode.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AAGzC;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,sBAAe;IAArD;;QACW,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,OAAO,CAAC;QACtB,gBAAW,GAAG,OAAO,CAAC;QACtB,iBAAY,GAAqB;YACxC,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SAClB,CAAC;IAUJ,CAAC;IARC,+BAA+B;IACrB,oBAAoB;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,QAAoB;QAC/C,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;IACrE,CAAC;CACF;AAtBD,4CAsBC"}
@@ -13,7 +13,7 @@ declare class ToolRegistry {
13
13
  getByCommand(cmd: string): ToolAdapter | undefined;
14
14
  /** List all registered adapters */
15
15
  list(): ToolAdapter[];
16
- /** List only enabled adapters (based on config.allowedCodeTools) */
16
+ /** List only enabled adapters, in the order of config.allowedCodeTools */
17
17
  getEnabled(): ToolAdapter[];
18
18
  }
19
19
  export declare const toolRegistry: ToolRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAI1C;;;GAGG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAkC;IAEpD,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAMpC,mEAAmE;IACnE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,6EAA6E;IAC7E,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIlD,mCAAmC;IACnC,IAAI,IAAI,WAAW,EAAE;IAIrB,oEAAoE;IACpE,UAAU,IAAI,WAAW,EAAE;CAG5B;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAI1C;;;GAGG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAkC;IAEpD,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAMpC,mEAAmE;IACnE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,6EAA6E;IAC7E,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIlD,mCAAmC;IACnC,IAAI,IAAI,WAAW,EAAE;IAIrB,0EAA0E;IAC1E,UAAU,IAAI,WAAW,EAAE;CAQ5B;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -32,9 +32,15 @@ class ToolRegistry {
32
32
  list() {
33
33
  return Array.from(this.adapters.values());
34
34
  }
35
- /** List only enabled adapters (based on config.allowedCodeTools) */
35
+ /** List only enabled adapters, in the order of config.allowedCodeTools */
36
36
  getEnabled() {
37
- return this.list().filter(adapter => config_1.config.allowedCodeTools.includes(adapter.name));
37
+ const result = [];
38
+ for (const name of config_1.config.allowedCodeTools) {
39
+ const adapter = this.adapters.get(name);
40
+ if (adapter)
41
+ result.push(adapter);
42
+ }
43
+ return result;
38
44
  }
39
45
  }
40
46
  exports.toolRegistry = new ToolRegistry();
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/tools/registry.ts"],"names":[],"mappings":";;;;;;AACA,gDAA6C;AAC7C,gEAAwC;AAExC;;;GAGG;AACH,MAAM,YAAY;IAAlB;QACU,aAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC1C,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IA2BtD,CAAC;IAzBC,QAAQ,CAAC,OAAoB;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,gBAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,WAAW,MAAM,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;IACvF,CAAC;IAED,mEAAmE;IACnE,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,6EAA6E;IAC7E,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,mCAAmC;IACnC,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,oEAAoE;IACpE,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,eAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;CACF;AAEY,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/tools/registry.ts"],"names":[],"mappings":";;;;;;AACA,gDAA6C;AAC7C,gEAAwC;AAExC;;;GAGG;AACH,MAAM,YAAY;IAAlB;QACU,aAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC1C,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAgCtD,CAAC;IA9BC,QAAQ,CAAC,OAAoB;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,gBAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,WAAW,MAAM,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;IACvF,CAAC;IAED,mEAAmE;IACnE,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,6EAA6E;IAC7E,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,mCAAmC;IACnC,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,0EAA0E;IAC1E,UAAU;QACR,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,eAAM,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAEY,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -27,24 +27,28 @@ execution:
27
27
  maxOutputLength: 10000
28
28
  shellOutputEncoding: null # Windows 下可设 gbk
29
29
 
30
+ # 允许的 Code 工具列表(列表中第一个工具为新用户的默认工具)
30
31
  allowedCodeTools:
31
32
  - opencode
32
- - cursorcode
33
33
  - claudecode
34
34
  - openaicodex
35
+ - geminicode
36
+ - cursorcode
35
37
  - qwencode
36
38
  - kimicode
37
- - geminicode
38
39
  - openclaw
39
40
  - nanobot
41
+ - codebuddy
40
42
 
41
43
  allowedShellCommands:
42
44
  - git
43
45
  - pwd
44
46
 
45
47
  # Code 适配器:使用自定义命令/脚本(如 claude.ps1 替代 claude)
46
- codeToolOverrides:
47
- claudecode: claude.ps1
48
+ codeToolOverrides: {}
49
+ # codeToolCommandOverrides:
50
+ # claudecode: claude.ps1
51
+ # cursorcode: agent.ps1
48
52
 
49
53
  # Shell 命令:使用自定义命令/脚本(如 git.ps1 替代 git)
50
54
  shellCommandOverrides: {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openbotgate",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "AI coding tool gateway — run OpenCode, Claude Code from chat. Built for when inspiration strikes.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -43,17 +43,9 @@
43
43
  ],
44
44
  "dependencies": {
45
45
  "@larksuiteoapi/node-sdk": "^1.58.0",
46
- "@line/bot-sdk": "^10.5.0",
47
- "@slack/bolt": "^3.17.0",
48
46
  "discord.js": "^14.16.0",
49
- "dotenv": "^16.3.1",
50
- "express": "^4.21.0",
51
47
  "iconv-lite": "^0.7.2",
52
48
  "js-yaml": "^4.1.1",
53
- "matrix-bot-sdk": "^0.8.0",
54
- "mattermost-client": "^6.5.0",
55
- "node-pty": "^1.1.0",
56
- "nostr-tools": "^2.9.0",
57
49
  "qq-guild-bot": "^2.9.5",
58
50
  "telegraf": "^4.16.3",
59
51
  "uuid": "^9.0.0",
@@ -61,7 +53,6 @@
61
53
  "winston-daily-rotate-file": "^5.0.0"
62
54
  },
63
55
  "devDependencies": {
64
- "@types/express": "^4.17.21",
65
56
  "@types/jest": "^29.5.12",
66
57
  "@types/js-yaml": "^4.0.9",
67
58
  "@types/node": "^20.10.0",